我正在開發一個Web應用程序,它將在客戶端加密數據,然後將數據發送到服務器。服務器將存儲加密的數據,但而不是有能力解密數據。關鍵是保持客戶端的數據安全,以至於即使服務器主機也不能訪問數據。這可以通過服務器只接收加密數據並從不接收密鑰來保證。客戶端加密的Web應用程序
我打算在客戶端使用Javascript進行加密和解密。此外,連接將通過SSL進行保護。
我在這裏閱讀文章:http://www.matasano.com/articles/javascript-cryptography/這表明Javascript不應該用於加密,但它不能解決我的使用案例。
這是一個安全的解決方案嗎?有沒有辦法讓我更安全?
這隻要你不實際注入JS代碼竊取的關鍵似乎是足夠安全的。 – millimoose 2013-03-14 21:06:44
該頁面上的其他內容除了您的服務器以外都沒有。用戶在其瀏覽器中沒有運行任何擴展程序,允許擴展程序訪問他們訪問的網頁(這是很多)。實際上,您的情況已被該文章所涵蓋 - 因爲它繼續說明RNG在瀏覽器中如何不安全,因此從理論上講,您無能爲力。像大多數安全問題一樣,您永遠無法說「它很安全」。你可以表達一定程度的信心。 – Nik 2013-03-14 21:26:12
@Nik:無論客戶端是否發生加密,這些瀏覽器擴展程序都不會從任何* web應用程序竊取數據?我對使用Javascript加密客戶端的感覺並不好,但我不知道第三方腳本或擴展是否是原因。 – 2013-03-14 21:41:37