專利名稱:一種攻擊檢測方法及裝置的制作方法
技術領域:
本發(fā)明涉及安全檢測領域,特別涉及智能卡片的安全檢測領域,具體地 講是一種攻擊檢測方法及裝置。
背景技術:
在加密算法中,采用密鑰將明文加密成密文。在此,加密算法的概念應 理解為用于計算關于明文的識別碼的算法。這種算法也稱為具有密鑰的哈希 函數(shù)(加密的哈希函數(shù))。在此,采用密鑰從明文中計算明文的識別碼。通 常,與狹義下的真正加密算法相反,這種函數(shù)是不能反向的,也就是說不能 再進行解密。
加密算法例如用于相對于第二實例驗證第一實例。為此,例如第一實例 用一個公用的、兩個實例都具有的密鑰將其先前以未加密的形式從第二實例 獲得的明文加密成要發(fā)送回第二實例的第一密文。第二實例同樣用該共用密 鑰,獨立于第一實例的加密方式對該明文進行加密,并由此計算出第二密文。 如果第一實例實際上將該共用密鑰用于加密,則第一和第二密文是一致的。 這樣,第一實例相對于第二實例自我驗證,其中第一實例相對于所獲得的明 文發(fā)回正確的密文。對于該方法的可應用性和可靠性,要求一定要使用共用 密鑰對第三方嚴格保密。
針對于上述加密方法的攻擊中,加密時采用密鑰,并且改變了用該密鑰 加密的明文,更為準確的是,在這些攻擊中聚集了多個明文/密文對,也就是 由一個明文和一個對應于該明文的密文組成的對子,該密文是通過加密算法 和密碼對明文進行加密形成的,這些明文/密文對具有這樣的特性,從該明文 /密文對中可以獲得關于該密碼的信息。攻擊者可以有針對性地選擇他想要加密的明文,由此明文/密文對的集合可以有針對性地建立并因此變得更為有 效。為了使攻擊成功,需要收集關于密鑰的足夠信息,為此需要對足夠多的 明文進行加密。
在目前的攻擊手段中,有一種針對于上述加密方法的所謂的"碰撞"攻 擊手段,所謂"碰撞"是指兩個不同的明文在用相同的密鑰和加密算法加密 后,得到了相同的密文或者重檢結果,如果出現(xiàn)這樣的碰撞,則可以從中最 終確定出密碼。
事實上,上述加密方法在現(xiàn)實環(huán)境中有很多應用,如圖l所示為現(xiàn)有的移
動網絡利用SIM卡進行鑒權的數(shù)據(jù)流圖,在移動終端(特別為手機)登錄移動 網絡時,網絡端的鑒權中心會產生一個16字節(jié)的隨機數(shù)據(jù)(RAND)發(fā)給移動 終端,移動終端將這個數(shù)據(jù)發(fā)給SIM卡,SIM卡用自己的密鑰Ki和RAND做運算 以后,生成一個4字節(jié)的應答(SRES)發(fā)回給移動終端,并轉發(fā)給鑒權中心, 與此同時,鑒權中心也進行相同算法的運算,移動網絡會比較一下這兩個結 果是否相同,相同則允許其登錄。這個驗證算法在GSM規(guī)范里面稱為A3,其中 RAND=128 bit, Ki=128 bit。
在移動網絡發(fā)送RAND過來的時候,手機還會讓SIM卡對RAND和Ki計算出另 一個密鑰Kc以供全程通信加密使用,Kc的長度是64bits,生成Kc的算法是A8, 因為A3和A8接受的輸入完全相同,通常用一個算法A3/A8同時生成SRES和Kc。 用Kc在通信過程中的加密,這個加密算法稱為A5。
上述的加密流程也就是GSM網絡中使用的鑒權算法Comp128-1 (亦即MoU組 織所指的A3/A8算法),由于存在算法結構上的缺陷,導致可以利用其缺陷進 行"選擇明文攻擊",針對Compl28-l算法的這種攻擊是基于上述碰撞的,指 兩個不同的隨機數(shù)經Comp128-l密碼學運算后得到了相同的密文。但必須說 明的是,攻擊者必須要拿到SIM卡才能進行這些攻擊。
Compl28-l算法是一種FFT-Hash算法(快速傅里葉變換-哈希算法),其算 法結構為8輪大循環(huán)并且每輪大循環(huán)又內嵌5輪小循環(huán),而截至目前所有的攻擊工具軟件利用的碰撞攻擊都是針對第1輪大循環(huán)內嵌的2—5輪小循環(huán),如 果兩個不同的鑒權隨機數(shù)在經過第1輪大循環(huán)內嵌的2—5輪小循環(huán)算法運算 后得到'了相同的中間結果則分別稱為"2R-碰撞"、"3R-碰撞"、"4R-碰撞" 以及"5R-碰撞"。
中國專利公開號CN1748385A,發(fā)明名稱為"加密方法"的專利申請針對于 上述問題公幵了一種"索引隨機數(shù)"的方案,該方案的基本思想是在所有 的65536個密鑰字節(jié)對中共有64767個密鑰字節(jié)對會引發(fā)"2R-碰撞",針對這 些密鑰字節(jié)對提出了一種生成每個密鑰字節(jié)對所對應的可能會引發(fā)"2R-碰 撞"的隨機數(shù)字節(jié)對(Challenge-Pairs)的算法,并按索引的方式寫入卡片 中一個專用的EF文件中,因此在SIM卡個人化過程中,在執(zhí)行鑒權命令時SIM 卡會先判斷所收到的隨機數(shù)(16字節(jié)的隨機數(shù)包含8個隨機數(shù)字節(jié)對)是否會 引發(fā)"2R-碰撞",如果會引發(fā)"碰撞"則返回錯誤的密文并重新進行鑒權, 否則進行正常的鑒權。但是使用該方法時,SIM卡可能會返回錯誤密文,需重 新進行鑒權,因此網絡負荷的增加及用戶能接受的出錯概率都會增加,并且 攻擊者可能直接利用"3R-碰撞"可以非常有效的實施克隆攻擊。
中國專利公開號CN1941775,發(fā)明名稱為"一種防止網絡消息攻擊的方法 及設備",該發(fā)明公開了一種根據(jù)入侵數(shù)據(jù)頻度判定是否為攻擊數(shù)據(jù)的方案, 有可能由于正常的數(shù)據(jù)頻度較大而被誤認為攻擊數(shù)據(jù),從而造成誤操作,而 且這種方式還只是用于網絡安全的檢測上,并沒有應用于SIM卡等智能卡安全 領域。
以弓I入方式將上述技術內容合并于本申請。
發(fā)明內容
本發(fā)明的目的在于提供一種攻擊檢測方法,用于解決現(xiàn)有技術中攻擊者 釆用選擇明文攻擊的方式獲得密鑰的不足。
本發(fā)明的另一目的在于提供一種攻擊檢測裝置,用于解決現(xiàn)有技術中對加密算法沒有防護的不足,對輸入數(shù)據(jù)進行分析,如果符合要求則可以加密
運算,否則直接丟棄攻擊數(shù)據(jù)。
為了實現(xiàn)上述目的,本發(fā)明實施例提供一種攻擊檢測方法,該方法包括, 接收一個明文,存儲該明文的至少部分明文,判斷所述被存儲的至少部
分明文與其它被存儲的至少部分明文相似的個數(shù)是否大于或者等于第一門限
值,如果大于或者等于則輸出當前明文具有攻擊模式的信號,否則輸出正常
信號;當下一個明文來到時重復上述步驟。
根據(jù)本發(fā)明所述的一種攻擊檢測方法的一個進一步的方面,所述明文包 括多位的字符串,所述相似包括,所述至少部分明文的多位相同。
根據(jù)本發(fā)明所述的一種攻擊檢測方法的再一個進一步的方面,所述至少 部分明文的多位相同包括,所述被存儲的至少部分明文中的至少兩個只有一 位不同或者完全相同。
根據(jù)本發(fā)明所述的一種攻擊檢測方法的另一個進一步的方面,隨機生成 一個隨機數(shù),當接收的明文個數(shù)超過所述隨機數(shù),則開始存儲該明文的至少 部分明文。
根據(jù)本發(fā)明所述的一種攻擊檢測方法的另一個進一步的方面,只存儲預 定個數(shù)的至少部分明文。
根據(jù)本發(fā)明所述的一種攻擊檢測方法的另一個進一步的方面,所述預定 個數(shù)為50。
根據(jù)本發(fā)明所述的一種攻擊檢測方法的另一個進一步的方面,所述存儲 至少部分明文包括,存儲該明文的前半部分或者后半部分。
根據(jù)本發(fā)明所述的一種攻擊檢測方法的另一個進一步的方面,輸出當前 明文具有攻擊模式的信號后還包括,啟動第二計數(shù)器記錄具有攻擊模式明文 的數(shù)量,如果所述第二計數(shù)器超過預設的第二門限值則丟棄所述接收到的明 文,否則輸出正常信號。
根據(jù)本發(fā)明所述的一種攻擊檢測方法的另一個進一步的方面,所述第二計數(shù)器超過預設的第二門限值后還包括,隨機生成一個隨機數(shù)作為所述明文 相對應的密文。
根據(jù)本發(fā)明所述的一種攻擊檢測方法的另一個進一步的方面,輸出正常 信號后還包括,利用密鑰運算得出所述明文相應的密文。
根據(jù)本發(fā)明所述的一種攻擊檢測方法的另一個進一步的方面,所述接收
的明文為鑒權中心發(fā)送的16字節(jié)的鑒權隨機數(shù),所述利用密鑰運算包括利用 密鑰進行Compl28-1算法得出密文。
根據(jù)本發(fā)明所述的一種攻擊檢測方法的另一個進一步的方面,在接收一 個明文之后還包括,啟動第一計數(shù)器記錄接收所有明文的數(shù)量,如果超過了 預設的第三門限值則丟棄所述接收到的明文,否則存儲該明文的至少部分明 文。
為了實現(xiàn)上述目的,本發(fā)明實施例還提供了一種攻擊檢測裝置,包括,
接收單元,判斷處理單元,存儲器;所述接收單元與所述判斷處理單元相連
接,所述判斷處理單元與所述存儲器相連接;所述接收單元用于接收明文;
所述存儲器用于存儲所述明文的至少一部分及第一門限值;所述判斷處理單
元,用于判斷所述被存儲的至少部分明文與其它被存儲的至少部分明文相似
的個數(shù)是否大于或者等于第一門限值,如果大于或者等于則輸出當前明文具
有攻擊模式的信號,否則輸出正常信號。
根據(jù)本發(fā)明所述的一種攻擊檢測裝置的一個進一步的方面,所述明文包
括多位的字符串,所述判斷處理單元判斷所述被存儲的至少部分明文的多位 是否相同,如果具有多位相同則判斷為相似的明文。
根據(jù)本發(fā)明所述的一種攻擊檢測裝置的再一個進一步的方面,還包括隨 機數(shù)單元和常規(guī)加密單元,所述隨機數(shù)單元和常規(guī)加密單元分別與所述判斷 處理單元相連接;所述隨機數(shù)單元接收所述判斷處理單元輸出的當前明文具 有攻擊模式的信號后,隨機生成密文作為所述明文相對應的密文;所述常規(guī) 加密單元用于利用內部密鑰和加密算法根據(jù)所述明文生成正確的密文。根據(jù)本發(fā)明所述的一種攻擊檢測裝置的另一個進一步的方面,還包括第 二計數(shù)器,與所述判斷處理單元相連接,用于記錄相似明文的數(shù)量,所述判 斷處理單元判斷所述第二計數(shù)器是否超過預設的第二門限值,如果超過所述 第二門限值則丟棄所述接收到的明文,否則輸出正常信號。
根據(jù)本發(fā)明所述的一種攻擊檢測裝置的另一個進一步的方面,還包括第 一計數(shù)器,與所述判斷處理單元相連接,用于記錄已經處理過的明文數(shù)量, 如果超過了預設的第三門限值則丟棄所述接收到的明文,否則存儲該明文的 至少部分明文。
本發(fā)明實施例的有益效果在于,能夠對選擇明文攻擊的明文數(shù)據(jù)進行分 析,并將可能具有攻擊模式的數(shù)據(jù)丟棄,防止內部加密算法被攻擊者以嘗試 的方式得出;并且通過存儲一部分明文,減小了對存儲器容量的要求,比較 分析明文每一位是否相同或不同時速度更快。
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部 分,并不構成對本發(fā)明的限定。在附圖中
圖1為現(xiàn)有的移動網絡利用SIM卡進行鑒權的數(shù)據(jù)流圖; 圖2為本發(fā)明流程圖3為本發(fā)明應用于GSM網絡中Compl28-l加密算法的攻擊檢測流程圖; 圖'4為本發(fā)明攻擊檢測裝置示意圖5為本發(fā)明攻擊檢測應用于無線通信系統(tǒng)的示意圖。-
具體實施例方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,下面結合實施方式 和附圖,對本發(fā)明做進一步詳細說明。在此,本發(fā)明的示意性實施方式及其 說明用于解釋本發(fā)明,但并不作為對本發(fā)明的限定。本發(fā)明實施例提供。以下結合附圖對本發(fā)明進行詳細說明。
如圖2所示為本發(fā)明流程圖,判斷接收到的明文是否是具有選擇明文攻 擊模式的數(shù)據(jù),包括以下步驟,步驟201,接收復數(shù)個明文,進行存儲。步驟 202,判斷所述明文中的至少兩個是否只有一位不同或者完全相同。步驟203, 如果上述判斷為否,則輸出沒有攻擊信號。步驟204,如果上述判斷為是,則 輸出受到攻擊的信號。
其中,步驟201中,接收復數(shù)個明文數(shù)據(jù),在本例中可以限定為接收50 個明文數(shù)據(jù),或者由系統(tǒng)隨機生成一個隨機數(shù),由該隨機數(shù)作為接收明文數(shù) 量的限值,作為優(yōu)選的實施例, 一般該隨機數(shù)小于或者等于100。
作為優(yōu)選的實施例,接收所述明文數(shù)據(jù)不是從所接收到的第一個明文數(shù) 據(jù)開始存儲的,根據(jù)預先設定的數(shù)字,當接收的明文數(shù)據(jù)的數(shù)量到達該預先 設定的數(shù)字時開始將接收到的明文數(shù)據(jù)存儲,該預先設定的數(shù)字可以為任意 整數(shù),優(yōu)選的,該預先設定的數(shù)字可以為系統(tǒng)隨機生成的隨機數(shù)。
作為優(yōu)選的實施例,在接收復數(shù)個明文數(shù)據(jù)后,為了減少對存儲器容量 的要求,可以只存儲明文數(shù)據(jù)的一部分,如果明文數(shù)據(jù)具有16個字節(jié)長度, 則可以只存儲該類明文數(shù)據(jù)的左半部分或者右半部分,即8個字節(jié)的數(shù)據(jù); 或者可以存儲該類明文數(shù)據(jù)的從左側開始順序的4個字節(jié)的數(shù)據(jù),或者右側 開始順序的4個字節(jié)的數(shù)據(jù)。本發(fā)明方法并不限制明文數(shù)據(jù)長度,并且也不 限制存儲的字節(jié)長度。
其中,步驟202中,可以將復數(shù)個被存儲的明文先轉換為二進制(如果 已經是二進制則可以省去本步驟),再判斷所有的二進制明文中的相似程度, 如果其中有兩個二進制明文只具有一位的不同,在本文中就稱為這兩個明文 相似,并且這種只具有一位不同的相似的二進制明文的數(shù)量超過一預設的第 一門限值,即,在復數(shù)個明文中,相似的明文數(shù)量超過第一門限值,則說明 可能有人正在進行選擇明文攻擊。
作為優(yōu)選的實施例,步驟202中,可以將復數(shù)個被存儲的明文先轉換為十六進制(如果已經是十六進制則可以省去本步驟),再判斷所有的十六進 制明文中的相似程度,如果十六進制明文只具有一位的不同,在本文中就稱 為這些明文相似,并且這種只具有一位不同的十六進制明文的數(shù)量超過預設 的第一門限值,即,在復數(shù)個明文中,相似的明文數(shù)量超過第一門限值,則 說明可能有人正在進行選擇明文攻擊。
作為優(yōu)選的實施例,還可以判斷在復數(shù)個被存儲的明文中是否具有多組 相同的明文,當相同的明文數(shù)量超過一預設的第一門限值,則該相同的數(shù)據(jù) 可能是攻擊者為了給加密設計人員判斷是否為攻擊明文數(shù)據(jù)增大難度的垃圾 明文數(shù)據(jù)。所述門限值可以是由系統(tǒng)隨機生成的,以增加攻擊者的明文嘗試
次數(shù)。優(yōu)選的所述門限值可以取2-IO的自然數(shù)。
以上并不限于二進制或者十六進制,本發(fā)明思想是根據(jù)明文的"位"來 判斷是否為攻擊數(shù)據(jù)。其他進制的明文也同樣根據(jù)以上原則來判斷。
下面以在GSM網絡中對SIM卡進行選擇明文攻擊作為實施例,對本發(fā)明
檢測攻擊的方法進行說明。
如圖3所示為本發(fā)明應用于GSM網絡中Compl28-1加密算法的攻擊檢測 流程圖。在所有步驟開始之前設定一個1000—2000之間的"預鎖定計數(shù)器" PreBlockCounter^在本例中,設置預鎖定計數(shù)器為記錄當前接收具有攻擊模 式的鑒權隨機數(shù)的數(shù)量,防止鑒權中心的設備故障造成的SIM卡鎖死。
并且創(chuàng)建一個Linear Fixed (線性定長)結構的EF文件EFrnd,該文件 具有50條記錄、每條記錄8個字節(jié)。
本實施例中的攻擊檢測方法具體包括步驟301,在SIM卡每次接收到鑒權 隨機數(shù)后(如圖1所示,但所述鑒權隨機數(shù)不一定是從鑒權中心發(fā)出,可能 是從攻擊者發(fā)出,并且本例中所述的鑒權隨機數(shù)就是上文所述的明文),在S 工M卡個人化流程中設定一個總的鑒權計數(shù)器AuthCounter和"鑒權鎖定標志 寄存器"AuthBlockFlag (初始化為"0"),如果SIM卡累計的鑒權計數(shù)器 達到一個預定的門限值(優(yōu)選的設定為100萬左右)后就不允許SIM卡再正確執(zhí)行"RunGSMAlgo"命令或SIM卡直接丟棄接收到的鑒權隨機數(shù),將Auth BlockFlag置為"1",并返回一個12字節(jié)隨機數(shù)作為"RunGSMAlgo"命令的 輸出結果,通常該返回結果包括SRES,其中RunGSMAlgo是SIM卡對接收到的
鑒權隨機數(shù)進行加密的指令。
步驟302,判斷AuthBlockFlag是否為O,如果不等于0則進入步驟208 進行處理,否則進入步驟303。
步驟303,在SIM卡個人化流程中設定一個隨機數(shù)作為存儲起始點,當S IM卡接收鑒權隨機數(shù)的數(shù)量達到這個存儲起始點之后,用一個新隨機數(shù)作為 下一個存儲起始點。如果沒有到達所述存儲起始點則進入步驟310進行處理, 否則進入步驟304進行處理。
步驟304,達到所述存儲起始點后,SIM卡COS (操作系統(tǒng))會在"RunG SMAlgo"命令流程中連續(xù)或隨機抽取若干組接收到的鑒權隨機數(shù),在本例中 為50組,將所述50組鑒權隨機數(shù)存儲到SIM卡的專用文件EFrnd中,每組 鑒權隨機數(shù)只存儲左半部分(或右半部分)的8個字節(jié)。
步驟305,隨機設定一個第一門限值k (2<= k <= 10),每存儲完一組 鑒權隨機數(shù)后就逐一比較EFrnd里的多組隨機數(shù)(最多為上述步驟304中所 述的50組),判斷這些鑒權隨機數(shù)里是否存在k組或k組以上具有7個字節(jié) 或8個字節(jié)相同數(shù)據(jù)的鑒權隨機數(shù),即判斷接收到的鑒權隨機數(shù)是否相似。 如果相似,S卩,有7個字節(jié)或者8個字節(jié)的鑒權隨機數(shù)相同,則進入步驟30 6進行處理,否則進入步驟310。
在這里如果在上一步驟304中只存儲了鑒權隨機數(shù)的左半部分(或右半 部分)的4個字節(jié),則判斷這些鑒權隨機數(shù)里是否存在k組或k組以上具有3 個字節(jié)或4個字節(jié)相同數(shù)據(jù)的鑒權隨機數(shù),即判斷接收到的鑒權隨機數(shù)是否 相似。
步驟306,啟動"預鎖定計數(shù)器"并發(fā)送信息給用戶提示"懷疑SIM卡受 到克隆攻擊請盡快與運營商聯(lián)系!"。啟動"預鎖定計數(shù)器"后每執(zhí)行一次"RimGSMAlgo"命令就會將該計數(shù)器的值減1并且停止存儲鑒權隨機數(shù)。
步驟307,判斷預鎖定計數(shù)器是否減為"0",如果判斷結果為是,則進 入步驟308;否則進入步驟310進行常規(guī)Compl28-1鑒權運算。
作為優(yōu)選的實施例,步驟307中也可以將預鎖定計數(shù)器加1,當超過預設 的門限值時則進入步驟308,否則進入步驟310。
步驟308,鎖定SIM卡,即將AuthBlockFlag設置為"1",不允許SIM 卡執(zhí)行"RimGSMAlgo"命令,如果在預鎖定計數(shù)器減為"0"之前用戶及時與 運營商聯(lián)系后,運營商可以將預鎖定計數(shù)器重置。在優(yōu)選的實施例中,由運 營商直接向SIM卡輸入重置信息,由SIM卡內部的程序自動重置,將預鎖定 計數(shù)器設置為"1000-2000"之間的一個數(shù)。
步驟309,隨機生成一個12個字節(jié)的偽密文,作為輸出結果。該輸出結 果中,包括隨機生成的8個字節(jié)的Kc和4個字節(jié)的SRES, Kc和SRES是用于 迷惑攻擊者的假密文,所以鑒權中心會再次發(fā)送鑒權隨機數(shù)進行鑒權,與此 同時鑒權計數(shù)器的值被累加1。
步驟310,利用Ki及Compl28-1算法進行常規(guī)的鑒權運算。 以下為本發(fā)明攻擊檢測方法實施例。
CBP (Challenge-Byte-Pair):鑒權隨機數(shù)字節(jié)對,每個鑒權隨機數(shù)包含 16個字節(jié)C[i],其中1=0,1,2,-,15,則每個CBP由C[j]、 C[j+8]組成,其中 每個C[i]為16進制。
KBP (Ki-Byte-Pair):鑒權密鑰字節(jié)對,每個鑒權密鑰Ki包含16個字節(jié) Ki[i],其中t0,1,2,…,15,則每個KBP由Ki[j]、 Ki[j+8]組成,其中每個 Ki[i]為16進制。
當移動終端開機需要進行鑒權,移動終端收到16字節(jié)隨機數(shù)(RAND)然 后用這個隨機數(shù)和Ki進行Comp128-1運算得到12字節(jié)輸出。
例如移動終端收到的隨機數(shù)分別為
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D3 4627 4C F3 87 AB 62 EC 31 A3 9C Bl 34 FE 39 01 46 時發(fā)現(xiàn)碰撞,其中"67 D3"和"EC 01"就是引發(fā)"3R-碰撞"的CBP,
由此可得到第7對KBP— "16 CF"。
移動終端收到隨機數(shù)后,判斷AiithBlockFlag是否等于O,在等于0的情況
下,從第l組隨機數(shù)開始存儲(假設從第l組開始存儲),存儲到SIM卡EFrnd
文件,例如連續(xù)收到如下10組
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D3 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D4 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D5 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D6 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D7 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D8 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 D9 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 DA 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 DB 46
27 4C F3 87 AB 62 67 31 A3 9C Bl 34 FE 39 DC 46
第一種情況連續(xù)存儲這10組隨機數(shù)的左半部分8字節(jié)到EFrnd文件里
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 31
27 4C F3 87 AB 62 67 3127 4C F3 87 AB 62 67 31
本例中假設門限值K二2,而且這10組隨機數(shù)記錄的8個字節(jié)都是相同的, 其相似程度超過門限值K,因此認為受到攻擊。
PreBlockCounter開始計數(shù),PreBlockCounter減l。 判斷PreBlockCounter是否等于O。 如果符合判斷條件則將AuthBlockFlag置為1 。
隨機生成一個12個字節(jié)的偽密文作為輸出,以迷惑攻擊者,利用該偽密 文SRES提交給鑒權中心進行鑒權認證就會出現(xiàn)鑒權失敗,所以鑒權中心會再 次發(fā)送鑒權隨機數(shù)進行鑒權,與此同時鑒權計數(shù)器的值被累加l。
輸出受到攻擊的提示。
第二種情況連續(xù)存儲這10組隨機數(shù)的左半部分4字節(jié)到EFrnd文件里
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
27 4C F3 87
本例中假設門限值&2,而且這10組隨機數(shù)記錄的8個字節(jié)都是相同的, 其相似程度超過門限值K,因此認為受到攻擊。
PreBlockCounter開始計數(shù),PreBlockCounter減l 。
判斷PreBlockCounter是否等于O。
如果符合判斷條件則將AuthBlockFlag置為l。隨機生成一個12個字節(jié)的偽密文作為輸出,以迷惑供給者,利用該偽密 文SRES提交給鑒權中心進行鑒權認證就會出現(xiàn)鑒權失敗,所以鑒權中心會再 次發(fā)送鑒權隨機數(shù)進行鑒權,與此同時鑒權計數(shù)器的值被累加l。
輸出受到攻擊的提示。
如圖4所示為本發(fā)明攻擊檢測裝置示意圖,包括接收單元401,判斷處理 單元402,存儲器403,隨機數(shù)單元404,常規(guī)加密單元405。在本例中所述 的鑒權隨機數(shù),對于其他應用實例中來說就是將要被加密的明文。
所述接收單元401與所述判斷處理單元402相連接,所述判斷處理單元4 02與所述存儲器403相連接,所述判斷處理單元402與所述隨機數(shù)單元404 相連接,所述判斷處理單元402與所述常規(guī)加密單元405相連接。
所述接收單元401用于接收鑒權中心或者攻擊者發(fā)送過來的鑒權隨機數(shù)。
所述判斷處理單元402用于對鑒權隨機數(shù)進行分析,判斷所述鑒權隨機 數(shù)是否相似。
所述存儲器403用于存儲鑒權隨機數(shù)和第一門限值,即K值,其中K為 大于等于2的正整數(shù),優(yōu)選的2〈=K〈=10。
所述隨機數(shù)單元404,在本例中用于隨機生成12字節(jié)的16進制的偽密文, 作為密文Kc,以迷惑攻擊者。
所述常規(guī)加密單元405,在本例中為Compl28-l加密算法利用鑒權隨機數(shù) 和密鑰Ki生成密文Kc。
所述接收單元401接收鑒權隨機數(shù),傳送給所述判斷處理單元402,判斷 處理單元402將復數(shù)個鑒權隨機數(shù)存儲于存儲器中,并對所述存儲器中的復 數(shù)個鑒權隨機數(shù)進行分析,如果復數(shù)個鑒權隨機數(shù)只有一個字節(jié)不同或者每 個字節(jié)都相同的個數(shù)超過所述第一門限值,則認為當前鑒權隨機數(shù)是相似的 的(即具有攻擊模式),則調用隨機數(shù)單元404生成12字節(jié)的偽密文,將該 密文作為輸入的鑒權隨機數(shù)的加密結果傳送出去。如果上述相似的鑒權隨機 數(shù)的數(shù)量少于所述第一門限值,則將該鑒權隨機數(shù)直接傳送給常規(guī)加密單元405計算出Kc。
還包括第一計數(shù)器406 (AuthCounter),與所述判斷處理單元402相連 接,用于累加記錄己經處理過的鑒權隨機數(shù)個數(shù)。
還包括第一標識單元407 (AuthBlockFlag),與所述判斷處理單元402 相連接,用于標識所述第一計數(shù)器406的數(shù)值是否大于預先設定的數(shù)值。
還包括第二計數(shù)器408 (PreBlockCounter),與所述判斷處理單元402 相連接,用于累加記錄相似鑒權隨機數(shù)的個數(shù)?;蛘邔⒌诙嫈?shù)器408預先 設定一個值,每次接收到相似鑒權隨機數(shù)時,將所述第二計數(shù)器408的數(shù)值 減1。
如圖5所示為本發(fā)明攻擊檢測應用于無線通信系統(tǒng)的示意圖,包括手機5 01,手機中的SIM卡502,基站503 (或其他中繼設備),鑒權中心504,攻 擊者讀卡設備505。正常情況下,由鑒權中心504通過基站503等中繼設備向 手機終端發(fā)送鑒權隨機數(shù),手機501接收到所述鑒權隨機數(shù)后傳送給內部SI M卡502,所述SIM卡502上具有如圖4所述的攻擊檢測裝置,用于攻擊檢測, 如果鑒權中心發(fā)送的鑒權隨機數(shù)也具有多位相似的情況,被誤認為具有攻擊 模式,則輸出字符提示,當鑒權中心發(fā)出的鑒權隨機數(shù)超過預設的PreBlock Counter (即第二計數(shù)器408)時,則鎖定該SIM卡502,用戶需要獲得電信 運營商的解鎖密碼或者其他解鎖手段才能重新激活所述SIM卡502。在非正常 情況下,所述SIM卡502被攻擊者單獨與讀卡設備505相連接,攻擊者通過 讀卡設備505向所述SIM卡502傳送大量相似鑒權隨機數(shù),以對密鑰Ki進行 明文攻擊,所述SIM卡502上的攻擊檢測裝置根據(jù)分析所述鑒權隨機數(shù)是否 具有多位相似來判斷目前接收的鑒權隨機數(shù)是否具有攻擊模式。如果具有攻 擊模式則輸出隨機生成的12字節(jié)Kc,和字符提示,如果具有攻擊模式的鑒權 隨機數(shù)超過預設的PreBlockCounter (即第二計數(shù)器408)時,則鎖定該S工M 卡502,用戶需要獲得電信運營商的解鎖密碼或者其他解鎖手段才能重新激活 所述SIM卡502。本發(fā)明的有益效果在于,能夠對選擇明文攻擊的明文數(shù)據(jù)進行分析,并 將可能具有攻擊模式的數(shù)據(jù)丟棄,防止內部加密算法被攻擊者以嘗試的方式 得出;并且通過存儲一部分明文,減小了對存儲器容量的要求,比較分析明
文每一位是否相同或不同時速度更快;并且隨機存儲接收到的明文,以防止
攻擊者特意輸入的一些混淆數(shù)據(jù)。
以上所述的具體實施方式
,對本發(fā)明的目的、技術方案和有益效果進行 了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施方式
而 已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內,所做 的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種攻擊檢測方法,其特征在于該方法包括,接收一個明文,存儲該明文的至少部分明文,判斷所述被存儲的至少部分明文與其它被存儲的至少部分明文相似的個數(shù)是否大于或者等于第一門限值,如果大于或者等于則輸出當前明文具有攻擊模式的信號,否則輸出正常信號;當下一個明文來到時重復上述步驟。
2. 根據(jù)權利要求1所述的一種攻擊檢測方法,其特征在于,所述明文包 括多位的字符串,所述相似包括,所述至少部分明文的多位相同。
3. 根據(jù)權利要求2所述的一種攻擊檢測方法,其特征在于,所述至少部 分明文的多位相同包括,所述被存儲的至少部分明文中的至少兩個只有一位 不同或者完全相同。
4. 根據(jù)權利要求1所述的一種攻擊檢測方法,其特征在于,隨機生成一個隨機數(shù),當接收的明文個數(shù)超過所述隨機數(shù),則開始存儲該明文的至少部 分明文。
5. 根據(jù)權利要求1或4所述的一種攻擊檢測方法,其特征在于,只存儲預定個數(shù)的至少部分明文。
6. 根據(jù)權利要求5所述的一種攻擊檢測方法,其特征在于,所述預定個 數(shù)為50。
7. 根據(jù)權利要求1所述的一種攻擊檢測方法,其特征在于,所述存儲至 少部分明文包括,存儲該明文的前半部分或者后半部分。
8. 根據(jù)權利要求1所述的一種攻擊檢測方法,其特征在于,輸出當前明 文具有攻擊模式的信號后還包括,啟動第二計數(shù)器記錄具有攻擊模式明文的 數(shù)量,如果所述第二計數(shù)器超過預設的第二門限值則丟棄所述接收到的明文, 否則輸出正常信號。
9. 根據(jù)權利要求8所述的一種攻擊檢測方法,其特征在于,所述第二計 數(shù)器超過預設的第二門限值后還包括,隨機生成一個隨機數(shù)作為所述明文相對應的密文。
10. 根據(jù)權利要求1或8所述的一種攻擊檢測方法,其特征在于,輸出 正常信號后還包括,利用密鑰運算得出所述明文相應的密文。
11. 根據(jù)權利要求10所述的一種攻擊檢測方法,其特征在于,所述接收 的明文為鑒權中心發(fā)送的16字節(jié)的鑒權隨機數(shù),所述利用密鑰運算包括利用 密鑰進行Compl28-1算法得出密文。
12. 根據(jù)權利要求1所述的一種攻擊檢測方法,其特征在于,在接收一 個明文之后還包括,啟動第一計數(shù)器記錄接收所有明文的數(shù)量,如果超過了 預設的第三門限值則丟棄所述接收到的明文,否則存儲該明文的至少部分明 文。
13. —種攻擊檢測裝置,其特征在于該裝置包括,接收單元,判斷處理 單元,存儲器;所述接收單元與所述判斷處理單元相連接,所述判斷處理單 元與所述存儲器相連接;所述接收單元用于接收明文;所述存儲器用于存儲 所述明文的至少一部分及第一門限值;所述判斷處理單元,用于判斷所述被 存儲的至少部分明文與其它被存儲的至少部分明文相似的個數(shù)是否大于或者 等于第一門限值,如果大于或者等于則輸出當前明文具有攻擊模式的信號, 否則輸出正常信號。
14. 根據(jù)權利要求13所述的一種攻擊檢測裝置,其特征在于,所述明文 包括多位的字符串,所述判斷處理單元判斷所述被存儲的至少部分明文的多 位是否相同,如果具有多位相同則判斷為相似的明文。
15. 根據(jù)權利要求14所述的一種攻擊檢測裝置,其特征在于,還包括隨 機數(shù)單元和常規(guī)加密單元,所述隨機數(shù)單元和常規(guī)加密單元分別與所述判斷 處理單元相連接;所述隨機數(shù)單元接收所述判斷處理單元輸出的當前明文具 有攻擊模式的信號后,隨機生成密文作為所述明文相對應的密文;所述常規(guī) 加密單元用于利用內部密鑰和加密算法根據(jù)所述明文生成正確的密文。
16. 根據(jù)權利要求13所述的一種攻擊檢測裝置,其特征在于,還包括第二計數(shù)器,與所述判斷處理單元相連接,用于記錄相似明文的數(shù)量,所述判 斷處理單元判斷所述第二計數(shù)器是否超過預設的第二門限值,如果超過所述 第二門限值則丟棄所述接收到的明文,否則輸出正常信號。
17.根據(jù)權利要求13所述的一種攻擊檢測裝置,其特征在于,還包括第 一計數(shù)器,與所述判斷處理單元相連接,用于記錄己經處理過的明文數(shù)量, 如果超過了預設的第三門限值則丟棄所述接收到的明文,否則存儲該明文的 至少部分明文。
全文摘要
本發(fā)明提供一種攻擊檢測方法及裝置。為了解決現(xiàn)有技術中對加密算法中密鑰的選擇明文攻擊,提出的一種攻擊檢測方法接收一個明文,存儲該明文的至少部分明文,判斷所述被存儲的至少部分明文與其它被存儲的至少部分明文相似的個數(shù)是否大于或者等于第一門限值,如果大于或者等于則輸出當前明文具有攻擊模式的信號,否則輸出正常信號;當下一個明文來到時重復上述步驟。本發(fā)明的有益效果在于,能夠對明顯的具有攻擊模式的輸入明文進行檢測,避免對密鑰的選擇明文攻擊。
文檔編號H04W12/00GK101588578SQ20081010904
公開日2009年11月25日 申請日期2008年5月23日 優(yōu)先權日2008年5月23日
發(fā)明者周源遠, 軍 李 申請人:捷德(中國)信息科技有限公司