什么是良好的浏览器级加密产品?

时间:2010-10-07 00:41:58

标签: security browser encryption

我正在寻找能够在将文本数据发送到后端服务器之前提供浏览器级文本数据加密的产品。 HTTPS可以是安全传输机制,但我们需要首先在浏览器上加密数据包。数据包必须以加密形式在后端数据库上结束。使用案例是:用户在浏览器上填写表格,用户提交表格数据,在通过网络发送数据之前,浏览器加密数据,数据以加密形式结束在后端数据库中,在某个时间点,所有数据都将从后端数据库收集,移至断开连接的计算机并在此时解密。

3 个答案:

答案 0 :(得分:4)

HTTP over SSL / TLS(HTTPS) 足够安全。它实际上是安全的。

使用SSL / TLS,您可以选择密码套件并根据需要调整加密算法和密钥大小。 2048位RSA和256位AES应该足够安全。

除了加密,SSL还提供身份验证。并且几乎每个浏览器都支持它。请不要reinvent the wheel

答案 1 :(得分:3)

我同意TLS在很多情况下已经足够好了,我已经written a little about it在我的旅程中看到它是如何工作的。它确实有一些像governments being able to compel certificate authorities to grant certificates to allow man-in-the-middle attacks这样的问题,但总的来说它非常好。

您可能对像LastPass这样的系统的设计感兴趣,这些系统将加密加密以使用TLS(详情here)。如果你认为TLS不够好,我会说你最好的做法是除了它之外做一些事情而不是代替它。

答案 2 :(得分:2)

这就是HTTPS(SSL / TLS)的用途。它应该足够安全。

但是,当您在我的查询答案中说明时,您希望表单数据以加密形式存储在数据库中。快速Google搜索会显示JQuery.Gibberish-AES。它是一个JQuery插件,可以进行AES加密并可以使用RSA公钥。

使用此方法,您可以生成公钥/私钥对,将私钥保留在超级密钥断开连接的计算机上,并使用表单发布公钥。然后,您可以加密数据,将其存储在数据库中,即使有人获得数据库服务器的root访问权限,他们也可以解密数据,因为密钥位于安全断开连接的计算机上。

如果您不使用JQuery,我确信其他客户端框架会有类似的插件/库。

我仍然使用SSL / TLS进行连接,因为它提供了服务器身份验证(以及客户端身份验证,如果您需要)以防止中间人。