專(zhuān)利名稱(chēng):防止重放攻擊的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無(wú)線(xiàn)通信技術(shù)領(lǐng)域,尤其涉及一種可防止重放攻擊的技術(shù)。
背景技術(shù):
在無(wú)線(xiàn)通信系統(tǒng)中,為保證通信的安全性,用戶(hù)終端如果需要與基站進(jìn)行通信,則兩者必須建立相同的授權(quán)密鑰上下文,即AK上下文。所述的AK上下文包括以下信息授權(quán)密鑰(AK)、授權(quán)密鑰標(biāo)識(shí)(AKID)、授權(quán)密鑰序列號(hào)(AK Sequence Number)、授權(quán)密鑰生存期(AK Lifetime)、對(duì)偶主密鑰序列號(hào)(PMK Sequence Number)、上行鏈路消息完整性保護(hù)密鑰(HMAC/CMAC_KEY_U)、上行鏈路消息防止重放攻擊包序列號(hào)(HMAC/CMAC_PN_U,簡(jiǎn)稱(chēng)PN_U)、下行鏈路消息完整性保護(hù)密鑰(HMAC/CMAC_KEY_D)、下行鏈路消息防止重放攻擊包序列號(hào)(HMAC/CMAC_PN_D,簡(jiǎn)稱(chēng)PN_D)、密鑰加密密鑰(KEK)、完整性加密密鑰(EIK)。
其中,所述的HMAC/CMAC_KEY_U、HMAC/CMAC_KEY_D是由基站根據(jù)AK、終端媒體接入控制(MAC)地址、基站標(biāo)識(shí)計(jì)算得到,分別用于對(duì)上下行鏈路消息提供完整性保護(hù);所述的PN_U和PN_D是兩個(gè)32位計(jì)數(shù)器,在AK上下文建立時(shí),所述的兩個(gè)計(jì)數(shù)器的值都為0,之后,每使用HMAC/CMAC_KEY_U對(duì)上行消息提供一次完整性保護(hù),終端就把PN_U的值增加1;每使用HMAC/CMAC_KEY_D對(duì)下行消息提供一次完整性保護(hù),基站就把PN_D的值增加1。如果PN_U或PN_D的數(shù)值空間耗盡(即這兩個(gè)值中任一個(gè)到達(dá)2^32-1),或是AK上下文中AK生存期到期,則該AK生存期結(jié)束。為保證通信過(guò)程的不中斷,在AK生存期結(jié)束之前應(yīng)當(dāng)重新申請(qǐng)新的AK。
當(dāng)終端切換到目標(biāo)基站后,可以不進(jìn)行重鑒權(quán)操作,但是相應(yīng)的AK是需要更新的。如果終端切換到目標(biāo)基站后,AK上下文中的PN_U和PN_D重新計(jì)數(shù),則當(dāng)終端兩次進(jìn)入同一基站時(shí),便可能受到重放攻擊。
在現(xiàn)有技術(shù)中,為避免用戶(hù)終端發(fā)生切換后受到重放攻擊,主要采用了以下兩種實(shí)現(xiàn)解決方案。
(一)目前采用的第一種實(shí)現(xiàn)方案為AK緩存技術(shù),即在終端和基站兩側(cè)緩存AK上下文。終端每到一個(gè)基站,便創(chuàng)建一個(gè)AK上下文,即使終端離開(kāi)該基站后也不刪除為該基站創(chuàng)建的AK上下文。同樣,在基站側(cè),每有一個(gè)終端接入,就向鑒權(quán)器申請(qǐng)一個(gè)AK,并生成上下文,這樣,當(dāng)終端在基站之間移動(dòng)時(shí),不同的基站使用不同的AK上下文,以避免重放攻擊。
不難看出,這種實(shí)現(xiàn)方案在終端和網(wǎng)絡(luò)側(cè)基站需要緩存的AK上下文數(shù)量較大時(shí),將會(huì)給該方案的實(shí)現(xiàn)帶來(lái)了很大的困難。
(二)目前采用的另一種實(shí)現(xiàn)方案為上下文傳遞技術(shù),即終端和網(wǎng)絡(luò)都只保存一個(gè)AK上下文,終端在移動(dòng)時(shí),AK可以變化,但PN值連續(xù)使用。由于這種方法中,為使得PN值連續(xù)使用,新的基站需要從老的基站獲得當(dāng)前的PN值,這就要求兩個(gè)基站之間需要互相信任,然而,在具體實(shí)現(xiàn)過(guò)程中很難保證兩個(gè)基站之間的相互信任。
因此,目前還沒(méi)有一種便于實(shí)現(xiàn)的技術(shù)方案可以有效解決用戶(hù)終端切換后可能引發(fā)的重放攻擊問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種防止重放攻擊的方法及系統(tǒng),從而可以采用較為簡(jiǎn)便地手段在無(wú)線(xiàn)通信網(wǎng)絡(luò)中有效防止重放攻擊問(wèn)題的出現(xiàn)。
本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供了一種防止重放攻擊的方法,包括A、在信息發(fā)送端,根據(jù)包括當(dāng)前密鑰和幀號(hào)的參考信息采用預(yù)定的算法生成認(rèn)證碼,并將所述的認(rèn)證碼與待發(fā)送的消息一起發(fā)送給接收端;B、接收端接收到所述的消息后,根據(jù)收到的幀號(hào)和密鑰并采用所述預(yù)定算法生成校驗(yàn)認(rèn)證碼;C、在接收端,利用校驗(yàn)認(rèn)證碼對(duì)收到的認(rèn)證碼進(jìn)行一致性檢驗(yàn),確定發(fā)送端的合法性。
所述的參考信息還包括時(shí)間參數(shù),所述的時(shí)間參數(shù)信息將發(fā)送給信息接收端用于信息接收端識(shí)別該信息是否為當(dāng)前幀號(hào)循環(huán)周期內(nèi)的合法消息。
所述的時(shí)間參數(shù)包括安全上下文已經(jīng)存在的時(shí)間,或者,安全上下文生命周期的剩余時(shí)間,或者,當(dāng)前時(shí)間信息,或者,根據(jù)安全上下文已經(jīng)存在的時(shí)間或當(dāng)前的時(shí)間信息或安全上下文生命周期的剩余時(shí)間確定的時(shí)間信息。
所述的安全上下文已經(jīng)存在的時(shí)間是由最近一次成功認(rèn)證至當(dāng)前時(shí)刻的時(shí)間信息。
所述的時(shí)間參數(shù)信息在網(wǎng)絡(luò)側(cè)由鑒權(quán)器維護(hù),基站從鑒權(quán)器獲取所述的時(shí)間參數(shù)信息。
所述的步驟C還包括判斷收到的信息發(fā)送端發(fā)來(lái)的時(shí)間參數(shù)與本地維護(hù)的時(shí)間參數(shù)是否一致或者兩者之間的差值是否小于預(yù)定的數(shù)值,若是且認(rèn)證碼正確,則確認(rèn)信息發(fā)送端合法,否則,確認(rèn)信息發(fā)送端非法。
所述的信息發(fā)送端為用戶(hù)終端或基站,與信息發(fā)送端對(duì)應(yīng)的信息接收端為基站或用戶(hù)終端。
本發(fā)明中,當(dāng)信息發(fā)送端為用戶(hù)終端時(shí),所述的密鑰為上行鏈路消息完整性保護(hù)密鑰,當(dāng)信息發(fā)送端為基站時(shí),所述的密鑰為下行鏈路消息完整性保護(hù)密鑰。
本發(fā)明還提供了一種防止重放攻擊的發(fā)送裝置,包括參考信息獲取單元,設(shè)置于信息發(fā)送端,用于當(dāng)需要發(fā)送信息時(shí)獲取包括密鑰和幀號(hào)的參考信息,并提供給認(rèn)證碼計(jì)算單元;認(rèn)證碼計(jì)算單元,設(shè)置于信息發(fā)送端,用于根據(jù)所述包括密鑰和幀號(hào)的參考信息采用預(yù)定的算法計(jì)算生成認(rèn)證碼,并提供給消息發(fā)送單元;消息發(fā)送單元,設(shè)置于信息發(fā)送端,用于將所述的認(rèn)證碼隨消息一起發(fā)送。
所述的參考信息獲取單元還包括時(shí)間參數(shù)獲取單元,用于獲取信息發(fā)送端維護(hù)的時(shí)間參數(shù)信息,并作為參考信息提供給認(rèn)證碼計(jì)算單元和消息發(fā)送單元。
所述的信息發(fā)送端為用戶(hù)終端或基站。
本發(fā)明還提供了一種防止重放攻擊的接收裝置,包括認(rèn)證碼計(jì)算單元,設(shè)置于信息接收端,用于根據(jù)收到的消息對(duì)應(yīng)的包括密鑰和幀號(hào)的參考信息采用預(yù)定的與發(fā)送端相同算法計(jì)算生成認(rèn)證碼,并提供給合法性判斷單元;消息接收單元,設(shè)置于信息接收端,用于接收消息,并將該消息對(duì)應(yīng)的包括密鑰和幀號(hào)的參考信息提供給認(rèn)證計(jì)算單元,將消息中的認(rèn)證碼提供給合法性判斷單元;合法性判斷單元,設(shè)置于信息接收端,用于根據(jù)消息中的認(rèn)證碼和計(jì)算獲得認(rèn)證碼的一致性判斷信息發(fā)送端的合法性。
所述的合法性判斷單元還包括時(shí)間參數(shù)判斷單元,用于根據(jù)消息接收單元接收的時(shí)間參考信息與本地維護(hù)的時(shí)間參數(shù)信息的一致性判斷信息發(fā)送端的合法性。
所述的信息接收端為用戶(hù)終端或基站。
本發(fā)明還提供了一種防止重放攻擊的系統(tǒng),包括防止重放攻擊的信息發(fā)送裝置,用于向信息接收裝置發(fā)送包含認(rèn)證碼,或包含認(rèn)證碼和時(shí)間參數(shù)信息的信息;防止重放攻擊的信息接收裝置,用于接收防止重放攻擊的信息發(fā)送裝置發(fā)來(lái)的認(rèn)證碼信息,或者,認(rèn)證碼信息和時(shí)間參數(shù)信息,并根據(jù)所述信息判斷信息發(fā)送端的合法性。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明由于采用了基于幀號(hào)獲得消息傳輸過(guò)程中需要的認(rèn)證碼信息,因此,本發(fā)明提供的在無(wú)線(xiàn)系統(tǒng)中防止重放攻擊的實(shí)現(xiàn)方案中,不需要終端和網(wǎng)絡(luò)各自維護(hù)PN值,仍然可以保證在用戶(hù)終端切換到目標(biāo)基站后,能夠有效避免重放攻擊問(wèn)題的出現(xiàn)。
另外,本發(fā)明在基于幀號(hào)的基礎(chǔ)上還考慮了時(shí)間參數(shù)信息的引入,從而可以進(jìn)一步確保當(dāng)幀號(hào)的使用超過(guò)一個(gè)循環(huán)周期后,仍可以保證不會(huì)受到重放攻擊。
圖1為本發(fā)明所述的方法的具體實(shí)現(xiàn)過(guò)程示意圖一;圖2為本發(fā)明所述的方法的具體實(shí)現(xiàn)過(guò)程示意圖二;圖3為本發(fā)明所述的系統(tǒng)的具體實(shí)現(xiàn)結(jié)構(gòu)示意圖。
具體實(shí)施例方式
在無(wú)線(xiàn)通信系統(tǒng)中,通信的一方在生成一個(gè)需要發(fā)送給對(duì)端的消息時(shí),同時(shí)還生成一個(gè)認(rèn)證碼,所述的認(rèn)證碼需要隨著消息一起傳給對(duì)端。即在空口傳遞的信息內(nèi)容包括消息和認(rèn)證元組,其中,所述的認(rèn)證元組包括認(rèn)證碼和其它參數(shù)。所述的消息認(rèn)證碼包括上行消息認(rèn)證碼和下行消息認(rèn)證碼,獲得兩個(gè)認(rèn)證碼的具體方式如下上行消息認(rèn)證碼=f(上行消息完整性保護(hù)密鑰,其它參數(shù));下行消息認(rèn)證碼=f(下行消息完整性保護(hù)密鑰,其它參數(shù));其中,f為一種運(yùn)算方式,即將密鑰和其他參數(shù)采用f算法便可以獲得相應(yīng)的認(rèn)證碼信息。
認(rèn)證碼用于在消息的接收端識(shí)別消息的來(lái)源是否合法,即發(fā)送消息的用戶(hù)身份是否合法,基于此,本發(fā)明便通過(guò)對(duì)認(rèn)證碼的獲得方式的改進(jìn)避免可能引發(fā)的重發(fā)攻擊問(wèn)題。
在無(wú)線(xiàn)通信系統(tǒng)中,一個(gè)消息必須承載在某一個(gè)或幾個(gè)特定的幀上,而每個(gè)幀都有幀號(hào)。而攻擊者即使截獲了某個(gè)消息,也不可能在同一幀里就重放該幀,因此,可以利用幀號(hào)來(lái)保護(hù)消息。
這樣,本發(fā)明便可以利用幀號(hào)獲得認(rèn)證碼信息,即當(dāng)通信的發(fā)送方在向?qū)Χ税l(fā)送一個(gè)消息時(shí),同時(shí)還發(fā)送一個(gè)認(rèn)證元組,所述的認(rèn)證元組中至少包含一個(gè)認(rèn)證碼,所述的認(rèn)證碼是利用密鑰和幀號(hào)采用預(yù)定的函數(shù)運(yùn)算方式計(jì)算獲得,在運(yùn)算過(guò)程中還可以在密鑰和幀號(hào)的基礎(chǔ)上再利用其他參數(shù)信息,如消息體等;從而使得接收方能夠根據(jù)認(rèn)證元組包含的信息識(shí)別該消息的有效性,避免重放攻擊。
在所述的認(rèn)證元組中,還可以包含一個(gè)時(shí)間參數(shù),所述的時(shí)間參數(shù)可以為安全上下文已經(jīng)存在的時(shí)間,即最近一次成功認(rèn)證至今的時(shí)間長(zhǎng);所述的時(shí)間參數(shù)也可以為其他信息,例如,安全上下文生命周期的剩余時(shí)間,或者,當(dāng)前的絕對(duì)時(shí)間信息,或者,基于密鑰對(duì)應(yīng)的上下文已經(jīng)存在的時(shí)間信息或安全上下文生命周期的剩余時(shí)間或當(dāng)前的絕對(duì)時(shí)間信息確定的時(shí)間信息,等等。
而且,本發(fā)明中,在網(wǎng)絡(luò)側(cè)所述的時(shí)間參數(shù)信息可以由鑒權(quán)器維護(hù),并在基站需要時(shí)傳給基站。
當(dāng)認(rèn)證元組中包含所述時(shí)間參數(shù)信息時(shí),則所述的認(rèn)證碼的計(jì)算函數(shù)中也需要考慮該時(shí)間參數(shù)信息。
當(dāng)接收方收到包含時(shí)間參數(shù)的消息后,如果消息中的時(shí)間參數(shù)和本地的時(shí)間參數(shù)的誤差大于預(yù)定的值,便可以認(rèn)為該消息無(wú)效,否則,認(rèn)為該消息為有效消息,并可以繼續(xù)后續(xù)的消息處理過(guò)程。
為便于對(duì)本發(fā)明有進(jìn)一步的理解,下面將結(jié)合一個(gè)具體的應(yīng)用實(shí)例對(duì)本發(fā)明提供的方法進(jìn)行詳細(xì)說(shuō)明。
如圖1所示,本發(fā)明具體包括以下處理步驟步驟11在生成待發(fā)送消息的同時(shí),根據(jù)待發(fā)送消息的幀號(hào)和密鑰信息生成認(rèn)證碼信息;也就是說(shuō),在通信過(guò)程中的消息發(fā)送端,當(dāng)生成一個(gè)需要發(fā)送給對(duì)端的消息時(shí),還需要根據(jù)幀號(hào)生成一個(gè)認(rèn)證碼,而且,所述的認(rèn)證碼需要與消息一起傳送給對(duì)端;具體一點(diǎn)講,所述的認(rèn)證碼是使用之前已經(jīng)獲得的密鑰對(duì)消息進(jìn)行完整性保護(hù)處理,即令認(rèn)證碼=f1(密鑰,幀號(hào)等),f1代表一種運(yùn)算方法,將密鑰、幀號(hào)等信息經(jīng)過(guò)f1代表的運(yùn)算方法進(jìn)行運(yùn)算處理后便可以獲得需要的認(rèn)證碼,計(jì)算過(guò)程中還可以引入其他參數(shù)信息,如消息體信息等;步驟12將所述的認(rèn)證碼與消息一起發(fā)送給消息接收端;即在空口傳遞的內(nèi)容包括消息、認(rèn)證元組,其中,所述的認(rèn)證元組包括步驟11中計(jì)算獲得的認(rèn)證碼,在所述的認(rèn)證元組中除認(rèn)證碼外還可以包括其他參數(shù)。
步驟13接收端接收發(fā)送端發(fā)來(lái)的信息后,根據(jù)收到信息的幀號(hào)采用同樣的算法,即仍參照步驟11采用所述f1算法根據(jù)相同的密鑰和幀號(hào)等信息計(jì)算獲得認(rèn)證碼信息;步驟14判斷發(fā)送端發(fā)來(lái)的認(rèn)證碼與本地計(jì)算獲得的認(rèn)證碼是否一致,如果一致,則確定發(fā)送端的身份合法,否則,確定發(fā)送端身份不合法,從而可以有效避免重放攻擊問(wèn)題的出現(xiàn)。
在一些無(wú)線(xiàn)通信系統(tǒng)中,可能出現(xiàn)幀號(hào)的周期小于密鑰的生命周期的情況,此時(shí),當(dāng)幀號(hào)循環(huán)一圈之后,即便采用上述方案,重方攻擊問(wèn)題仍然可能出現(xiàn)。為此,本發(fā)明還提供了另外一種具體實(shí)現(xiàn)方案,如圖2所示,本發(fā)明提供的另一種具體實(shí)現(xiàn)方案包括以下處理過(guò)程步驟21在生成待發(fā)送消息的同時(shí),根據(jù)待發(fā)送消息的幀號(hào)、密鑰信息和時(shí)間參數(shù)信息生成認(rèn)證碼信息;所述的時(shí)間參數(shù)信息用于作為信息接收端識(shí)別該信息是否為當(dāng)前幀號(hào)循環(huán)周期內(nèi)的合法消息的依據(jù);且所述的時(shí)間參數(shù)表示密鑰對(duì)應(yīng)的上下文已經(jīng)存在的時(shí)間,或者,安全上下文生命周期的剩余時(shí)間,或者,也可以表示發(fā)送消息端當(dāng)前的絕對(duì)時(shí)間信息,或者,基于密鑰對(duì)應(yīng)的上下文已經(jīng)存在的時(shí)間信息或安全上下文生命周期的剩余時(shí)間或當(dāng)前的絕對(duì)時(shí)間信息確定的時(shí)間信息,等等;所述的時(shí)間參數(shù)可以使用多種計(jì)量單位,例如,以秒、半個(gè)幀號(hào)循環(huán)周期等作為計(jì)量單位,只要所述的時(shí)間參的計(jì)量單位小于幀號(hào)循環(huán)周期即可;所述的時(shí)間參數(shù)作為安全上下文的一部分,需要在MS和網(wǎng)絡(luò)側(cè)各自維護(hù);其中,在網(wǎng)絡(luò)側(cè),可以由鑒權(quán)器維護(hù)所述的時(shí)間參數(shù)信息,并在基站需要時(shí)傳給基站使用;所述的認(rèn)證碼具體是使用之前已經(jīng)獲得的密鑰對(duì)消息進(jìn)行完整性保護(hù)處理,即令認(rèn)證碼=f2(密鑰,幀號(hào),時(shí)間參數(shù)等),f2代表一種運(yùn)算方法,將密鑰、幀號(hào)和時(shí)間參數(shù)等信息經(jīng)過(guò)f2代表的運(yùn)算方法進(jìn)行運(yùn)算處理后便可以獲得需要的認(rèn)證碼,計(jì)算過(guò)程中還可以引入其他參數(shù)信息;步驟22將所述的認(rèn)證碼及時(shí)間參數(shù)與消息一起發(fā)送給消息接收端;即在空口傳遞的內(nèi)容包括消息、認(rèn)證元組,其中,所述的認(rèn)證元組包括步驟21中計(jì)算獲得的認(rèn)證碼和時(shí)間參數(shù),在所述的認(rèn)證元組中除認(rèn)證碼外還可以包括其他參數(shù);在該步驟中,所述的時(shí)間參數(shù)以明文的形式和消息一起傳給對(duì)端,作為獲得認(rèn)證碼的一個(gè)參數(shù);步驟23接收端接收發(fā)送端發(fā)來(lái)的信息后,根據(jù)收到信息的幀號(hào)及所述的時(shí)間參數(shù)采用同樣的算法,即仍參照步驟21采用所述f2算法根據(jù)相同的密鑰、幀號(hào)和時(shí)間參數(shù)等信息計(jì)算獲得認(rèn)證碼信息;步驟24判斷發(fā)送端發(fā)來(lái)的認(rèn)證碼與本地計(jì)算獲得的認(rèn)證碼是否一致,同時(shí),還需要判斷收到的時(shí)間參數(shù)與本地對(duì)應(yīng)的時(shí)間參數(shù)信息是否一致,如果均一致,則確定發(fā)送端的身份合法,否則,確定發(fā)送端身份不合法,從而可以有效避免重放攻擊問(wèn)題的出現(xiàn);在進(jìn)行時(shí)間參數(shù)信息的一致性判斷過(guò)程中,網(wǎng)絡(luò)和終端對(duì)于所述的時(shí)間參數(shù)不需要嚴(yán)格一致,只要誤差值遠(yuǎn)小于幀號(hào)的周期便可以認(rèn)為一致。
本發(fā)明還提供了一種防止重放攻擊的系統(tǒng),包括防止重放攻擊的信息發(fā)送裝置和防止重放攻擊的信息接收裝置,具體如下防止重放攻擊的信息發(fā)送裝置,設(shè)置于信息發(fā)送端,用于向信息接收裝置發(fā)送包含認(rèn)證碼,或包含認(rèn)證碼和時(shí)間參數(shù)信息的信息,所述的信息發(fā)送端為用戶(hù)終端或基站。
防止重放攻擊的信息接收裝置,設(shè)備于信息接收端,用于接收防止重放攻擊的信息發(fā)送裝置發(fā)來(lái)的認(rèn)證碼信息,或者,認(rèn)證碼信息和時(shí)間參數(shù)信息,并根據(jù)所述信息判斷信息發(fā)送端的合法性,與信息發(fā)送端對(duì)應(yīng),所述的信息接收端為基站或用戶(hù)終端。
所述的系統(tǒng)的具體實(shí)施方式
如圖3所示,其中所述的防止重放攻擊的發(fā)送裝置,具體包括以下處理單元(1)參考信息獲取單元用于當(dāng)需要發(fā)送信息時(shí)獲取包括密鑰和幀號(hào)的參考信息,并提供給認(rèn)證碼計(jì)算單元;所述的參考信息獲取單元還包括時(shí)間參數(shù)獲取單元,用于獲取信息發(fā)送端維護(hù)的時(shí)間參數(shù)信息,并作為參考信息提供給認(rèn)證碼計(jì)算單元和消息發(fā)送單元。
(2)認(rèn)證碼計(jì)算單元用于根據(jù)所述包括密鑰和幀號(hào)的參考信息采用預(yù)定的算法計(jì)算生成認(rèn)證碼,并提供給消息發(fā)送單元;其中,所述的密鑰包括上行鏈路完整性保護(hù)密鑰和下行鏈路完整性保護(hù)密鑰;(3)消息發(fā)送單元用于將所述的認(rèn)證碼隨消息一起發(fā)送。
所述的防止重放攻擊的接收裝置,具體包括以下處理單元(1)認(rèn)證碼計(jì)算單元用于根據(jù)收到的消息對(duì)應(yīng)的包括密鑰和幀號(hào)的參考信息采用預(yù)定的與發(fā)送端相同算法計(jì)算生成認(rèn)證碼,并提供給合法性判斷單元;(2)消息接收單元用于接收消息,并將該消息對(duì)應(yīng)的包括密鑰和幀號(hào)的參考信息提供給認(rèn)證計(jì)算單元,將消息中的認(rèn)證碼提供給合法性判斷單元;(3)合法性判斷單元用于根據(jù)消息中的認(rèn)證碼和計(jì)算獲得認(rèn)證碼的一致性判斷信息發(fā)送端的合法性,所述的合法性判斷單元還包括時(shí)間參數(shù)判斷單元,用于根據(jù)消息接收單元接收的時(shí)間參考信息與本地維護(hù)的時(shí)間參數(shù)信息的一致性判斷信息發(fā)送端的合法性。
綜上所述,本發(fā)明提供的技術(shù)方案徹底解決了無(wú)線(xiàn)接口可能出現(xiàn)的重放攻擊問(wèn)題,而且在該方案中不需要在基站之間傳遞安全上下文,使得防止重放攻擊的實(shí)現(xiàn)方案易于實(shí)現(xiàn)。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種防止重放攻擊的方法,其特征在于,包括A、在信息發(fā)送端,根據(jù)包括當(dāng)前密鑰和幀號(hào)的參考信息采用預(yù)定的算法生成認(rèn)證碼,并將所述的認(rèn)證碼與待發(fā)送的消息一起發(fā)送給接收端;B、接收端接收到所述的消息后,根據(jù)收到的幀號(hào)和密鑰并采用所述預(yù)定算法生成校驗(yàn)認(rèn)證碼;C、在接收端,利用校驗(yàn)認(rèn)證碼對(duì)收到的認(rèn)證碼進(jìn)行一致性檢驗(yàn),確定發(fā)送端的合法性。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述的參考信息還包括時(shí)間參數(shù),所述的時(shí)間參數(shù)信息將發(fā)送給信息接收端用于信息接收端識(shí)別該信息是否為當(dāng)前幀號(hào)循環(huán)周期內(nèi)的合法消息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的時(shí)間參數(shù)包括安全上下文已經(jīng)存在的時(shí)間,或者,安全上下文生命周期的剩余時(shí)間,或者,當(dāng)前時(shí)間信息,或者,根據(jù)安全上下文已經(jīng)存在的時(shí)間或當(dāng)前的時(shí)間信息或安全上下文生命周期的剩余時(shí)間確定的時(shí)間信息。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的安全上下文已經(jīng)存在的時(shí)間是由最近一次成功認(rèn)證至當(dāng)前時(shí)刻的時(shí)間信息。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的時(shí)間參數(shù)信息在網(wǎng)絡(luò)側(cè)由鑒權(quán)器維護(hù),基站從鑒權(quán)器獲取所述的時(shí)間參數(shù)信息。
6.根據(jù)權(quán)利要求2至5中任一項(xiàng)所述的方法,其特征在于,所述的步驟C還包括判斷收到的信息發(fā)送端發(fā)來(lái)的時(shí)間參數(shù)與本地維護(hù)的時(shí)間參數(shù)是否一致或者兩者之間的差值是否小于預(yù)定的數(shù)值,若是且認(rèn)證碼正確,則確認(rèn)信息發(fā)送端合法,否則,確認(rèn)信息發(fā)送端非法。
7.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,所述的信息發(fā)送端為用戶(hù)終端或基站,與信息發(fā)送端對(duì)應(yīng)的信息接收端為基站或用戶(hù)終端。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,當(dāng)信息發(fā)送端為用戶(hù)終端時(shí),所述的密鑰為上行鏈路消息完整性保護(hù)密鑰,當(dāng)信息發(fā)送端為基站時(shí),所述的密鑰為下行鏈路消息完整性保護(hù)密鑰。
9.一種防止重放攻擊的發(fā)送裝置,其特征在于,包括參考信息獲取單元,設(shè)置于信息發(fā)送端,用于當(dāng)需要發(fā)送信息時(shí)獲取包括密鑰和幀號(hào)的參考信息,并提供給認(rèn)證碼計(jì)算單元;認(rèn)證碼計(jì)算單元,設(shè)置于信息發(fā)送端,用于根據(jù)所述包括密鑰和幀號(hào)的參考信息采用預(yù)定的算法計(jì)算生成認(rèn)證碼,并提供給消息發(fā)送單元;消息發(fā)送單元,設(shè)置于信息發(fā)送端,用于將所述的認(rèn)證碼隨消息一起發(fā)送。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述的參考信息獲取單元還包括時(shí)間參數(shù)獲取單元,用于獲取信息發(fā)送端維護(hù)的時(shí)間參數(shù)信息,并作為參考信息提供給認(rèn)證碼計(jì)算單元和消息發(fā)送單元。
11.根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,所述的信息發(fā)送端為用戶(hù)終端或基站。
12.一種防止重放攻擊的接收裝置,其特征在于,包括認(rèn)證碼計(jì)算單元,設(shè)置于信息接收端,用于根據(jù)收到的消息對(duì)應(yīng)的包括密鑰和幀號(hào)的參考信息采用預(yù)定的與發(fā)送端相同算法計(jì)算生成認(rèn)證碼,并提供給合法性判斷單元;消息接收單元,設(shè)置于信息接收端,用于接收消息,并將該消息對(duì)應(yīng)的包括密鑰和幀號(hào)的參考信息提供給認(rèn)證計(jì)算單元,將消息中的認(rèn)證碼提供給合法性判斷單元;合法性判斷單元,設(shè)置于信息接收端,用于根據(jù)消息中的認(rèn)證碼和計(jì)算獲得認(rèn)證碼的一致性判斷信息發(fā)送端的合法性。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述的合法性判斷單元還包括時(shí)間參數(shù)判斷單元,用于根據(jù)消息接收單元接收的時(shí)間參考信息與本地維護(hù)的時(shí)間參數(shù)信息的一致性判斷信息發(fā)送端的合法性。
14.根據(jù)權(quán)利要求12或13所述的裝置,其特征在于,所述的信息接收端為用戶(hù)終端或基站。
15.一種防止重放攻擊的系統(tǒng),其特征在于,包括防止重放攻擊的信息發(fā)送裝置,用于向信息接收裝置發(fā)送包含認(rèn)證碼,或包含認(rèn)證碼和時(shí)間參數(shù)信息的信息;防止重放攻擊的信息接收裝置,用于接收防止重放攻擊的信息發(fā)送裝置發(fā)來(lái)的認(rèn)證碼信息,或者,認(rèn)證碼信息和時(shí)間參數(shù)信息,并根據(jù)所述信息判斷信息發(fā)送端的合法性。
全文摘要
本發(fā)明涉及一種防止重放攻擊的方法及系統(tǒng)。本發(fā)明主要包括在信息發(fā)送端,根據(jù)包括密鑰和幀號(hào)的參考信息采用預(yù)定的算法生成認(rèn)證碼,并將所述的認(rèn)證碼與待發(fā)送的消息一起發(fā)送給接收端;在接收端,根據(jù)收到的幀號(hào)和密鑰并采用所述預(yù)定算法生成校驗(yàn)認(rèn)證碼,并利用校驗(yàn)認(rèn)證碼對(duì)收到的認(rèn)證碼進(jìn)行一致性檢驗(yàn),確定發(fā)送端的合法性。因此,本發(fā)明提供的在無(wú)線(xiàn)系統(tǒng)中防止重放攻擊的實(shí)現(xiàn)方案中,不需要終端和網(wǎng)絡(luò)各自維護(hù)PN值,但在用戶(hù)終端切換到目標(biāo)基站后,仍然可以有效避免重放攻擊問(wèn)題的出現(xiàn)。
文檔編號(hào)H04Q7/38GK101060405SQ20061007622
公開(kāi)日2007年10月24日 申請(qǐng)日期2006年4月19日 優(yōu)先權(quán)日2006年4月19日
發(fā)明者林志斌, 單長(zhǎng)虹 申請(qǐng)人:華為技術(shù)有限公司