一種密鑰的協定方法
2023-06-25 11:02:01 1
專利名稱:一種密鑰的協定方法
技術領域:
本發明屬於信息安全領域中密鑰通信協商技術,具體地說是一種密鑰的協定方法。
背景技術:
在信息安全系統中,密鑰是合法訪問的唯一憑證。在Kerckhoff密碼安全性分析假設下,一個信息安全系統的安全性取決於對密鑰本身的保護,而不是對系統或者通信硬體的安全保護。在這一前提下,密碼體制和算法本身可以被公開,訪問策略可以公布,密碼設備可能丟失,但信息安全系統仍然可以繼續正常運轉,不受影響。但是,密鑰一旦洩漏,則安全系統將被破壞不但合法用戶不能訪問系統、提取信息,而且系統中的信息將會被非法用戶所竊取,危害到整個系統的安全。由此可見,安全的密鑰管理方法在通信系統的安全中是十分關鍵和極其重要的。它不僅影響著系統的安全性,而且還將涉及系統的可靠性、有效性和經濟性等內容。
Shannon保密理論指出了一次一密系統的安全性和經常性更換密鑰的重要性。而經常性的更換密鑰在實際中操作起來卻因為過於繁瑣而不可行。為了使得通信的雙方能夠在不必頻繁更換其基本密鑰的情況下,得到類似於一次一密系統的安全性,人們提出了「會話密鑰」的概念。所謂會話密鑰,就是指通信的雙方在一次通話或數據交換中所使用的臨時密鑰。
密鑰協定方法(Key Agreement Scheme)就是一種能夠讓通信系統中的兩個或多個參與主體在一個公開的、不安全的信道上通過通信協定聯合建立一次會話所用的臨時密鑰的通信機制,該臨時會話密鑰的值是一個由參與各方提供的輸入共同作用得到的對於參與各方而言是相同的函數值。
目前,已經出現的密鑰協定方法有Diffie-Hellman方法,MQV方法和STS方法等幾種方法,它們都被列入IEEE1363-2000和ANSI-F.9.62等標準之中。
其中,Diffie-Hellman方法是最早出現的密鑰協定方法,它基於有限乘法群上的離散對數問題DLP,具有計算安全性,目前被廣泛應用,但由於其密鑰交換過程採用了握手方式,難以抵抗「中間人」攻擊,具有安全性問題。MQV方法採用靜態密鑰和動態密鑰兩對密鑰來完成握手過程和身份鑑別過程,步驟繁瑣,操作複雜,實用性不強。STS方法通過三次握手完成密鑰協定,需要複雜的數字籤名和身份驗證過程,有時還需要專用的時戳伺服器,通信成本較高。這些都使得通信會話的握手過程的通信成本大大增加,而且過於複雜的密碼協定方法還會留下難於覺察的安全隱患。
發明內容
本發明的目的是提供一種基於Abel有限群上離散對數問題的求解困難性,通過引入可信第三方權威認證機構,實現了一種簡單實用的高效密鑰的協定方法。
為了實現上述目的,本發明的具體步驟如下通信的雙方為A和B,他們的私鑰分別為SKA和SKB,公鑰分別為PKA和PKB,並存放在可信第三方認證中心,其中,PK=SK-1×G。
當通信的雙方需要通過不安全的信道協定本次通信所用的臨時會話密鑰時,則按如下操作完成密鑰協定任務①A隨機選擇一整數kA,並從認證中心CA處獲取B的公鑰PKB,然後計算SA=kA×PKB,並將SA發送給B;②B隨機選擇一整數kB,並從認證中心CA處獲取A的公鑰PKA,然後計算SB=kB×PKA,並將SB發送給A;③A對於從B處收到的SB,用自己的私鑰SKA計算KAB=kA×SKA×SB;類似地,B在收到A發出的SA後,用自己的私鑰SKB計算KBA=kB×SKB×SA;則密鑰協定過程結束,通信的雙方協定後約定的本次通信所用的臨時會話密鑰為K=kA×kB×G。
本發明與之前的各種類似方法相比,本發明無需繁瑣的身份鑑別認證,也不需要引入時戳伺服器,只需要一次數據交換即可直接完成密鑰協定任務,能夠抵抗目前已知的各種攻擊方法,安全性很高。本方法操作簡單、高效,計算開銷和空間需求很低,能夠應用於如計算機、通信網絡、智慧卡、手機等各種軟硬體環境中。
圖1為本發明以圖形的形式描述了上述的密鑰協定過程。
圖2為本發明以圖形的形式描述了本發明在三方通信條件下的實施過程。
具體實施例方式
下面結合附圖及實施例對本發明作進一步的描述,但實施例不應理解為對本發明的限制。
實施例1有限乘法群上的實施方式系統參數隨機選定大素數p,生成元g為一個小於p的正整數。私鑰SKA和SKB為小於p-1的隨機正整數。則公鑰PKA和PKB按如下方式得到 密鑰協定過程a)A隨機選擇小於p-1的正整數kA,並從認證中心CA處獲取B的公鑰PKB,然後計算SA=(PKB)kAmodp]]>,並將SA發送給B。
b)B隨機選取小於p-1的正整數kB,並從認證中心CA處獲取A的公鑰PKA,然後計算SB=(PKA)kBmodp]]>,並將SB發送給A。
c)A對於從B處收到的SB,用自己的私鑰SKA計算KAB=(SB)(kASKA)modp;]]>類似地,在收到A發出的SA後,B用SKB計算KBA=(SA)(kBSKB)modp;]]>則通信的雙方協定後約定的本次通信所用的臨時會話密鑰K=gkAkBmodp.]]>實施例2橢圓曲線有限群上的實施方式系統參數隨機選定大素數p,橢圓曲線E(GF(p)y2=x3+ax+b(mod p)是定義在有限域GF(p)上的一條安全橢圓曲線,其上隨機選取的基點為G,設n=#E(GF(p)是橢圓曲線E的階,r是n的一個大素數因子。私鑰SKA和SKB為小於r-1的隨機正整數。則公鑰PKA和PKB按如下方式得到 密鑰協定過程如下a)A隨機選擇正整數kA∈[1,r-1],並從認證中心CA處獲取B的公鑰PKB,計算SA=kAPKB,並將SA發送給B。
b)B隨機選取正整數kB∈[1,r-1],並從認證中心CA處獲取A的公鑰PKA,然後計算SB=kBPKA,並將SB發送給A。
c)A對於從B處收到的SB,用自己的私鑰SKA計算KAB=kASKASB;
類似地,在收到A發出的SA後,B用自己的私鑰SKB計算KBA=kBSKBSA;則通信的雙方協定後約定的本次通信所用的臨時會話密鑰K=kAkBG。
實施例3超橢圓曲線有限群上的實施方式系統參數隨機選定大素數p,超橢圓曲線Cy2+h(x)y=f(x)modp是定義在有限域GF(p)上的一條虧格為g的安全超橢圓曲線,其中f(x)是次數為2g+1的首一多項式,h(x)是次數至多為g的多項式。設該超橢圓曲線C的Jacobian群J(C;GF(p))的階#J(C;GF(p))為n,r是n的一個大靠數因子。在該超橢圓曲線C上隨機選取基點D∈J(C;GF(p))。私鑰SKA和SKB為小於r-1的隨機正整數。則公鑰PKA和PKB按如下方式得到 則密鑰協定過程如下a)A隨機選擇正整數kA∈[1,r-1],並從認證中心CA處獲取B的公鑰PKB,計算SA=kAPKB,並將SA發送給B。
b)B隨機選取正整數kB∈[1,r-1],並從認證中心CA處獲取A的公鑰PKA,然後計算SB=kBPKA,並將SB發送給A。
c)A對於從B處收到的SB,用自己的私鑰SKA計算KAB=kASKASB;類似地,在收到A發出的SA後,B用自己的私鑰SKB計算KBA=kBSKBSA;則通信的雙方協定後約定的本次通信所用的臨時會話密鑰K=kAkBD。
實施例4多方密鑰協定方法前面所討論的實施方法只能適用於只有兩個通信主體時的情景。當通信主體不只兩個時,需要對具體的實施方法進行適當的改進。這裡以三個通信主體為例,說明這一改進設通信的三方為A,B和C,他們的密鑰對均根據PK=SK-1×G產生。設他們的私鑰分別為SKA、SKB和SKC,公鑰分別為PKA、PKB和PKC。則可按照如下方法協定本次通信的臨時會話密鑰a)A隨機選擇一整數kA∈[1,r-1],並從認證中心CA處獲取C的公鑰PKC,然後計算XA=kAPKC,並將XA發送給B;b)B隨機選擇一整數kB∈[1,r-1],並從認證中心CA處獲取A的公鑰PKA,然後計算YB=kBPKA,並將YB發送給C;c)C隨機選擇一整數kC∈[1,r-1],並從認證中心CA處獲取B的公鑰PKB,然後計算ZC=kCPKB,並將ZC發送給A;d)B對於從A處收到的XA,用剛才所選取的隨機整數kB,計算XB=kBXA,並將XB發送給C;e)C對於從B處收到的YB,用剛才所選取的隨機整數kC,計算YC=kCYB,並將YC發送給A;f)A對於從C處收到的ZC,用剛才所選取的隨機整數kA己的私鑰SKA計算ZA=kAZC,並將ZA發送給B;g)C對於從B處收到的XB,用自己的私鑰SKC計算KABC=kCSKCXB;h)A對於從C處收到的Yc,用自己的私鑰SKA計算KBCA=kASKAYC;i)B對於從A處收到的ZA,用自己的私鑰SKB計算KCAB=kBSKBZA。
至此,三方的密鑰協定過程完成。經通信三方協定後約定的本次通信所用的臨時會話密鑰K=kAkBkCG。對於四方或更多的通信方,只需在上述的三方XKAS密鑰協定方法中增加更多的密鑰傳遞環節即可。
本說明書中未作詳細描述的內容屬於本領域技術人員公知的現有技術。
權利要求
1.一種密鑰的協定方法,通信的各方分別有私鑰SK和公鑰PK,其中,PK=SK-1×G,並存放在可信第三方認證中心,具體步驟如下通信的雙方為A和B,他們的私鑰分別為SKA和AKB,公鑰分別為PKA和PKB,當通信的雙方需要通過不安全的信道協定本次通信所用的臨時會話密鑰時,則按如下操作完成密鑰協定任務①A隨機選擇一整數KA,並從認證中心CA處獲取B的公鑰PKB,然後計算SA=kA×PKB,並將SA發送給B;②B隨機選擇一整數kS,並從認證中心CA處獲取A的公鑰PKA,然後計算SB=kB×PKA,並將SB發送給A;③A對於從B處收到的SB,用自己的私鑰SKA計算KAB=kA×SKA×SB;類似地,B在收到A發出的SA後,用自己的私鑰SKB計算KBA=kB×SKB×SA;則密鑰協定過程結束,通信的雙方協定後約定的本次通信所用的臨時會話密鑰為K=kA×kB×G。
2.如權利要求1所述的密鑰的協定方法,如果通信方為三方,通信的三方為A,B和C,他們的密鑰對均根據PK=SK-1×G產生,設他們的私鑰分別為SKA、SKB和SKC,公鑰分別為PKA、PKB和PKC。則可按照如下方法協定本次通信的臨時會話密鑰a)A隨機選擇一整數kA∈[1,r-1],並從認證中心CA處獲取C的公鑰PKC,然後計算XA=kAPKC,並將XA發送給B;b)B隨機選擇一整數kB∈[1,r-1],並從認證中心CA處獲取A的公鑰PKA,然後計算YB=kBPKA,並將YB發送給C;c)C隨機選擇一整數kC∈[1,r-1],並從認證中心CA處獲取B的公鑰PKB,然後計算ZC=kCPKB,並將ZC發送給A;d)B對於從A處收到的XA,用剛才所選取的隨機整數kB,計算XB=kBXA,並將XB發送給C;e)C對於從B處收到的YB,用剛才所選取的隨機整數kC,計算YC=kBYB,並將YC發送給A;f)A對於從C處收到的ZC,用剛才所選取的隨機整數kA己的私鑰SKA計算ZA=kAZC,並將ZA發送給B;g)C對於從B處收到的XB,用自己的私鑰SKC計算KABC=kCSKCXB;h)A對於從C處收到的YC,用自己的私鑰SKA計算KBCA=kASKAYC;j)B對於從A處收到的ZA,用自己的私鑰SKB計算KCAB=kBSKBZA。至此,三方的密鑰協定過程完成。經通信三方協定後約定的本次通信所用的臨時會話密鑰K=kAkBkCG。
3.如權利要求1或2所述的密鑰的協定方法,對於四方或更多的通信方,只需在權利要求2的三方XKAS密鑰協定方法中增加更多的密鑰傳遞環節即可。
全文摘要
本發明涉及一種密鑰的協定方法,設通信的雙方為A和B,他們的私鑰分別為SK
文檔編號H04L9/00GK1455543SQ0312807
公開日2003年11月12日 申請日期2003年5月30日 優先權日2003年5月30日
發明者肖攸安, 李臘元 申請人:武漢理工大學