一、網絡加密的方式及實現
1、常見的加密算法
常見的密鑰加密算法類型大體可以分為三類:對稱加密、非對稱加密、單向加密。
對稱加密算法采用單密鑰加密,在通信過程中,數據發送方將原始數據分割成固定大小的塊,經過密鑰和加密算法逐個加密后,發送給接收方;接收方收到加密 后的報文后,結合密鑰和解密算法解密組合后得出原始數據。由於加解密算法是公開的,因此在這過程中,密鑰的安全傳遞就成為了至關重要的事了。而密鑰通常來說是通過雙方協商,以物理的方式傳遞給對方,或者利用第三方平台傳遞給對方,且這過程出現了密鑰泄露,不懷好意的人就能結合相應的算法攔截解密出其加密傳輸的內容。
非對稱加密算法采用公鑰和私鑰兩種不同的密碼來進行加解密。公鑰和私鑰是成對存在,公鑰是從私鑰中提取產生公開給所有人的,如果使用公鑰對數據進行加密,那么只有對應的私鑰才能解密,反之亦然。
公鑰加密,私鑰解密。
私鑰數字簽名,公鑰驗證。
單向加密算法常用於提取數據指紋,驗證數據的完整性。發送者將明文通過單向加密算法加密生成定長的密文串,然后傳遞給接收方。接收方在收到加密的報文后進行解密,將解密獲取到的明文使用相同的單向加密算法進行加密,得出加密后的密文串。隨后將之與發送者發送過來的密文串進行對比,若發送前和發送后 的密文串相一致,則說明傳輸過程中數據沒有損壞,若不一致,說明傳輸過程中數據丟失了。單向加密算法只能用於對數據的加密,無法被解密,其特點為定長輸出、雪崩效應。
鏈路加密:報頭以密文傳輸,中間節點存在明文。開銷大,需要對鏈路兩端的加密設備進行系統同步。
節點加密:報頭以明文傳輸,中間節點不存在明文。開銷大,需要對鏈路兩端的加密設備進行系統同步。
端到端加密:報頭以明文傳輸,中間節點不存在明文。開銷小,無需系統同步。
鏈路與端到端混合加密:報頭以密文傳輸,中間節點不存在明文。開銷大,需要對鏈路兩端的加密設備進行系統同步。
二、密鑰管理
密鑰的種類
- 基本密鑰:kp(Base Key),在較長時間由一對用戶專用的密鑰
- 會話密鑰:ks(Session Key),兩個通信終端用戶在一次通話或交換數據時所用的密鑰
- 密鑰加密密鑰:ke(Key Encrypting Key),用於對傳送的會話或文件加密進行加密的密鑰
- 主機主密鑰:km(Host Master Key),對密鑰加密密鑰進行加密的密鑰,存於主機處理器中
- 數據加密密鑰:也稱為工作密鑰。
- 在雙鑰體制下,有公鑰和私鑰、簽名密鑰和證實密鑰之分
密鑰認證的分類
- 隱式密鑰認證
- 密鑰確證
- 顯式密鑰認證
三、密鑰分配
密鑰分配的方法
- 利用安全信道實現密鑰傳遞
- 利用雙鑰體系建立安全信道傳遞
- 利用特定的物理現象(量子傳遞)實現密鑰傳遞
密鑰分配的模式
- 點對點密鑰分配
- 密鑰分配中心
- 密鑰轉遞中心
四、可信第三方TTP
可信第三方的三種工作模式:
協調(In line)
聯機(On line)
脫機(Off line)
在協調方式下,T是一個中間人,為A與B之間通信提供實時服務;
在聯機方式下,T實時參與A和B每次協議的執行,但A和B之間的通信不必經過T;
在脫機方式下,T不實時參與A和B的協議,而是預先向A和B提供雙方執行協議所需的信息。
當A和B屬於不同的安全區域時,協調方式特別重要。證書發送管理機構常采用脫機方式。脫機方式對計算資源的要求較低,但在撤銷權宜上不如其他兩種方式方便。
TTP功能
- 密鑰服務器
- 密鑰管理設備
- 密鑰查閱服務
- 時戳代理
- 仲裁代理
- 托管代理
密鑰交換協議
- 采用單鑰體制的密鑰建立協議:通信雙方需要依賴Trent,他的安全性也完全依賴於Trent,Trent可能成為影響系統性能的瓶頸。
- 采用雙鑰體制的密鑰交換協議:通信雙方的公鑰被可信第三方簽名后存入數據庫中。不能阻擋中間人攻擊。
- 聯鎖協議(一半密文傳輸):可以抵擋中間人攻擊,中間人既不能對一半密文解密,也不能用一方的公鑰加密。
- 采用數字簽名的密鑰交換:可以防止中間人攻擊
- 密鑰和消息廣播:與多人通信
- Diffie-hellman密鑰交換協議:不能抵抗中間人攻擊,沒有對通信雙方的身份進行驗證。
連鎖協議
若通信雙方是Alice和Bob,聯鎖協議主要過程如下:
- Alice將其公鑰發送給Bob
- Bob將其公鑰發送給Alice
- Alice用Bob的公鑰對消息加密,此后,她將一半密文發送給Bob
- Bob用Alice的公鑰對消息加密,此后,她將一半密文發送給Alice
- Alice發送另一半密文給Bob
- Bob將Alice發送的兩部分密文結合在一起,並采用自己的私鑰解密,Bob發送另一半密文給Alice
- Alice將Bob發送的兩部分密文結合在一起,並采用自己的密鑰解密
聯鎖協議抵抗中間人攻擊的原理:
攻擊者僅獲得一半密文而沒有獲得另一半密文時,這些數據對攻擊者來說毫無意義,因為攻擊者無法解密。當Mallory截獲Alice發送給Bob的一半消息時,他既不能對其解密。也不能用Bob的公鑰重新加密。他必須產生一個全新的消息,並將其一半發給Bob。當他在第4步中截獲Bob發給Alice的一半消息時,他會遇到相同的問題即:他既不能對其解密,也不能用Alice的公鑰重新加密。他必須產生一個全新的消息。並將其一半發送給Alice。當Mallory在第5步和第6步截獲真正的第二部消息時,對他來說為時已晚,他已來不及對前面偽造的消息進行修改。Alice和Bob會發現這種攻擊,因為他們談話的內容與偽造的消息有可能完全不同。
五、密鑰保護
- 終端密鑰保護
- 主機密鑰保護
- 密鑰分級保護管理法
按照協議的功能分類,密鑰協議可以分為認證建立協議,密鑰建立協議,認證的密鑰建立協議
六、密鑰的有效期
- 短期密鑰,如會話密鑰,試用期較短,具體期限由數據的價值、給定周期內加密數據的量來決定
- 密鑰加密密鑰屬於長期密鑰,不需要經常更換,一般一個月或一年更換一次
- 用於加密數據文件或存儲數據的密鑰不能經常更換
- 公鑰密碼的秘密密鑰,使用期限由具體應用確定,過期密鑰也要保留