2010-10-07 120 views
1

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

+3

为什么https不够安全? – 2010-10-07 00:45:38

+0

浏览器级加密,但在浏览器中需要解密?我不知道你在问什么。 – Eli 2010-10-07 00:53:29

+0

也许他想加密一些东西,以便中间Web服务器无法访问数据?也许?哦,我不知道... – 2010-10-07 01:08:42

回答

2

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

但是,当您在我的查询的回答中声明,您希望表单数据以加密形式存储在数据库中。快速谷歌搜索带来了JQuery.Gibberish-AES。这是一个JQuery插件,可以执行AES加密并可以使用RSA公钥。

使用此功能,您可以生成公钥/私钥对,将私钥保存在超级密钥断开的计算机上,并将公钥与您的表单一起发布。然后,您可以对数据进行加密,将其存储在数据库中,即使某人有权访问数据库服务器,他们也可以解密数据,因为密钥位于安全断开的计算机上。

我敢肯定,如果你不使用JQuery,会有类似的其他客户端框架的插件/库。

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

+0

谢谢安德鲁。这非常有帮助。 – 2010-10-08 13:24:18

4

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

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

除了加密,SSL还提供身份验证。而且它本质上是由现有的每个浏览器支持的。请不要reinvent the wheel

+0

谢谢。我的错误表达了这个问题。我们希望数据包在传输之前得到保护,然后以加密形式存在数据库中。 HTTPS很好,但我们希望在传输数据包之前加密数据包。 – 2010-10-07 17:22:07

+0

@Jeff这样做的目的是使数据对于接收它的服务器是私有的吗?换句话说,你的客户不希望你能看到他们的数据吗? – NullUserException 2010-10-07 17:36:01

+0

@NullUserExceptoin没错。数据将以加密形式到达加密并存储在数据库中。在将来的某个时刻,它将被手动转移到断开的机器并在那里解密。 – 2010-10-08 13:29:54

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不够好,我会说如果您认为TLS不够好,那么您最好采取的办法是除了它之外,而不是替代它。