網(wǎng)絡數(shù)據(jù)傳輸安全原理-高級(全)

隱私安全一直是大家關注的熱點,特別是在互聯(lián)網(wǎng)上,那么多大廠的數(shù)據(jù)安全是如何處理的呢?
本文將通過通俗易懂的文字,引導你一步步理解為何一個應用需要加密技術,以及需要何種方式的加密技術等,希望能為您的IM數(shù)據(jù)、或消息推送服務的設計提供一些參考

一: 信息裸傳

顧名思義:不做任何處理,直接明文傳遞,如下圖所示


信息裸傳

安全評估: 網(wǎng)絡上傳遞的數(shù)據(jù)是不安全的,屬于網(wǎng)絡黑客公共場所,能被截?。?br> 風險后果: 傳遞明文無異于不穿衣服裸奔;
改進方案: 先加密,再在網(wǎng)絡上傳輸。

二: 傳輸密文-對稱加密

約定秘鑰加解密

安全特點流程 :

 1.服務端和客戶端先約定好加密算法,加密密鑰
 2.客戶端,傳輸前用約定好的密鑰加密;
 3.傳輸密文;
 4.服務端,收到消息后用約定好的密鑰解密。

通信安全性總結如下:

1.安全評估:
    客戶端的代碼是不安全的,屬于黑客本地范疇,能被逆向工程,任何客戶端與服務端提前約定好的算法
    與密鑰都是不安全的;
2.導致后果:
    任何客戶端的代碼混淆,二進制化都只能提高黑客的破解門檻,本質(zhì)是不安全的;
3.改進方案:
    不能固定密鑰。

三: 中級通信安全:一人一密


一人一秘,服務器生成

從上圖可知

1. 客戶端和服務器協(xié)商好加密算法和加密秘鑰
2. 客戶端請求秘鑰
3. 服務器返回秘鑰
4. 用協(xié)商好的加密和秘鑰加密,傳遞消息

風險評估

1. 網(wǎng)絡傳遞秘鑰不安全,被截取了,白費了
2. 加密算法也很容易破解
3. 最終破解 

改進方案: 協(xié)商的秘鑰不能在網(wǎng)上傳遞

四: 高級安全通信-客戶端生成秘鑰

一人一密.客戶端生成

分析一波:

1.使用特定加密參數(shù)作為key
2.每個人的秘鑰都不同
3.然后密鑰加密消息,傳輸密文;
4.服務端從db里獲取這個“key”,解密

安全分析

1.秘鑰存于客戶端內(nèi)存中.非常安全
2.特性的參數(shù)作為key,也是安全的,而且一人一密,及時破解,也無法破解其他人的
3.如果該特性的key泄漏了,這個就不安全了,現(xiàn)在誰也不能保證不會泄漏,所以還是具有一定的不安全性

不行,咱們還得改進改進

五: 究極安全通信: 一次一密、密鑰協(xié)商

一人一密

過程分析

1.服務端隨機生成公私鑰對(公鑰pk1,私鑰pk2),并將公鑰pk1傳給客戶端:
(注意:此時黑客能截獲pk1);

2.客戶端隨機生成公私鑰對(公鑰pk11,私鑰pk22),并將公鑰pk11,通過pk1加密,傳給服務端:
(注意:此時黑客能截獲密文,也知道是通過pk1加密的,但由于黑客不知道私鑰pk2,是無法解密的);

3.服務端收到密文,用私鑰pk2解密,得到pk11;
服務端隨機生成對稱加密密鑰key=X,用pk11加密,傳給客戶端:
(注意:同理,黑客由密文無法解密出key);
客戶端收到密文,用私鑰pk22解密,可到key=X。

最后加密是非常安全的了! 不足之處,希望各位大佬指點

本文小結:

零級安全:明文消息傳遞如同裸奔,不安全;
初始安全:客戶端和服務端提前約定加密算法和密鑰,不安全(好多公司都是這么實現(xiàn)的=_=);
中級安全:服務端隨機生成密鑰,發(fā)送給客戶端,不安全;
高級安全:一人一密,客戶端使用“具備用戶特性的東西”作為加密密鑰,弱安全;
終級安全:一次一密,三次握手建立安全信道,安全。

好文章需要傳遞,原文鏈接

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容