【发布时间】:2014-01-11 13:40:44
【问题描述】:
由于我使用使用 haxe 的 openFL 开发了我的应用程序,并且我即将启动我的软件的激活部分,我想知道如何安全地存储我的加密密钥?我会把它硬编码到我的应用程序中吗??!
我将在发送到服务器之前使用此密钥对数据进行加密,我还将使用它对从服务器接收到的数据进行解密。
任何人都可以推荐在这种情况下遵循的最佳做法?
【问题讨论】:
标签: encryption haxe openfl haxelib
由于我使用使用 haxe 的 openFL 开发了我的应用程序,并且我即将启动我的软件的激活部分,我想知道如何安全地存储我的加密密钥?我会把它硬编码到我的应用程序中吗??!
我将在发送到服务器之前使用此密钥对数据进行加密,我还将使用它对从服务器接收到的数据进行解密。
任何人都可以推荐在这种情况下遵循的最佳做法?
【问题讨论】:
标签: encryption haxe openfl haxelib
这听起来像是非对称加密的工作。
服务器现在可以使用私钥解密 AES 密钥,并使用检索到的密钥解密数据。然后验证 MAC(如果您将其包含在协议中)。最后解密密文得到明文。
这种方案称为混合加密,因为它同时使用对称和非对称加密。如果您不使用 MAC,请注意填充 oracle 攻击(将所有纯文本泄露给攻击者)。解密前务必验证 MAC。
您可以在应用程序中存储 RSA 公钥。使用此公钥,您可以加密 AES 密钥(使用 PKCS#1 OAEP 或 v1.5 填充)。
【讨论】: