我想在發送到服務器之前加密一些用戶數據。也就是說,數據將在瀏覽器中使用JavaScript在客戶端進行加密。在瀏覽器中存儲私人密鑰的最佳方式?
我的問題是,有什麼選擇可用於在客戶端存儲私鑰(當用戶稍後查看時,它將用於解密數據)?
HTML5本地存儲或只是讀取包含來自JavaScript的密鑰的本地文本文件似乎有點關閉... 是否可以使用個人證書用於此目的?或者還有其他的選擇嗎?
編輯:
輕微澄清,
所有需要被加密的客戶端機器上生成,它應該永遠不會離開它以純文本的敏感數據。有問題的數據大部分是用戶上傳到服務器的文件,但我們可能還想在未來對某些表單域進行加密。
一旦加密數據被髮送到服務器,它將以加密形式存儲,並且除了相同的客戶端機器以外不會被解密。例如,如果用戶決定下載他的文件,他會收到加密的文件,這些文件將在瀏覽器中使用JavaScript進行解密。
另外,對於我們而言,在同一臺客戶機上生成公私密鑰對是至關重要的。這隻會由用戶手動完成,或者在一些自動化解決方案的幫助下完成。
底線是,私鑰或純文本數據都不應該離開客戶端的機器。
您不需要私鑰進行加密,只需要公鑰。 – 2015-02-06 11:18:50
@AlexanderH實際上,數據將使用公鑰(存儲在服務器上)進行加密,但是,例如,當用戶想要查看它時,它需要稍後解密。因此需要將私鑰客戶端存儲在瀏覽器中。 – orom 2015-02-06 11:32:39
然後,你需要一個secound鍵,我會說。其他的東西就像是不使用鑰匙 – 2015-02-06 11:43:58