對稱加密的對稱密鑰分發


密鑰分發的可能方式

  1、A選擇一個密鑰后以物理的方式傳遞給B

  2、第三方選擇密鑰后物理地傳給A和B

  3、如果A和B先前或最近使用過一個密鑰,則一方可以將 新密鑰用舊密鑰發送給另一方

  4、如果A和B到第三方C有加密連接,則C可以在加密連接上發送密鑰給A、B

  分析:

  1和2都需要人工交付,對鏈路加密(設備一對一連接)可行,對網絡通信則不可行,因為網絡通信涉及大量密鑰

  對於3,一旦攻擊者獲得一個密鑰,則后序所有密鑰便都不再安全。

  4需要第三方即密鑰分發中心,在網絡通信中得到了廣泛的應用。

 

密鑰分發方案

  基本原理:密鑰分發中心KDC和每個終端用戶都共享一對唯一的主密鑰(用物理的方式傳遞,如U盾)。終端用戶之間每次會話,都要向KDC申請唯一的會話密鑰,會話密鑰通過與KDC共享的主密鑰加密來完成傳遞。

  典型方案描述

    

    1、A以明文形式向KDC發送會話密鑰請求包。包括通話雙方A、B的身份以及該次傳輸的唯一標識N1,稱為臨時交互號(nonce)。

      臨時交互號可以選擇時間戳、隨機數或者計數器等。KDC可根據臨時交互號設計防重放機制。

    2、KDC返回的信息包括兩部分。

      第一部分是A想獲取的信息,用A的主密鑰KA加密,包括通話密鑰Ks和KDC收到的請求包內容用以驗證消息到達KDC前是否被修改或者重放過。

      第二部分是B想獲取的信息,用B的主密鑰KB加密,包括通話密鑰Ks和A的身份。A收到后這部分消息便原樣發給B。

    3、為保證A發給B的會話密鑰信息未被重放攻擊,A、B使用會話密鑰進行最后的驗證。

      B使用新的會話密鑰Ks加密臨時交互號N2並發給A。A對N2進行一個函數變換后,用會話密鑰發給B驗證。

  

  對於大型網絡,可以建立KDC的層次體系來使得主密鑰分發的開銷最小化。

  透明的密鑰控制方案

    其中心思想是通過設定專門的會話安全單元(SSM)來完成代表主機、獲取會話密鑰和加密會話消息的功能

     

  分布式的密鑰控制方案

    該方案的核心思想是將每個終端都兼職干KDC的活。這顯然大大增加了主密鑰的數量(N(N-1)/2個),適合一些對KDC安全性要求高的中小系統。

    

    Km是AB共享的主密鑰。

 

  會話密鑰生命周期

    對於面向對象的協議,在會話整個生命周期中使用同一個會話密鑰,為每次新的會話使用新的會話密鑰。若一個會話的生命周期很長,則周期性改變會話密鑰。

    對於無連接的協議如面向事務的協議,則可約定時間或者數量分配不同的會話密鑰

   

  控制密鑰的使用

    目的:

      1、通過某種標識區分密鑰的種類及使用范圍

      2、避免主密鑰作為數據加密密鑰帶來的安全風險

    控制向量解決方案:

      1、KDC生成會話密鑰Ks,同時使用一個控制向量CV,根據約定的規范描述會話密鑰的用法和限制。然后用以下公式生成消息返回給用戶。

          C = E([Kmh(CV)] , Ks) || CV        h為Hash函數    Km是用戶主密鑰     

      2、用戶可直接通過逆操作還原會話密鑰  Ks = D([Kmh(CV)] , E([Kmh(CV)] , Ks)) 

      這樣,通過將主密鑰與CV異或避免了主密鑰可能的暴露,同時也規范了會話密鑰的使用。

 

          


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM