1. 安全的目標 私密性(confidentiality):將數據加密,他人截獲後無法解密; 完整性(integrity):報文沒有被篡改過(分為數據完成性和系統完整性); 可用性(availability): 源認證(不可否認性):對發起者的身份進行認證; 2. 加密演算法簡述 對稱加密:加密和解密 ...
1. 安全的目標
- 私密性(confidentiality):將數據加密,他人截獲後無法解密;
- 完整性(integrity):報文沒有被篡改過(分為數據完成性和系統完整性);
- 可用性(availability):
- 源認證(不可否認性):對發起者的身份進行認證;
2. 加密演算法簡述
- 對稱加密:加密和解密使用同一個密鑰,加密速度快,但不安全,常用於加密數據;例如:DES, 3DES, AES;
- 非對稱加密:加密和解密使用不同的秘鑰,公鑰加密,私鑰解密,加密速度慢,常用於加密秘鑰,但是安全;例如:RSA, DSA;
- 單向加密:定長輸出、雪崩效應、不可逆,常用於完整性校驗;例如:MD5, SHA;
3. 加密與解密過程
通信雙方即A與B,A發送數據給B;
加密過程
- A使用單線加密演算法計算出數據的特征碼;
- A使用自己的私鑰加密特征碼形成數字簽名;將數字簽名放到明文數據的後面;
- A生成一個一次性的對稱秘鑰,然後結合對稱加密演算法和對稱密鑰對明文數據與數字簽名進行加密;
- A使用B的公鑰加密對稱密鑰,然後將加密後對稱密鑰放到密文數據的後面一起發送給B;
解釋:即便第三方將A發送給B的數據截獲了,也無法破解數據,因為想要解密密文數據,就需要知道對稱秘鑰,想得到對稱秘鑰就需要知道B的私鑰,其他人是沒有B的私鑰的,所以通過這種方式保證了數據的私密性。(如果保管B的私鑰,不是這裡要考慮的問題了)
解密過程
- B收到之後使用自己的私鑰解密加密後的對稱秘鑰,得到對稱秘鑰;
- B使用同樣的對稱秘鑰和對稱加密演算法解密密文數據,得到明文數據和數字簽名;
- B使用A的公鑰解密數字簽名,得到特征碼,如果能解密說明這是A發過來的;
- B使用單向加密演算法對明文數據進行計算得出特征碼,然後與解密得來的特征碼進行對比,如果一致則表示數據沒有被篡改過;
以上僅是點到點的通信機制;
通過上述流程保證了身份驗證,完整性驗證和保密性,三種加密演算法全用到了:單向加密、對稱加密、分對稱加密(公鑰加密);這個過程中公鑰加密演算法的兩種作用:身份認證,密鑰交換;