求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

客戶端加密檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋
客戶端加密
圖片來自csdn

客戶端加密英語:Client-side encryption)是一門密碼學加密技術,指的是先將數據於發送端進行加密,然後才傳送到像網盤般的伺服端[1]。此舉使得只有發送者擁有密鑰,繼令服務提供者難以將數據解密。應用了客戶端加密的應用程式私隱性相對較強,即使是服務提供者也不能直接得知被加密的內容[1]。該些應用程式有時會以「零知識」這一誤導性用語作宣傳[2]

解說

客戶端加密旨在使服務提供者(或強迫其交出數據的第三方)難以窺探用戶上傳的數據,保證儲存在雲端上的文件只能於相應客戶端上查看。這樣可以防止數據丟失,以及文件在未經授權的情況下洩露給第三方,令用戶更為安心。

目前的學術研究及IT專業人士皆建議,開發者應在應用程式上加入客戶端加密功能,以保障資訊的機密性及完整性。

提供了客戶端加密的雲存儲[3] 服務有Tresorit|Tresorit、MEGA、SpiderOak|SpiderOak。截至2016年2月,ICloudGoogle DriveDropbox皆不支援客戶端加密。

補充

鏈接:https://www.zhihu.com/question/65383073/answer/251325689 來源:知乎 著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

當我們訪問知乎網站時,輸入https://zhihu.com,需要域名解析,一般有兩種結果:1)假的IP2)真的IP無論是真假IP,都需要瀏覽器認證對方是"http://zhihu.com"(Distinguished Name )的正主,需要在TLS(Transport Layer Securiy)握手階段,服務器出示自己對"http://zhihu.com"的證書,通常由一個CA簽名(CA私鑰加密的消息摘要),由於瀏覽器已經預先安裝該CA的證書,該證書有CA的明文公鑰,用CA公鑰可以解密服務器出示證書的簽名,一旦可以成功解密,即認為服務器出示的證書可信任,然後檢查證書的有效期是有效的,並且沒有出現在證書撤銷列表CRL,那麼認證通過。然後瀏覽器從服務器的數字證書,獲得服務器的明文公鑰,並用該公鑰加密一個Master Key傳輸給服務器,服務器使用自己的私鑰解密,獲得Master Key,至此,雙方擁有一個共同的秘密「Master Key」,雙方運行相同的偽隨機函數(PRF,比如SHA256),輸入量有 Master Key + Client Nonce (客戶端鹽,隨機碼)+ Server Nonce (服務器端鹽),生成 Encryption Key(加密,防偷窺) 、Integrity Key (HMAC,防篡改),使用對稱加密算法AES-CBC,Hash算法 SHA2,完成數據加密/解密,鑒權/認證的工作。一切看起來都是那麼完美無邪…但,如果客戶端安裝了一個Root CA,相當於信任該CA簽發的任何證書,而該CA如果不負責任亂簽證書,比如簽一個證書「http://zhihu.com"給第三方,那麼第三方就可以使用該證書來欺騙客戶端,客戶端自然就相信對方,並與此建立安全加密TLS連接,中間人可以看到客戶端的所有明文數據。為了杜絕證書欺騙,客戶端通常使用一個或幾個最值得信賴的CA簽發的證書,其它的CA一律無效。由於CA證書有一個自然壽命,APP客戶端可以通過軟件版本升級的辦法來更新客戶端的數字證書的版本。

參考文獻

  1. 1.0 1.1 Tunio Gaffer. Why Client-Side Encryption Is the Next Best Idea in Cloud-Based Data Security. Information Security Today. Auerbach Publications. 2015 [2016-02-21]. (原始內容存檔於2016-01-16). 
  2. Spider Oak - Please stop describing your service as "Zero Knowledge" unless and ... | Hacker News. news.ycombinator.com. [2018-07-16]. (原始內容存檔於2018-07-16). 
  3. 雲存儲,amazon