專利名稱:一種采用公開密鑰密碼算法加密模式的強(qiáng)鑒別方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在通信網(wǎng)絡(luò)中,確保合法用戶訪問網(wǎng)絡(luò)資源、避免其受到虛假服務(wù)器欺騙的一種驗(yàn)證用戶與服務(wù)器雙方合法身份的鑒別方法。
背景技術(shù):
在網(wǎng)絡(luò)通信領(lǐng)域,使用最普遍的是通過PPP協(xié)議實(shí)現(xiàn)點(diǎn)到點(diǎn)鏈接傳送數(shù)據(jù),采用CHAP協(xié)議(Challenge Handshake Authentication Protocol)完成對(duì)PPP鏈接的身份鑒別,這種CHAP協(xié)議為質(zhì)詢一握手鑒別協(xié)議。鏈接雙方通過點(diǎn)到點(diǎn)可擴(kuò)展的鏈路控制協(xié)議,簡稱PPPLCP協(xié)議協(xié)商,對(duì)PPP鏈接進(jìn)行配置和測試。在PPP鏈接建立后,先要對(duì)連接者的身份進(jìn)行鑒別,然后依據(jù)鑒別結(jié)果,決定是否允許鏈接進(jìn)入網(wǎng)絡(luò)控制協(xié)議NCP(Network Control Protocol)階段的協(xié)商。CHAP通過在PPP鏈接的雙方進(jìn)行一次“三次握手”,完成對(duì)對(duì)方的身份鑒別。其鑒別是在PPPLCP協(xié)議進(jìn)入開狀態(tài)(opened)后,鑒別方發(fā)起對(duì)對(duì)端的CHAP鑒別,其過程大致如下①鑒別方向被鑒別方發(fā)出CHAP質(zhì)詢,質(zhì)詢數(shù)據(jù)是一個(gè)隨機(jī)數(shù)或偽隨機(jī)數(shù)。
②被鑒別方收到CHAP質(zhì)詢后,將質(zhì)詢數(shù)據(jù),共享密碼等信息依據(jù)一定的計(jì)算規(guī)則,求出一個(gè)單向散列值作為對(duì)質(zhì)詢的應(yīng)答發(fā)送給鑒別方。
③鑒別方收到應(yīng)答后,在本地也依據(jù)相同的計(jì)算規(guī)則,利用共享密鑰,質(zhì)詢數(shù)據(jù)等信息計(jì)算出一個(gè)期待的散列值,比較CHAP應(yīng)答結(jié)果與期待的散列結(jié)果,若一致,則被鑒別方通過身份鑒別,否則為鑒別失敗。
CHAP協(xié)議主要適用于網(wǎng)絡(luò)訪問服務(wù)器NAS(Network AccessServer)對(duì)來自公共交換電話網(wǎng)PSTN或綜合業(yè)務(wù)數(shù)字網(wǎng)ISDN的電路交換連接,撥入連接或?qū)S羞B接身份的鑒別。
由于CHAP協(xié)議只是一個(gè)單向鑒別協(xié)議即只對(duì)用戶鑒別,而不是對(duì)用戶與服務(wù)器間的雙向鑒別協(xié)議,因此不能防止重放攻擊。而且,CHAP協(xié)議沒有單獨(dú)將身份鑒別提取出來,因而不能在漫游環(huán)境中使用。并且CHAP協(xié)議不支持會(huì)話密鑰導(dǎo)出,不能用于隨后的安全通信。
另一種網(wǎng)絡(luò)通信領(lǐng)域中使用最多的通信傳輸協(xié)議是RADIUS協(xié)議。
由于網(wǎng)絡(luò)訪問服務(wù)器NAS,通過Moden池或其它接口與外界相連。用戶通過這些接口進(jìn)入網(wǎng)絡(luò)分享信息和資源,就需要對(duì)通過這些接口進(jìn)入網(wǎng)絡(luò)的用戶進(jìn)行身份鑒別,完成對(duì)用戶的授權(quán)訪問。RADIUS(RemoteAuthentication Dial-up User Service)正是為這一需要而設(shè)計(jì)的。它是一種在網(wǎng)絡(luò)訪問服務(wù)器與一個(gè)共享的鑒別服務(wù)器之間通信的規(guī)范。按照這種通信規(guī)范,網(wǎng)絡(luò)服務(wù)器通過共享鑒別服務(wù)器對(duì)訪問它的用戶實(shí)現(xiàn)鑒別。NAS和鑒別服務(wù)器依據(jù)規(guī)范交互它們的鑒別信息,授權(quán)信息和配置信息。RADIUS還給出了鑒別服務(wù)器和鑒別客戶端(即NAS或認(rèn)證器)對(duì)信息的處理規(guī)范,通過這些處理規(guī)范完成對(duì)訪問NAS的客戶的鑒別,授權(quán)和配置。
概括地說,RADIUS鑒別協(xié)議有如下主要特征1)、客戶機(jī)/服務(wù)器模型RADIUS將NAS作為客戶端。客戶端的主要任務(wù)是完成與訪問用戶的交互(目的在于收集用戶鑒別信息),向服務(wù)器發(fā)送收集到的鑒別信息以及對(duì)服務(wù)器發(fā)送回的鑒別結(jié)果進(jìn)行應(yīng)答。鑒別服務(wù)器端稱為RADIUS鑒別服務(wù)器,它依據(jù)客戶端發(fā)送的用戶鑒別請(qǐng)求數(shù)據(jù),對(duì)用戶身份進(jìn)行鑒別,并返回鑒別結(jié)果。
2)、網(wǎng)絡(luò)安全性RADIUS服務(wù)器與NAS之間共享一對(duì)秘密密鑰。它們之間的所有通信都受到這對(duì)密鑰的鑒別保護(hù),同時(shí)提供一定的完整性保護(hù)。在該服務(wù)器與NAS之間傳遞的敏感數(shù)據(jù)(如用戶口令)還受到機(jī)密性保護(hù)。RADIUS協(xié)議還提供了狀態(tài)屬性以及鑒別器(Authenticator),以防止對(duì)客戶端或服務(wù)器的拒絕攻擊、欺騙攻擊。RFC3162定義了RADIUS使用IPSEC即IP安全協(xié)議棧,但是對(duì)IPSEC的支持卻不要求。
3)、可擴(kuò)展的協(xié)議設(shè)計(jì)RADIUS數(shù)據(jù)包通過一個(gè)相對(duì)固定的消息頭和一系列屬性構(gòu)成。屬性采用《屬性類型、長度、屬性值》三元組組成,用戶可以自行定義其它的屬性,以擴(kuò)展RADIUS鑒別協(xié)議。
4)、靈活的鑒別機(jī)制RADIUS協(xié)議支持不同的鑒別協(xié)議,以實(shí)現(xiàn)對(duì)需要進(jìn)行鑒別的用戶進(jìn)行鑒別。鑒別的協(xié)議包括PAP、CHAP、MS-CHAP等,在RFC2869RADIUS Extensions中也定義了支持EAP鑒別協(xié)議。
RADIUS實(shí)現(xiàn)身份鑒別的流程
當(dāng)用戶撥入NAS,NAS請(qǐng)求RADIUS服務(wù)器進(jìn)行用戶身份鑒別,在獲得RADIUS準(zhǔn)入回應(yīng)后,用戶得到希望的服務(wù)。其大致流程如下①撥入用戶與NAS建立PPP(也可能為其它協(xié)議,如SLIP)連接,NAS要求用戶出示鑒別信息。要求出示的方式可能是一個(gè)自定義的登陸通知,以及要求用戶鍵入用戶名及用戶口令,或者是通過PPP協(xié)議的鑒別協(xié)議,如CHAP等鏈路成幀協(xié)議傳送用戶的名信息和口令信息。
②撥入用戶向NAS出示鑒別信息。
③NAS依據(jù)這些鑒別信息,構(gòu)造了一個(gè)稱為“Access-Request”(即訪問請(qǐng)求)的RADIUS消息,發(fā)送給RADIUS服務(wù)器。Access-Request消息中應(yīng)包含以下內(nèi)容用戶名、用戶口令、NAS名信息(用做RADIUS使用哪一共享密鑰的依據(jù))、用戶訪問的端口號(hào)等信息。其中用戶口令應(yīng)受到機(jī)密性保護(hù)。
④對(duì)于一個(gè)NAS,往往配有一臺(tái)主RADIUS服務(wù)器以及數(shù)臺(tái)備用RADIUS服務(wù)器。如果NAS在發(fā)出Access-Request一定時(shí)間后仍不能收到回應(yīng),則NAS可認(rèn)為該主服務(wù)器不可達(dá)。因此NAS可以選擇與第二臺(tái)備用服務(wù)器聯(lián)系。選擇規(guī)則沒有在RADIUS協(xié)議中給出協(xié)議實(shí)現(xiàn)可以在NAS重發(fā)請(qǐng)求一定次數(shù)失敗后選擇第二臺(tái)服務(wù)器,也可以循環(huán)選擇服務(wù)器。比如在等待主服務(wù)器應(yīng)答失敗后,立即選擇第二臺(tái),在等待第二臺(tái)應(yīng)答失敗后,立即選擇第三臺(tái).....
⑤在RADIUS服務(wù)器收到Access-Request之后,首先依據(jù)NAS的名信息找到本服務(wù)器與NAS之間的共享密鑰。如果不能找到(例如NAS名不合法),則訪問請(qǐng)求應(yīng)被丟棄;如果能找到,則利用共享密鑰驗(yàn)證數(shù)據(jù)的完整性、合法性等。然后依據(jù)請(qǐng)求中的用戶名在RADIUS鑒別數(shù)據(jù)庫中查找相應(yīng)的用戶條目。該條目中給出了用戶可以訪問的資源,以及為訪問這些資源所必須滿足的條件,如必須出示的口令信息等。RADIUS依據(jù)鑒別信息逐一地驗(yàn)證用戶是否滿足所有的鑒別條件。
⑥如果用戶不能通過所有的驗(yàn)證,則RADIUS給NAS發(fā)送回一條“Access-Reject”(訪問拒絕)消息,表示用戶不能通過驗(yàn)證。NAS依據(jù)此消息,拒絕為用戶提供所需的服務(wù)。
⑦如果一切驗(yàn)證都通過,RADIUS向NAS發(fā)送一條“訪問接受”(Access-Accept)消息或者對(duì)用戶進(jìn)行又一輪的質(zhì)詢。如果需要又一輪的質(zhì)詢。則RADIUS服務(wù)器向NAS發(fā)送一條“訪問質(zhì)詢”(Access-Challenge)消息,這個(gè)消息中給出一組數(shù)據(jù),要求用戶對(duì)數(shù)據(jù)進(jìn)行相應(yīng)密鑰的加密。NAS在收到此質(zhì)詢后,將質(zhì)詢信息發(fā)送給撥入用戶,用戶進(jìn)行相應(yīng)加密,并將結(jié)果發(fā)送給NAS。NAS依據(jù)用戶的返回結(jié)果構(gòu)造新的一個(gè)“訪問”請(qǐng)求,并發(fā)送給RADIUS服務(wù)器。服務(wù)器對(duì)這個(gè)質(zhì)詢應(yīng)答進(jìn)行驗(yàn)證,若驗(yàn)證通過,則給NAS發(fā)送一條“訪問接受”消息。
⑧訪問接受消息中應(yīng)包含可為用戶提供的服務(wù)(如PPP或Telnet服務(wù))類型,相應(yīng)的配置信息(如對(duì)PPP的IP地址,子網(wǎng)掩碼等)。NAS接收到此消息后,對(duì)本地環(huán)境進(jìn)行配置,并啟動(dòng)對(duì)撥入用戶的相應(yīng)服務(wù)。
關(guān)于RADIUS鑒別協(xié)議的通信規(guī)范在這里就不進(jìn)行具體介紹。可以參看RFC2856、RFC2866、RFC2867、RFC2868、RFC2869、RFC2809等標(biāo)準(zhǔn)。
RADIUS主要用于撥號(hào)PPP和終端服務(wù)器訪問。隨著時(shí)間的推移,不斷增加的互聯(lián)網(wǎng)和引入新的訪問技術(shù),包括無線、DSL、移動(dòng)IP和以太網(wǎng),路由器和網(wǎng)絡(luò)服務(wù)器(NAS)使復(fù)雜度和密度增加。單純的RADIUS協(xié)議已經(jīng)不能滿足AAA服務(wù)器在鑒別、授權(quán)、計(jì)費(fèi)方面的新要求。
RADIUS協(xié)議存在的問題是錯(cuò)誤恢復(fù)問題RADIUS協(xié)議不支持錯(cuò)誤恢復(fù)failover機(jī)制,結(jié)果是不同的實(shí)現(xiàn)有不同的failover。
傳輸級(jí)安全問題RADIUS定義了在響應(yīng)分組中要求應(yīng)用層鑒別和完整性的方案。而RADIUS擴(kuò)展協(xié)議中定義了一個(gè)附加的鑒別和完整性機(jī)制,并且僅僅要求在擴(kuò)展鑒別協(xié)議(EAP)會(huì)話中要求。雖然屬性隱藏支持,RADIUS不提供每個(gè)分組的機(jī)密性。在計(jì)費(fèi)時(shí),RADIUS計(jì)費(fèi)假設(shè)重放保護(hù)由后端的帳單服務(wù)器提供,而不是在協(xié)議自己中提供。
可靠的傳輸問題RADIUS運(yùn)行在UDP上,并且沒有定義重傳的行為;其結(jié)果是,可靠性隨不同的實(shí)現(xiàn)而變化。這在計(jì)費(fèi)的時(shí)候?qū)⑹菃栴},分組的丟失將直接導(dǎo)致收入丟失。
代理支持問題RADIUS不提供對(duì)代理的明顯支持,包括代理人、重定向和中繼。因?yàn)槠谕男袨闆]有定義,不同的實(shí)現(xiàn)是不同的。
服務(wù)器發(fā)起的消息問題前面提到了RADIUS采用客戶機(jī)/服務(wù)器模型,雖然在動(dòng)態(tài)鑒別中定義了RADIUS服務(wù)器發(fā)起的消息,但是支持卻是可選的。這在實(shí)現(xiàn)像非請(qǐng)求的連接斷開或跨異質(zhì)的網(wǎng)絡(luò)中按需的重新鑒別/重新授權(quán)是很難實(shí)現(xiàn)的。
可審計(jì)性問題RADIUS沒有定義數(shù)據(jù)對(duì)象安全機(jī)制,其結(jié)果是不可信的代理可以修改屬性或分組頭而不被發(fā)現(xiàn)。連同對(duì)能力協(xié)商的支持,這在發(fā)生爭執(zhí)時(shí)很難確定。
能力協(xié)商問題RADIUS不支持錯(cuò)誤處理、能力協(xié)商、或?yàn)閷傩缘谋仨毜?非必須的標(biāo)志。因?yàn)镽ADIUS客戶和服務(wù)器不知道相互之間的能力,它們不能夠成功的協(xié)商雙方之間的可接受服務(wù),或者在一些情況下,甚至不能知道哪些服務(wù)被實(shí)現(xiàn)。
對(duì)方發(fā)現(xiàn)和配置問題RADIUS實(shí)現(xiàn)典型的要求服務(wù)器或客戶的名字和地址的手工配置,連同相應(yīng)的共享秘密。這將導(dǎo)致大的管理負(fù)荷,并且創(chuàng)建模板來重新使用RADIUS共享秘密,這將導(dǎo)致安全脆弱。
綜上所述單純使用CHAP協(xié)議進(jìn)行身份認(rèn)證,使用RADIUS協(xié)議進(jìn)行信息傳輸,都不能解決移動(dòng)通信中用戶和網(wǎng)絡(luò)之間的雙向鑒別問題,不能有效防止物理層的竊聽,重放攻擊,字典攻擊,存在用戶和接入服務(wù)器NAS之間的通信安全隱患。
發(fā)明內(nèi)容
在現(xiàn)代的通信網(wǎng)絡(luò)中,用戶要訪問網(wǎng)絡(luò)資源,首先要進(jìn)行用戶入網(wǎng)認(rèn)證,其鑒別的過程就是驗(yàn)證用戶身份的合法性,鑒別完成后才能對(duì)用戶訪問網(wǎng)絡(luò)資源進(jìn)行授權(quán),并對(duì)用戶訪問網(wǎng)絡(luò)資源進(jìn)行計(jì)費(fèi)管理。一般來講,鑒別過程由三個(gè)實(shí)體來完成移動(dòng)節(jié)點(diǎn)MN或稱用戶、認(rèn)證器(Authenticator,在接入網(wǎng)絡(luò)訪問服務(wù)器NAS中實(shí)現(xiàn))、AAA服務(wù)器(Authentication、Authorization和Accounting,鑒別、授權(quán)和計(jì)費(fèi)服務(wù)器)。用戶MN與認(rèn)證器間為無線信道連接;認(rèn)證器與AAA服務(wù)器間為有線信道連接,二者間的通信傳輸協(xié)議為RADIUS協(xié)議。
本發(fā)明的目的在于提供既有AAA服務(wù)器對(duì)用戶MN入網(wǎng)身份合法性進(jìn)行鑒別,防止物理層竊聽、重放攻擊、抵御字典攻擊,也有用戶MN對(duì)AAA服務(wù)器進(jìn)行真實(shí)性鑒別,有效進(jìn)行自我保護(hù),實(shí)現(xiàn)第三代移動(dòng)通信中用戶和接入服務(wù)器或認(rèn)證器之間安全通信的一種采用公開密鑰密碼算法加密模式的強(qiáng)鑒別方法。
本發(fā)明的目的是通過實(shí)施下述技術(shù)鑒別過程來實(shí)現(xiàn)的一種采用公開密鑰密碼算法加密模式的強(qiáng)鑒別方法,包括用戶MN擁有公開密碼密鑰對(duì),其中的秘密密鑰由用戶MN安全的保存,公開密鑰保存在AAA服務(wù)器中,如果有中間AAA服務(wù)器,公開密鑰保存在歸屬AAAA服務(wù)器中,AAA服務(wù)器擁有公開密碼密鑰對(duì),其中的秘密密鑰由AAA服務(wù)器安全保存,而其公開密鑰則需由用戶MN擁有;用戶MN與AAA服務(wù)器共有進(jìn)行消息完整性處理的消息完整性密鑰,公開密碼密鑰對(duì)的產(chǎn)生和公開密鑰的分配過程是一個(gè)帶外過程;用戶MN與認(rèn)證器間的通信為無線信道;認(rèn)證器和AAA服務(wù)器之間的通信協(xié)議采用RADIUS協(xié)議。
其特征在于鑒別過程依次按如下步驟進(jìn)行1、用戶MN在某基站控制器的某扇區(qū)SC覆蓋范圍內(nèi)開機(jī),通過無線鏈路建立過程,獲得無線傳輸通道資源;2、認(rèn)證器向用戶MN發(fā)送身份請(qǐng)求,請(qǐng)求用戶MN返回它的身份信息;3、用戶MN向認(rèn)證器返回自身的IMSI信息,并且建立鑒別會(huì)話;4、認(rèn)證器根據(jù)用戶MN的IMSI身份信息,向其對(duì)應(yīng)的AAA服務(wù)器發(fā)送鑒別請(qǐng)求/IMSI;5、AAA服務(wù)器收到鑒別請(qǐng)求/IMSI后,從相應(yīng)的數(shù)據(jù)庫中找到用戶MN的公開密鑰和消息完整性密鑰,建立同MN的鑒別會(huì)話;AAA服務(wù)器產(chǎn)生一個(gè)隨機(jī)數(shù)RandA,用用戶MN的公開密鑰加密,得到En(RandA),然后向認(rèn)證器發(fā)送響應(yīng)/En(RandA);6、認(rèn)證器收到從AAA服務(wù)器發(fā)送來的響應(yīng)/En(RandA),然后向用戶MN發(fā)送鑒別請(qǐng)求/En(RandA);7、用戶MN收到AAA服務(wù)器通過認(rèn)證器發(fā)送來的鑒別請(qǐng)求En(RandA),用自己的秘密密鑰解密,獲得了隨機(jī)數(shù)RandA,并將RandA作T變換獲得隨機(jī)數(shù)響數(shù)Rand_A,同時(shí)產(chǎn)生一個(gè)隨機(jī)數(shù)RandC,把RandC和Rand_A并置后用AAA服務(wù)器的公開密鑰加密,得到En(RandC+Rand_A),然后向認(rèn)證器發(fā)送響應(yīng)/En(RandC+Rand_A);8、認(rèn)證器收到用戶MN發(fā)送來的響應(yīng)/En(RandC+Rand_A),然后向AAA服務(wù)器發(fā)送鑒別請(qǐng)求/En(RandC+Rand_A);9、AAA服務(wù)器收到認(rèn)證器發(fā)送來的鑒別請(qǐng)求/En(RandC+Rand_A),首先用自己的秘密密鑰解密,獲得隨機(jī)數(shù)RandC和隨機(jī)數(shù)響應(yīng)Rand_A,比較RandA和Rand_A是否一致,如果不一致,鑒別失??;如果鑒別成功,AAA服務(wù)器由RandC通過T變換獲得Rand_C,并用MN的公開密鑰加密得到En(Rand_C),然后將用戶的身份信息IMSI、隨機(jī)數(shù)RandA、RandC通過K變換獲得會(huì)話密鑰SK;并且將IMSI、RandA、RandC和消息完整性密鑰,通過MAC計(jì)算得到整個(gè)鑒別交換完整性值HASH(m),然后將響應(yīng)/En(Rand_C)+SK+HASH(m)發(fā)送給認(rèn)證器;
10、認(rèn)證器收到AAA服務(wù)器發(fā)送來的響應(yīng)/En(Rand_C)+SK+HASH(m),提取出會(huì)話密鑰SK和HASH(m);將廣播密鑰BK用會(huì)話密鑰SK加密,然后向用戶MN發(fā)送鑒別請(qǐng)求/En(Rand_C)+En(BK);11、用戶MN收到認(rèn)證器發(fā)送來的鑒別請(qǐng)求/En(Rand_C)+En(BK)后,首先用自己的私有密鑰解密En(Rand_C)獲得Rand_C,比較RandC和Rand_C是否一致,如果一致,則鑒別成功;然后根據(jù)自己的身份信息IMSI、AAA服務(wù)器產(chǎn)生的隨機(jī)數(shù)RandA、用戶自己生成的隨機(jī)數(shù)RandC通過K變換獲得會(huì)話密鑰SK,解密En(BK)獲得廣播密鑰BK;然后根據(jù)ISMI、RandA、RandC和消息完整性密鑰,通過MAC計(jì)算得出整個(gè)鑒別交換完整性值HASH(M),再將響應(yīng)HASH(M)發(fā)送給認(rèn)證器;12、認(rèn)證器收到用戶MN發(fā)來的響應(yīng)HASH(M)后,比較HASH(M)和HASH(m),如果一致,則鑒別過程成功,可以進(jìn)行后續(xù)的處理。
本發(fā)明的優(yōu)點(diǎn)在于實(shí)現(xiàn)了AAA認(rèn)證體系的鑒別過程,可用于用戶MN接入服務(wù)。雖然采用了公開密鑰密碼算法,但是由于AAA認(rèn)證體系只需要進(jìn)行用戶和服務(wù)器之間進(jìn)行鑒別,因而可以不用PKI的體系結(jié)構(gòu)。系統(tǒng)甚至可以在AAA服務(wù)器中為每個(gè)用戶的鑒別擁有一個(gè)專用的密鑰對(duì),只需要定義密鑰對(duì)的標(biāo)識(shí)符就可以了。在AAA認(rèn)證體系中采用本方法,將使系統(tǒng)管理容易,其密鑰管理復(fù)雜度為O(n)。本發(fā)明的鑒別方法是雙向的鑒別,既有用戶對(duì)AAA服務(wù)器的鑒別,也有AAA服務(wù)器對(duì)用戶的鑒別,能夠進(jìn)行自我保護(hù),能夠防止物理層的竊聽,防止重放攻擊,能夠抵御字典攻擊,能夠產(chǎn)生會(huì)話密鑰或者分配會(huì)話密鑰,用于用戶和接入服務(wù)器NAS之間安全的通信。
圖1為本發(fā)明雙向身份鑒別過程2為本發(fā)明通信過程流程中標(biāo)記死亡指物理連接不存在狀態(tài);標(biāo)記建立表示鏈路建立狀態(tài);標(biāo)記認(rèn)證表示鑒別過程或鑒別成功或鑒別失敗,標(biāo)記網(wǎng)絡(luò)表示可使用網(wǎng)絡(luò)資源,標(biāo)記終止表示通信終止?fàn)顟B(tài)。
具體實(shí)施例方式
本節(jié)中內(nèi)容主要描述本發(fā)明鑒別方法在PPP協(xié)議中的具體應(yīng)用。
為了通過點(diǎn)對(duì)點(diǎn)鏈路建立通信,PPP鏈路的每一端,必須首先發(fā)送LCP分組以便來設(shè)定和測試數(shù)據(jù)鏈路。在鏈路建立好之后,對(duì)端才可以被鑒別。然后,PPP必須發(fā)送NCP分組以便選擇和設(shè)定一個(gè)或更多的網(wǎng)絡(luò)層協(xié)議。一旦每個(gè)被選擇的網(wǎng)絡(luò)層協(xié)議都被設(shè)定好了,來自每個(gè)網(wǎng)絡(luò)層協(xié)議的數(shù)據(jù)包就能在鏈路上發(fā)送了。鏈路將保持通信配置不變,直到直接的LCP和NCP分組關(guān)閉鏈路,或者是發(fā)生一些外部事件的時(shí)候(休止?fàn)顟B(tài)的定時(shí)器期滿或者網(wǎng)絡(luò)管理員干涉)。在設(shè)定、維持和終止點(diǎn)對(duì)點(diǎn)鏈路的過程里,PPP鏈路經(jīng)過幾個(gè)清楚的階段,如圖2所示。這張圖并沒有給出所有的狀態(tài)轉(zhuǎn)換。
鏈路死亡(物理連接不存在)鏈路一定開始并結(jié)束于這個(gè)階段。當(dāng)一個(gè)外部事件(例如載波偵聽或網(wǎng)絡(luò)管理員設(shè)定)指出物理層已經(jīng)準(zhǔn)備就緒時(shí),PPP將進(jìn)入鏈路建立階段。在這個(gè)階段,LCP自動(dòng)機(jī)器將處于初始狀態(tài),向鏈路建立階段的轉(zhuǎn)換將給LCP自動(dòng)機(jī)器一個(gè)UP啟動(dòng)事件信號(hào)。注意在與調(diào)制解調(diào)器斷開之后,鏈路將自動(dòng)返回這一階段。在用硬件實(shí)現(xiàn)的鏈路里,這一階段相當(dāng)?shù)亩獭獌H夠偵測設(shè)備的存在。
鏈路建立階段LCP用于交換配置信息分組(Configure packets),建立連接。一旦一個(gè)配置成功,信息分組(Configure-Ack packet)被發(fā)送且被接收,就完成了交換,進(jìn)入了LCP開啟狀態(tài)。所有的配置選項(xiàng)都假定使用默認(rèn)值,除非被配置交換所改變。有一點(diǎn)要注意只有不依賴于特別網(wǎng)絡(luò)層協(xié)議的配置選項(xiàng)才被LCP配置。在網(wǎng)絡(luò)層協(xié)議階段,獨(dú)立的網(wǎng)絡(luò)層協(xié)議的配置,由獨(dú)立的網(wǎng)絡(luò)控制協(xié)議(NCP)來處理。在這個(gè)階段接收的任何非LCP分組必須被悄悄的丟棄。收到LCP Configure-Request(LCP配置要求)能使鏈路從網(wǎng)絡(luò)層協(xié)議階段或者認(rèn)證階段返回到鏈路建立階段。
鑒別階段在一些鏈路上,在允許網(wǎng)絡(luò)層協(xié)議分組交換之前,鏈路的一端可能需要對(duì)端被鑒別。默認(rèn)的鑒別是不需要強(qiáng)制執(zhí)行的。如果一次執(zhí)行希望對(duì)端根據(jù)某一特定的鑒別協(xié)議來鑒別,那么它必須在鏈路建立階段,要求使用該鑒別協(xié)議。應(yīng)該盡可能在鏈路建立后立即進(jìn)行鑒別。而鏈路質(zhì)量檢查可以同時(shí)發(fā)生。在一次執(zhí)行中,禁止因?yàn)榻粨Q鏈路質(zhì)量檢查分組,而不確定地將鑒別向后推遲這一做法。在鑒別完成之前,禁止從鑒別階段前進(jìn)到網(wǎng)絡(luò)層協(xié)議階段。如果鑒別失敗,被鑒別方應(yīng)該躍遷到鏈路終止階段。在這一階段里,只有鏈路控制協(xié)議、鑒別協(xié)議,和鏈路質(zhì)量監(jiān)視協(xié)議的分組是被允許的。在該階段里接收到的其他的分組必須被悄悄的丟棄。注意在實(shí)現(xiàn)中,僅僅是因?yàn)槌瑫r(shí)或者沒有應(yīng)答就造成鑒別的失敗是不應(yīng)該的。鑒別應(yīng)該允許某種再傳輸,只有在若干次的鑒別嘗試失敗以后,不得已的時(shí)候才進(jìn)入鏈路終止階段。在鑒別中,哪一方拒絕了另一方的鑒別,哪一方就要負(fù)責(zé)開始鏈路終止階段。本發(fā)明鑒別方法就在該階段進(jìn)行使用。
網(wǎng)絡(luò)層協(xié)議階段一旦PPP完成了前面的階段,每一個(gè)網(wǎng)絡(luò)層協(xié)議(例如IP,IPX,或AppleTalk)必須被適當(dāng)?shù)木W(wǎng)絡(luò)控制協(xié)議(NCP)分別設(shè)定。每個(gè)NCP可以隨時(shí)被打開和關(guān)閉。注意因?yàn)橐淮螌?shí)現(xiàn)最初可能需要大量的時(shí)間用于鏈路質(zhì)量檢測,所以當(dāng)?shù)却齪eer設(shè)定NCP的時(shí)候,執(zhí)行應(yīng)該避免使用固定的超時(shí)。當(dāng)一個(gè)NCP處于Opened狀態(tài)時(shí),PPP將攜帶相應(yīng)的網(wǎng)絡(luò)層協(xié)議分組。當(dāng)相應(yīng)的NCP不處于Opened狀態(tài)時(shí),任何接收到的被支持的網(wǎng)絡(luò)層協(xié)議分組都將被悄悄的丟棄。注意當(dāng)LCP處于Opened狀態(tài)時(shí),任何不被該執(zhí)行所支持的協(xié)議分組必須在Protocol-Reject里返回。只有支持的協(xié)議才被悄悄的丟棄。在這個(gè)階段,鏈路通信量由LCP,NCP,和網(wǎng)絡(luò)層協(xié)議分組的任意可能的聯(lián)合組成。
鏈路終止階段PPP可以在任意時(shí)間終止鏈路。引起鏈路終止的原因很多載波丟失、鑒別失敗、鏈路質(zhì)量失敗、空閑周期定時(shí)器期滿、或者管理員關(guān)閉鏈路。
LCP用交換Terminate(終止)分組的方法終止鏈路。當(dāng)鏈路正被關(guān)閉時(shí),PPP通知網(wǎng)絡(luò)層協(xié)議,以便他們可以采取正確的行動(dòng)。交換Terminate(終止)分組之后,執(zhí)行應(yīng)該通知物理層斷開,以便強(qiáng)制鏈路終止,尤其當(dāng)鑒別失敗時(shí)。Terminate-Request(終止-要求)的發(fā)送者,在收到Terminate-Ack(終止-允許)后,或者在重啟計(jì)數(shù)器期滿后,應(yīng)該斷開連接。收到Terminate-Request的一方,應(yīng)該等待對(duì)端去切斷,在發(fā)出Terminate-Request后,至少也要經(jīng)過一個(gè)Restart time(重啟時(shí)間),才允許斷開。PPP應(yīng)該前進(jìn)到鏈路死亡階段。在該階段收到的任何非LCP分組,必須被悄悄的丟棄。LCP關(guān)閉鏈路就足夠了,不需要每一個(gè)NCP發(fā)送一個(gè)終止分組。相反,一個(gè)NCP關(guān)閉卻不足以引起PPP鏈路的終止,即使那個(gè)NCP是當(dāng)前唯一一個(gè)處于Opened狀態(tài)的NCP。
權(quán)利要求
1.一種采用公開密鑰密碼算法加密模式的強(qiáng)鑒別方法,包括用戶MN擁有公開密碼密鑰對(duì),其中的秘密密鑰由用戶MN安全的保存,公開密鑰保存在AAA服務(wù)器中,如果有中間AAA服務(wù)器,公開密鑰保存在歸屬AAAA服務(wù)器中,AAA服務(wù)器擁有公開密碼密鑰對(duì),其中的秘密密鑰由AAA服務(wù)器安全保存,而其公開密鑰則需由用戶MN擁有;用戶MN與AAA服務(wù)器共有進(jìn)行消息完整性處理的消息完整性密鑰,公開密碼密鑰對(duì)的產(chǎn)生和公開密鑰的分配過程是一個(gè)帶外過程;用戶MN與認(rèn)證器間的通信為無線信道;認(rèn)證器和AAA服務(wù)器之間的通信協(xié)議采用RADIUS協(xié)議。其特征在于鑒別過程依次按如下步驟進(jìn)行a、用戶MN在某基站控制器的某扇區(qū)SC覆蓋范圍內(nèi)開機(jī),通過無線鏈路建立過程,獲得無線傳輸通道資源;b、認(rèn)證器向用戶MN發(fā)送身份請(qǐng)求,請(qǐng)求用戶MN返回它的身份信息;c、用戶MN向認(rèn)證器返回自身的IMSI信息,并且建立鑒別會(huì)話;d、認(rèn)證器根據(jù)用戶MN的IMSI身份信息,向其對(duì)應(yīng)的AAA服務(wù)器發(fā)送鑒別請(qǐng)求/IMSI;e、AAA服務(wù)器收到鑒別請(qǐng)求/IMSI后,從相應(yīng)的數(shù)據(jù)庫中找到用戶MN的公開密鑰和消息完整性密鑰,建立同MN的鑒別會(huì)話;AAA服務(wù)器產(chǎn)生一個(gè)隨機(jī)數(shù)RandA,用用戶MN的公開密鑰加密,得到En(RandA),然后向認(rèn)證器發(fā)送響應(yīng)/En(RandA);f、認(rèn)證器收到從AAA服務(wù)器發(fā)送來的響應(yīng)/En(RandA),然后向用戶MN發(fā)送鑒別請(qǐng)求/En(RandA);g、用戶MN收到AAA服務(wù)器通過認(rèn)證器發(fā)送來的鑒別請(qǐng)求En(RandA),用自己的秘密密鑰解密,獲得了隨機(jī)數(shù)RandA,并將RandA作T變換獲得隨機(jī)數(shù)響數(shù)Rand_A,同時(shí)產(chǎn)生一個(gè)隨機(jī)數(shù)RandC,把RandC和Rand_A并置后用AAA服務(wù)器的公開密鑰加密,得到En(RandC+Rand_A),然后向認(rèn)證器發(fā)送響應(yīng)/En(RandC+Rand_A);h、認(rèn)證器收到用戶MN發(fā)送來的響應(yīng)/En(RandC+Rand_A),然后向AAA服務(wù)器發(fā)送鑒別請(qǐng)求/En(RandC+Rand_A);i、AAA服務(wù)器收到認(rèn)證器發(fā)送來的鑒別請(qǐng)求/En(RandC+Rand_A),首先用自己的秘密密鑰解密,獲得隨機(jī)數(shù)RandC和隨機(jī)數(shù)響應(yīng)Rand_A,比較RandA和Rand_A是否一致,如果不一致,鑒別失??;如果鑒別成功,AAA服務(wù)器由RandC通過T變換獲得Rand_C,并用MN的公開密鑰加密得到En(Rand_C),然后將用戶的身份信息IMSI、隨機(jī)數(shù)RandA、RandC通過K變換獲得會(huì)話密鑰SK;并且將IMSI、RandA、RandC和消息完整性密鑰,通過MAC計(jì)算得到整個(gè)鑒別交換完整性值HASH(m),然后將響應(yīng)/En(Rand_C)+SK+HASH(m)發(fā)送給認(rèn)證器;j、認(rèn)證器收到AAA服務(wù)器發(fā)送來的響應(yīng)/En(Rand_C)+SK+HASH(m),提取出會(huì)話密鑰SK和HASH(m);將廣播密鑰BK用會(huì)話密鑰SK加密,然后向用戶MN發(fā)送鑒別請(qǐng)求/En(Rand_C)+En(BK);k、用戶MN收到認(rèn)證器發(fā)送來的鑒別請(qǐng)求/En(Rand_C)+En(BK)后,首先用自己的私有密鑰解密En(Rand_C)獲得Rand_C,比較RandC和Rand_C是否一致,如果一致,則鑒別成功;然后根據(jù)自己的身份信息IMSI、AAA服務(wù)器產(chǎn)生的隨機(jī)數(shù)RandA、用戶自己生成的隨機(jī)數(shù)RandC通過K變換獲得會(huì)話密鑰SK,解密En(BK)獲得廣播密鑰BK;然后根據(jù)ISMI、RandA、RandC和消息完整性密鑰,通過MAC計(jì)算得出整個(gè)鑒別交換完整性值HASH(M),再將響應(yīng)HASH(M)發(fā)送給認(rèn)證器。
全文摘要
本發(fā)明公開了一種采用公開密鑰密碼算法加密模式的強(qiáng)鑒別方法,步驟是通過無線鏈路建立,認(rèn)證器向用戶發(fā)送身份認(rèn)證請(qǐng)求,并將其身份信息返回服務(wù)器,服務(wù)器從數(shù)據(jù)庫中找到用戶公開密鑰和消息完整性密鑰建立同用戶會(huì)話,服務(wù)器與用戶雙方依次通過產(chǎn)生隨機(jī)數(shù)并用對(duì)方公開密鑰加密,經(jīng)認(rèn)證器讓對(duì)方用秘密密鑰解密,比較自己的隨機(jī)數(shù)和被對(duì)方變換的自己隨機(jī)數(shù)響應(yīng)是否一致,判斷鑒別是否成功,如此往復(fù)三次,而且服務(wù)器與用戶通過加、解密廣播密鑰和用信息完整性密鑰及相關(guān)信息計(jì)算整個(gè)鑒別交換完整性值,由認(rèn)證器進(jìn)行比較判斷鑒別是否成功,決定用戶可否入網(wǎng),實(shí)現(xiàn)用戶網(wǎng)上通信和基站對(duì)各用戶的廣播通訊,優(yōu)點(diǎn)是實(shí)現(xiàn)對(duì)用戶、服務(wù)器雙方認(rèn)證確保,通信安全。
文檔編號(hào)H04L9/28GK1658553SQ20041002186
公開日2005年8月24日 申請(qǐng)日期2004年2月20日 優(yōu)先權(quán)日2004年2月20日
發(fā)明者羅超 申請(qǐng)人:中國電子科技集團(tuán)公司第三十研究所