美國NIST(美國國家標準與技術研究院)定義的網路安全標準:保密性(資料保密性、隱私性)、完整性(資料完整性、系統完整性)、可用性(對與授權的第三方,要能還原到元資料)
資料在傳輸中會收到安全攻擊,安全攻擊分為:被動攻擊(竊聽)、主動攻擊(偽裝、重放、訊息篡改、拒絕服務)
為了極高資料的安全防護:提到了一些列的安全機制:
- 加密:資料加密,明文轉換為密文
- 數字簽名:數字簽名的主要目的就是為了做身份認證的,收到訊息后,確認對方的確是自己請求的服務器
- 訪問控制:服務器未經允許拒絕任何人訪問,包括資料
- 資料完整性:保證資料的完整性
- 認證交換:實作密鑰交換,完成資料的解密,加密,和密鑰分發
- 流量填充:資料流中嵌入一些虛假資訊,來掩蓋正常的通信特征,從而阻止對手企圖使用流量分析,保護業務流的機密性
- 路由控制:資料報文走自己指定的網路線路,不在其他線路
- 公證:公信機關進行公正
這些安全機制,又是依托與安全服務安全服務包括:認證服務、訪問控制服務、資料保密服務(連接保密性、無連接保密性、選擇域保密性、流量保密性)、資料完整性服務、不可否認性、
安全服務由依托于演算法和協議的保證如:
- 對稱加密:演算法協議加密協議
- 公鑰加密:非對稱加密
- 單項加密:提取資料特征碼
- 認證協議:雙發完成密鑰交換
Llinx中實作加密解密通信安全安全的工具:OpenSSL,gpg(依托于pgp協議:如程式保中完整性認證、來源認證)
對稱加密:加密和解密使用同一個密鑰
實作演算法:
DES(Data Encryption Standard):入口引數有三個Key、Data、Mode,其中Key為7個位元組共56位,是DES演算法的作業密鑰;Data為8個位元組64位,是要被加密或被解密的資料;Mode為DES的作業方式,有兩種:加密或解密【不安全:后來出現了3DES】
AES(Advanced Encryption Standard):高級加密標準【支持128bits, 192bits, 258, 384, 512bits密鑰長度】
Blowfish、Twofish、IDEA、CAST5
加密演算法和協議
特征:加密、解密使用同一個密鑰;將原始資料分割成固定大小的塊,逐個加密
缺陷:密鑰過多、密鑰分發(密鑰分發程序中存在安全隱患,分發后截獲,可直接破獲資料)
公鑰加密:密鑰是成對兒出現
實作演算法:RSA(實作加密+數字簽名)、DSA(只能實作數字簽名)、ELGamal(商業用的)
公鑰(2048,1024,4096,8192位):公開給所有人;pubkey【一般用于密鑰加密】
私鑰:自己留存,必須保證其私密性;secret key
特點:用公鑰加密的資料,只能使用與之配對兒的私鑰解密;反之亦然;
用途:
- 數字簽名:主要在于讓接收方確認發送方身份

- 密鑰交換:發送方用對方的公鑰加密一個對稱密鑰,并發送給對方

- 資料加密:資料加密(一般用戶:密鑰加密)【一般不會使用,資料加密中效率極低,比對稱加密多了三個數量級】
單向加密:只能加密,不能解密;只是提取資料指紋
特性:定長輸出、雪崩效應;
可用演算法:【md5: 128bits】、【sha1: 160bits】、【sha224 】、【sha256】、【sha384】、【sha512】
功能:保證資料的完整性
三種加密方式實作資料傳輸

使用密鑰交換協議(IKE)【只要實作通信雙發協商生成密鑰】
公鑰加密演算法:DH (Deffie-Hellman)【密鑰不需要在網路上傳輸,但雙方可以實作密鑰交換】
簡化版本
A用戶和B用戶都知道各自的P(素數)、G(生成器)
A用戶:P(獲取一個非常大素數),G(生成器)
B用戶:P(獲取一個非常大素數),G(生成器)
A和B各自生成私密的數字,A和B都是不知道各自的私密數字的
A用戶:生成一個X
- A用戶發給B用戶:【P^ X%G】結果
- A用戶得到B用戶發的結果:【P^ Y%G】結果
- A用戶在進一步計算得到:【P^ Y%G^X】=【P^XY%G】
- 【P^XY%G】就是密鑰
B用戶:生成一個Y
- B用戶發給A用戶結果:【P^ Y%G】結果
- B用戶得到A用戶結果:【P^ X%G】結果
- B用戶進一步計算得到了:【P^ X%G^Y】=【P^XY%G】
- 【P^XY%G】就是密鑰
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/262148.html
標籤:其他
