簡述端到端加密技術(shù)
隨著移動互聯(lián)網(wǎng)的普及,即時通訊類應用(微信、QQ等)幾乎替代了傳統(tǒng)運營商的電話、短信等功能。得益于即時通訊技術(shù)的實時性,讓人們的溝通更加方便,也讓信息的傳遞變的無處不在。但用戶的隱私和通信安全問題也隨之而來,那么如何提高這些應用的安全性就顯得尤為重要。于是乎,端到端加密技術(shù)就成為給幾乎所有通訊類應用的首選。

什么是端到端加密技術(shù)?
端到端加密技術(shù)是指數(shù)據(jù)在發(fā)送時被發(fā)送方加密,在接收方接收時被解密的技術(shù)。端到端加密只發(fā)生在發(fā)送方與接收方,而在整個傳輸過程中數(shù)據(jù)均已密文的形式存在,且無法進行解密操作,極大的加強了數(shù)據(jù)的安全性。因而端到端加密技術(shù)可以有效地防范數(shù)據(jù)被竊取利用的風險,成為通信應用安全的首選。

端到端加密的優(yōu)勢
- 在用戶需要對敏感數(shù)據(jù)加密的情況下,“有選擇性地加密”將會大幅提升加密的靈活性,用戶可以根據(jù)自己的情況來選擇需要進行加密的數(shù)據(jù);
- 用戶可以對端到端加密的實現(xiàn)過程進行自定義配置,這將有助于實現(xiàn)功能的高度模塊化,并提升加密模塊的內(nèi)聚性;
- 在整個加密過程中所涉及到的文件量是非常小的,所以加密過程所占用的資源量并不大,而且加密時間也不會太久。
端到端加密的邏輯流程
- 在客戶端 APP 首次安裝時,基于服務器公開的兩個全局的參數(shù),生成自己的 DH 公鑰和私鑰;
- 將自己的公鑰上傳證書服務器,證書服務器上保存用戶標識與其公鑰的關系。私鑰則保存在客戶端上;
- 首次給對方發(fā)送消息或首次接收到對方消息時,便到證書服務器查詢對方的公鑰;
- 根據(jù)對方公鑰和自己的私鑰計算出共享密鑰;
- 后續(xù)與對方所有的消息都基于這個密鑰和相同的對稱加解密算法進行加密解密操作。

端到端加密的升級
- 使用HMAC作為消息完整性認證算法
在消息傳輸過程中,雙方需要確認彼此消息的完整性,簡單的做法就是將消息進行 Hash,得到的 Hash 值附加到消息后,隨消息一起發(fā)送;對端接收后,同樣進行 Hash,來驗證消息是否被篡改。
關鍵點在于不同數(shù)據(jù)得到的 Hash 值一定不同,其中帶密鑰的 Hash 值就是 HMAC算法。
- 使用ECDH算法替換DH算法
DH 算法是以離散對數(shù)的數(shù)學難題為基礎的,隨著計算機計算能力逐步增強,我們要不停地使用更大的數(shù)以增加破解難度,目前業(yè)界普遍認為至少需要使用 2048 位 DH 算法才具備更好的安全性。
所有,可以使用ECDH 算法替換 DH 算法。ECDH 密鑰協(xié)商算法是 ECC 算法和 DH 密鑰交換原理結(jié)合使用。ECC 是建立在基于橢圓曲線的離散對數(shù)問題上的密碼體制。在相同破解難度下,ECC 具有更小長度的密鑰和更快的正向計算速度優(yōu)勢。
免責聲明:素材源于網(wǎng)絡,如有侵權(quán),請聯(lián)系刪稿。










