我的安全知识有限,但我可能会学到一些东西。
我打算创建一个ajax应用程序,我用一个键入的主密码加密/解密客户端密码
使用javascript AES库,然后向/从Google App Engine发送/检索加密数据(用户通过身份验证)。
实际上我找到了一个具有相同想法的项目:http://code.google.com/p/safety-vault/
在我看来,只要我保证本地计算机安全(键盘记录器),这应该是非常安全的,还是我错过了什么?
答案 0 :(得分:1)
只要您为webapp使用SSL,这应该没问题。如果没有SSL,攻击者可以修改页面以插入一些Javascript,在您键入密码时会向他们发送密码。
但您可能想重新考虑您的威胁模型。你相信服务器吗?如果没有,您不应该相信它在您输入时不会向您发送捕获主密码的页面。如果这样做,您不应该有任何疑虑将主密码发送到服务器。
答案 1 :(得分:0)
这里有一个问题,因为我假设您必须将您的主密码发送到浏览器客户端?如果您有主密码,那么您可以解密您发送的流...
使用HTTPS,它就是它的设计目标。
答案 2 :(得分:0)
您实际上是信任Google App Engine员工,并且传统上信任他们背后的整个信任链,以免窃取您的密码。如果您正在执行服务器发送给您的JavaScript代码,加密客户端并不意味着什么,此外,如果您没有正确实施HTTPS,那么有人在中间攻击中做一个人并在传输时窃取您的密码是微不足道的。只需在本地存储密码或使用GPG等知名工具对其进行加密并上传。