国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      密鑰協(xié)商方法和裝置的制作方法

      文檔序號(hào):7709568閱讀:180來(lái)源:國(guó)知局
      專利名稱:密鑰協(xié)商方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及安全通信技術(shù)領(lǐng)域,尤其涉及一種密鑰協(xié)商方法和裝置。
      技術(shù)背景密鑰協(xié)商是一種密鑰建立技術(shù),系統(tǒng)中的兩個(gè)或多個(gè)參與方共同提供信 息,各自推導(dǎo)出一個(gè)任何一方不能預(yù)先確定結(jié)果的共享密鑰。特別是隨著通信 環(huán)境的日益復(fù)雜、信息技術(shù)的不斷發(fā)展和計(jì)算能力的不斷提高,通信環(huán)境中的 攻擊手段也不斷發(fā)展,使得很多密鑰協(xié)商方法都存在不同程度的安全隱患,因 此在現(xiàn)代通信中,通信的參與方在保證密鑰協(xié)商的高效率同時(shí)應(yīng)考慮密鑰協(xié)商的安全性。常見(jiàn)的密鑰協(xié)商協(xié)議包括MQV、 HMQV、 NAXOS、 CMQV、 NETS等?,F(xiàn)有技術(shù)中,在使用密鑰協(xié)商進(jìn)行會(huì)話的系統(tǒng)中,某些用戶為了提高密鑰 協(xié)商協(xié)議的運(yùn)行效率,在進(jìn)行會(huì)話密鑰協(xié)商前,可能會(huì)離線預(yù)計(jì)算一些臨時(shí)密 鑰對(duì),例如,(巧M:,i),g一',,其中,esk為臨時(shí)密鑰,sk為長(zhǎng)期密鑰(私 鑰),H,為哈希函數(shù),以供后續(xù)協(xié)商會(huì)話密鑰時(shí)使用。發(fā)明人在對(duì)現(xiàn)有技術(shù)的 研究過(guò)程中發(fā)現(xiàn),由于現(xiàn)有技術(shù)在進(jìn)行密鑰協(xié)商時(shí),會(huì)話雙方需要進(jìn)行多次數(shù) 據(jù)交換才能完成密鑰協(xié)商,并且當(dāng)使用該協(xié)議的某一方用戶或兩方用戶的 (巧(^:,i),gW^")和長(zhǎng)期密鑰sk同時(shí)泄露時(shí),由于獲得該泄露信息的第三方 可以通過(guò)計(jì)算得到系統(tǒng)中用戶的會(huì)話密鑰,因此降低了系統(tǒng)的會(huì)話安全性。發(fā)明內(nèi)容有鑒于此,本發(fā)明實(shí)施例的目的在于密鑰協(xié)商的方法和裝置,以保證基于 密鑰協(xié)商的系統(tǒng)的安全性。本發(fā)明實(shí)施例所提供的技術(shù)方案為一種密鑰協(xié)商方法,應(yīng)用于基于密鑰交換協(xié)議的密鑰協(xié)商系統(tǒng),包括 第一用戶端從證書(shū)中心獲取與該第一用戶端進(jìn)行密鑰協(xié)商會(huì)話的第二用 戶端的長(zhǎng)期公鑰;隨^L選^^第 一用戶端的臨時(shí)密鑰,并對(duì)所述第 一用戶端的臨時(shí)密鑰和所述第 一用戶端的長(zhǎng)期私鑰進(jìn)行第 一哈希計(jì)算獲得第 一 中間值;根據(jù)所述第一中間值和所述臨時(shí)密鑰生成第一密鑰協(xié)商消息;將所述第一密鑰協(xié)商消息發(fā)送至所述第二用戶端后,接收所述第二用戶端返回的第二密鑰協(xié)商消息;第一用戶端才艮據(jù)所述第二密鑰協(xié)商消息、第二用戶端的長(zhǎng)期公鑰、第一用 戶端的臨時(shí)密鑰、第一用戶端的長(zhǎng)期私鑰和所述密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí)進(jìn)行 第二哈希計(jì)算得到共享密鑰。還包括所述第一用戶端的長(zhǎng)期公鑰和所述第二用戶端的長(zhǎng)期公鑰預(yù)先保 存在所述證書(shū)中心;所述證書(shū)中心對(duì)所述第一用戶端的長(zhǎng)期公鑰和所述第一用戶端的用戶身 份進(jìn)行綁定,以及對(duì)所述第二用戶端的長(zhǎng)期公鑰和所述第二用戶端的用戶身份 進(jìn)行綁定。還包括所述密鑰協(xié)商系統(tǒng)預(yù)先定義一組系統(tǒng)參數(shù)Zp、 G、 ; 、《、迅,所述p和《是大素?cái)?shù),且《l; -1; 所述g是《1}中一個(gè)階為《的元素; 所述G為乘法循環(huán)群,且所述G二〈g〉所述//,是滿足{0,1}4 xZ: ^Z:的哈希函數(shù),用于進(jìn)行所述第一哈希計(jì)算; 所述A是滿足(O,ir — {0,1}4的哈希函數(shù),用于進(jìn)行所述第二哈希計(jì)算; 其中,所述Z;是Z;的一個(gè)子群,所述《={1,2,....,9-1},所述A為所述密鑰協(xié)商系統(tǒng)的安全參數(shù)。所述隨機(jī)選擇第一用戶端的臨時(shí)密鑰具體為從所述Z:中隨機(jī)選擇所述第一用戶端的臨時(shí)密鑰esk,;所述對(duì)所述第一用戶端的臨時(shí)密鑰和所述第一用戶端的長(zhǎng)期私鑰進(jìn)行第一哈希計(jì)算獲得第 一 中間值具體為通過(guò)H,對(duì)所述第 一用戶端的臨時(shí)密鑰esk,和所述第一用戶端的長(zhǎng)期私鑰sh進(jìn)行第一哈希計(jì)算得到第一中間值x。所述根據(jù)所述第一中間值和所述臨時(shí)密鑰生成第 一密鑰協(xié)商消息具體為通過(guò)指數(shù)公式geskl+x獲得第 一密鑰協(xié)商消息X,所述esk!為所述第一用戶端的臨時(shí)密鑰,所述x為所述第一中間值。接收所述第二用戶端返回第二密鑰協(xié)商消息之前還包括所述第二用戶端從所述Z:中隨機(jī)選擇所述第二用戶端的臨時(shí)密鑰esk2;通過(guò)Hi對(duì)所述第二用戶端的臨時(shí)密鑰esk2和所述第二用戶端的長(zhǎng)期私鑰 sk2進(jìn)行第 一哈希計(jì)算得到第二中間值y;通過(guò)指數(shù)公式gesk2+y獲得第二密鑰協(xié)商消息Y,所述esk2為所述第二用戶 端的臨時(shí)密鑰,所述y為所述第二中間值。所述第一用戶端根據(jù)所述第二密鑰協(xié)商消息、第二用戶端的長(zhǎng)期公鑰、第 一用戶端的臨時(shí)密鑰、第一用戶端的長(zhǎng)期私鑰和所述密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí) 進(jìn)行第二哈希計(jì)算得到共享密鑰具體為所述第一用戶端通過(guò)H2對(duì)(g^Y)sk'+esk'+x和sid進(jìn)行第二哈希計(jì)算得到共享密鑰K,所述gsk2為所述第二用戶端的長(zhǎng)期公鑰,所述Y為所述第二密鑰協(xié)商 消息,所述ski為所述第一用戶端的長(zhǎng)期私鑰,所述eski為所述第一用戶端的 臨時(shí)密鑰,所述sid為所述密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí)。還包括所述第二用戶端通過(guò)H2對(duì)(g^X產(chǎn)+e^+y和sid進(jìn)行第二哈希計(jì)算 得到共享密鑰K,所述gsk'為所述第一用戶端的長(zhǎng)期 ^鑰,所述X為所述第一 密鑰協(xié)商消息,所述sk2為所述第二用戶端的長(zhǎng)期私鑰,所述esks為所述第二 用戶端的臨時(shí)密鑰,所述sid為所述密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí)。所述會(huì)話標(biāo)識(shí)由第一用戶端的身份標(biāo)識(shí)、第二用戶端的身份標(biāo)識(shí)、第一密鑰協(xié)商消息和第二密鑰協(xié)商消息連接構(gòu)成。所述密鑰協(xié)商方法基于Di伍e-Hellman密鑰交換協(xié)議。一種密鑰協(xié)商裝置,其特征在于,應(yīng)用于基于密鑰交換協(xié)議的密鑰協(xié)商系 統(tǒng)中的第一用戶端,包括獲取對(duì)端公鑰單元,用于從證書(shū)中心獲取與該第一用戶端進(jìn)行密鑰協(xié)商會(huì) 話的第二用戶端的長(zhǎng)期公鑰;第一哈希計(jì)算單元,用于隨機(jī)選擇第一用戶端的臨時(shí)密鑰,并對(duì)所述第一 用戶端的臨時(shí)密鑰和所述第 一用戶端的長(zhǎng)期私鑰進(jìn)行第 一哈希計(jì)算獲得第一 中間值;消息生成單元,用于根據(jù)所述第一中間值和所述臨時(shí)密鑰生成第一密鑰協(xié) 商消息;消息發(fā)送單元,用于將所述第 一密鑰協(xié)商消息發(fā)送至所述第二用戶端;消息接收單元,用于接收所述第二用戶端返回的第二密鑰協(xié)商消息;第二哈希計(jì)算單元,用于根據(jù)所述第二密鑰協(xié)商消息、第二用戶端的長(zhǎng)期 公鑰、第一用戶端的臨時(shí)密鑰、第一用戶端的長(zhǎng)期私鑰和所述密鑰協(xié)商會(huì)話的 會(huì)話標(biāo)識(shí)進(jìn)行第二哈希計(jì)算得到共享密鑰。還包括預(yù)先保存單元,用于將所述第一用戶端的長(zhǎng)期公鑰預(yù)先保存在所述證書(shū)中 心中,所述"^正書(shū)中心用于對(duì)所述第一用戶端的長(zhǎng)期^^鑰和所述第一用戶端的用 戶身份進(jìn)行綁定。由上述本發(fā)明實(shí)施例提供的技術(shù)方案可見(jiàn),本發(fā)明實(shí)施例中第一用戶端從 證書(shū)中心獲取與該第一用戶端進(jìn)行密鑰協(xié)商會(huì)話的第二用戶端的長(zhǎng)期公鑰,隨 機(jī)選擇第一用戶端的臨時(shí)密鑰,并對(duì)第一用戶端的臨時(shí)密鑰和第一用戶端的長(zhǎng) 期私鑰進(jìn)行第一哈希計(jì)算獲得第一中間值,根據(jù)所述第一中間值和臨時(shí)密鑰生 成第一密鑰協(xié)商消息,將第一密鑰協(xié)商消息發(fā)送至第二用戶端后,接收第二用 戶端返回的第二密鑰協(xié)商消息,第一用戶端才艮據(jù)第二密鑰協(xié)商消息、第二用戶 端的長(zhǎng)期公鑰、第一用戶端的臨時(shí)密鑰、第一用戶端的長(zhǎng)期私鑰和密鑰協(xié)商會(huì) 話的會(huì)話標(biāo)識(shí)進(jìn)行第二哈希計(jì)算得到共享密鑰。在本發(fā)明密鑰協(xié)商實(shí)施例中, 由于會(huì)話雙發(fā)只需要一次數(shù)據(jù)交換即可完成會(huì)話密鑰協(xié)商的任務(wù),因此提高了 密鑰協(xié)商的效率;并且,由于只要任何一方的長(zhǎng)期密鑰和臨時(shí)密鑰不同時(shí)泄露, 相對(duì)于現(xiàn)有技術(shù),特別當(dāng)某一方或兩方的(^(eW,i),g"'(《w)和長(zhǎng)期密鑰同時(shí) 泄露,即可保證協(xié)商的安全性,因此具有更強(qiáng)的安全性。


      圖1為本發(fā)明密鑰協(xié)商方法的第一實(shí)施例流程圖;圖2為本發(fā)明密鑰協(xié)商方法的第二實(shí)施例流程圖;圖3為本發(fā)明密鑰協(xié)商方法第二實(shí)施例中的交互信息示意圖;圖4為本發(fā)明密鑰協(xié)商裝置的實(shí)施例框圖。
      具體實(shí)施方式
      本發(fā)明實(shí)施例提供了 一種密鑰協(xié)商方法和裝置,應(yīng)用于基于密鑰交換協(xié)議的密鑰協(xié)商系統(tǒng),其中,第一用戶端從證書(shū)中心獲取與該第一用戶端進(jìn)行密鑰 協(xié)商會(huì)話的第二用戶端的長(zhǎng)期公鑰,隨機(jī)選擇第一用戶端的臨時(shí)密鑰,并對(duì)第 一用戶端的臨時(shí)密鑰和第 一用戶端的長(zhǎng)期私鑰進(jìn)行第 一哈希計(jì)算獲得第 一 中 間值,根據(jù)所述第一中間值和臨時(shí)密鑰生成第一密鑰協(xié)商消息,將第一密鑰協(xié) 商消息發(fā)送至第二用戶端后,接收第二用戶端返回的第二密鑰協(xié)商消息,第一 用戶端根據(jù)第二密鑰協(xié)商消息、第二用戶端的長(zhǎng)期公鑰、第一用戶端的臨時(shí)密 鑰、第 一用戶端的長(zhǎng)期私鑰和密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí)進(jìn)行第二哈希計(jì)算得到 共享密鑰,第二用戶端進(jìn)行與第一用戶端對(duì)等的操作后也得到該共享密鑰。應(yīng) 用本發(fā)明實(shí)施例進(jìn)行密鑰協(xié)商后,只要任何一個(gè)客戶端的長(zhǎng)期密鑰和臨時(shí)密鑰 不同時(shí)泄露,即可保證協(xié)商的安全性。為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本 發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā) 明實(shí)施例中:f支術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。本發(fā)明密鑰協(xié)商方法的第一實(shí)施例流程如圖l所示步驟101:第一用戶端從證書(shū)中心獲取與該第一用戶端進(jìn)行密鑰協(xié)商會(huì)話 的第二用戶端的長(zhǎng)期公鑰。步驟102:隨機(jī)選4奪第一用戶端的臨時(shí)密鑰,并對(duì)第一用戶端的臨時(shí)密鑰 和第 一用戶端的長(zhǎng)期私鑰進(jìn)行第 一哈希計(jì)算獲得第 一 中間值。步驟103:根據(jù)所述第一中間值和所述臨時(shí)密鑰生成第一密鑰協(xié)商消息。 步驟104:將第一密鑰協(xié)商消息發(fā)送至第二用戶端后,接收第二用戶端返 回的第二密鑰協(xié)商消息。步驟105:第一用戶端根據(jù)第二密鑰協(xié)商消息、第二用戶端的長(zhǎng)期公鑰、 第 一用戶端的臨時(shí)密鑰、第 一用戶端的長(zhǎng)期私鑰和密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí)進(jìn) 行第二哈希計(jì)算得到共享密鑰。下面通過(guò)一具體應(yīng)用實(shí)例來(lái)介紹本發(fā)明的密鑰協(xié)商過(guò)程。假設(shè)密鑰協(xié)商會(huì)話系統(tǒng)中為進(jìn)行密鑰協(xié)商的用戶端預(yù)先設(shè)置了系統(tǒng)參數(shù) 組,包括(Zp,G,p,9,g,//,,//2),其中,H]和H2為兩個(gè)哈希函數(shù),可以才艮據(jù)該系統(tǒng)所需要的安全級(jí)別進(jìn)行自定義,即在保證安全的基礎(chǔ)上可以進(jìn)一步設(shè)置不同 的復(fù)雜級(jí)別,除了 H!和H2外其它的系統(tǒng)參數(shù)可以按照密鑰協(xié)商協(xié)議領(lǐng)域中 的標(biāo)準(zhǔn)進(jìn)行設(shè)定,下面分別對(duì)上述7個(gè)系統(tǒng)參數(shù)進(jìn)行說(shuō)明。在系統(tǒng)參數(shù)組(^,^,;^,^//1,//2)中,戶和《是大素?cái)?shù),且《l; -1, g是z;={i,....,;7-i)中一個(gè)階為《的元素(z;中的承表示Zp去掉o元),并且生成乘法循環(huán)群G^g〉(通常G需要滿足離散對(duì)數(shù)問(wèn)題以及CDH (Computational Diffie-Hellman )問(wèn)題難解的條件)。巧是滿足{0,1}4 x Z: — Z:的哈希函數(shù),//2是 滿足{0,1}'—{0,1}*的哈希函數(shù),其中,Z;={2,...., -1},即Z;是Z;的一個(gè)子群,A:為系統(tǒng)的安全參數(shù)。系統(tǒng)中設(shè)置好上述參數(shù)組后,由系統(tǒng)中的用戶共用的。本發(fā)明實(shí)施例的密鑰協(xié)商方法基于Diffie-Hellman密鑰交換協(xié)議,每個(gè)參 與密鑰協(xié)商的用戶端都有一個(gè)長(zhǎng)期公鑰,其中4為該用戶端在Z:中隨機(jī) 選取的長(zhǎng)期私鑰。本發(fā)明實(shí)施例要實(shí)現(xiàn)密鑰協(xié)商,還需要基于已存在的可信的 證書(shū)中心CA,該證書(shū)中心CA用于將參與密鑰協(xié)商的用戶端的身份及其所選 的長(zhǎng)期公鑰進(jìn)行可公開(kāi)驗(yàn)證的綁定,并給參與密鑰協(xié)商的用戶端頒發(fā)證書(shū) CERT。另外,本發(fā)明實(shí)施例的密鑰協(xié)商方法在每次計(jì)算最終協(xié)商的會(huì)話的共享密 鑰時(shí)都需要有一個(gè)標(biāo)識(shí)號(hào),記為sid (session identity ), sid由參與密鑰協(xié)商的 用戶端的身份、以及密鑰協(xié)商交互過(guò)程中生成的交互信息連接構(gòu)成,可以用于 區(qū)分不同的會(huì)話。結(jié)合上面描述的應(yīng)用實(shí)例中的具體參數(shù),參見(jiàn)圖2,為本發(fā)明密鑰協(xié)商方 法的第二實(shí)施例流程圖,其中,假設(shè)在密鑰協(xié)商會(huì)話系統(tǒng)中,有兩個(gè)用戶端A 和B之間進(jìn)行密鑰協(xié)商步驟201:用戶端A和用戶端B開(kāi)始進(jìn)行密鑰協(xié)商。 步驟202:用戶端A和用戶端B從安全證書(shū)中心獲i[又對(duì)方的長(zhǎng)期公鑰。 其中,用戶端A從安全證書(shū)中心獲取用戶端B的長(zhǎng)期公鑰gS、同樣,用 戶端B從安全證書(shū)中心獲取用戶端A的長(zhǎng)期公鑰gskA。其中,gs、通常記為pkA,g^通常記為pkB。步驟203:用戶端A作為密鑰協(xié)商的發(fā)起方隨機(jī)選擇臨時(shí)密鑰,并對(duì)該臨 時(shí)密鑰和用戶端A的長(zhǎng)期私鑰進(jìn)行第一次哈希計(jì)算得到中間值。其中,用戶端A隨機(jī)選擇臨時(shí)密鑰e^:, , M^eZ;,并通過(guò)H^十算中間值義=盡(^、,^^), skA為用戶端A的長(zhǎng)期私鑰。步驟204:用戶端A將根據(jù)中間值得到的密鑰協(xié)商消息X發(fā)送到用戶端B。 其中,用戶端A根據(jù)中間值x生成密鑰協(xié)商消息1 = ^^",并將該密鑰協(xié)商消息X發(fā)送到用戶端B。步驟205:用戶端B作為密鑰協(xié)商的響應(yīng)方接收密鑰協(xié)商消息X。 步驟206:用戶端B隨機(jī)選擇臨時(shí)密鑰,并對(duì)該臨時(shí)密鑰和用戶B的長(zhǎng)期私鑰進(jìn)行第一次哈希計(jì)算得到中間值。其中,用戶端B隨機(jī)選擇臨時(shí)密鑰"&, "&eZ:,并通過(guò)H!計(jì)算中間值"H"Os), skB為用戶端B的長(zhǎng)期私鑰。步驟207:用戶端B將才艮據(jù)中間值得到的密鑰協(xié)商消息Y發(fā)送到用戶端A。 其中,用戶端B根據(jù)中間值y生成密鑰協(xié)商消息y二g^+y ,并將該密鑰協(xié)商消息Y發(fā)送到用戶端B。步驟208:用戶端B根據(jù)密鑰協(xié)商消息X生成共享會(huì)話密鑰K。用戶端B通過(guò)如下公式生成共享會(huì)話密鑰K:《=//2((;^X)'"一"",^0 ,其中,pkA即為gS、 sW二OiS,JT,;n, A和B為用戶端A和用戶端B的身份標(biāo)識(shí),即sid由用戶端A的身份標(biāo)識(shí)、用戶端B的身份標(biāo)識(shí)、密鑰協(xié)商過(guò)程中生成密鑰協(xié)商消息X和密鑰協(xié)商消息Y連接構(gòu)成。步驟209:用戶端A接收密鑰協(xié)商消息X,并根據(jù)X生成共享會(huì)話密鑰K。 用戶端A通過(guò)如下公式生成共享會(huì)話密鑰K: K = //2(0^r)^+e'、"",sW),其中,pkB即為gS、 W"(鎮(zhèn)"),與步驟208中一致。步驟208和步-驟209中生成的共享密鑰為同一個(gè)密鑰K,由于步驟208和步驟209中的H2和sid均一致,因此只需推導(dǎo)&1^¥)^化、+5(與(pkAX)skB+eskB+y一致,即可知步驟208和步驟209中生成的共享密鑰為同一個(gè)密鑰K,推導(dǎo)過(guò)程如下(pkBY)SkA+eSkA+X=(gSkBgeSkB+y) SkA+eSkA+X=(gSkB+eskB+y) SkA+eskA+X , 同j里(pkAX)SkB+eSkB+y=(gSkAgeSkA+X) skB+eskB+y=(gskA+eskA+x) skB+eskB+y ,有上述推導(dǎo)可知,(pkBY)skA+eskA+x與(pkAX)sk,eskB+y—樣,因此用戶端A和 用戶端B生成的會(huì)話共享密鑰也一致,由此保證后續(xù)兩個(gè)用戶端之間的會(huì)話能夠安全進(jìn)行,參見(jiàn)圖3,為用戶端A和用戶端B之間進(jìn)行密鑰協(xié)商時(shí)的交互信息示意圖。結(jié)合上述本本發(fā)明密鑰協(xié)商的第二實(shí)施例對(duì)本發(fā)明密鑰協(xié)商的安全性分析如下1 、中間人攻擊安全性(Man in the middle attack security):由于本發(fā)明實(shí) 施例中采用了隱式認(rèn)證的方式生成共享密鑰,也就是說(shuō)如果兩個(gè)客戶端完成密 鑰協(xié)商會(huì)話,則只有這兩個(gè)客戶端才能生成相同的共享密鑰,因此本發(fā)明密鑰2、已知密鑰安全性(Known key security ):本發(fā)明實(shí)施例中生成的共享密 鑰綁定了由客戶端隨機(jī)選擇的臨時(shí)密鑰,保證了每個(gè)共享密鑰都是唯一的,因 此本發(fā)明密鑰協(xié)商方法實(shí)施例具有已知會(huì)話密鑰安全性。3 、前向安全性(Forward security ):本發(fā)明實(shí)施例中以用戶端A生成的共享密鑰為例,其中包含了(pkBY)skA+eskA+x,因此即使知道了兩個(gè)客戶端的長(zhǎng)期密 鑰,但是不知道臨時(shí)密鑰仍然無(wú)法計(jì)算得到共享密鑰,也就是說(shuō),即使兩個(gè)客 戶端的長(zhǎng)期公鑰和長(zhǎng)期私鑰都泄露,第三方也無(wú)發(fā)生成已經(jīng)刪除的共享密鑰。4、密鑰泄露偽裝安全性(Key compromise impersonation resistance ):本發(fā)明實(shí)施例中音支設(shè)用戶端A的長(zhǎng)期密鑰泄露給第三方,由于本發(fā)明實(shí)施例中生成的共享密鑰中包含(pkBY)skA+esk^,因此敵手只能計(jì)算¥^+《化,(pkB)SkA,而 無(wú)法計(jì)算(PkB)eSkA+X,故第三方不能計(jì)算出共享密鑰,也就是說(shuō)其無(wú)法進(jìn)行密鑰泄露偽裝攻擊,對(duì)于客戶端B,密鑰泄露偽裝攻擊同樣也是無(wú)效的。由此可知,如果第三方知道某個(gè)客戶端的長(zhǎng)期密鑰,想要冒充其它客戶端欺騙該泄露 長(zhǎng)期密鑰的客戶端是不可能的。5、 臨時(shí)密確月;世露安全'l"生(Ephemeral key compromise resistance ): 本發(fā)明 實(shí)施例中即使第三方知道兩個(gè)客戶端的臨時(shí)密鑰,會(huì)話密鑰仍是安全的,所述 臨時(shí)密鑰是廣義的臨時(shí)密鑰,包含esk和H!(esk,sk),這是因?yàn)楸景l(fā)明實(shí)施例中生成的共享密鑰包含(pkBY)skA+eskA+x (或包含^1^乂產(chǎn)+《"),因此第三方只 能計(jì)算(pkB產(chǎn)A+x, YSkA+eSkA+X,而無(wú)法計(jì)算(pkB)s、也就是第三方不能計(jì)算出最終的共享密鑰,無(wú)法進(jìn)行臨時(shí)密鑰泄露攻擊。6 、密鑰確i人安全性(Key confirmation security):本發(fā)明實(shí)施例中生成的 共享密鑰中綁定了兩個(gè)客戶端的臨時(shí)密鑰,因此無(wú)i^哪一方都無(wú)法預(yù)先確定共 享密鑰。與本發(fā)明密鑰協(xié)商方法的實(shí)施例相對(duì)應(yīng),本發(fā)明還提供了密鑰協(xié)商裝置的 實(shí)施例。密鑰協(xié)商裝置的實(shí)施例的相關(guān)內(nèi)容可以參考前述的方法實(shí)施例。本發(fā)明密鑰協(xié)商裝置的實(shí)施例框圖如圖4所示,該裝置應(yīng)用于基于密鑰交換協(xié)議的密鑰協(xié)商系統(tǒng)中的第 一用戶端(第 一用戶端可以是密鑰協(xié)商系統(tǒng)中的任何一個(gè)參與方),包括獲取對(duì)端/>鑰單元410、第一哈希計(jì)算單元420、消息生成單元430、消息發(fā)送單元440、消息接收單元450和第二p合希計(jì)算單元460。其中,獲取對(duì)端公鑰單元410,用于從證書(shū)中心獲取與該第一用戶端進(jìn)行密鑰協(xié)商會(huì)話的第二用戶端的長(zhǎng)期公鑰;第一哈希計(jì)算單元420,用于隨機(jī)選擇第一用戶端的臨時(shí)密鑰,并對(duì)所述 第 一用戶端的臨時(shí)密鑰和所述第 一用戶端的長(zhǎng)期私鑰進(jìn)行第 一哈希計(jì)算獲得 第一中間值;消息生成單元430,用于根據(jù)所述第一中間值和所述臨時(shí)密鑰生成第一密 鑰協(xié)商消息;消息發(fā)送單元440,用于將所述第一密鑰協(xié)商消息發(fā)送至所述第二用戶二山,彿;消息接收單元450,用于接收所述第二用戶端返回的第二密鑰協(xié)商消息;第二哈希計(jì)算單元460,用于根據(jù)所述第二密鑰協(xié)商消息、第二用戶端的長(zhǎng)期公鑰、第一用戶端的臨時(shí)密鑰、第一用戶端的長(zhǎng)期私鑰和所述密鑰協(xié)商會(huì) 話的會(huì)話標(biāo)識(shí)進(jìn)行第二哈希計(jì)算得到共享密鑰。進(jìn)一步,該裝置還可以包括(圖4中未示出)預(yù)先保存單元,用于將所 述第一用戶端的長(zhǎng)期公鑰預(yù)先保存在所述證書(shū)中心中,所述證書(shū)中心用于對(duì)所 述第 一用戶端的長(zhǎng)期公鑰和所述第一用戶端的用戶身份進(jìn)行綁定。通過(guò)以上的實(shí)施方式的描述可知,本發(fā)明實(shí)施例中第一用戶端/人證書(shū)中心 獲取與該第一用戶端進(jìn)行密鑰協(xié)商會(huì)話的第二用戶端的長(zhǎng)期公鑰,隨機(jī)選擇第 一用戶端的臨時(shí)密鑰,并對(duì)第一用戶端的臨時(shí)密鑰和第一用戶端的長(zhǎng)期私鑰進(jìn) 行第 一哈希計(jì)算獲得第 一 中間值,根據(jù)所述第 一 中間值和臨時(shí)密鑰生成第 一密 鑰協(xié)商消息,將第一密鑰協(xié)商消息發(fā)送至第二用戶端后,接收第二用戶端返回 的第二密鑰協(xié)商消息,第一用戶端根據(jù)第二密鑰協(xié)商消息、第二用戶端的長(zhǎng)期 公鑰、第一用戶端的臨時(shí)密鑰、第一用戶端的長(zhǎng)期私鑰和密鑰協(xié)商會(huì)話的會(huì)話 標(biāo)識(shí)進(jìn)行第二哈希計(jì)算得到共享密鑰。在本發(fā)明密鑰協(xié)商實(shí)施例中,由于會(huì)話 雙發(fā)只需要一次數(shù)據(jù)交換即可完成會(huì)話密鑰協(xié)商的任務(wù),因此提高了密鑰協(xié)商 的效率;并且,由于只要任何一方的長(zhǎng)期密鑰和臨時(shí)密鑰不同時(shí)泄露,相對(duì)于 現(xiàn)有^t支術(shù),特別當(dāng)某一方或兩方的(A(eW,^:),g"^"")和長(zhǎng)期密鑰同時(shí)泄露, 即可保^t協(xié)商的安全性,因此具有更強(qiáng)的安全性。本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬 件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn) 有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可 以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得 一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明以上所述的本發(fā)明實(shí)施方式,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限定。任何 在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā) 明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1、一種密鑰協(xié)商方法,其特征在于,應(yīng)用于基于密鑰交換協(xié)議的密鑰協(xié)商系統(tǒng),包括第一用戶端從證書(shū)中心獲取與該第一用戶端進(jìn)行密鑰協(xié)商會(huì)話的第二用戶端的長(zhǎng)期公鑰;隨機(jī)選擇第一用戶端的臨時(shí)密鑰,并對(duì)所述第一用戶端的臨時(shí)密鑰和所述第一用戶端的長(zhǎng)期私鑰進(jìn)行第一哈希計(jì)算獲得第一中間值;根據(jù)所述第一中間值和所述臨時(shí)密鑰生成第一密鑰協(xié)商消息;將所述第一密鑰協(xié)商消息發(fā)送至所述第二用戶端后,接收所述第二用戶端返回的第二密鑰協(xié)商消息;第一用戶端根據(jù)所述第二密鑰協(xié)商消息、第二用戶端的長(zhǎng)期公鑰、第一用戶端的臨時(shí)密鑰、第一用戶端的長(zhǎng)期私鑰和所述密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí)進(jìn)行第二哈希計(jì)算得到共享密鑰。
      2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括所述第一用戶端 的長(zhǎng)期公鑰和所述第二用戶端的長(zhǎng)期公鑰預(yù)先保存在所述證書(shū)中心;所述證書(shū)中心對(duì)所述第一用戶端的長(zhǎng)期公鑰和所述第一用戶端的用戶身 份進(jìn)行綁定,以及對(duì)所述第二用戶端的長(zhǎng)期公鑰和所述第二用戶端的用戶身份 進(jìn)行綁定。
      3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括所述密鑰協(xié)商系 統(tǒng)預(yù)先定義一組系統(tǒng)參數(shù)Zp、 G、 ; 、 g、 /f2,所述;?和g是大素?cái)?shù),且《lp-l; 所述g是《={l,....,p-1}中一個(gè)階為《的元素; 所述G為乘法循環(huán)群,且所述(7=<《>所述A是滿足{0,1}、《—Z:的哈希函數(shù),用于進(jìn)行所述第一哈希計(jì)算; 所述//2是滿足{0,1}* — {0,1}4的哈希函數(shù),用于進(jìn)行所述第二哈希計(jì)算; 其中,所述Z;是Z;的一個(gè)子群,所述《={1,2,....,《-1},所述A為所述密鑰 協(xié)商系統(tǒng)的安全參數(shù)。
      4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述隨機(jī)選擇第一用戶端 的臨時(shí)密鑰具體為從所述《中隨機(jī)選4奪所述第 一用戶端的臨時(shí)密鑰esk,;所述對(duì)所述第 一用戶端的臨時(shí)密鑰和所述第 一用戶端的長(zhǎng)期私鑰進(jìn)行第一。合希計(jì)算獲得第一中間值具體為通過(guò)Hi對(duì)所述第一用戶端的臨時(shí)密鑰esk, 和所述第 一用戶端的長(zhǎng)期私鑰sh進(jìn)行第 一哈希計(jì)算得到第 一中間值X。
      5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述第一中間值和所述臨時(shí)密鑰生成第一密鑰協(xié)商消息具體為通過(guò)指數(shù)公式§—^獲得第一密鑰協(xié)商消息X,所述eski為所述第一用戶端的臨時(shí)密鑰,所述x為所述第一 中間值。
      6、 根據(jù)權(quán)利要求5所述的方法,其特征在于,接收所述第二用戶端返回 第二密鑰協(xié)商消息之前還包括所述第二用戶端;^所述Z:中隨4幾選擇所述第二用戶端的臨時(shí)密鑰esk2;通過(guò)H!對(duì)所述第二用戶端的臨時(shí)密鑰esk2和所述第二用戶端的長(zhǎng)期私鑰 sk2進(jìn)行第一哈希計(jì)算得到第二中間值y;通過(guò)指#^>式gesk2+y獲得第二密鑰協(xié)商消息Y,所述esk2為所述第二用戶 端的臨時(shí)密鑰,所述y為所述第二中間值。
      7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第一用戶端根據(jù)所述 第二密鑰協(xié)商消息、第二用戶端的長(zhǎng)期^^鑰、第一用戶端的臨時(shí)密鑰、第一用 戶端的長(zhǎng)期私鑰和所述密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí)進(jìn)行第二哈希計(jì)算得到共享 密鑰具體為所述第 一用戶端通過(guò)H2對(duì)(gsk2y)^+esk'+x和sid進(jìn)行第二p合希計(jì)算得到共享密鑰K,所述gsk2為所述第二用戶端的長(zhǎng)期公鑰,所述Y為所述第二密鑰協(xié)商 消息,所述ski為所述第一用戶端的長(zhǎng)期私鑰,所述eski為所述第一用戶端的 臨時(shí)密鑰,所述sid為所述密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí)。
      8、 根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括所述第二用戶端通過(guò)H2對(duì)(gSk'X產(chǎn)+esk力和sid進(jìn)行第二哈希計(jì)算得到共享密鑰K,所述gSkl為 所述第一用戶端的長(zhǎng)期公鑰,所述X為所述第一密鑰協(xié)商消息,所述sk2為所述第二用戶端的長(zhǎng)期私鑰,所述esk2為所述第二用戶端的臨時(shí)密鑰,所述sid 為所述密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí)。
      9、 根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述會(huì)話標(biāo)識(shí)由第一用戶端的身份標(biāo)識(shí)、第二用戶端的身份標(biāo)識(shí)、第一密鑰協(xié)商消息和第二密鑰協(xié) 商消息連接構(gòu)成。
      10、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述密鑰協(xié)商方法基于Diffie-Hellman密鑰交換協(xié)議。
      11、 一種密鑰協(xié)商裝置,其特征在于,應(yīng)用于基于密鑰交換協(xié)議的密鑰協(xié) 商系統(tǒng)中的第一用戶端,包括獲取對(duì)端公鑰單元,用于從證書(shū)中心獲取與該第一用戶端進(jìn)行密鑰協(xié)商會(huì) 話的第二用戶端的長(zhǎng)期公鑰;第一哈希計(jì)算單元,用于隨機(jī)選擇第一用戶端的臨時(shí)密鑰,并對(duì)所述第一 用戶端的臨時(shí)密鑰和所述第一用戶端的長(zhǎng)期私鑰進(jìn)行第一哈希計(jì)算獲得第一 中間值;消息生成單元,用于才艮據(jù)所述第一中間值和所述臨時(shí)密鑰生成第一密鑰協(xié)商消息;消息發(fā)送單元,用于將所述第一密鑰協(xié)商消息發(fā)送至所述第二用戶端; 消息接收單元,用于接收所述第二用戶端返回的第二密鑰協(xié)商消息; 第二哈希計(jì)算單元,用于根據(jù)所述第二密鑰協(xié)商消息、第二用戶端的長(zhǎng)期公鑰、第一用戶端的臨時(shí)密鑰、第一用戶端的長(zhǎng)期私鑰和所述密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí)進(jìn)行第二哈希計(jì)算得到共享密鑰。
      12、 根據(jù)權(quán)利要求11所述的裝置,其特征在于,還包括 預(yù)先保存單元,用于將所述第一用戶端的長(zhǎng)期公鑰預(yù)先保存在所述證書(shū)中心中,所述證書(shū)中心用于對(duì)所述第一用戶端的長(zhǎng)期公鑰和所述第一用戶端的用 戶身份進(jìn)行綁定。
      全文摘要
      本發(fā)明公開(kāi)了一種密鑰協(xié)商方法和裝置,該方法包括第一用戶端從證書(shū)中心獲取與該第一用戶端進(jìn)行密鑰協(xié)商會(huì)話的第二用戶端的長(zhǎng)期公鑰;隨機(jī)選擇第一用戶端的臨時(shí)密鑰,并對(duì)第一用戶端的臨時(shí)密鑰和第一用戶端的長(zhǎng)期私鑰進(jìn)行第一哈希計(jì)算獲得第一中間值;根據(jù)第一中間值和臨時(shí)密鑰生成第一密鑰協(xié)商消息;將第一密鑰協(xié)商消息發(fā)送至第二用戶端后,接收第二用戶端返回的第二密鑰協(xié)商消息;第一用戶端根據(jù)第二密鑰協(xié)商消息、第二用戶端的長(zhǎng)期公鑰、第一用戶端的臨時(shí)密鑰、第一用戶端的長(zhǎng)期私鑰和密鑰協(xié)商會(huì)話的會(huì)話標(biāo)識(shí)進(jìn)行第二哈希計(jì)算得到共享密鑰。本發(fā)明提高了密鑰協(xié)商的效率,并且任何一方的長(zhǎng)期密鑰和臨時(shí)密鑰不同時(shí)泄露,即可保證協(xié)商的安全性。
      文檔編號(hào)H04L9/32GK101582906SQ20091015046
      公開(kāi)日2009年11月18日 申請(qǐng)日期2009年6月23日 優(yōu)先權(quán)日2009年6月23日
      發(fā)明者季新生, 張汝云, 彭建華, 程慶豐, 許明艷, 馬傳貴, 魏富山, 黃開(kāi)枝 申請(qǐng)人:中國(guó)人民解放軍信息工程大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1