加密可在其他计算机上使用的文件的安全方法

e e*_*e e 0 c# security encryption hash visual-studio-2010

让我们说我的程序是反病毒.让我们说我有一个名为"Signatures.dat"的文件.它包含要扫描的病毒列表.我想加密该文件的方式是可以在任何计算机上通过防病毒打开我,但用户将无法看到该文件的内容.

我该如何完成这项任务?

我看着像DPAPI这样的游戏,但我认为这不适用于我的情况,因为它基于用户的设置.我需要我的解决方案是普遍的.

我有一种方法来加密它,但后来我不知道如何存储密钥.我知道将它存储在我的代码中真的是不安全的,所以我真的不知道该做什么.

Jan*_*bal 5

您希望用户的计算机能够读取该文件,并且您希望用户的计算机无法读取该文件.如你所见,这是一个矛盾,它无法解决.

您实施的基本上是DRM方案.没有使用TPM(不,这在现实中不起作用,甚至不考虑它),你根本无法使其安全.您可以使用模糊处理来尽可能地对其进行反向工程并检索密钥.您可以将密钥的一部分存储在服务器上并在线检索(基本上是EA对其游戏所做的操作)等,但您可能只会使您的产品难以用于合法用户,而任何真正想要的人仍然会能够获得密钥,从而获得文件.