当我使用使用haxe的openFL开发应用程序时,并且即将开始软件的激活部分,我想知道如何安全地存储我的加密密钥?我可以将其硬编码到我的应用中吗?!
在发送到服务器之前,我将使用此密钥对数据进行加密,并且还将对从服务器接收的数据进行解密。
在这种情况下,有人可以推荐最佳做法吗?
这听起来像是非对称加密的工作。
服务器现在可以使用私钥解密AES密钥,并使用检索到的密钥解密数据。然后验证MAC(如果您将其包括在协议中)。最后解密密文以检索明文。
此方案称为混合加密,因为它同时使用对称和非对称加密。如果您不使用MAC,请注意填充oracle攻击(它将所有纯文本泄漏给攻击者)。解密之前,请务必先验证MAC。
您可以在应用程序中存储RSA公钥。使用此公共密钥,您可以加密AES密钥(使用PKCS#1 OAEP或v1.5填充)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句