2010-10-07 49 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不夠好,那麼您最好採取的辦法是除了它之外,而不是替代它。

相關問題