計算機網路中信息傳輸的安全是如何保障的?


無論是採用三層IPSec加密,四層TLS加密,七層的應用層加密技術,要想實現網路的傳輸安全,需要實現以下基本元素:

1. 數據的機密性
通俗地說,就是一端將明文數據加密,另外一端將加密數據解密成明文,通常使用AES-CBC加密演算法,需要雙方有一個session key。

2. 數據的完整性
保證數據在傳輸過程中,數據不被竄改,可以使用HMAC來校驗,通常使用MD5或SHA演算法,同樣需要一個HMAC key。

3. 防重放攻擊
防止第三方捕獲一個合法得密文,然後再重新發送一次。對付這種攻擊,只需要消息體里有序列號、或時間戳保護即可。

4. 數據流量大小的私密性
防止第三方可以根據加密報文的位元組數,推測可能的內容,可以將原始報文用廢數據填充。

以上是要實現的目標,但不要忘記一個大前提,通信雙方需要互相認證、或單向認證,而實現認證的技術:

1. 數字證書

2. 預共享密碼

而需要協議來承載以上的認證過程,我們需要控制協議來完成這項工作:

1. IKE
2. TLS Handshake

同時還可以使用這些控制協議來完成,通信兩端的加密參數(加密演算法、HMAC演算法)的協商,以及key(session /HMAC)的協商,而key 的協商通常使用DH演算法、RSA演算法。

實現了以上所有元素,就可以安全地傳輸數據了。


tls/https


騷恆這個問題提的很有水平嘛!


為了防止信息泄露,使用了對稱加密演算法。
為了免於傳輸密鑰,使用了非對稱加密演算法。
為了防止信息被篡改,使用了隨機散列函數。


計算機在保護報文安全的方面有一個很精髓的密鑰演算法,叫做DH演算法,雙方只要通過交換密鑰材料就能算出對稱演算法的密鑰,密鑰不通過網路傳輸,即使你截獲相關的材料也不能算出雙方的密鑰,但是也沒有永遠安全的系統,魔高一尺道高一丈,網路世界很複雜也很精彩,需要你發現,比如dh演算法,這個演算法真是精髓。


推薦閱讀:

HTTPS可以防止中間人篡改內容嗎?
被運營商劫持了怎麼辦,應該是HTTP劫持?
360發布首款支持國密演算法的瀏覽器對網路安全有哪些影響?
自動更換ip地址的刷票軟體是如何實現的?
為什麼中國很多的網站在登錄時都不採用HTTPS 加密協議呢?

TAG:網路安全 | 通信 | 計算機網路 | 計算機科學 | TCPIP |