1. 程式人生 > >如何保證資料傳輸過程安全性

如何保證資料傳輸過程安全性

對稱加密:加密和解密使用同一個金鑰
特點:保證了資料的保密性。
侷限性:無法解決金鑰交換問題。
常用的演算法有:DES,3DES,AES;
    
公鑰加密:生成一個金鑰對(私鑰和公鑰),加密時用私鑰加密,解密時用公鑰解密
特點:解決了金鑰交換問題。
侷限性:對大的資料加密速度慢。
 
單向加密:提取資料的特徵碼
特點:定長輸出,不可逆,可檢驗資料的完整性。
侷限性:無法保證資料的保密性。
常用演算法:MD5、SHA1、CRC-32。
 
三種加密方法各有優缺點,在時實際應用中,資料從傳送方到達接收方,
通常是這樣應用的:
 
1)首先對要傳送的資料做單向加密,獲取資料的特徵碼;
2)對特徵碼用傳送方的私鑰進行加密生成S1;
3)然後對S1和資料進行對稱加密生成S2;
4)最後將S2和對稱加密的密碼使用接收方的公鑰進行加密。
  
這樣一來資料在傳輸過程中的完整性、保密性以及對傳送方身份的驗證都能得到保障。
 
當資料到達接收方時,接收方先用自己的私鑰對接收到的資料進行解密,得到密碼和加密的資料;
使用密碼對加密資料解密,得到加密的特徵碼和資料;用傳送方的公鑰解密特徵碼,如果能解密,
則說明該資料是由傳送方所發;反之則不是,這便實現了身份驗證;最後計算資料的特徵碼和解密出來的特徵碼做對比,
如果一樣,則該資料沒有被修改;反之則資料被修改過了。