如何保护软件许可等敏感信息?

时间:2016-07-21 15:56:47

标签: .net cryptography public-key-encryption

我的目标是保护软件产品的许可证信息。使用该平台的客户端不应该改变它,不应该破解它。

让我提供一些特定于我的解决方案的背景信息: 为了使平台能够工作,它必须连接到 REST API 才能获得许可。平台将定期发出这些请求以检查许可证是否有任何更改。请求的许可证将缓存在平台数据库的某个位置。

我考虑过的事情:

  1. 加密客户端数据库中的许可证:由于平台需要使用许可证所持有的参数,因此我不知道如何在没有公开私钥的情况下实现加密到平台。我看到它的方式,如果我们将私钥暴露给平台,那么一些恶意用户可以使用它来改变他的许可。
  2. 签署数据:另一种查看方式是签署数据,如果有人更改数据,我们可以采取适当的措施。由于我们可以使用私钥创建签名,并使用客户端平台上的签名和公钥进行比较,因此我们不会公开私钥。我在这里看到的问题是,他们可以用他们自己的覆盖密钥对,这意味着他们可以创建一个虚拟服务器,用自己的私钥对文档进行签名,然后使用他们自己的公钥来检查签名。拥有智能密钥管理系统会使这种威胁无效吗?
  3. 我知道在正常使用案例中,客户最关心的是保护他的平台,但由于平台的性质,我不得不假设客户端平台是一个充满敌意的环境。 / p>

    您如何解决这个问题?是否有一些我不知道的明显解决方案?

0 个答案:

没有答案