對稱加密的對稱密鑰分發

密鑰分發的可能方式安全

  一、A選擇一個密鑰後以物理的方式傳遞給B網絡

  二、第三方選擇密鑰後物理地傳給A和B併發

  三、若是A和B先前或最近使用過一個密鑰,則一方能夠將 新密鑰用舊密鑰發送給另外一方分佈式

  四、若是A和B到第三方C有加密鏈接,則C能夠在加密鏈接上發送密鑰給A、B函數

  分析:加密

  1和2都須要人工交付,對鏈路加密(設備一對一鏈接)可行,對網絡通訊則不可行,由於網絡通訊涉及大量密鑰spa

  對於3,一旦攻擊者得到一個密鑰,則後序全部密鑰便都再也不安全。設計

  4須要第三方即密鑰分發中心,在網絡通訊中獲得了普遍的應用。對象

 

密鑰分發方案blog

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

  典型方案描述

    

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

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

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

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

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

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

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

  

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

  透明的密鑰控制方案

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

     

  分佈式的密鑰控制方案

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

    

    Km是AB共享的主密鑰。

 

  會話密鑰生命週期

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

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

   

  控制密鑰的使用

    目的:

      一、經過某種標識區分密鑰的種類及使用範圍

      二、避免主密鑰做爲數據加密密鑰帶來的安全風險

    控制向量解決方案:

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

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

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

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

相關文章
相關標籤/搜索