我的应用程序需要一个公共和私有密钥对组合,才能创建签名的URL,以便从Cloudfront访问我们的资产。我的问题是如何保护这个密钥对,这样未经授权的用户就不能简单地下载密钥对本身,并在没有我们的许可的情况下生成签名的URL。
我考虑过加密密钥对,但这似乎没有什么好处,因为加密密钥必须存储在客户端代码中,这在Javascript中是可见的。我想不出任何其他方法来保护密钥对免受那些只会使用Chrome开发工具的人的攻击。
有没有人知道有一种方法可以保护我的密钥对,而不需要在客户端代码中存储密钥?我已经考虑过代码混淆,但这种技术似乎很容易解决。我正在寻找是否有其他可能的事情。
谢谢。
发布于 2015-07-21 08:50:16
你不需要保护你的公钥,因为它是公开的。
您需要在服务器上对urls进行签名,而不是在浏览器中。
保护私钥的最安全方法是使用硬件安全模块,但它们并不便宜。
第二个最好的方法是通过服务器上的访问控制来保护它。
https://stackoverflow.com/questions/31524413
复制相似问题