專利名稱:在消息傳輸網(wǎng)內(nèi)鑒別智能卡的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在消息網(wǎng)內(nèi)鑒別智能卡的方法,最適合根據(jù)權(quán)利要求1的前序部分的GSM網(wǎng)。
在GSM網(wǎng)絡(luò)中,熟知的事實是為了使用智能卡(用戶標識模塊,SIM),用戶通常必須首先依靠個人識別號(PIN)將自己確認為合法的用戶。出于避免違章操作的目的,通常提供關(guān)于PIN輸入的差錯計數(shù)器,以防止在試錯超過最大容許次數(shù)之后再次使用該卡。
一種更好的與系統(tǒng)有關(guān)的安全措施是通過與移動網(wǎng)作比較來鑒別該卡。不可從外面訪問的密鑰以及同樣不能從外部訪問的算法存儲在該卡中。為了鑒別,由網(wǎng)絡(luò)或網(wǎng)絡(luò)部件產(chǎn)生一個隨機數(shù)并傳輸?shù)皆摽āH缓笤摽ǜ鶕?jù)該卡中現(xiàn)有的算法,從該隨機數(shù)和密鑰計算出一個要傳輸?shù)皆摼W(wǎng)絡(luò)的響應(yīng)。在該網(wǎng)絡(luò)中分析該響應(yīng),并且當結(jié)果是肯定的時候,允許訪問該網(wǎng)絡(luò)。相應(yīng)的程序在有關(guān)的GSM說明書中介紹。
如上所述地被保護的網(wǎng)絡(luò)牽涉這樣的危險針對用于鑒別的算法的攻擊,容許該網(wǎng)絡(luò)在一個計算機中,例如,通過諸如選擇將要根據(jù)標準化協(xié)議傳輸?shù)絊IM中的“隨機數(shù)”和據(jù)此確定該智能卡的密鑰,在幾次鑒別嘗試之后進行仿真。如果該卡的算法是已知的,則該卡的基本功能部分能夠在確定密鑰之后被仿真或復制。
因此本發(fā)明的問題是陳述用于在消息系統(tǒng)中鑒別智能卡的可靠方法,其中沒有任何關(guān)于預定的智能卡(subscribing smart card)的鑒別結(jié)果的確認,例如象在GSM中慣用的那樣。
根據(jù)本發(fā)明,從權(quán)利要求1的前序部分出發(fā),通過權(quán)利要求1的特征部分解決該問題。
本發(fā)明的優(yōu)選實施例陳述在獨立的權(quán)利要求中。
本發(fā)明準備通過從由網(wǎng)絡(luò)傳輸?shù)拿荑€和隨機數(shù)構(gòu)造至少兩個部分來構(gòu)造鑒別消息,被傳輸?shù)碾S機數(shù)的各部分之一和該密鑰的各部分之一或多個部分根據(jù)一或多步法,最好是對稱算法進行加密。為了輸出鑒別消息,將傳輸根據(jù)該鑒別算法運算的結(jié)果的可選部分到網(wǎng)絡(luò)。
本發(fā)明的一個優(yōu)選實施例是為了以同樣的方式產(chǎn)生信道編碼密鑰而準備的。在那里也假設(shè)例如,如果密鑰和隨機數(shù)被分成兩部分,則被傳輸?shù)碾S機數(shù)的第一或第二部分與利用一或多步算法的密鑰的第一和/或第二部分鏈接,以獲得信道編碼密鑰。在每種情況下,最好使用為了構(gòu)造鑒別消息和信道編碼密鑰而從網(wǎng)上獲得的隨機數(shù)的不同部分。
本發(fā)明的進一步優(yōu)選的實施例假設(shè)密鑰存儲在該卡中,并且由該網(wǎng)絡(luò)發(fā)送到該卡的隨機數(shù)被分成等長度的兩段。這允許在這兩種情況下使用同一算法。該隨機數(shù)或密鑰能夠通過直接“在中間”分開或通過建立疊加部分區(qū)域來拆分。還可以得到這樣的拆分它的各部分總和小于該隨機數(shù)或密鑰的位長度。根據(jù)進一步的變換,該隨機數(shù)或密鑰的已知位數(shù)能根據(jù)預定的方案或偽隨機地合并到一個密鑰或隨機數(shù)的部分中。
象本發(fā)明的進一步的優(yōu)選實施例那樣,可以使用DES算法作為鑒別和信道編碼的算法。
本發(fā)明的例一個有利的變形是為最好使用用于計算鑒別參數(shù)和信道編碼密鑰的一步IDEA算法而準備的。
還可以使用壓縮算法計算鑒別參數(shù)和信道編碼密鑰,這里的壓縮算法最好是輸出值的長度小于輸入?yún)?shù)長度的加密壓縮算法。
為了增強安全性,最好使用至少兩步的算法,因此認為三步DES算法是特別安全的。用該算法首先用該密鑰的第一部分以及該隨機數(shù)的一部分加密,然后用該密鑰的第二部分對該結(jié)果執(zhí)行解密,最后再利用該密鑰的第一部分進行進一步的計算。為了用該密鑰的第一部分作最后加密,可以方便地使用一個新的第三密鑰,特別在該密鑰拆分成三個密鑰部分時尤其如此。
本發(fā)明的進一步的優(yōu)選實施例導致如果隨機數(shù)的第一或第二部分的選擇交替地對鑒別和信道編碼的計算實行,則該交替隨機地或偽隨機地執(zhí)行,而且該選擇在該卡和該網(wǎng)絡(luò)中以同樣的方式實行。
以下將通過參考
圖1-3更詳細地描述本發(fā)明。
圖1表示在GSM網(wǎng)的SIM的加密操作的次序。
圖2表示三步DES加密的方框圖。
圖3表示密鑰和隨機數(shù)的拆分的例子。
圖1所述的次序假定了PIN的驗證的通常和前序處理已經(jīng)完成。因此,卡SIM所在的移動單元發(fā)送給網(wǎng)絡(luò)一條含有IMSI(國際移動用戶標識)信息或TMSI(臨時移動用戶標識)信息的消息。密鑰Ki根據(jù)已知的函數(shù)或一個表,從該網(wǎng)絡(luò)中的IMSI或TMSI確定。同樣的密要還存儲在該智能卡SIM的一個不可訪問的存儲空間中。密鑰是鑒別處理的后續(xù)驗證所要求的。
該網(wǎng)絡(luò)通過計算隨機數(shù)RAND并且經(jīng)由空氣界面(air interface)將其傳榆到智能卡SIM來初始化鑒別處理。
因此鑒別參數(shù)SRES按照鑒別算法,在該智能卡中根據(jù)密鑰Ki和隨機數(shù)RAND形成,所述參數(shù)經(jīng)由空氣界面依次傳輸?shù)皆摼W(wǎng)絡(luò)。根據(jù)本發(fā)明,至少兩個隨機數(shù)RAND1和隨機數(shù)RAND2是從隨機數(shù)RAND導出。隨機數(shù)RAND1和隨機數(shù)RAND2可以通過從隨機數(shù)RAND拆分或選擇或者一種算法得到。
在根據(jù)圖1的例子中,鑒別利用兩步算法進行。如圖1所示出的那樣,首先該隨機數(shù)的第一部分RAND1用已被拆分成兩部分的密鑰Ki的第一部分K1加密。然后所述的第一步的結(jié)果在第二步中用該密鑰的第二部分K2加密。為了用鑒別算法計算,當然也可以首先使用該隨機數(shù)的第二部分RAND2,并且改變使用第一和第二密鑰部分K1和K2的次序。
同時網(wǎng)絡(luò)中鑒別參數(shù)SRES′也以與在該卡中同樣的方式,依據(jù)鑒別算法、隨機數(shù)RAND(RAND1、RAND2)和密鑰Ki(K1、K2)形成。然后在該網(wǎng)絡(luò)中將參數(shù)SRES′與從該卡中得到的鑒別參數(shù)SRES比較。如果鑒別參數(shù)SRES′和SRES匹配,則鑒別處理順利結(jié)束。如果鑒別參數(shù)不匹配,則認為該用戶卡不合法。這里應(yīng)該注意到還能夠使用通過加密獲得的結(jié)果的僅僅一部分SRES和SRES′形成。
以與產(chǎn)生鑒別參數(shù)一樣的方式,在該卡和網(wǎng)絡(luò)中產(chǎn)生適合于數(shù)據(jù)的信道編碼和語音傳輸?shù)拿荑€Kc。最好將隨機數(shù)RAND未在鑒別中使用的那部分作為輸入?yún)?shù)。
圖2表示一個優(yōu)選的例子,通過利用鑒別算法和/或信道編碼的計算由三步DES算法執(zhí)行。根據(jù)該算法,隨機數(shù)RAND的部分RAND1或部分RAND2首先用第一密鑰部分K1加密。在下一步中,用K2實施解密。然后其結(jié)果再用K1或當該隨機數(shù)/密鑰拆分成多個部分時,用該密鑰的第三部分加密。信道編碼以同樣方式構(gòu)造。在每種情況下,在該網(wǎng)絡(luò)中使用相應(yīng)的算法。
不失一般性,假定根據(jù)圖1和2的描述的例子使用兩或三步的對稱加密算法。該由拆分隨機數(shù)和密鑰組成的發(fā)明構(gòu)思當然也可以用其它普通加密或算法實行。舉例來說,提及的算法不僅包括DES算法(A3;A8),還包括IDEA。被陳述的算法也可以在一步之中實現(xiàn),因此該密鑰和/或隨機數(shù)的不同部分最好為信道編碼密鑰Kc的鑒別和生成而產(chǎn)生。
圖3a到3e拆分密鑰Ki或隨機數(shù)RAND的各種方式的例子。
圖3a表示含有128位的密鑰Ki或隨機數(shù)RAND。
圖3b表示分成相等的兩部分K1和K2(RAND1、RAND2)的拆分,該拆分從中間分開而產(chǎn)生。部分1包含第1位至第64位,部分2包含第65位至第128位。圖3c表是一個重疊拆分,圖3d表是一個奇數(shù)位放到部分1而偶數(shù)位放到部分2的拆分。最后,圖3e表示部分1和2的位位置的總和小于原始密鑰或隨機數(shù)的位位置的拆分。
權(quán)利要求
1.用于在消息網(wǎng)絡(luò)、特別是GSM網(wǎng)中鑒別智能卡(SIM)的方法,其中算法和密鑰存儲在智能卡(SIM)中,由此,為了鑒別-該網(wǎng)絡(luò)或網(wǎng)絡(luò)部件首先傳輸隨機數(shù)(RAND)到該智能卡,-依靠該算法和密鑰(Ki),在該智能卡中產(chǎn)生響應(yīng)信號(SRES)并傳輸?shù)皆摼W(wǎng)絡(luò)或網(wǎng)絡(luò)部件,特征在于-為了構(gòu)造響應(yīng)參數(shù),該密鑰(Ki)和該隨機數(shù)(RAND)都拆分成至少兩部分(K1、K2;RAND1、RAND2),-借助于該密鑰(Ki)的一個或多個部分(K1、K2),根據(jù)一或多步法、特別是對稱算法加密被傳輸?shù)碾S機數(shù)(RAND)的部分(RAND1、RAND2)之一,以及-從加密結(jié)果選擇一個已知的位數(shù),并作為信號響應(yīng)(SRES)傳輸?shù)皆摼W(wǎng)絡(luò)。
2.根據(jù)權(quán)利要求1的方法,特征在于該密鑰(Ki)和/或隨機數(shù)(RAND)被拆分成兩部分。
3.根據(jù)權(quán)利要求1或2的方法,特征在于被傳輸?shù)碾S機數(shù)(RAND)的一部分和該密鑰(Ki)的一和/或多部分用于依靠一或多步算法計算信道編碼密鑰(Kc),至少該計算結(jié)果的一部分被作為該信道編碼密鑰使用。
4.根據(jù)權(quán)利要求1至3之一的方法,特征在于該密鑰(Ki)和隨機數(shù)(RAND)被拆分成等長度的兩部分(K1、K2/RAND1、RAND2)。
5.根據(jù)權(quán)利要求1至4之一的方法,特征在于使用DES算法計算鑒別參數(shù)(SRES、SRES′)和/或該信道編碼密鑰(Kc)。
6.根據(jù)權(quán)利要求1至4之一的方法,特征在于特別適合利用一步IDEA算法計算鑒別參數(shù)(SRES、SRES′)和/或該信道編碼密鑰(Kc)。
7.根據(jù)權(quán)利要求1至4之一的方法,特征在于利用其輸出值具有小于輸入?yún)?shù)長度的壓縮算法,計算鑒別參數(shù)(SRES、SRES′)和/或該信道編碼密鑰(Kc)。
8.根據(jù)權(quán)利要求1至7之一的方法,特征在于該計算在一個至少有兩步的算法中實現(xiàn)。
9.根據(jù)權(quán)利要求1至8之一的方法,特征在于使用三步DES算法作為加密算法,因而首先用該密鑰(Ki)的第一部分(K1)加密,然后用該密鑰(Ki)的第二部分(K2)加密,最后再用第一部分(K1)或該密鑰(Ki)的第三部分加密。
10.根據(jù)權(quán)利要求1至9之一的方法,特征在于在該卡和該網(wǎng)絡(luò)中,隨機數(shù)(RAND)的第一或第二部分的選擇以同樣的方式,按照隨機或偽隨機交替實施。
全文摘要
本發(fā)明涉及用于在用來傳輸消息網(wǎng)絡(luò)、特別是GSM網(wǎng)中鑒別芯片卡(SIM)的方法。根據(jù)所述方法,任選的加密算法和密鑰存儲在芯片卡(SIM)中。為了鑒別該卡,該網(wǎng)絡(luò)或網(wǎng)絡(luò)部件首先傳輸隨機數(shù)到該智能卡。然后使用該算法、隨機數(shù)和密鑰,在所述芯片卡中產(chǎn)生響應(yīng)信號,并傳輸?shù)胶藢χ悄芸ǖ恼鎸嵭缘木W(wǎng)絡(luò)或網(wǎng)絡(luò)部件。鑒別消息通過將由該網(wǎng)絡(luò)傳輸?shù)拿荑€和該隨機數(shù)拆分成至少兩部分來構(gòu)造。被傳輸?shù)碾S機數(shù)的一部分和該密鑰的一個或多個部分利用單步或多步法、最好是對稱算法編碼。為了發(fā)出鑒別響應(yīng),將該編碼程序的結(jié)果的可選擇的部分傳輸?shù)皆摼W(wǎng)絡(luò)。
文檔編號G07F7/10GK1299497SQ99805905
公開日2001年6月13日 申請日期1999年4月27日 優(yōu)先權(quán)日1998年5月7日
發(fā)明者克勞斯·維德 申請人:德國捷德有限公司