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

客戶端加密查看源代码讨论查看历史

跳转至: 导航搜索
客戶端加密
圖片來自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