專利名稱:一種實現(xiàn)實體的公鑰獲取、證書驗證及雙向鑒別的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種實現(xiàn)實體的公鑰獲取、證書驗證及雙向鑒別的方法。
背景技術(shù):
在目前的計算機網(wǎng)絡(luò)和通信網(wǎng)絡(luò)中,當(dāng)用戶登錄網(wǎng)絡(luò)進行安全通信前,必 須完成用戶和網(wǎng)絡(luò)之間的實體鑒別,或單向鑒別或雙向鑒別。使用的鑒別機制 一般分為兩類基于對稱密鑰算法和基于公鑰(非對稱密鑰)算法。
基于公鑰算法和技術(shù)的鑒別機制要求參與者實體必須具有一對密鑰,即公 私鑰對,其中公鑰需通知給其他的參與者實體??捎玫耐ㄖ绞接袔馔ㄖ?式和證書方式,其中帶外通知方式由于難于更新而較少使用,證書方式則應(yīng)用 廣泛。
采用公鑰證書的實體鑒別方法一般需基于公鑰基礎(chǔ)設(shè)施,公鑰基礎(chǔ)設(shè)施是 一種利用公鑰的概念與技術(shù)來實施和提供安全服務(wù)的、具有普適性的安全基礎(chǔ) 設(shè)施,它可以提供鑒別、完整性、機密性等安全服務(wù)。公鑰基礎(chǔ)設(shè)施中很重要 的兩個概念就是公鑰證書和證書權(quán)威,其中公鑰證書通常由證書權(quán)威頒發(fā),公 鑰證書中的簽名由證書權(quán)威提供,證書權(quán)威通過提供簽名來證實公鑰證書持有 者和該持有者公鑰的綁定關(guān)系。
經(jīng)過證書權(quán)威證實的公鑰證書通常存在生命期,在生命期結(jié)束后證書失效。 如果公鑰證書所對應(yīng)的私鑰泄漏,則該公鑰證書也失效。此外還存在一些其他 使公鑰證書失效的情況,比如工作變動導(dǎo)致其失效等。
在網(wǎng)絡(luò)通信中參與鑒別的實體通常會拒絕與持有失效公鑰證書的實體建立 安全通信,因此公鑰獲取和證書驗證通常圍繞實體鑒別過程并為之提供服務(wù)。 目前現(xiàn)有的鑒別機制在運行之前或運行當(dāng)中,驗證者必須具有聲稱者的有效公 開密鑰或者知曉聲稱者的公鑰證書狀態(tài),否則鑒別過程會受到損害或不能成功 完成。如圖1所示,其中實體A和實體B需要通過執(zhí)行鑒別協(xié)議完成它們之間
的鑒別,可信第三方TP (Trusted third Party)為實體A和實體B信任的第三方 實體,且實體A和實體B必須在鑒別之前通過可信第三方TP獲得對端實體的 有效公鑰或公鑰證書的狀態(tài)。
目前獲取公鑰證書的狀態(tài)通常使用以下兩種方式-
1) CRL:下載證書吊銷列表CRL (Certificate Revocation List)獲取公鑰證 書的狀態(tài),包括全部的證書列表下載和增量證書列表下載。某個實體需要驗證 某個公鑰證書的狀態(tài)時,從服務(wù)器下載最新的證書吊銷列表,然后檢査需要驗 證的公鑰證書是否在最新的證書吊銷列表CRL中。
2) 在線査詢獲取公鑰證書的狀態(tài)。例如在線證書狀態(tài)協(xié)議OCSP (Online Certificate Status Protocol)。在線證書狀態(tài)協(xié)議OCSP主要涉及客戶端和服務(wù)器 兩個實體,是一種典型的客戶端/服務(wù)器結(jié)構(gòu)??蛻舳讼蚍?wù)器發(fā)送請求,服務(wù) 器返回響應(yīng)。請求中包含需要驗證的系列證書,響應(yīng)中包含系列證書的狀態(tài)和 驗證間隔。
事先獲得對端實體的有效公鑰或公鑰證書狀態(tài),這一保障需求條件在很多 應(yīng)用環(huán)境下都得不到滿足,比如在網(wǎng)絡(luò)結(jié)構(gòu)是用戶、接入點、服務(wù)器三元結(jié)構(gòu) 的接入網(wǎng)絡(luò)中,包含大多數(shù)的通信網(wǎng)絡(luò),通常采用實體鑒別機制實現(xiàn)用戶接入 控制功能,在鑒別機制成功完成前,禁止用戶訪問網(wǎng)絡(luò),因而在鑒別之前用戶 無法使用證書吊銷列表CRL、在線證書狀態(tài)協(xié)議OCSP等方法驗證接入點證書 的有效性或獲得接入點的有效公鑰。因此想徹底成功地完成鑒別,只能依賴用 戶在完成鑒別、已經(jīng)建立網(wǎng)絡(luò)通信后再進行驗證,例如IEEE 802.11i和IEEE 802.16(e)中密鑰管理PKM (Privacy Key Management)協(xié)議,即事后獲得接入點的 有效公鑰或公鑰證書的狀態(tài)。不論是事前獲得還是事后獲得對端實體的有效公 鑰或公鑰證書的狀態(tài),均將鑒別過程與獲得有效公鑰和公鑰證書狀態(tài)的過程分 隔成兩個單獨的過程,不利于提高協(xié)議執(zhí)行效率,甚至在某些應(yīng)用環(huán)境中會引 入不安全的因素,影響鑒別的真實性。
另,在某些應(yīng)用中,用戶在進行鑒別的過程中,也難于使用證書吊銷列表 CRL、在線證書狀態(tài)協(xié)議OCSP等方式。首先用戶設(shè)備可能存儲資源有限、或 者用戶根本不愿意存儲證書吊銷列表CRL,導(dǎo)致周期下載證書吊銷列表CRL無 法實現(xiàn)。接入網(wǎng)絡(luò)雖然不存在資源限制,然而接入網(wǎng)絡(luò)可能存在政策限制等問 題。其次,當(dāng)用戶使用在線證書狀態(tài)協(xié)議OCSP等在線查詢機制時,用戶需要 通過后臺服務(wù)器執(zhí)行單獨的在線證書狀態(tài)協(xié)議OSCP等協(xié)議,這些協(xié)議往往運 行在HTTP協(xié)議上,屬于應(yīng)用層的協(xié)議,在接入網(wǎng)絡(luò)的鑒別尚未完成之前,直 接使用這些協(xié)議將非常復(fù)雜。即使能夠使用,也需要通過用戶一服務(wù)器和接入 點一服務(wù)器的結(jié)構(gòu)完成,不符合用戶一接入點一服務(wù)器這種結(jié)構(gòu),無法直接的 方便的應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明為解決背景技術(shù)中存在的上述技術(shù)問題,而提出一種實現(xiàn)實體的公 鑰獲取、證書驗證和雙向鑒別為一體的方法。
本發(fā)明的技術(shù)解決方案是本發(fā)明為一種實現(xiàn)實體的公鑰獲取、證書驗證 和雙向鑒別的方法,其特殊之處在于該方法包括以下步驟
1 )實體A發(fā)送消息1給實體B,消息1包括隨機數(shù)RA、身份標(biāo)識IDa及
可選文本Textl;
2) 實體B收到消息1后,向?qū)嶓wA發(fā)送消息2,消息2包括權(quán)標(biāo)TokenBA、 身份標(biāo)識IDe、請求ReqB及可選文本Text3;
3) 實體A收到消息2后,向可信第三方TP發(fā)送消息3,消息3包括請求 ReqAT和可選文本Text4;
4) 可信第三方TP收到消息3后,確定響應(yīng)RepTA,執(zhí)行步驟5);
5) 可信第三方TP向?qū)嶓wA返回消息4,消息4包括響應(yīng)RepTA和可選文 本Text7;
6) 實體A收到到來自可信第三方TP的消息4后,進行處理,得到實體B 的鑒別結(jié)果;
7) 實體A向?qū)嶓wB返回消息5,消息5包括權(quán)標(biāo)TokenAB和響應(yīng)RepB;
8) 實體B收到來自實體A的消息5后,進行處理,得到實體A的鑒別結(jié)果。
上述步驟4)中可信第三方TP確定響應(yīng)R印TA的方法如下根據(jù)實體A 和實體B的身份標(biāo)識IDa和IDb,檢査公鑰證書CerU和CertB的有效性或通過 實體區(qū)分符A和B搜索實體A和實體B的有效公鑰。
上述步驟6)中實體A對消息4的處理步驟如下
6.1) 根據(jù)使用的公鑰驗證協(xié)議或分發(fā)協(xié)議來驗證響應(yīng)RepTA,若驗證通過 則進至步驟6.2);
6.2) 獲得實體B的公鑰或公鑰證書的狀態(tài),驗證包含在權(quán)標(biāo)TokenBA中的 實體B的簽名;然后檢查包含在權(quán)標(biāo)TokenBA的簽名數(shù)據(jù)中的身份標(biāo)識字段IDA 是否與實體A的身份標(biāo)識一致,檢查在步驟1)步中發(fā)送給實體B的隨機數(shù)RA 是否與包含在權(quán)標(biāo)TokenBA.中的隨機數(shù)Ra相一致,得到實體B的鑒別結(jié)果。
上述步驟8)中實體B對消息5的處理步驟如下
8.1)根據(jù)使用的公鑰驗證協(xié)議或分發(fā)協(xié)議來驗證響應(yīng)RepB,若驗證通過則
進至步驟8.2);
8.2)獲得實體A的公鑰或公鑰證書的狀態(tài),驗證包含在權(quán)標(biāo)TokenAB中 的實體A的簽名;然后檢査包含在權(quán)標(biāo)TokenAB的簽名數(shù)據(jù)中的身份標(biāo)識字段 IDB是否與實體B的身份標(biāo)識一致,檢査在步驟2)中發(fā)送給實體A的隨機數(shù) rb是否與包含在權(quán)標(biāo)TokenAB.中的隨機數(shù)Rb相一致,得到實體A的鑒別結(jié)果。
上述R叫B和R叫AT分別為實體B和實體A產(chǎn)生的請求,請求對端實體的 有效公鑰或公鑰證書的原狀態(tài)等信息,且ReqTA包含ReqB的內(nèi)容;RepTA和 RepB分別為針對請求R叫AT和R叫B而產(chǎn)生的響應(yīng),且RepTA包含RepB的內(nèi) 容。
上述R叫B、 ReqAT、 RepTA和RepB的形式和定義根據(jù)具體使用的公鑰驗 證協(xié)議或分發(fā)協(xié)議確定,這些公鑰驗證協(xié)議或分發(fā)協(xié)議是在線證書狀態(tài)協(xié)議(見 GB/T 19713)、基于服務(wù)器的證書驗證協(xié)議(見IETF RFC5055)或者其他公鑰 分發(fā)或驗證協(xié)議。
本發(fā)明采用三實體構(gòu)架,實體A和實體B在鑒別之前需獲得可信第三方的 公鑰或證書,并獲得可信第三方頒發(fā)給自己的用戶證書或?qū)⒆约旱墓€交給可 信第三方保管,而無需事先知曉對端實體的有效公鑰或公鑰證書的狀態(tài)。本發(fā) 明將實體的公鑰獲取、證書驗證和鑒別功能融合在一個協(xié)議中完成,有利于提 高協(xié)議執(zhí)行的效率和效果,便于和各種公鑰獲取和公鑰證書狀態(tài)查詢協(xié)議相結(jié) 合,適合接入網(wǎng)絡(luò)的用戶一接入點一服務(wù)器的網(wǎng)絡(luò)結(jié)構(gòu),滿足接入網(wǎng)絡(luò)的鑒別 要求。
圖1為現(xiàn)有技術(shù)中的鑒別機制工作示意圖; 圖2為本發(fā)明的方法示意圖。
具體實施例方式
參見圖2,本發(fā)明的方法涉及三個安全元素,即兩個實體A和B及一個可 信第三方TP,通過在線的可信第三方TP,實體A和B之間完成雙向鑒別,且 獲取對端實體的有效公鑰或公鑰證書的狀態(tài)。
實體A或B以實體X表示;則Rx表示實體X產(chǎn)生的隨機數(shù);Certx為實體 X的公鑰證書;IDx為實體X的身份標(biāo)識,由證書Certx或者實體的區(qū)分符X表 示;ReqX表示由實體X產(chǎn)生的請求,請求對端實體的有效公鑰或公鑰證書的狀 態(tài)等信息;ReqXT表示由實體X產(chǎn)生的或轉(zhuǎn)發(fā)給可信第三方TP的請求;RepX
表示針對ReqX向?qū)嶓wX發(fā)送的響應(yīng),即向?qū)嶓wX響應(yīng)其所請求的實體的有效 公鑰或公鑰證書的狀態(tài)等信息;RepTX表示針對ReqXT由可信第三方TP產(chǎn)生 的響應(yīng);Token為權(quán)標(biāo)字段;Text為可選文本字段。各符號定義如下
<formula>formula see original document page 8</formula>
ReqB、 R叫AT、 RepTA、 RepB的形式和定義根據(jù)具體使用的公鑰驗證協(xié)議 或分發(fā)協(xié)議確定,這些在線公鑰驗證協(xié)議或分發(fā)協(xié)議包括證書狀態(tài)協(xié)議(見GB/T 19713)、基于服務(wù)器的證書驗證協(xié)議(見IETFRFC5055)或者其他公鑰分發(fā)或 驗證協(xié)議。
本發(fā)明的方法具體工作流程如下
1 )實體A發(fā)送消息1給實體B,消息1包括隨機數(shù)RA、身份標(biāo)識IDa及 可選文本Textl;
2) 實體B收到消息1后,向?qū)嶓wA發(fā)送消息2,消息2包括權(quán)標(biāo)TokenBA、身 份標(biāo)識IDB 、 請求R叫B及可選文本Text3 , 其中TokenBA = RA||RB||IDA||sSB(RA||RBi|IDB||IDA||Text2);
3) 實體A收到消息2后,向可信第三方TP發(fā)送消息3,消息3包括請求 ReqAT和可選文本Text4,其中ReqAT需包含ReqB的內(nèi)容;
4) 可信第三方TP收到消息3后,根據(jù)實體A和實體B的身份標(biāo)識IDA和 IDB,檢查公鑰證書CertA和CertB的有效性或通過實體區(qū)分符A和B搜索實體A 和實體B的有效公鑰,確定響應(yīng)RepTA,其中RepTA需包含RepB的內(nèi)容,執(zhí) 行步驟5);
5) 可信第三方TP向?qū)嶓wA返回消息4,消息4包括響應(yīng)RepTA和可選文 本Text5;
6) 實體A收到到來自可信第三方TP的消息4后,完成下列步驟
6.1) 根據(jù)使用的公鑰驗證協(xié)議或分發(fā)協(xié)議來驗證響應(yīng)RepTA,若驗證通過 則進至步驟6.2);
6.2) 獲得實體B的公鑰或公鑰證書的狀態(tài),驗證包含在權(quán)標(biāo)TokenBA中的 實體B的簽名;然后檢查包含在權(quán)標(biāo)TokenBA的簽名數(shù)據(jù)中的身份標(biāo)識字段IDA 是否與實體A的身份標(biāo)識一致,檢查在步驟1)步中發(fā)送給實體B的隨機數(shù)RA 是否與包含在權(quán)標(biāo)TokenBA.中的隨機數(shù)Ra相一致,得到實體B的鑒別結(jié)果;
7) 實體A向?qū)嶓wB返回消息5,消息5包括權(quán)標(biāo)TokenAB和響應(yīng)RepB, 其中TokenAB = Text7||sSA(RB||IDB||Text6);
8) 實體B收到來自實體A的消息5后,執(zhí)行下列步驟
8.1) 根據(jù)使用的公鑰驗證協(xié)議或分發(fā)協(xié)議來驗證響應(yīng)RepB,若驗證通過則 進至步驟8.2);
8.2) 獲得實體A的公鑰或公鑰證書的狀態(tài),驗證包含在權(quán)標(biāo)TokenAB中 的實體A的簽名。然后檢査包含在權(quán)標(biāo)TokenAB的簽名數(shù)據(jù)中的身份標(biāo)識字段 IDB是否與實體B的身份標(biāo)識字段一致,檢查在步驟2)中發(fā)送給實體A的隨機 數(shù)RB是否與包含在權(quán)標(biāo)TokenAB.中的隨機數(shù)Rb相一致,得到實體A的鑒別結(jié) 果。至此,實體A和實體B之間完成雙向鑒別過程。
如果僅實現(xiàn)實體A對實體B的單向鑒別,則在上述雙向鑒別過程的基礎(chǔ)上 步驟7)和8)可以省略,且消息1到消息5中的某些字段也可以省略。
如果僅實現(xiàn)實體B對實體A的單向鑒別,則在雙向鑒別過程的基礎(chǔ)上步驟 1)可以省略,且消息2到消息5中的某些字段也可以省略。
權(quán)利要求
1、一種實現(xiàn)實體的公鑰獲取、證書驗證及雙向鑒別的方法,其特征在于該方法包括以下步驟1)實體A發(fā)送消息1給實體B,消息1包括隨機數(shù)RA、身份標(biāo)識IDA及可選文本Text1;2)實體B收到消息1后,向?qū)嶓wA發(fā)送消息2,消息2包括權(quán)標(biāo)TokenBA、身份標(biāo)識IDB、請求ReqB及可選文本Text3;3)實體A收到消息2后,向可信第三方TP發(fā)送消息3,消息3包括請求ReqAT和可選文本Text4;4)可信第三方TP收到消息3后,確定響應(yīng)RepTA,執(zhí)行步驟5);5)可信第三方TP向?qū)嶓wA返回消息4,消息4包括響應(yīng)RepTA和可選文本Text5;6)實體A收到來自可信第三方TP的消息4后,進行處理,得到實體B的鑒別結(jié)果;7)實體A向?qū)嶓wB返回消息5,消息5包括權(quán)標(biāo)TokenAB和響應(yīng)RepB;8)實體B收到來自實體A的消息5后,進行處理,得到實體A的鑒別結(jié)果。
2、 根據(jù)權(quán)利要求1所述的實現(xiàn)實體的公鑰獲取、證書驗證及雙向鑒別的方 法,其特征在于步驟4)中可信第三方TP確定響應(yīng)RepTA的方法如下根據(jù) 實體A和實體B的身份標(biāo)識IDa和IDb,檢査公鑰證書CerU和CertB的有效性 或通過實體區(qū)分符A和B搜索實體A和實體B的有效公鑰。
3、 根據(jù)權(quán)利要求2所述的實現(xiàn)實體的公鑰獲取、證書驗證及雙向鑒別的方 法,其特征在于所述步驟6)中實體A對消息4的處理步驟如下6.1) 根據(jù)使用的公鑰驗證協(xié)議或分發(fā)協(xié)議來驗證響應(yīng)RepTA,若驗證通過 則進至步驟6.2);6.2) 獲得實體B的公鑰或公鑰證書的狀態(tài),驗證包含在權(quán)標(biāo)TokenBA中的 實體B的簽名;然后檢査包含在權(quán)標(biāo)TokenBA的簽名數(shù)據(jù)中的身份標(biāo)識字段IDA 是否與實體A的身份標(biāo)識一致,檢查在步驟l)步中發(fā)送給實體B的隨機數(shù)RA 是否與包含在權(quán)標(biāo)TokenBA.中的隨機數(shù)Ra相一致,得到實體B的鑒別結(jié)果。
4、 根據(jù)權(quán)利要求3所述的實現(xiàn)實體的公鑰獲取、證書驗證及雙向鑒別的方 法,其特征在于步驟8)中實體B對消息5的處理步驟如下 8.1) 根據(jù)使用的公鑰驗證協(xié)議或分發(fā)協(xié)議來驗證響應(yīng)RepB,若驗證通過則 進至步驟8.2);8.2) 獲得實體A的公鑰或公鑰證書的狀態(tài),驗證包含在權(quán)標(biāo)TokenAB中 的實體A的簽名,然后檢查包含在權(quán)標(biāo)TokenAB的簽名數(shù)據(jù)中的身份標(biāo)識字段 IDB是否與實體B的身份標(biāo)識一致,檢查在步驟2)中發(fā)送給實體A的隨機數(shù) RB是否與包含在權(quán)標(biāo)TokenAB.中的隨機數(shù)Rb相一致,得到實體A的鑒別結(jié)果。
5、 根據(jù)權(quán)利要求1或2或3或4所述的實現(xiàn)實體的公鑰獲取、證書驗證及 雙向鑒別的方法,其特征在于所述ReqB和ReqAT分別為實體B和實體A產(chǎn) 生的請求,請求對端實體的有效公鑰或公鑰證書的原狀態(tài)信息,且ReqTA包含 ReqB的內(nèi)容;所述RepTA和RepB分別為針對請求ReqAT和ReqB而產(chǎn)生的響 應(yīng),且RepTA包含RepB的內(nèi)容。
6、 根據(jù)權(quán)利要求5所述的實現(xiàn)實體的公鑰獲取、證書驗證及雙向鑒別的方 法,其特征在于所述R叫B、 ReqAT、 RepTA和RepB的形式和定義根據(jù)具體 使用的公鑰驗證協(xié)議或分發(fā)協(xié)議確定,所述公鑰驗證協(xié)議或分發(fā)協(xié)議是線證書 狀態(tài)協(xié)議或基于服務(wù)器的證書驗證協(xié)議。
全文摘要
本發(fā)明涉及一種實現(xiàn)實體的公鑰獲取、證書驗證及雙向鑒別的方法,包括以下步驟1)實體A發(fā)送消息1給實體B;2)實體B收到消息1后,向?qū)嶓wA發(fā)送消息2;3)實體A收到消息2后,向可信第三方TP發(fā)送消息3;4)可信第三方TP收到消息3后,確定響應(yīng)RepTA;5)可信第三方TP向?qū)嶓wA返回消息4;6)實體A收到消息4后,進行處理;7)實體A向?qū)嶓wB返回消息5;8)實體B收到來自實體A的消息5后,得到實體A的鑒別結(jié)果。本發(fā)明將實體的公鑰獲取、證書驗證和鑒別功能融合在一個協(xié)議中完成,有利于提高協(xié)議執(zhí)行的效率和效果,便于和各種公鑰獲取和公鑰證書狀態(tài)查詢協(xié)議相結(jié)合,適合接入網(wǎng)絡(luò)的用戶—接入點—服務(wù)器的網(wǎng)絡(luò)結(jié)構(gòu)。
文檔編號H04L29/06GK101364875SQ200810150949
公開日2009年2月11日 申請日期2008年9月12日 優(yōu)先權(quán)日2008年9月12日
發(fā)明者軍 曹, 賴曉龍, 鐵滿霞, 黃振海 申請人:西安西電捷通無線網(wǎng)絡(luò)通信有限公司