專利名稱:一種基于isakmp的擴(kuò)展認(rèn)證方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信網(wǎng)絡(luò)中路由設(shè)備的密鑰管理與認(rèn)證技術(shù),尤其涉及一種基于因特網(wǎng)安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP, Internet Security Association and KeyManagement Protocol)的擴(kuò)展認(rèn)證方法及系統(tǒng)。
背景技術(shù):
因特網(wǎng)(Internet)已經(jīng)成為現(xiàn)代社會(huì)不可或缺的基礎(chǔ)設(shè)施,對(duì)政治、經(jīng)濟(jì)和民生起著非常重要的作用。因特網(wǎng)一旦遭受破壞或攻擊,將帶來(lái)嚴(yán)重的危害和影響,因此網(wǎng)絡(luò)安全備受世人關(guān)注。因特網(wǎng)中的核心設(shè)備是路由設(shè)備,保障路由設(shè)備的安全是網(wǎng)絡(luò)安全的重要方面,而路由設(shè)備(包括所運(yùn)行的路由協(xié)議)的安全機(jī)制中,密鑰管理與認(rèn)證是非常重要的一方面。這里,所述Internet就是指因特網(wǎng)協(xié)議(IP, Internet Protocol)網(wǎng)絡(luò)。目前,因特網(wǎng)工程任務(wù)組(IETF, Internet Engineering Task Force)致力于因特 網(wǎng)架構(gòu)和各種協(xié)議標(biāo)準(zhǔn)制定工作的全球性組織)的路由協(xié)議密鑰和認(rèn)證(KARP,Keyingand Authentication for Routing Protocols)工作組和安全域間路由(SIDR, SecureInter-Domain Routing)工作組正在進(jìn)行這方面的研究,其中有人提出對(duì)ISAKMP進(jìn)行擴(kuò)展,以用于路由設(shè)備(包含路由協(xié)議)的密鑰管理和認(rèn)證。ISAKMP認(rèn)證的基本思想及過程是認(rèn)證雙方先協(xié)商安全聯(lián)盟(SA, SecurityAssociation),即ISAKMP SA,這里,所述SA為一套密鑰材料,包括采用的哈希算法(hashalgorithm)或簽名算法、加密算法(encryption algorithm)、認(rèn)證算法(authenticationalgorithm)、以及Diffie-Hellman交換的組信息等;認(rèn)證的雙方使用協(xié)商好的hashalgorithm或簽名算法,將所發(fā)送的部分消息和/或ISAKMP狀態(tài),計(jì)算生成帶密鑰的消息認(rèn)證碼(HMAC, Keyed-hash Message Authentication Code),并將這個(gè) HMAC 寫入 AUTH 載荷中,交給對(duì)方,進(jìn)而完成消息與身份認(rèn)證過程。其中,所述部分消息是指SA參數(shù)或認(rèn)證參數(shù);可將事先配置的共享密鑰(pre-shared key)或經(jīng)過密鑰交換如Diffie-Hellman交換計(jì)算出的密鑰,作為計(jì)算HMAC時(shí)的輸入密鑰。但是,現(xiàn)有技術(shù)中,ISAKMP的認(rèn)證方式的局限主要表現(xiàn)在以下幾個(gè)方面第一,認(rèn)證機(jī)制的選擇范圍受限。由于只能使用簡(jiǎn)單的hash algorithm或簽名算法生成HMAC,完成認(rèn)證過程,不能使用最新的認(rèn)證方法比如安全傳輸層(TLS, TransportLayer Security)認(rèn)證方法進(jìn)行認(rèn)證,如此,限制了路由設(shè)備選擇認(rèn)證機(jī)制的自由,不能隨時(shí)跟進(jìn)現(xiàn)代認(rèn)證技術(shù)的發(fā)展。第二,配置復(fù)雜。ISAKMP的認(rèn)證機(jī)制要求路由設(shè)備之間事先配置有信任關(guān)系,t匕如pre-shared key或數(shù)字證書等,然而,在路由設(shè)備上配置信任關(guān)系的工作量非常大,而且在某種情況下甚至不可能完成。舉個(gè)例子來(lái)說,假設(shè)本地網(wǎng)絡(luò)內(nèi)有η個(gè)路由設(shè)備,要為它們兩兩配置信任關(guān)系,則需要配置η(η-1)/2個(gè)信任關(guān)系,如果本地網(wǎng)絡(luò)規(guī)模較大,即路由設(shè)備的個(gè)數(shù)較多時(shí),則配置起來(lái)工作量將非常龐大。另外,假如兩個(gè)路由設(shè)備分屬不同的運(yùn)營(yíng)商,此時(shí),則兩者之間很難事先配置信任關(guān)系。更進(jìn)一步地,如果在全球范圍內(nèi),則不可能為路由設(shè)備兩兩配置信任關(guān)系。第三,不能使用三方認(rèn)證技術(shù)。ISAKMP定義的是兩方認(rèn)證的技術(shù),要求路由設(shè)備之間事先配置有信任關(guān)系。但是,在實(shí)際應(yīng)用時(shí),路由設(shè)備兩兩之間事先配置信任關(guān)系在很多時(shí)候是不可能實(shí)現(xiàn)的,尤其在路由設(shè)備分屬不同網(wǎng)絡(luò)域的情況下。在這種情況下,由于ISAKMP沒有定義三方認(rèn)證機(jī)制,因此,ISAKMP不能很好地解決路由設(shè)備之間未事先配置信任關(guān)系的情況。第四,不利于長(zhǎng)期密鑰更新和增加拆除路由設(shè)備。當(dāng)某個(gè)路由設(shè)備需要更新共享密鑰時(shí),其它所有相關(guān)的路由設(shè)備都要跟著更新密 鑰,這一過程的工作量巨大,且會(huì)影響其它路由設(shè)備。當(dāng)需要在網(wǎng)絡(luò)上增加一個(gè)路由設(shè)備時(shí),所有相關(guān)的路由設(shè)備都要增加這個(gè)路由設(shè)備相關(guān)的安全材料,這一過程的工作量同樣巨大,且會(huì)影響其它路由設(shè)備。當(dāng)某個(gè)路由設(shè)備被拆除時(shí),其它所有相關(guān)路由設(shè)備上都要?jiǎng)h除這個(gè)路由設(shè)備相關(guān)的安全材料,這一過程的工作量也很大,且會(huì)影響其它路由設(shè)備。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種基于ISAKMP的擴(kuò)展認(rèn)證方法及系統(tǒng),能在ISAKMP中靈活選擇認(rèn)證方法,進(jìn)而能跟進(jìn)現(xiàn)代認(rèn)證技術(shù)的發(fā)展。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了一種基于ISAKMP的擴(kuò)展認(rèn)證方法,該方法包括需要發(fā)送第一條路由消息時(shí),發(fā)起者與響應(yīng)者協(xié)商使用擴(kuò)展認(rèn)證協(xié)議(EAP,Extensible Authentication Protocol)進(jìn)行認(rèn)證;EAP認(rèn)證過程成功后,所述發(fā)起者與所述響應(yīng)者依據(jù)EAP過程生成的主會(huì)話密鑰(MSK, Master Session Key)或共享密鑰,計(jì)算AUTH載荷中的HMAC值,并向?qū)Ψ桨l(fā)送AUTH載荷,在ISAKMP中完成認(rèn)證。上述方案中,所述發(fā)起者與響應(yīng)者協(xié)商使用EAP進(jìn)行認(rèn)證,包括所述發(fā)起者向所述響應(yīng)者發(fā)送不包含AUTH載荷的EAP消息;所述響應(yīng)者收到EAP消息后,通過EAP載荷向所述發(fā)起者發(fā)送EAP請(qǐng)求(Request);所述發(fā)起者收到EAP Request后,通過EAP載荷向所述響應(yīng)者發(fā)送EAP響應(yīng)(Response),與所述響應(yīng)者進(jìn)行EAP認(rèn)證過程。上述方案中,在所述發(fā)起者向所述響應(yīng)者發(fā)送EAP消息之前,該方法進(jìn)一步包括所述發(fā)起者與所述響應(yīng)者進(jìn)行初始SA建立過程。上述方案中,在所述發(fā)起者與所述響應(yīng)者之間協(xié)商使用進(jìn)行EAP認(rèn)證時(shí),且當(dāng)所述發(fā)起者與所述響應(yīng)者之間未配置信任關(guān)系,所述發(fā)起者與所述響應(yīng)者均與Diameter服務(wù)器之間事先已配置信任關(guān)系時(shí),該方法進(jìn)一步包括所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter服務(wù)器發(fā)送EAP啟動(dòng)(Start)消息;Diameter服務(wù)器收到EAP Start消息后,與所述響應(yīng)者進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給所述響應(yīng)者。
上述方案中,所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter服務(wù)器發(fā)送EAPStart消息,為所述響應(yīng)者向Diameter服務(wù)器發(fā)送包含空的EAP載荷的Diameter-EAP-Request消息;所述發(fā)起者與所述響應(yīng)者進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,為Diameter服務(wù)器將EAP Request封裝在EAP載荷中,之后向所述響應(yīng)者返回包含EAP 載荷的 Diameter-EAP-Answer 消息;所述響應(yīng)者將收到的EAP Request封裝在ISAKMP的擴(kuò)展載荷EAP載荷中,發(fā)送給所述發(fā)起者; 所述發(fā)起者根據(jù)收到的EAP Request向所述響應(yīng)者返回相應(yīng)的EAP Response ;所述響應(yīng)者將收到的EAP Response封裝在Diameter-EAP-Request消息的EAP載荷中,發(fā)送給Diameter服務(wù)器,如此往復(fù),直至Diameter服務(wù)器確認(rèn)EAP認(rèn)證過程結(jié)束。上述方案中,在所述響應(yīng)者依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值之前,該方法進(jìn)一步包括 EAP認(rèn)證過程成功后,Diameter服務(wù)器將EAP成功消息及EAP認(rèn)證過程生成的MSK或共享密鑰發(fā)送給所述響應(yīng)者。上述方案中,在所述發(fā)起者與所述響應(yīng)者之間協(xié)商使用進(jìn)行EAP認(rèn)證時(shí),且當(dāng)所述發(fā)起者與所述響應(yīng)者之間未配置信任關(guān)系,所述發(fā)起者與所述響應(yīng)者之間通過兩個(gè)以上Diameter服務(wù)器建立信任關(guān)系時(shí),該方法進(jìn)一步包括所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter中繼服務(wù)器發(fā)送EAP Start消息;Diameter中繼服務(wù)器向Diameter服務(wù)器轉(zhuǎn)發(fā)EAP Start消息;Diameter服務(wù)器收到EAP Start消息后,與Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器、及Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給Diameter中繼服務(wù)器;Diameter中繼服務(wù)器將收到的MSK或共享密鑰發(fā)送給所述響應(yīng)者。上述方案中,所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter服務(wù)器發(fā)送EAPStart消息,為所述響應(yīng)者向Diameter服務(wù)器發(fā)送包含空的EAP載荷的Diameter-EAP-Request消息;所述與Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器、及Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證過程,為Diameter服務(wù)器將EAP Request封裝在EAP載荷中,之后向Diameter中繼服務(wù)器返回包含EAP載荷的Diameter-EAP-Answer消息;Diameter中繼服務(wù)器向所述響應(yīng)者轉(zhuǎn)發(fā)收到的包含EAP載荷的Diameter-EAP-Answer 消息; 所述響應(yīng)者將收到的EAP Request封裝在ISAKMP的擴(kuò)展載荷EAP載荷中,發(fā)送給所述發(fā)起者;
所述發(fā)起者根據(jù)收到的EAP Request向所述響應(yīng)者返回相應(yīng)的EAP Response ;所述響應(yīng)者將收到的EAP Response封裝在Diameter-EAP-Request消息的EAP載荷中,發(fā)送給Diameter中繼服務(wù)器;Diameter中繼服務(wù)器向Diameter服務(wù)器轉(zhuǎn)發(fā)收到的EAP Response,如此往復(fù),直至Diameter服務(wù)器確認(rèn)EAP認(rèn)證過程結(jié)束。上述方案中,在所述響應(yīng)者依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值之前,該方法進(jìn)一步包括EAP認(rèn)證過程成功后,Diameter服務(wù)器將EAP成功消息及EAP認(rèn)證過程生成的MSK或共享密鑰發(fā)送給Diameter中繼服務(wù)器;Diameter中繼服務(wù)器將收到的EAP成功消息及EAP認(rèn)證過程生成的MSK或共享密鑰轉(zhuǎn)發(fā)給所述響應(yīng)者。 本發(fā)明還提供了一種基于ISAKMP的擴(kuò)展認(rèn)證系統(tǒng),該系統(tǒng)包括第一路由器、及
第二路由器;其中,第一路由器,用于需要發(fā)送第一條路由消息時(shí),與第二路由設(shè)備協(xié)商使用EAP進(jìn)行認(rèn)證;并在EAP認(rèn)證成功后,依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷的值,并向第二路由設(shè)備發(fā)送AUTH載荷,在ISAKMP中完成認(rèn)證;第二路由器,用于與第一路由設(shè)備協(xié)商使用EAP進(jìn)行認(rèn)證;并在EAP認(rèn)證成功后,依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷的值,并向第一路由設(shè)備發(fā)送AUTH載荷,在ISAKMP中完成認(rèn)證。上述方案中,當(dāng)在第一路由設(shè)備與第二路由設(shè)備之間協(xié)商使用EAP進(jìn)行認(rèn)證時(shí),且當(dāng)?shù)谝宦酚稍O(shè)備與第二路由設(shè)備之間未配置信任關(guān)系,而第一路由設(shè)備與第二路由設(shè)備均與Diameter服務(wù)器之間事先已配置信任關(guān)系時(shí),該系統(tǒng)進(jìn)一步包括第一Diameter服務(wù)器,用于收到第二路由設(shè)備發(fā)送的EAP Start消息后,與第二路由設(shè)備進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備與第二路由設(shè)備之間通過Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給第二路由設(shè)備;所述第二路由設(shè)備,還用于依據(jù)Diameter-EAP協(xié)議,向第一 Diameter服務(wù)器發(fā)送EAP Start消息,與第一 Diameter服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備與第二路由設(shè)備之間通過第一 Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并接收第一 Diameter服務(wù)器發(fā)送的生成的MSK或共享密鑰。上述方案中,在第一路由設(shè)備與第二路由設(shè)備之間協(xié)商使用EAP進(jìn)行認(rèn)證時(shí),且當(dāng)?shù)谝宦酚稍O(shè)備與第二路由設(shè)備之間未配置信任關(guān)系,第一路由設(shè)備與第二路由設(shè)備之間通過兩個(gè)以上Diameter服務(wù)器建立信任關(guān)系時(shí),該系統(tǒng)進(jìn)一步包括第二 Diameter服務(wù)器,用于收到第二路由設(shè)備發(fā)送的EAP Start消息后,向第一 Diameter服務(wù)器轉(zhuǎn)發(fā)EAPStart消息;與第一 Diameter服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備與第二路由設(shè)備之間通過第一 Diameter服務(wù)器、及第二 Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程;并將收到的第一 Diameter服務(wù)器發(fā)送的生成的MSK或共享密鑰發(fā)送給第二路由設(shè)備;所述第一 Diameter服務(wù)器,還用于收到第二 Diameter服務(wù)器發(fā)送的EAP Start消息后,與第二 Diameter服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備與第二路由設(shè)備之間通過第一 Diameter服務(wù)器、及第二 Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給第二 Diameter服務(wù)器;所述第二路由設(shè)備,還用于依據(jù)Diameter-EAP協(xié)議,向第二 Diameter服務(wù)器發(fā)送EAP Start消息,并接收第二 Diameter服務(wù)器發(fā)送的生成的MSK或共享密鑰。上述方案中,所述第二 Diameter服務(wù)器的個(gè)數(shù)為一個(gè)以上。本發(fā)明提供的基于ISAKMP的擴(kuò)展認(rèn)證方法及系統(tǒng),需要發(fā)送第一條路由消息時(shí),發(fā)起者與響應(yīng)者協(xié)商使用EAP進(jìn)行認(rèn)證;EAP認(rèn)證過程成功后,所述發(fā)起者與所述響應(yīng)者依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值,并向?qū)Ψ桨l(fā)送AUTH載荷,在ISAKMP中完成認(rèn)證;發(fā)起者和響應(yīng)者在EAP認(rèn)證過程可以依據(jù)需要靈活選擇認(rèn)證方法,如此,使得認(rèn)證機(jī)制靈活,進(jìn)而能跟進(jìn)現(xiàn)代認(rèn)證技術(shù)的發(fā)展。另外,在協(xié)商使用EAP進(jìn)行認(rèn)證時(shí),當(dāng)發(fā)起者與響應(yīng)者之間未配置信任關(guān)系,而發(fā)起者與響應(yīng)者均與Diameter服務(wù)器之間事先已配置信任關(guān)系時(shí),響應(yīng)者使用依據(jù)Diameter-EAP協(xié)議向Diameter服務(wù)器發(fā)送EAP Start消息;Diameter服務(wù)器收到EAP Start消息后,與響應(yīng)者進(jìn)行EAP認(rèn)證信息交互,以使響應(yīng)者與發(fā)起者之間通過Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程;當(dāng)發(fā)起者與響應(yīng)者之間未配置信任關(guān)系,且發(fā)起者與響應(yīng)者之間通過兩個(gè)以上Diameter服務(wù)器建立信任關(guān)系時(shí),響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter中繼服務(wù)器發(fā)送EAP Start消息;Diameter中繼服務(wù)器向Diameter服務(wù)器轉(zhuǎn)發(fā)EAP Start消息;Diameter服務(wù)器收到EAP Start消息后,通過與Diameter中繼服務(wù)器與響應(yīng)者進(jìn)行EAP認(rèn)證信息交互,以使發(fā)起者與響應(yīng)者之間通過Diameter服務(wù)器、及Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證過程,如此,能在ISAKMP中實(shí)現(xiàn)三方認(rèn)證技術(shù),從而能解決配置信任關(guān)系復(fù)雜的問題;而且,在密鑰更新、和/或增加路由設(shè)備、和/或拆除路由設(shè)備時(shí),只需要在Diameter服務(wù)器上更新、和/或增加、和/或刪除對(duì)應(yīng)的路由設(shè)備相關(guān)的安全材料即可,如此,能有效地減少工作量,便于實(shí)現(xiàn)。
圖I為本發(fā)明基于ISAKMP的擴(kuò)展認(rèn)證方法流程示意圖;圖2為原有技術(shù)ISAKMP的身份保護(hù)交換流程示意圖;圖3為實(shí)施例一基于ISAKMP的擴(kuò)展認(rèn)證方法流程示意圖;圖4為實(shí)施例二引入Diameter服務(wù)器的基于ISAKMP的擴(kuò)展認(rèn)證方法流程示意圖;圖5為實(shí)施例三引入Diameter中繼服務(wù)器的基于ISAKMP的擴(kuò)展認(rèn)證方法流程示意圖;圖6為本發(fā)明基于ISAKMP的擴(kuò)展認(rèn)證系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說明。在以下的描述中,將充當(dāng)發(fā)起者的路由設(shè)備稱為發(fā)起者,將充當(dāng)響應(yīng)者的路由設(shè)備稱為響應(yīng)者。其中,所述發(fā)起者是指發(fā)起第一條消息的路由設(shè)備,所述響應(yīng)者是指為向發(fā)起者反饋第一條消息的路由設(shè)備。本發(fā)明基于ISAKMP的擴(kuò)展認(rèn)證方法,如圖I所示,包括以下步驟
步驟101 :需要發(fā)送第一條路由消息時(shí),發(fā)起者與響應(yīng)者協(xié)商使用EAP進(jìn)行認(rèn)證;這里,本步驟的具體實(shí)現(xiàn),包括以下步驟所述發(fā)起者向所述響應(yīng)者發(fā)送不包含AUTH載荷的EAP消息;所述響應(yīng)者收到EAP消息后,通過EAP載荷向所述發(fā)起者發(fā)送EAP Request ;所述發(fā)起者收到EAP Request后,通過EAP載荷向所述響應(yīng)者發(fā)送EAP Response,與所述響應(yīng)者進(jìn)行EAP認(rèn)證過程。其中,所述EAP消息不包含AUTH載荷,所述響應(yīng)者據(jù)此可以獲知啟動(dòng)EAP認(rèn)證過程。
如果所述發(fā)起者與所述響應(yīng)者需要交互的內(nèi)容較多,則EAP Request和EAPResponse的序列可以持續(xù)下去,即所述發(fā)起者與所述響應(yīng)者之間交互多次EAP載荷,直至所述響應(yīng)者向所述發(fā)起者發(fā)送EAP認(rèn)證結(jié)果,即成功(EAP Success)或失敗(EAPFailure)。在所述發(fā)起者向所述響應(yīng)者發(fā)送EAP消息之前,該方法還可以進(jìn)一步包括所述發(fā)起者與所述響應(yīng)者進(jìn)行初始SA建立過程;其中,進(jìn)行初始SA建立過程的具體實(shí)現(xiàn)為現(xiàn)有技術(shù),這里不再贅述。在所述發(fā)起者與所述響應(yīng)者之間協(xié)商使用進(jìn)行EAP認(rèn)證時(shí),且當(dāng)所述發(fā)起者與所述響應(yīng)者之間未配置信任關(guān)系,所述發(fā)起者與所述響應(yīng)者均與Diameter服務(wù)器之間事先已配置信任關(guān)系時(shí),該方法進(jìn)一步包括所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter服務(wù)器發(fā)送EAP Start消息;Diameter服務(wù)器收到EAP Start消息后,與所述響應(yīng)者進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給所述響應(yīng)者。其中,所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter服務(wù)器發(fā)送EAP Start消息,具體為所述響應(yīng)者向Diameter服務(wù)器發(fā)送包含空的EAP載荷的Diameter-EAP-Request消息;所述發(fā)起者與所述響應(yīng)者進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程具體為Diameter服務(wù)器將EAP Request封裝在EAP載荷中,之后向所述響應(yīng)者返回包含EAP 載荷的 Diameter-EAP-Answer 消息;所述響應(yīng)者將收到的EAP Request封裝在ISAKMP的擴(kuò)展載荷EAP載荷中,發(fā)送給所述發(fā)起者;所述發(fā)起者根據(jù)收到的EAP Request向所述響應(yīng)者返回相應(yīng)的EAP Response ;所述響應(yīng)者將收到的EAP Response封裝在Diameter-EAP-Request消息的EAP載荷中,發(fā)送給Diameter服務(wù)器,如此往復(fù),直至Diameter服務(wù)器確認(rèn)EAP認(rèn)證過程結(jié)束。這里,所述認(rèn)證的結(jié)果可以是成功或失敗。若EAP認(rèn)證過程成功,Diameter服務(wù)器將EAP Success消息及EAP方法認(rèn)證過程生成的MSK或共享密鑰發(fā)送給所述響應(yīng)者,再由所述響應(yīng)者將生成的MSK或共享密鑰發(fā)送給所述發(fā)起者。
在所述發(fā)起者與所述響應(yīng)者之間協(xié)商使用進(jìn)行EAP認(rèn)證時(shí),且當(dāng)所述發(fā)起者與所述響應(yīng)者之間未配置信任關(guān)系,所述發(fā)起者與所述響應(yīng)者之間通過兩個(gè)以上Diameter服務(wù)器建立信任關(guān)系時(shí),該方法進(jìn)一步包括所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter中繼服務(wù)器發(fā)送EAP Start消息;Diameter中繼服務(wù)器向Diameter服務(wù)器轉(zhuǎn)發(fā)EAP Start消息;Diameter服務(wù)器收到EAP Start消息后,與Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器、及Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給Diameter中繼服務(wù)器;Diameter中繼服務(wù)器將收到的MSK或共享密鑰發(fā)送給所述響應(yīng)者。其中,所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter中繼服務(wù)器發(fā)送EAPStart消息,具體為 所述響應(yīng)者向Diameter中繼服務(wù)器發(fā)送包含空的EAP載荷的Diameter-EAP-Request 消息;與Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器、及Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證過程,具體為Diameter服務(wù)器將EAP Request封裝在EAP載荷中,之后向Diameter中繼服務(wù)器返回包含EAP載荷的Diameter-EAP-Answer消息;Diameter中繼服務(wù)器向所述響應(yīng)者轉(zhuǎn)發(fā)收到的包含EAP載荷的Diameter-EAP-Answer 消息;所述響應(yīng)者將收到的EAP Request封裝在ISAKMP的擴(kuò)展載荷EAP載荷中,發(fā)送給所述發(fā)起者;所述發(fā)起者根據(jù)收到的EAP Request向所述響應(yīng)者返回相應(yīng)的EAP Response ;所述響應(yīng)者將收到的EAP Response封裝在Diameter-EAP-Request消息的EAP載荷中,發(fā)送給Diameter中繼服務(wù)器;Diameter中繼服務(wù)器向Diameter服務(wù)器轉(zhuǎn)發(fā)收到的EAP Response,如此往復(fù),直至Diameter服務(wù)器確認(rèn)EAP認(rèn)證過程結(jié)束。這里,所述認(rèn)證的結(jié)果可以是成功或失敗。該過程與上述所述發(fā)起者與所述響應(yīng)者均與Diameter服務(wù)器之間事先已配置信任關(guān)系時(shí)的過程一樣相同,在所述響應(yīng)者、Diameter中繼服務(wù)器及Diameter服務(wù)器之間信息的交互也是依據(jù)Diameter-EAP協(xié)議來(lái)完成的,在該過程中,Diameter中繼服務(wù)器只是起到的了中繼的作用,可無(wú)需處理,直接將來(lái)自所述響應(yīng)者及Diameter服務(wù)器的消息進(jìn)行轉(zhuǎn)發(fā)。若EAP認(rèn)證過程成功,Diameter服務(wù)器將EAP Success消息及EAP方法認(rèn)證過程生成的MSK或共享密鑰發(fā)送給Diameter中繼服務(wù)器,,Diameter中繼服務(wù)器將EAP Success消息及EAP方法認(rèn)證過程生成的MSK或共享密鑰轉(zhuǎn)發(fā)給所述響應(yīng)者,再由所述響應(yīng)者將生成的MSK或共享密鑰發(fā)送給所述發(fā)起者。在所述發(fā)起者向所述響應(yīng)者發(fā)送EAP消息之前,該方法還可以進(jìn)一步包括所述發(fā)起者與所述響應(yīng)者進(jìn)行ISAKMP SA建立過程;其中,進(jìn)行ISAKMP SA建立過程的具體實(shí)現(xiàn)為現(xiàn)有技術(shù),這里不再贅述;ISAKMP SA建立后,在ISAKMP SA保護(hù)下,所述發(fā)起者與所述響應(yīng)者協(xié)商使用EAP進(jìn)行認(rèn)證。
由于ISAKMP中實(shí)現(xiàn)的是雙向認(rèn)證,因此,在選擇EAP方法時(shí),推薦選擇能實(shí)現(xiàn)雙向認(rèn)證的EAP方法,以便可以生成MSK或共享密鑰。步驟102 =EAP認(rèn)證過程成功后,所述發(fā)起者與所述響應(yīng)者依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值,并向?qū)Ψ桨l(fā)送AUTH載荷,在ISAKMP中完成認(rèn)證。這里,當(dāng)EAP認(rèn)證過程中生成MSK時(shí),則依據(jù)生成的MSK,計(jì)算AUTH載荷中的HMAC值,當(dāng)EAP認(rèn)證過程中未生成MSK時(shí),依據(jù)生成的共享密鑰,計(jì)算AUTH載荷中的HMAC值。當(dāng)EAP認(rèn)證成功后,所述響應(yīng)者在向所述發(fā)起者發(fā)送EAP認(rèn)證結(jié)果的同時(shí),向所述發(fā)起者發(fā)送依據(jù)EAP認(rèn)證過程生成的MSK或共享密鑰,進(jìn)而使所述發(fā)起者與所述響應(yīng)者可以在ISAKMP中完成認(rèn)證。其中,MSK為一個(gè)不變的參數(shù),而共享密鑰為一次性參數(shù),只適用于本次會(huì)話,換句 話說,當(dāng)發(fā)起者和響應(yīng)者再次發(fā)送會(huì)話時(shí),生成的共享密鑰則與上次會(huì)話的共享密鑰不同,而MSK則不會(huì)發(fā)生變化;這里,依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值的具體處理過程為現(xiàn)有技術(shù),這里不再贅述。在ISAKMP中完成認(rèn)證的具體處理過程為現(xiàn)有技術(shù),這里不再贅述。本發(fā)明采用的EAP認(rèn)證過程中所涉及的EAP載荷,其格式與定義同RFC3748中所定義的。這里,所述RFC是指請(qǐng)求評(píng)議(RFC, Request For Comments),是一系列以編號(hào)排定的文件。文件收集了有關(guān)因特網(wǎng)相關(guān)資訊、以及UNIX和因特網(wǎng)社群的軟件文件。下面結(jié)合實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的描述。ISAKMP可以在四種交換類型(Exchange Type)中實(shí)施認(rèn)證機(jī)制,四種交換類型分別是基本交換(Base Exchange)、身份保護(hù)交換(Identity Protection Exchange)、僅認(rèn)證交換(Authentication Only Exchange)、以及進(jìn)取交換(Aggressive Exchange)。其中,Identity Protection Exchange可以很好地保護(hù)身份載荷和AUTH載荷。Identity Protection Exchange的流程,如圖2所示,包括以下步驟步驟201 :需要發(fā)送第一條路由消息時(shí),發(fā)起者向響應(yīng)者發(fā)送HDR載荷及SA載荷;步驟202 :響應(yīng)者收到SA載荷后,向發(fā)起者發(fā)送HDR載荷及SA載荷,與發(fā)起者協(xié)商建立ISAKMP SA ;這里,HDR載荷表示ISAKMP協(xié)議頭,發(fā)起者與響應(yīng)者之間交互時(shí)均要發(fā)送HDR載荷。步驟203 204 :發(fā)起者與響應(yīng)者相互發(fā)送密鑰交換(KE,Key Exchange,)載荷及隨機(jī)數(shù)(NONCE)載荷,發(fā)起者與響應(yīng)者根據(jù)收到的KE載荷及NONCE載荷,計(jì)算共享密鑰,作為計(jì)算AUTH載荷的HMAC的輸入密鑰;這里,KE載荷裝載的是 Diffie-Hellman 的公開值(public value)。步驟205 206 :發(fā)起者與響應(yīng)者在ISAKMP SA的保護(hù)下相互發(fā)送HDR載荷、身份(IDx)載荷及AUTH載荷,進(jìn)行相互認(rèn)證。具體地,發(fā)起者與響應(yīng)者分別計(jì)算HMAC值并與AUTH載荷中的HMAC值進(jìn)行比較,如果發(fā)起者與響應(yīng)者雙方的HMAC均能匹配,則相互認(rèn)證通過,否則,認(rèn)證失敗。這里,HDR載荷后面的號(hào)表示隨后的載荷均是經(jīng)過加密的,即IDx載荷及AUTH載荷均是經(jīng)過加密的;
X可以是ii或ir,分別表示ISAKMP的發(fā)起者及響應(yīng)者,當(dāng)ISAKMP daemon (守護(hù)進(jìn)程)為一個(gè)代理協(xié)商者(proxy negotiator)時(shí),x也可以是ui或ur,分別代表用戶發(fā)起者及響應(yīng)者;AUTH載荷是通用的身份認(rèn)證機(jī)制,AUTH載荷具體可以是HASH(哈希)載荷或SIG(簽名)載荷。由于Identity Protection Exchange具有較好的安全性,為達(dá)到本發(fā)明的目的,并最好地體現(xiàn)本發(fā)明的核心思想,以下描述的實(shí)施例中均使用Identity ProtectionExchange來(lái)實(shí)踐本發(fā)明的核心思想,即進(jìn)行EAP擴(kuò)展,ISAKMP中的其它的交換類型也可以仿照本發(fā)明的實(shí)施例進(jìn)行EAP擴(kuò)展,屬于本發(fā)明專利的保護(hù)范疇。實(shí)施例一本實(shí)施例的應(yīng)用場(chǎng)景為發(fā)起者與響應(yīng)者之間事先已配置共享密鑰kab,發(fā)起者和響應(yīng)者可以處于網(wǎng)絡(luò)上的任何位置,采用IP協(xié)議進(jìn)行通信。其中,發(fā)起者是指發(fā)送路由消息的路由器,響應(yīng)者為接收路由消息的路由器。本實(shí)施例對(duì)ISAKMP進(jìn)行EAP擴(kuò)展,其基于 ISAKMP的身份保護(hù)交換使用EAP方法進(jìn)行認(rèn)證的流程,如圖3所示,包括以下步驟步驟301 :需要發(fā)送第一條路由消息時(shí),發(fā)起者向響應(yīng)者發(fā)送SA載荷;步驟302 響應(yīng)者向發(fā)起者發(fā)送SA載荷;至此,發(fā)起者與響應(yīng)者協(xié)商建立ISAKMP SA。步驟303 :發(fā)起者向響應(yīng)者發(fā)送KE載荷及NONCE載荷;步驟304 :響應(yīng)者向發(fā)起者發(fā)送KE載荷及NONCE載荷;這里,步驟301 304的過程可以稱為ISAKMP SA建立過程,步驟301 304執(zhí)行的目的是發(fā)起者和響應(yīng)者相互交換協(xié)商密碼算法(crytographic algorithms)、交換N0NCE、以及進(jìn)行DifTie-Hellman(D-H)交換等,為發(fā)起者和響應(yīng)者隨后的交換提供安全通道;步驟301 304的具體處理過程為現(xiàn)有技術(shù),這里不再贅述。步驟305 :在ISAKMP SA的保護(hù)下,發(fā)起者向響應(yīng)者發(fā)送IDii載荷;這里,發(fā)起者讓AUTH載荷為空,以此告知響應(yīng)者想?yún)f(xié)商使用EAP方法進(jìn)行認(rèn)證。步驟306 :在ISAKMP SA的保護(hù)下,響應(yīng)者向發(fā)起者發(fā)送IDir、AUTH及EAP載荷;這里,發(fā)送EAP載荷表示響應(yīng)者同意使用EAP方法進(jìn)行認(rèn)證,同時(shí)發(fā)出EAPRequest ;步驟307 :發(fā)起者向響應(yīng)者回應(yīng)EAP載荷,與所述響應(yīng)者進(jìn)行EAP認(rèn)證過程;這里,所述EAP 載荷為 EAP Response ;EAP認(rèn)證所采用的方法可以是現(xiàn)有的認(rèn)證方法,比如TLS、或消息摘要算法第五版(MD5, Message Digest Algorithm 5)等;在實(shí)際應(yīng)用時(shí),可以依據(jù)需要選擇進(jìn)行ΕΑΡ認(rèn)證過程所采用的方法;根據(jù)采用的認(rèn)證方法的不同,發(fā)起者與響應(yīng)者之間需要交互多次EAP載荷,換句話說,根據(jù)所采用的認(rèn)證方法,發(fā)起者可能需要向響應(yīng)者發(fā)送多個(gè)EAP載荷,相應(yīng)的,響應(yīng)者需要向發(fā)起者發(fā)送多個(gè)EAP載荷,以完成EAP認(rèn)證過程。建議使用能夠?qū)崿F(xiàn)雙向認(rèn)證的EAP方法。由于發(fā)起者和響應(yīng)者之間事先已配置共享密鑰kab,因此,響應(yīng)者收到EAP載荷后,直接與發(fā)起者進(jìn)行EAP認(rèn)證過程。步驟308 =EAP認(rèn)證成功后,響應(yīng)者向發(fā)送者返回EAP載荷;這里,所述EAP載荷為EAP Success,包含EAP認(rèn)證的過程生成MSK或共享密鑰。
步驟309 :發(fā)起者收到EAP載荷后,依據(jù)EAP認(rèn)證過程生成的MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值,并將AUTH載荷發(fā)送給響應(yīng)者,以便與計(jì)算出的HMAC值進(jìn)行比較;步驟310 :響應(yīng)者依據(jù)EAP認(rèn)證過程生成的MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值,并將AUTH載荷發(fā)送給發(fā)起者,以便與計(jì)算出的HMAC值進(jìn)行比較;至此,雙方完成ISAKMP認(rèn)證。實(shí)施例二 本實(shí)施例的應(yīng)用場(chǎng)景為發(fā)起者與響應(yīng)者之間未配置信任關(guān)系,發(fā)起者與Diameter服務(wù)器之間事先已配置信任關(guān)系ka。,響應(yīng)者與Diameter服務(wù)器之間事先已配置信任關(guān)系kb。,發(fā)起者與響應(yīng)者之間采用ISAKMP進(jìn)行交互,響應(yīng)者與Diameter服務(wù)器之間采用Diameter-ISAKMP進(jìn)行交互。其中,發(fā)起者是指發(fā)送路由消息的路由器,響應(yīng)者為接收路由消息的路由器。本實(shí)施例引入Diameter服務(wù)器的基于ISAKMP的擴(kuò)展認(rèn)證方法,如圖4所示,包括以下步驟 步驟401 :需要發(fā)送第一條路由消息時(shí),發(fā)起者向響應(yīng)者發(fā)送SA載荷;步驟402 響應(yīng)者向發(fā)起者發(fā)送SA載荷;至此,發(fā)起者與響應(yīng)者協(xié)商建立ISAKMP SA。步驟403 :發(fā)起者向響應(yīng)者發(fā)送KE載荷及NONCE載荷;步驟404 :響應(yīng)者向發(fā)起者發(fā)送KE載荷及NONCE載荷;這里,步驟401 404的過程可以稱為ISAKMP SA建立過程,步驟401 404執(zhí)行的目的是發(fā)起者和響應(yīng)者相互交換協(xié)商crytographic algorithms、交換NONCE、以及進(jìn)行D-H交換等,為發(fā)起者和響應(yīng)者隨后的交換提供安全通道;步驟401 404的具體處理過程為現(xiàn)有技術(shù),這里不再贅述。步驟405 :在ISAKMP SA的保護(hù)下,發(fā)起者向響應(yīng)者發(fā)送HDR載荷及IDii載荷;這里,發(fā)起者讓AUTH載荷為空,以此告知響應(yīng)者想?yún)f(xié)商使用EAP方法進(jìn)行認(rèn)證。步驟406 :響應(yīng)者收到KE載荷及NONCE載荷后,依據(jù)Diameter-ΕΑΡ協(xié)議,向Diameter服務(wù)器發(fā)送EAP Start消息;具體地,在Diameter-EAP-Request消息中發(fā)送空的EAP載荷來(lái)提示Diameter服務(wù)器。這里,由于發(fā)起者與響應(yīng)者之間未配置信任關(guān)系,且響應(yīng)者與Diameter服務(wù)器之間事先已配置信任關(guān)系kb。,因此,響應(yīng)者收到EAP載荷后,會(huì)向Diameter服務(wù)器發(fā)送EAPStart消息;其中,響應(yīng)者Diameter服務(wù)器之間建立初始連接的過程見Diameter協(xié)議,即RFC3588文件中的規(guī)定,在實(shí)際應(yīng)用時(shí),一般,只需要配置名字和信任關(guān)系即可;建立連接的方式可以是響應(yīng)者與Diameter服務(wù)器可利用域名系統(tǒng)(DNS, Domain Name System)服務(wù)器就可以完成動(dòng)態(tài)連接建立,響應(yīng)者與Diameter服務(wù)器也可以通過手動(dòng)配置的方式建立連接。步驟407 :Diameter服務(wù)器收到EAP Start消息后,將EAP Request封裝在EAP載荷中,之后向響應(yīng)者返回包含EAP載荷的Diameter-EAP-Answer消息;步驟408 :響應(yīng)者將收到的EAP Request封裝在ISAKMP的擴(kuò)展載荷EAP載荷中,發(fā)送給發(fā)起者;
步驟409 :發(fā)起者根據(jù)收到的EAP Request向響應(yīng)者返回相應(yīng)的EAP Response ;這里,所述EAP Response同樣封裝在ISAKMP的擴(kuò)展載荷EAP載荷中。步驟410 :響應(yīng)者再將收到的EAP Response封裝在Diameter-EAP-Request消息的EAP載荷中,發(fā)送給Diameter服務(wù)器,進(jìn)行EAP認(rèn)證過程;這里,EAP認(rèn)證所采用的方法可以是現(xiàn)有的認(rèn)證方法,比如TLS、或MD5,等;在實(shí)際應(yīng)用時(shí),可以依據(jù)需要選擇進(jìn)行EAP認(rèn)證過程所采用的方法;根據(jù)采用的認(rèn)證方法的不同,發(fā)起者與響應(yīng)者之間需要交互多次EAP載荷,換句話說,根據(jù)所采用的認(rèn)證方法,發(fā)起者可能需要向響應(yīng)者發(fā)送多個(gè)EAP載荷,相應(yīng)的,響應(yīng)者需要向發(fā)起者發(fā)送多個(gè)EAP載荷,相應(yīng)的,Diameter服務(wù)器與響應(yīng)者之間需要交互多次EAP消息以完成EAP認(rèn)證過程。建議使用能夠?qū)崿F(xiàn)雙向認(rèn)證的EAP方法。步驟411 EAP認(rèn)證過程成功,Diameter服務(wù)器將EAP Success消息及EAP認(rèn)證過 程生成的MSK或共享密鑰封裝在Diameter-EAP-Answer消息中,發(fā)送給響應(yīng)者;步驟412 :響應(yīng)者收到Diameter-EAP-Answer消息后,向發(fā)送者返回EAP載荷;這里,所述EAP載荷為EAP Success,包含EAP認(rèn)證的過程生成MSK或共享密鑰。步驟413 :發(fā)起者收到EAP載荷后,依據(jù)所述MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值,并將AUTH載荷發(fā)送給響應(yīng)者,以便與計(jì)算出的HMAC值進(jìn)行比較;步驟414 :響應(yīng)者依據(jù)所述MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值,并將AUTH載荷發(fā)送給發(fā)起者,以便與計(jì)算出的HMAC值進(jìn)行比較。至此,雙方完成ISAKMP認(rèn)證。實(shí)施例三本實(shí)施例的應(yīng)用場(chǎng)景為發(fā)起者與響應(yīng)者之間未配置信任關(guān)系,發(fā)起者與Diameter服務(wù)器之間事先已配置信任關(guān)系ka。,響應(yīng)者與Diameter中繼服務(wù)器之間事先已配置信任關(guān)系kbd,Diameter中繼服務(wù)器與Diameter服務(wù)器之間事先已配置信任關(guān)系kcd。由于Diameter中繼服務(wù)器與發(fā)起者之間未事先配置信任關(guān)系。其中,發(fā)起者是指發(fā)送路由消息的路由器,響應(yīng)者為接收路由消息的路由器。本實(shí)施例引入Diameter中繼服務(wù)器的基于ISAKMP的擴(kuò)展認(rèn)證方法,如圖5所示,包括以下步驟步驟501 :需要發(fā)送第一條路由消息時(shí),發(fā)起者向響應(yīng)者發(fā)送SA載荷;步驟502 響應(yīng)者向發(fā)起者發(fā)送SA載荷;至此,發(fā)起者與響應(yīng)者協(xié)商建立ISAKMP SA。步驟503 :發(fā)起者向響應(yīng)者發(fā)送KE載荷及NONCE載荷;步驟504 :響應(yīng)者向發(fā)起者發(fā)送KE載荷及NONCE載荷;這里,步驟501 504的過程可以稱為ISAKMP SA建立過程,步驟501 504執(zhí)行的目的是發(fā)起者和響應(yīng)者相互交換協(xié)商crytographic algorithms、交換NONCE、以及進(jìn)行D-H交換等,為發(fā)起者和響應(yīng)者隨后的交換提供安全通道;步驟501 504的具體處理過程為現(xiàn)有技術(shù),這里不再贅述。步驟505 :在ISAKMP SA的保護(hù)下,發(fā)起者向響應(yīng)者發(fā)送HDR載荷及IDii載荷;這里,發(fā)起者讓AUTH載荷為空,以此告知響應(yīng)者想?yún)f(xié)商使用EAP方法進(jìn)行認(rèn)證。步驟506 :響應(yīng)者收到KE載荷及NONCE載荷后,依據(jù)Diameter-EAP協(xié)議,向Diameter中繼服務(wù)器發(fā)送EAP Start消息;
具體地,在Diameter-EAP-Request消息中發(fā)送空的EAP載荷來(lái)提示Diameter中繼服務(wù)器。這里,由于發(fā)起者與響應(yīng)者之間未配置信任關(guān)系,且響應(yīng)者與Diameter中繼服務(wù)器之間事先已配置信任關(guān)系kbd,因此,響應(yīng)者收到EAP載荷后,會(huì)向Diameter中繼服務(wù)器發(fā)送認(rèn)證請(qǐng)求消息;其中,響應(yīng)者與Diameter中繼服務(wù)器之間建立初始連接的過程見diameter協(xié)議,即RFC3588文件中的規(guī)定,在實(shí)際應(yīng)用時(shí),一般,只需要配置名字和信任關(guān)系即可;建立連接的方式可以是響應(yīng)者與Diameter中繼服務(wù)器可利用DNS服務(wù)器就可以完成動(dòng)態(tài)連接建立,響應(yīng)者與Diameter中繼服務(wù)器也可以通過手動(dòng)配置的方式建立連接。步驟507 Diameter中繼服務(wù)器直接向Diameter服務(wù)器轉(zhuǎn)發(fā)EAP Start消息;
步驟508 :Diameter服務(wù)器收到EAP Start消息后,將EAP Request封裝在EAP載荷中,之后向Diameter中繼服務(wù)器返回包含EAP載荷的Diameter-EAP-Answer消息;步驟509 =Diameter中繼服務(wù)器收到消息后,向響應(yīng)者轉(zhuǎn)發(fā)收到的包含EAP載荷的Diameter-EAP-Answer 消息;步驟510 :響應(yīng)者將收到的EAP Request封裝在ISAKMP的擴(kuò)展載荷EAP載荷中,發(fā)送給發(fā)起者;步驟511 :發(fā)起者根據(jù)收到的EAP Request向響應(yīng)者返回相應(yīng)的EAP Response ;這里,所述EAP Response同樣封裝在ISAKMP的擴(kuò)展載荷EAP載荷中。步驟512 :響應(yīng)者將收到的EAP Response封裝在Diameter-EAP-Request消息的EAP載荷中,發(fā)送給Diameter中繼服務(wù)器;步驟513 Diameter中繼服務(wù)器向Diameter服務(wù)器轉(zhuǎn)發(fā)收到的EAP Response,進(jìn)行EAP認(rèn)證過程;這里,EAP認(rèn)證所采用的方法可以是現(xiàn)有的認(rèn)證方法,比如TLS、或MD5,等;在實(shí)際應(yīng)用時(shí),可以依據(jù)需要選擇進(jìn)行EAP認(rèn)證過程所采用的方法;根據(jù)采用的認(rèn)證方法的不同,發(fā)起者與響應(yīng)者之間需要交互多次EAP載荷,換句話說,根據(jù)所采用的認(rèn)證方法,發(fā)起者可能需要向響應(yīng)者發(fā)送多個(gè)EAP載荷,相應(yīng)的,響應(yīng)者需要向發(fā)起者發(fā)送多個(gè)EAP載荷,相應(yīng)的,Diameter中繼服務(wù)器與響應(yīng)者之間需要交互多次EAP消息,Diameter中繼服務(wù)器與Diameter服務(wù)器之間同樣需要交互多次EAP消息,以完成EAP認(rèn)證過程。建議使用能夠?qū)崿F(xiàn)雙向認(rèn)證的EAP方法。步驟514 EAP認(rèn)證過程成功,Diameter服務(wù)器將EAP Success消息及EAP認(rèn)證過程生成的MSK或共享密鑰封裝在Diameter-EAP-Answer消息中,發(fā)送給Diameter中繼服務(wù)器;步驟515 Diameter中繼服務(wù)器收到Diameter-EAP-Answer消息后,向響應(yīng)者轉(zhuǎn)發(fā)收到的 Diameter-EAP-Answer 消息;步驟516 :響應(yīng)者收到Diameter-EAP-Answer消息后,向發(fā)送者返回EAP載荷;這里,所述EAP載荷為EAP Success,包含EAP認(rèn)證的過程生成MSK或共享密鑰。步驟517 :發(fā)起者收到EAP載荷后,依據(jù)所述MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值,并將AUTH載荷發(fā)送給響應(yīng)者,以便與計(jì)算出的HMAC值進(jìn)行比較;步驟518 :響應(yīng)者依據(jù)所述MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值,并將AUTH載荷發(fā)送給發(fā)起者,以便與計(jì)算出的HMAC值進(jìn)行比較。這里,本實(shí)施例中的消息的定義和作用與實(shí)施例二中的消息的定義和作用完全相同。至此,雙方完成ISAKMP認(rèn)證。為實(shí)現(xiàn)上述方法,本發(fā)明還提供了一種基于ISAKMP的擴(kuò)展認(rèn)證系統(tǒng),如圖6所示,該系統(tǒng)包括第一路由設(shè)備61、及第二路 由設(shè)備62 ;其中,第一路由設(shè)備61,用于需要發(fā)送第一條路由消息時(shí),與第二路由設(shè)備62協(xié)商使用EAP進(jìn)行認(rèn)證;并在EAP認(rèn)證成功后,依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷的值,并向第二路由設(shè)備62發(fā)送AUTH載荷,在ISAKMP中完成認(rèn)證;第二路由設(shè)備62,用于與第一路由設(shè)備61協(xié)商使用EAP進(jìn)行認(rèn)證;并在EAP認(rèn)證成功后,依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷的值,并向第一路由設(shè)備61發(fā)送AUTH載荷,在ISAKMP中完成認(rèn)證。這里需要說明的是第一路由設(shè)備61為充當(dāng)發(fā)起者的路由設(shè)備,第二路由設(shè)備62為充當(dāng)響應(yīng)者的路由設(shè)備;其中,所述發(fā)起者是指發(fā)起第一條消息的路由設(shè)備,所述響應(yīng)者是指為向發(fā)起者反饋第一條消息的路由設(shè)備。當(dāng)在第一路由設(shè)備61與第二路由設(shè)備62之間協(xié)商使用EAP進(jìn)行認(rèn)證時(shí),且當(dāng)?shù)谝宦酚稍O(shè)備與第二路由設(shè)備62之間未配置信任關(guān)系,而第一路由設(shè)備61與第二路由設(shè)備62均與Diameter服務(wù)器之間事先已配置信任關(guān)系時(shí),該系統(tǒng)還可以進(jìn)一步包括第一Diameter服務(wù)器,用于收到第二路由設(shè)備62發(fā)送的EAP Start消息后,與第二路由設(shè)備62進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備61與第二路由設(shè)備62之間通過Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給第二路由設(shè)備62 ;所述第二路由設(shè)備62,還用于依據(jù)Diameter-EAP協(xié)議,向第一 Diameter服務(wù)器發(fā)送EAP Start消息,與第一 Diameter服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備61與第二路由設(shè)備62之間通過第一 Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并接收第一Diameter服務(wù)器發(fā)送的生成的MSK或共享密鑰。在第一路由設(shè)備61與第二路由設(shè)備62之間協(xié)商使用EAP進(jìn)行認(rèn)證時(shí),且當(dāng)?shù)谝宦酚稍O(shè)備61與第二路由設(shè)備62之間未配置信任關(guān)系,第一路由設(shè)備61與第二路由設(shè)備62之間通過兩個(gè)以上Ddiameter服務(wù)器建立信任關(guān)系時(shí),該系統(tǒng)進(jìn)一步包括第二 Diameter服務(wù)器,用于收到第二路由設(shè)備62發(fā)送的EAP Start消息后,向第一 Diameter服務(wù)器轉(zhuǎn)發(fā)EAP Start消息;與第一 Diameter服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備61與第二路由設(shè)備62之間通過第一 Diameter服務(wù)器、及第二 Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程;并將收到的第一 Diameter服務(wù)器發(fā)送的生成的MSK或共享密鑰發(fā)送給第二路由設(shè)備62 ;所述第一 Diameter服務(wù)器,還用于收到第二 Diameter服務(wù)器發(fā)送的EAP Start消息后,與第二 Diameter服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備61與第二路由設(shè)備62之間通過第一 Diameter服務(wù)器、及第二 Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給第二 Diameter服務(wù)器;所述第二路由設(shè)備62,還用于依據(jù)Diameter-EAP協(xié)議,向第二Diameter服務(wù)器發(fā)送EAP Start消息,并接收第二 Diameter服務(wù)器發(fā)送的生成的MSK或共享密鑰。這里,需要說明的是所述第二 Diameter服務(wù)器的個(gè)數(shù)可以為一個(gè)以上。這里,本發(fā)明所述系統(tǒng)中的第一路由器、第二路由器、第一 Diameter服務(wù)器及第
二Diameter服務(wù)器的具體處理過程已在上文中詳述,不再贅述。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種基于因特網(wǎng)安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP)的擴(kuò)展認(rèn)證方法,其特征在于,該方法包括 需要發(fā)送第一條路由消息時(shí),發(fā)起者與響應(yīng)者協(xié)商使用擴(kuò)展認(rèn)證協(xié)議(EAP)進(jìn)行認(rèn)證; EAP認(rèn)證過程成功后,所述發(fā)起者與所述響應(yīng)者依據(jù)EAP過程生成的主會(huì)話密鑰(MSK)或共享密鑰,計(jì)算AUTH載荷中的帶密鑰的消息認(rèn)證碼(HMAC)值,并向?qū)Ψ桨l(fā)送AUTH載荷,在ISAKMP中完成認(rèn)證。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述發(fā)起者與響應(yīng)者協(xié)商使用EAP進(jìn)行認(rèn)證,包括 所述發(fā)起者向所述響應(yīng)者發(fā)送不包含AUTH載荷的EAP消息; 所述響應(yīng)者收到EAP消息后,通過EAP載荷向所述發(fā)起者發(fā)送EAP請(qǐng)求(Request); 所述發(fā)起者收到EAP Request后,通過EAP載荷向所述響應(yīng)者發(fā)送EAP響應(yīng)(Response),與所述響應(yīng)者進(jìn)行EAP認(rèn)證過程。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述發(fā)起者向所述響應(yīng)者發(fā)送EAP消息之前,該方法進(jìn)一步包括 所述發(fā)起者與所述響應(yīng)者進(jìn)行初始安全聯(lián)盟(SA)建立過程。
4.根據(jù)權(quán)利要求I、2或3所述的方法,其特征在于,在所述發(fā)起者與所述響應(yīng)者之間協(xié)商使用進(jìn)行EAP認(rèn)證時(shí),且當(dāng)所述發(fā)起者與所述響應(yīng)者之間未配置信任關(guān)系,所述發(fā)起者與所述響應(yīng)者均與Diameter服務(wù)器之間事先已配置信任關(guān)系時(shí),該方法進(jìn)一步包括 所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter服務(wù)器發(fā)送EAP啟動(dòng)(Start)消息;Diameter服務(wù)器收到EAP Start消息后,與所述響應(yīng)者進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給所述響應(yīng)者。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter服務(wù)器發(fā)送EAP Start消息,為 所述響應(yīng)者向Diameter服務(wù)器發(fā)送包含空的EAP載荷的Diameter-EAP-Request消息; 所述發(fā)起者與所述響應(yīng)者進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,為 Diameter服務(wù)器將EAP Request封裝在EAP載荷中,之后向所述響應(yīng)者返回包含EAP載荷的 Diameter-EAP-Answer 消息; 所述響應(yīng)者將收到的EAP Request封裝在ISAKMP的擴(kuò)展載荷EAP載荷中,發(fā)送給所述發(fā)起者; 所述發(fā)起者根據(jù)收到的EAP Request向所述響應(yīng)者返回相應(yīng)的EAP Response ; 所述響應(yīng)者將收到的EAP Response封裝在Diameter-EAP-Request消息的EAP載荷中,發(fā)送給Diameter服務(wù)器,如此往復(fù),直至Diameter服務(wù)器確認(rèn)EAP認(rèn)證過程結(jié)束。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述響應(yīng)者依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值之前,該方法進(jìn)一步包括 EAP認(rèn)證過程成功后,Diameter服務(wù)器將EAP成功消息及EAP認(rèn)證過程生成的MSK或共享密鑰發(fā)送給所述響應(yīng)者。
7.根據(jù)權(quán)利要求I、2或3所述的方法,其特征在于,在所述發(fā)起者與所述響應(yīng)者之間協(xié)商使用進(jìn)行EAP認(rèn)證時(shí),且當(dāng)所述發(fā)起者與所述響應(yīng)者之間未配置信任關(guān)系,所述發(fā)起者與所述響應(yīng)者之間通過兩個(gè)以上Diameter服務(wù)器建立信任關(guān)系時(shí),該方法進(jìn)一步包括 所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter中繼服務(wù)器發(fā)送EAP Start消息; Diameter中繼服務(wù)器向Diameter服務(wù)器轉(zhuǎn)發(fā)EAP Start消息; Diameter服務(wù)器收到EAP Start消息后,與Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器、及Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給Diameter中繼服務(wù)器;Diameter中繼服務(wù)器將收到的MSK或共享密鑰發(fā)送給所述響應(yīng)者。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述響應(yīng)者依據(jù)Diameter-EAP協(xié)議,向Diameter服務(wù)器發(fā)送EAP Start消息,為 所述響應(yīng)者向Diameter服務(wù)器發(fā)送包含空的EAP載荷的Diameter-EAP-Request消息; 所述與Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使所述發(fā)起者與所述響應(yīng)者之間通過Diameter服務(wù)器、及Diameter中繼服務(wù)器進(jìn)行EAP認(rèn)證過程,為 Diameter服務(wù)器將EAP Request封裝在EAP載荷中,之后向Diameter中繼服務(wù)器返回包含 EAP 載荷的 Diameter-EAP-Answer 消息; Diameter中繼服務(wù)器向所述響應(yīng)者轉(zhuǎn)發(fā)收到的包含EAP載荷的Diameter-EAP-Answer消息; 所述響應(yīng)者將收到的EAP Request封裝在ISAKMP的擴(kuò)展載荷EAP載荷中,發(fā)送給所述發(fā)起者; 所述發(fā)起者根據(jù)收到的EAP Request向所述響應(yīng)者返回相應(yīng)的EAP Response ; 所述響應(yīng)者將收到的EAP Response封裝在Diameter-EAP-Request消息的EAP載荷中,發(fā)送給Diameter中繼服務(wù)器; Diameter中繼服務(wù)器向Diameter服務(wù)器轉(zhuǎn)發(fā)收到的EAP Response,如此往復(fù),直至Diameter服務(wù)器確認(rèn)EAP認(rèn)證過程結(jié)束。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,在所述響應(yīng)者依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷中的HMAC值之前,該方法進(jìn)一步包括 EAP認(rèn)證過程成功后,Diameter服務(wù)器將EAP成功消息及EAP認(rèn)證過程生成的MSK或共享密鑰發(fā)送給Diameter中繼服務(wù)器; Diameter中繼服務(wù)器將收到的EAP成功消息及EAP認(rèn)證過程生成的MSK或共享密鑰轉(zhuǎn)發(fā)給所述響應(yīng)者。
10.一種基于ISAKMP的擴(kuò)展認(rèn)證系統(tǒng),其特征在于,該系統(tǒng)包括第一路由器、及第二路由器;其中, 第一路由器,用于需要發(fā)送第一條路由消息時(shí),與第二路由設(shè)備協(xié)商使用EAP進(jìn)行認(rèn)證;并在EAP認(rèn)證成功后,依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷的值,并向第二路由設(shè)備發(fā)送AUTH載荷,在ISAKMP中完成認(rèn)證; 第二路由器,用于與第一路由設(shè)備協(xié)商使用EAP進(jìn)行認(rèn)證;并在EAP認(rèn)證成功后,依據(jù)EAP過程生成的MSK或共享密鑰,計(jì)算AUTH載荷的值,并向第一路由設(shè)備發(fā)送AUTH載荷,在ISAKMP中完成認(rèn)證。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其特征在于,當(dāng)在第一路由設(shè)備與第二路由設(shè)備之間協(xié)商使用EAP進(jìn)行認(rèn)證時(shí),且當(dāng)?shù)谝宦酚稍O(shè)備與第二路由設(shè)備之間未配置信任關(guān)系,而第一路由設(shè)備與第二路由設(shè)備均與Diameter服務(wù)器之間事先已配置信任關(guān)系時(shí),該系統(tǒng)進(jìn)一步包括第一 Diameter服務(wù)器,用于收到第二路由設(shè)備發(fā)送的EAP Start消息后,與第二路由設(shè)備進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備與第二路由設(shè)備之間通過Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給第二路由設(shè)備; 所述第二路由設(shè)備,還用于依據(jù)Diameter-EAP協(xié)議,向第一 Diameter服務(wù)器發(fā)送EAPStart消息,與第一Diameter服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備與第二路由設(shè)備之間通過第一 Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并接收第一 Diameter服務(wù)器發(fā)送的生成的MSK或共享密鑰。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,在第一路由設(shè)備與第二路由設(shè)備之間協(xié)商使用EAP進(jìn)行認(rèn)證時(shí),且當(dāng)?shù)谝宦酚稍O(shè)備與第二路由設(shè)備之間未配置信任關(guān)系,第一路由設(shè)備與第二路由設(shè)備之間通過兩個(gè)以上Diameter服務(wù)器建立信任關(guān)系時(shí),該系統(tǒng)進(jìn)一步包括第二 Diameter服務(wù)器,用于收到第二路由設(shè)備發(fā)送的EAP Start消息后,向第一Diameter服務(wù)器轉(zhuǎn)發(fā)EAP Start消息;與第一 Diameter服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備與第二路由設(shè)備之間通過第一 Diameter服務(wù)器、及第二 Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程;并將收到的第一 Diameter服務(wù)器發(fā)送的生成的MSK或共享密鑰發(fā)送給第二路由設(shè)備; 所述第一 Diameter服務(wù)器,還用于收到第二 Diameter服務(wù)器發(fā)送的EAP Start消息后,與第二 Diameter服務(wù)器進(jìn)行EAP認(rèn)證信息交互,以使第一路由設(shè)備與第二路由設(shè)備之間通過第一 Diameter服務(wù)器、及第二 Diameter服務(wù)器進(jìn)行EAP認(rèn)證過程,并在EAP認(rèn)證過程成功后,將生成的MSK或共享密鑰發(fā)送給第二 Diameter服務(wù)器; 所述第二路由設(shè)備,還用于依據(jù)Diameter-EAP協(xié)議,向第二 Diameter服務(wù)器發(fā)送EAPStart消息,并接收第二 Diameter服務(wù)器發(fā)送的生成的MSK或共享密鑰。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其特征在于,所述第二Diameter服務(wù)器的個(gè)數(shù)為一個(gè)以上。
全文摘要
本發(fā)明公開了一種基于因特網(wǎng)安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP)的擴(kuò)展認(rèn)證方法,包括需要發(fā)送第一條路由消息時(shí),發(fā)起者與響應(yīng)者協(xié)商使用擴(kuò)展認(rèn)證協(xié)議(EAP)進(jìn)行認(rèn)證;EAP認(rèn)證過程成功后,所述發(fā)起者與所述響應(yīng)者依據(jù)EAP過程生成的主會(huì)話密鑰(MSK)或共享密鑰,計(jì)算AUTH載荷中的帶密鑰的消息認(rèn)證碼(HMAC)值,并向?qū)Ψ桨l(fā)送AUTH載荷,在ISAKMP中完成認(rèn)證。本發(fā)明同時(shí)公開了一種基于ISAKMP的擴(kuò)展認(rèn)證系統(tǒng),采用本發(fā)明的方法及系統(tǒng),能在ISAKMP中靈活選擇認(rèn)證方法,進(jìn)而能跟進(jìn)現(xiàn)代認(rèn)證技術(shù)的發(fā)展。
文檔編號(hào)H04L9/08GK102904861SQ201110213510
公開日2013年1月30日 申請(qǐng)日期2011年7月28日 優(yōu)先權(quán)日2011年7月28日
發(fā)明者梁小萍, 韋銀星 申請(qǐng)人:中興通訊股份有限公司