我的应用程序需要公钥和私钥对组合才能创建签名URL以从Cloudfront访问我们的资产。我遇到的问题是如何保护此密钥对,以便未经授权的用户无法自行下载密钥对,并在未经我们许可的情况下生成签名的URL。
我考虑过加密密钥对,但这似乎没有用,因为加密密钥必须存储在客户端代码中,这在Javascript中是可见的。我想不出任何其他方法可以保护密钥对免于那些只能使用Chrome开发工具的人。
有没有人知道我可以保护我的密钥对而无需在客户端代码中存储密钥的方法?我已经考虑过代码混淆,但这种技术似乎很容易解决。我想找出是否有其他可能的东西。
谢谢。
答案 0 :(得分:0)
您不需要保护您的公钥,因为它是公开的。
您需要在服务器上签名,而不是在浏览器中签名。
保护私钥的最安全方法是使用硬件安全模块,但它们并不便宜。
下一个最好的方法是使用服务器上的访问控制来保护它。