如何保护加密密钥

德班舒·查特吉(Debanshu Chatterjee)

我有一个可供各种用户使用的应用程序,当用户开始使用该应用程序时,它将在安装位置生成一个许可证文件(加密),并且每次应用程序运行时,都会解密该文件,验证所有参数,并根据验证结果更新其中几个参数,并将对更新的文件进行加密。

这是一个使人痛苦的真正问题,每当应用程序运行时,它都需要加密密钥(AES)进行加密和解密,并且该密钥在我的.NET dll中进行了硬编码。因此,用户可能会提取密钥并更改许可证参数以运行该应用程序。

因此,我担心的是如何保护文件免遭篡改?有什么办法可以将一些重要的许可证参数放在其他位置,而不是保存在文件中?如何确保加密密钥的安全和防范欺诈活动?应用程序完全处于脱机状态。

请给我您的宝贵建议和见解。

提前致谢

菲利普·H

用.net编写的脱机应用程序不能得到保护。您不能合理地在其他人的计算机上“隐藏秘密”。您需要提供一个您可以控制的位置(即Web服务端点)来存储这些机密。无论您以何种方式查看应用程序,无论是在某个时间点还是在其他时间,应用程序的用户都将在环境中拥有所有逻辑和所有数据。您已经给了他们锁和钥匙,只是希望他们没有持久性用钥匙打开锁。

另外,正如本周另一线程所建议的那样,您可以在VB6中编写文件访问逻辑和密钥,并对其进行互操作调用-VB6可以反编译,但难度很大。但是,有人可以拿起SysInternals并查看您的文件IO发生情况,并推断出您的机密所在的文件或注册表项。如果它的AES加密对他们来说很难,但是他们将知道哪个进程正在打开它...现在,他们有了反编译代码的目标。破解它并非易事,但我也不称其为安全的。

防止用户在自己的PC上访问数据的唯一方法是不将其放在他们的PC上。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何保护app.php加密密钥?(Laravel 5)

来自分类Dev

如何存储加密密钥?

来自分类Dev

如何使用加密密钥加密消息

来自分类Dev

如何导出对称加密密钥?

来自分类Dev

如何设置默认的GPG加密密钥?

来自分类Dev

了解加密密钥

来自分类Dev

DES加密密钥

来自分类Dev

如何在安全(C ++)中存储加密密钥?

来自分类Dev

计算机如何轻松生成加密密钥?

来自分类Dev

如何使用加密密钥进行安全的ldap连接?

来自分类Dev

HTTPS如何避免首先窃取加密密钥?

来自分类Dev

如何告诉SED重新生成加密密钥?

来自分类Dev

如何在JSONStore中存储加密密钥/密码

来自分类Dev

如何知道接收方的AES加密密钥是正确的?

来自分类Dev

Always Encrypted 列加密密钥是如何缓存的?

来自分类Dev

Android AES加密密钥

来自分类Dev

Sugar ORM指定加密密钥

来自分类Dev

在Laravel中设置加密密钥以注销

来自分类Dev

更新/更改领域加密密钥

来自分类Dev

MySQL加密密钥存储在文件上

来自分类Dev

Django加密密钥完整性

来自分类Dev

OpenPGP加密密钥-isValidForEncrypting()吗?

来自分类Dev

密码/加密密钥程序中的密码

来自分类Dev

找不到领域文件的加密密钥

来自分类Dev

密码/加密密钥程序中的密码

来自分类Dev

MySQL加密密钥存储在文件上

来自分类Dev

加密密钥计算器

来自分类Dev

网站发布后无效的加密密钥

来自分类Dev

如何使用加密密钥对SAML2声明进行签名