專利名稱:具有使用保密數(shù)據(jù)的可修改計數(shù)器的安全電子單元的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及的是使用保密數(shù)據(jù)的可修改計數(shù)器的一種安全電子單元。
本發(fā)明屬于如微電路卡那樣的電子單元使用安全領(lǐng)域,然而,適用于各類安全保護的電子單元。
上面所述的安全保護電子單元例如可以是安全微電路卡,例如,銀行卡,進入監(jiān)控卡、識別卡、SIM卡(用戶識別模塊,英語為Subscriber Identification Module)或者是安全保護的存儲卡(例如SD卡,Panasonic的“Secured Digital”),也可以是安全保護的PCMCIA卡(個人計算機內(nèi)存卡國際協(xié)會,英語為“Personal Computer Memoryeard International Architecture”,例如IBM4758卡)。所述的安全電子單元還可以是一種安全電子護照,就是說,是一種通常的紙介質(zhì)形成的護照,但其中的某一頁上加插有一個含有護照安全裝置的無接觸微電路。
本發(fā)明在于防止偷取安全電子單元中所含的保密數(shù)據(jù),例如密鑰或者證書,以對安全電子單元進行安全保護。
有多種形式的攻擊能夠偷取存儲在安全電子單元的存儲器中的保密數(shù)據(jù),例如可以舉出各種DPA攻擊(微分功率分析,英語為“Differential power Analysis”)和EMA(電磁分析,英語為“ElectroMagnetic Analysis”)。
為了實施這些攻擊,偷密者通常是重復(fù)向其攻擊的安全電子單元發(fā)送命令,使其使用其中的保密數(shù)據(jù)進行一種算法,典型的是一種驗證算法。
大多數(shù)攻擊在能夠解讀保密數(shù)據(jù)之前需要上萬次驗證,比如100000多次的驗證。
在微電路卡方面,偷取保密數(shù)據(jù)的存取可以對一個微電路卡進行“克隆”,這種對微電路卡的克隆在于偷取記錄于原始微電路卡的存儲器中的保密信息,然后將這保密信息拷貝在一個(或多個)次級微電路卡上,最終偷盜使用,而使原卡的持有人一無所知。
這就對各種類型的安全電子單元指出了嚴(yán)重的安全問題,例如銀行卡、特別是在這個方向要求高的用于移動無線通信的各種微電路卡,或者是各種安全電子護照(存取保密數(shù)據(jù)就可以制造假護照)。
為了阻止偷取一個電子單元中的保密數(shù)據(jù),技術(shù)人員通常使用一個計數(shù)器來計數(shù)并限制這個保密數(shù)據(jù)使用的次數(shù)。例如文獻(xiàn)DE-A-19818998和WO-A-9956253提出了這種限制。在微電路卡方面,如文獻(xiàn)DE-A 198 18 998所批露的那樣,其解決辦法是對驗證的次數(shù)確定一個限值,這個限值或是大于這個卡的全部壽命中所執(zhí)行的預(yù)定的驗證次數(shù),或是小于為偷取這個卡的密鑰所需的驗證次數(shù)。
因此要將驗證的次數(shù)限制在幾萬,以避免使一個攻擊能夠?qū)崿F(xiàn)發(fā)現(xiàn)密鑰所需的驗證次數(shù)。對于一種遵守GSM規(guī)范的SIM型移動無線通信微電路卡,其每次呼叫的開始例如都需要一次驗證,可將其驗證的次數(shù)限定在54720,這大約為五年內(nèi)每天呼叫大約三十次。
然而,已經(jīng)出現(xiàn)新類型的攻擊,特別是各種DFA攻擊(微分錯誤分析,英語為Differential Fault Analysis),這種攻擊獲取安全保護數(shù)據(jù)所用的次數(shù)遠(yuǎn)遠(yuǎn)小于這個保密數(shù)據(jù)的使用次數(shù),對于某些算法小于十幾次,有時只需2或3次驗證,對于其它的更為可靠的算法也低于百次。
同時,對于用于移動通信的微電路卡,特別是各種SIM卡,某些操作者使用一種GSM標(biāo)準(zhǔn)中的名為COMP128的算法,其中有兩個版本COMP128-1,COMP128-2,這種算法以其安全性特別低而知名。進行幾千次驗證,經(jīng)常小于5000次或10000次驗證,如能花費幾個小時的攻擊,就能偷取記錄于卡中的保密密鑰。
對于一個操作者的SIM移動通信微電路卡來說,這個問題是相當(dāng)嚴(yán)重的。例如歐洲遵守GSM標(biāo)準(zhǔn),這樣的偷取攻擊通常是能夠在將卡賣給顧客之前實現(xiàn)的。偷取者可以向別的操作者,例如亞洲人提供他無償使用的克隆卡,這個操作者就授權(quán)按照GSM標(biāo)準(zhǔn)中稱為漫游(英語為“roaming”)的方式進行通信。按照這種漫游方法,亞洲的操作者允許檢驗歐洲操作者卡的人在其復(fù)蓋的區(qū)域內(nèi)打電話,通過和歐洲操作者的協(xié)作,檢驗歐洲操作者在卡中驗證所用的密鑰。這種漫游方法一般并不使亞洲操作者立即達(dá)到歐洲操作者的通信的金額,或者檢驗預(yù)付卡的情況下相應(yīng)帳目中還有的余額,因而這個偷取者在一段時間內(nèi)不會被發(fā)現(xiàn)。
這樣,對于COM128算法,為偷取密鑰只需5000或10000次的偷取驗證,偷取密鑰所需要的驗證數(shù)目完全低于這個卡的壽命中預(yù)定要實現(xiàn)的驗證數(shù)目。在這種情況下,不可能為驗證的次數(shù)設(shè)定一個限值,即使其高于卡的全部壽命中執(zhí)行驗證的預(yù)定數(shù)目,但又低于偷取其中的密鑰所需的驗證的數(shù)目。這就一定是要么選擇一個限值低于卡的整個壽命內(nèi)預(yù)定要實現(xiàn)的驗證數(shù)目,例如5000次的驗證,這就擔(dān)心一個卡不是因為遭遇攻擊而不再能自我驗證;要么選取一個限值高于偷取密鑰所需的驗證數(shù)目,例如6000次驗證,而在此情況下,保密數(shù)據(jù)的安全就得不到保證。
當(dāng)根據(jù)應(yīng)用,希望抗擊只需幾十次驗證的DFA攻擊的情況下,其局面就更為嚴(yán)重。
有一種辦法可以是對驗證次數(shù)選取一個中間限值,超過這個數(shù)值,這個卡就會向操作者發(fā)送一個信號,使之改為一個新保密數(shù)據(jù)。將這個中間限值定得較現(xiàn)在的技術(shù)人員認(rèn)為的值還要低,例如1000次驗證。而這另一方面操作人員必須檢驗這個卡沒有向他發(fā)送信號,以便異常頻繁更換新的保密數(shù)據(jù)的信號,這將是微電路卡遭到攻擊的標(biāo)志。
然而,這種方法是既花錢又復(fù)雜,特別是這要涉及到密鑰修改的管理,例如在一個無線通信網(wǎng)絡(luò)中特別要在網(wǎng)絡(luò)中不同組成元件間同步的問題,因為要將新的密鑰同時向網(wǎng)絡(luò)中的所有成員發(fā)布其在微電路卡中修改。
發(fā)明內(nèi)容
本發(fā)明的目的在于使用一種簡單的方法消除前面舉出的弊端。
為此,本發(fā)明提出一種安全電子單元,其中有一個模塊用于存儲使用該電子單元存儲的保密數(shù)據(jù)的最大授權(quán)次數(shù),值得注意的是其中還包括一個模塊,用于在這個電子組使用之后根據(jù)接收到預(yù)定的操作修改最大次數(shù)。這個電子單元還有一個命令接收模塊,適于檢驗來自授權(quán)第三者的命令。
這樣,在使用這個安全電子單元的時候,例如當(dāng)這個安全的電子單元是一個微電路卡并在將這個卡個人化時,將一個計數(shù)器初始化在一個給定的驗證次數(shù)上,例如1000,然后每次使用保密數(shù)據(jù)都減少這個數(shù)值。當(dāng)這個計數(shù)器的值到達(dá)零時,則這個安全電子單元便可以禁止保密數(shù)據(jù)的新的使用。授權(quán)使用最大數(shù)目的修改或更新可以是對這個計數(shù)器重新初始化,例如重新賦予的值為1000或2000。
也可以使用一個計數(shù)器,在安全電子單元開始使用時將它的值初始化為零,然后保密數(shù)據(jù)的每次使用都使計數(shù)器的值增加,當(dāng)計數(shù)器達(dá)到存儲在這個安全電子單元里一個最大值時,例如1000,這個卡便能禁止對其中的保密數(shù)據(jù)的新的使用。授權(quán)使用最大數(shù)目的修改或更新可以是對這個計數(shù)器重新初始化,賦予值0或修改最大值,例如為2000。
修改最大值還可能是考慮修改前保留的授權(quán)驗證最大數(shù)目。可以例如在上述最大值上,例如修改前等于500,加上修改命令中已知的一個增量,例如10000。
上面所述的接收命令模塊可使用的機制對下述的情況是不可能的-非授權(quán)第三者截獲的命令的拒絕;-非授權(quán)第三者對一個命令的修改;以及-非授權(quán)第三者所發(fā)射的一個命令的執(zhí)行。
典型的講,在這種安全電子單元中的這種安全命令接收模塊是由一個為這作用而開發(fā)出來的一種應(yīng)用,利用一個密鑰、多種密碼術(shù)算法(DES、AES、RSA非限制性例子),以及多種散列函數(shù)(MD5或SHA1,非限制性例子)。在微電路卡這種特殊的情況下,其接收模塊和修改模塊可以是用一種存儲在這個卡中的應(yīng)用來實施的,而且可以是用和ISO7816標(biāo)準(zhǔn)相適應(yīng)的方式向這個卡發(fā)送APDV命令來執(zhí)行的。在微電路卡帶有一個Java虛擬機的情況下,接收模塊和修改模塊由一個java小應(yīng)用程序構(gòu)成,同樣可以利用向這個卡發(fā)送一個APDU命令來執(zhí)行。
于是,按照本發(fā)明,不需改變保密數(shù)據(jù),可以簡單地更新授權(quán)的驗證的最大次數(shù),只要在適當(dāng)?shù)臅r間進行更新,就可以阻止使用足夠驗證次數(shù)偷取保密數(shù)據(jù)的攻擊。
在用于移動通信的微電路卡領(lǐng)域,操作者可以在卡售出之時起,就是說在他接收到銷售人員發(fā)出的有關(guān)卡持有人的所有的蹤跡(coordonnée)起,每隔一段時間修改一次授權(quán)驗證的最大數(shù)目??梢詫⑦@個卡的驗證次數(shù)初始化為某一個數(shù)目,以能在持有人正常的幾天中使用,這就使操作者接收到它的蹤跡。這樣,可在對卡個人化的時候?qū)⑹跈?quán)驗證最大次數(shù)初始化為200次驗證,讓持有人能在一個星期中進行通信,在操作者接收到持有人的蹤跡時便每隔一定時間賦給授權(quán)驗證的最大數(shù)目,所給的數(shù)值例如大于這個微電路卡的整個壽命中預(yù)定的驗證的次數(shù)。這樣就完全避免了這個卡在售給持有人之前就被克隆的危險。
作為變種,移動通信的操作者可以分階段地逐步對保密數(shù)據(jù)使用的授權(quán)最大次數(shù)進行修改,隨著SIM卡的持有人的信譽的逐步得到證實而給他的次數(shù)的數(shù)值逐漸加大,例如在幾個月的使用中這個持有人在付費方法沒有任何意外。
操作者還可以估計持卡人根據(jù)其耗費來實施的驗證次數(shù),當(dāng)持卡人估計他的微電路卡的授權(quán)驗證數(shù)目接近用完時便更新一次最大驗證次數(shù)。
操作者還可以用定期的方式賦予授權(quán)的驗證最大次數(shù),例如每六個月一次,使用修改模塊授權(quán)最大驗證數(shù)為5000。
方便的是使保密數(shù)據(jù)的授權(quán)使用的最大數(shù)目小于這個電子單元的整個壽命中預(yù)計的使用數(shù)目。
這樣就可以將保密數(shù)據(jù)使用的最大次數(shù)限制在一個足夠低的數(shù)目,使得任何類型的攻擊都不能實施,例如實施DFA型攻擊,亦或根據(jù)COMP128算法。修改模塊在選定的時間實施對最大次數(shù)的修改使這個卡在不遭到攻擊時永遠(yuǎn)不能達(dá)到這個限定的最大次數(shù)。
根據(jù)方便的但非限制性的方法,保密數(shù)據(jù)的使用在于對安全電子單元的驗證操作。實際上,現(xiàn)行的大多數(shù)安全通信系統(tǒng)都是建立在對安全電子單元中存儲的密鑰的驗證上面,這可以是經(jīng)典的驗證模式,例如“詢問-應(yīng)答”模式(英語為“challenge-response”)。在這種模式中,服務(wù)器向安全電子單元發(fā)送一個隨機數(shù),后者運用密碼算法和其中的密鑰獲得一個數(shù)并將這個數(shù)返回,所述的密碼術(shù)算法例如可以是如AES、DES、RSA密碼術(shù)算法中的某一種,也可以是無線通信操作者所用的算法,例如稱為COMP128-1,COMP128-2,COMP128-3的用GSM標(biāo)準(zhǔn)所定義的算法,也可以是稱為“milenage的用UMTS標(biāo)準(zhǔn)定義的算法,也可以是用CDMA標(biāo)準(zhǔn)定義的稱為“cave”的算法。在無線通信領(lǐng)域,微電路卡就是這樣在通信網(wǎng)絡(luò)中被驗證的。
在別的實施方式中,使用所述的數(shù)據(jù)在于加密、解密或簽名等操作。
方便地說,授權(quán)使用的最大次數(shù)的值在1到15000之間,這個數(shù)值可以是在安全電子單元開始使用時賦予的,或如果這個安全電子單元是一個微電路卡時在個人化之后,或是在授權(quán)驗證最大數(shù)目的初始化的過程中賦予的。這樣可以保護防止對安全水平比較低的算法的各種攻擊,例如根據(jù)GSM標(biāo)準(zhǔn)定義的COMP128算法,需要上萬次驗證,可以通過一次偷取攻擊而獲得密鑰。
方便地說,授權(quán)使用的最大次數(shù)的值在1到500之間。這個數(shù)值同樣可以是在安全電子單元開始服務(wù)時賦予,如果這個安全電子單元是一個微電路卡時也可以在將這個卡個人化時賦予,也可以是在個人化后對最大次數(shù)初始化期間賦予。這樣就可以在遭遇只需相對很少的驗證次數(shù)就能偷取安全電子單元保密數(shù)據(jù)的DFA攻擊時得到保護。這樣的攻擊在事實上就不能在直到下一次修改授權(quán)的最大使用次數(shù)之前實現(xiàn)獲取這個保密數(shù)據(jù)所需要的這個保密數(shù)據(jù)的使用次數(shù)。
例如,如果微電路卡為一銀行卡,所用的驗證模式是建立在AES密碼術(shù)算法上的,可以在將這個卡個人化時把驗證的最大次數(shù)確定為30,存儲于這個銀行卡的EEPROM存儲器中。如果驗證的模式是建立在DES算法上,則可以將驗證的最大次數(shù)確定為5,因為這種算法抗DFA攻擊的能力要低得多。如果所用密碼術(shù)算法的抗攻擊能力極端地弱,則可設(shè)想將授權(quán)的最大驗證次數(shù)確定在同樣低的數(shù)值1。在這種極端情況下,在每次驗證后就都要重新賦予一次使用次數(shù)。
方便地說,所述的電子單元包括一些裝置,當(dāng)授權(quán)的最大使用數(shù)低于一個給定的閾值時便向例如服務(wù)器目的地發(fā)送一個修改授權(quán)的最大使用數(shù)目的請求。典型的這些裝置是在電子單元中的ROM或EEPROM存儲的應(yīng)用。所述的請求例如是以一種SMS形式(短信服務(wù),英語是“short message service”)發(fā)送,其中含有一個安全消息。
服務(wù)器在接收到這個請求,檢驗出這個要求在沒有對卡進行攻擊的情況下是可接受的之后,便向這個電子單元發(fā)送前面講到的預(yù)定的命令,修改最大次數(shù)的值,以使電子單元能繼續(xù)運行。這樣就完全避免了安全電子單元在授權(quán)使用的最大次數(shù)到0的時候而可能出現(xiàn)的阻斷。
在本發(fā)明的一種實施方式中,安全的電子單元是一個微電路卡,而修改模塊是這個卡被個人化之后開始使用的。實際上這種類型的電子單元特別適于本發(fā)明。各種類型的微電路卡在各種安全應(yīng)用方面(銀行的、無線通信、識別,......)有非常廣泛的應(yīng)用,且具有便攜性(將之放在錢包內(nèi),可能被偷和遭受攻擊),應(yīng)該特別對偷取存于其存儲器中的保密數(shù)據(jù)的攻擊進行防護。在微電路卡的情況下,亦有可能在個人化之后對最大的驗證次數(shù)進行修改以改善其安全性能。
在第一種實施例中,所述的微電路卡是在移動通信網(wǎng)中的一種用戶識別卡,啟動修改最大驗證次數(shù)的命令可以是在根據(jù)SMS協(xié)議接收的,所述的SMS協(xié)議可以是根據(jù)SMS標(biāo)準(zhǔn)或是MMS標(biāo)準(zhǔn)(多媒體消息傳送服務(wù),英語為“Multimedia messaging service”),例如通過與GSM標(biāo)準(zhǔn)相適應(yīng)的一個命令包絡(luò)。這樣就能夠由移動通信操作者通過它的網(wǎng)絡(luò)非常簡單地就對持有人的識別卡的授權(quán)的最大驗證次數(shù)進行初始化。當(dāng)然,對于其它實施方式,這種命令可以是由接收模塊通過有線網(wǎng)絡(luò)或是局域網(wǎng)接收到的。在移動通信網(wǎng)絡(luò)中的一個用戶識別卡可以是一種根據(jù)GSM標(biāo)準(zhǔn)的SIM卡,也可以是依據(jù)各種標(biāo)準(zhǔn),如CDMA、TDMA、UMTS的卡。
為了攻擊這樣的系統(tǒng),一個攻擊者可以觀察等待下一次對授權(quán)的使用最大次數(shù)的修改,或他需要的修改,以期保密數(shù)據(jù)使用的數(shù)目使他能夠偷取這個保密數(shù)據(jù)。如果授權(quán)的使用的最大次數(shù)是以一個隨機的和保密的值修改的,則使實現(xiàn)這樣的攻擊相當(dāng)困難。例如在10、100、500、1000、2000和5000這些數(shù)字中抽取某一個數(shù)值,為獲取這個保密數(shù)據(jù)所需的這個保密數(shù)據(jù)的使用次數(shù)為10000。
為了使得這種方法有效,在我們的10、100、500、1000、2000和5000這個例子中所選取的隨機數(shù)應(yīng)該是保密的,就是說這不能為攻擊者知道。為此賦予授權(quán)使用最大次數(shù)的值可以是加密的。如果對保密數(shù)據(jù)使用的授權(quán)最大次數(shù)的修改的命令是加密的,自然賦予授權(quán)使用最大次數(shù)的值也是加密的。這個隨機數(shù)值也可以是由微電路卡來選擇。顯然在向這個微電路卡賦予隨機數(shù)值運行時便實現(xiàn)了對授權(quán)的使用最大次數(shù)的后面的修改。例如可以設(shè)想,在安全電子單元是一個SIM卡的情況下,假如選取的隨機數(shù)為100,并且預(yù)計用戶每天使用30次驗證,下一次對使用最大值的修改是在3天以后。
方便地說,一個無線通信操作者的用戶微電路卡,在授權(quán)的保密數(shù)據(jù)的使用數(shù)低于一個給定的閾值時,例如是將驗證的次數(shù)的最低閾值定為50,則例如用SMS形式的信息向這個操作者發(fā)送修改授權(quán)使用最大次數(shù)的請求。
當(dāng)所述的操作者接收到這個請求的時候,他可以檢驗這個請求并非是由一個攻擊發(fā)動的。例如他檢驗這個請求并非是這個卡剛剛發(fā)送的,或者通過這個卡所實現(xiàn)的驗證的演化來檢驗這個請求的相關(guān)性(例如以費率單位察看這個持有人的消費)。按照這種方法,僅當(dāng)需要修改授權(quán)的最大使用次數(shù)時才進行這個修改,這樣就減少了SMS發(fā)送的次數(shù),從而可以減少修改的總的費用。
在這種實施方式中,上述的閾值可以方便地由微電路卡隨機生成。在相反的情況下,一個攻擊就可以檢測一個這樣的修改請求的發(fā)送,并且推導(dǎo)剩余的授權(quán)的驗證次數(shù)。
當(dāng)然,在無線通信領(lǐng)域,授權(quán)的使用最大次數(shù)不需要由操作者來實現(xiàn),例如可以是由一個服務(wù)供應(yīng)商來實現(xiàn),在這種情況下,這個供應(yīng)商應(yīng)該擁有用來發(fā)送修改安全命令的密鑰。
在后面給出的示例性的但非限制性的特別的實施例的詳細(xì)描述中,可以看出本發(fā)明的別的觀念和利益。在后面的描述中參考的附圖如下圖1用示意性方式示出一個根據(jù)本發(fā)明的安全電子單元,在一個特別的實施方式中這個電子單元是關(guān)于微電路卡的;而圖2用示意性方式示出圖1所示類型的電子單元根據(jù)本發(fā)明的接收的修改授權(quán)的驗證最大次數(shù)的命令。
具體實施例方式
在圖1所示的這種實施方式中,根據(jù)本發(fā)明的安全電子單元是一個微電路卡10,其中有一個中央處理單元CPU(美語為“CentralProcessing Unit”)和一個密碼單元13,按照傳統(tǒng)的方式一個RAM存儲器、一個EEPROM存儲器、一個ROM存儲器和一個輸入/輸出端口與它們相連接。
在這個非限制性的例子中,涉及到一個根據(jù)GSM標(biāo)準(zhǔn)的SIM卡。EEPROM存儲器中有一個用專用于每個卡的密鑰CLE1根據(jù)ISO7816標(biāo)準(zhǔn)加以安全保護的文件FICH1,文件FICH1中有一個記錄器(enregistrement)16,存儲著授權(quán)使用的最大次數(shù),這里是卡的驗證操作。
每進行一次驗證,這個卡的操作系統(tǒng)(存儲于ROM)就將上述的記錄器16遞減。自從這個記錄器所存的數(shù)目為零,這個操作系統(tǒng)就禁止新的驗證。在制造商將這個卡個人化時,便將這個記錄器初始化為200。存儲器EEPROM還存儲一個修改授權(quán)的驗證最大次數(shù)的接收命令的計數(shù)器CPT1。
根據(jù)本發(fā)明,所述的操作系統(tǒng)還在ROM存儲器中包括一個應(yīng)用17,用于接收并執(zhí)行修改授權(quán)的驗證最大次數(shù)的命令。應(yīng)用17可以根據(jù)GSM標(biāo)準(zhǔn)為SMS協(xié)議的命令包絡(luò)激活。
所述的應(yīng)用17例如還可以在授權(quán)的最大驗證數(shù)目低于一個確定的閾值時向服務(wù)器發(fā)送一個修改這個數(shù)目的請求。作為變種,所述的操作系統(tǒng)還可以包含一個不同于應(yīng)用17的另一個應(yīng)用,該另一個應(yīng)用專門用于向服務(wù)器發(fā)送修改授權(quán)驗證最大次數(shù)的請求。
接收的所述的命令包絡(luò)可以包含有如圖2所示的CMD數(shù)據(jù),這些CMD數(shù)據(jù)為應(yīng)用17所接收,其中有-授權(quán)驗證最大次數(shù)的新值V,-一個修改的數(shù)目CPTO,能夠禁止拒絕非授權(quán)的第三者截取的命令,以及-密鑰CLE1。
所有的這些數(shù)據(jù)是用密鑰CLE2加密的。這些密鑰是每個卡所特有的,存儲在這個微電路卡的EEPROM存儲器中(見圖1)。
移動通信的操作者接收到一個持有卡10的新的持有人的信息,通常的檢驗之后,就是說在協(xié)議生效之后,便向這個卡10發(fā)送一個SMS信息,其中含有CMD數(shù)據(jù),將應(yīng)用17激活,賦予V一個值,這個值等于這個卡在整個壽命中預(yù)計要驗證的次數(shù),例如60000。
在操作者那邊(圖中沒有畫出),操作者保持一個修改信息計數(shù)器,每發(fā)送一次授權(quán)的最大驗證次數(shù)的修改信息,這個計數(shù)器都遞增。用發(fā)送SMS在CPT0記錄器中對操作者的計數(shù)器賦值,操作者還向他所制造的每一個卡存儲密鑰CLE1和CLE2。
所述的卡10在接收到這個SMS信息時,便啟動應(yīng)用17用密鑰CLE2將CMD信息解密,并將記錄器CPTO的值和存于EEPROM的CPTI的記錄值比較。如果存儲在CPTO的值大于存儲在CPTI的值,則這個信息并非是一個拒絕,且操作系統(tǒng)將CPTO的值賦予記錄器CPTI,然后使用密鑰CLE1打開文件FICH1,并將V的值賦予記錄器16,在我們的例子中,此值為60000。
對用來打開文件FICH1的密鑰CLE1的檢驗?zāi)軌驒z驗所發(fā)信息的真實性,就是說能夠檢驗出SMS是否為非授權(quán)的第三者所發(fā)送或修改。事實上,攻擊者不使用密鑰CLE1就發(fā)送一個任意的CMD信息,他希望非常幸運,解密V的值很大,例如為200000,這就能使他實現(xiàn)多次數(shù)的驗證。作為變種,可以不使用密鑰CLE1,而信息CMD中含有一個根據(jù)散列函數(shù)和加密函數(shù)而得到的簽名,以對上述的消息進行證實。
這樣操作者就完全避免了在將卡售給用戶之前和移動通信操作者使協(xié)議生效之前就實現(xiàn)的克隆。
作為變種,所述的命令包可以為一個文件FICH1選擇命令所取代,這個選擇命令即為跟隨在記錄器16的修改命令后面的根據(jù)ISO7816標(biāo)準(zhǔn)的SELECT命令,亦即在ISO7816標(biāo)準(zhǔn)中的UPDATERECORD命令。SMS可以簡單地根據(jù)GSM03.48加密。
權(quán)利要求
1.一種安全電子單元,包括用于存儲允許使用由所述的安全電子單元存儲的保密數(shù)據(jù)的最大次數(shù)的裝置(16),其特征在于安全電子單元還包括用于在這個電子單元投入使用之后根據(jù)接收到的預(yù)定命令(CMD)修改所述的最大次數(shù)的裝置,所述電子單元包括所述命令的接收裝置(17),這些接收裝置適于檢驗所述命令是否來自經(jīng)授權(quán)的第三方。
2.根據(jù)權(quán)利要求1所述的安全電子單元,其特征在于所述的最大次數(shù)小于在所述電子單元的整個壽命中預(yù)計使用的次數(shù)。
3.根據(jù)權(quán)利要求1或2所述的安全電子單元,其特征在于所述的保密數(shù)據(jù)的使用是所述的安全電子單元的驗證操作。
4.根據(jù)權(quán)利要求1、2或3所述的安全電子單元,其特征在于所述的最大次數(shù)的值是在1到15000之間。
5.根據(jù)上述權(quán)利要求中任一項所述的安全電子單元,其特征在于所述的最大次數(shù)的值是在1到500之間。
6.根據(jù)上述權(quán)利要求中任一項所述的安全電子單元,其特征在于包括裝置(17),適于在所述的最大次數(shù)低于一個預(yù)定閾值時,發(fā)送對所述最大次數(shù)進行修改的請求。
7.根據(jù)上述權(quán)利要求中任一項所述的安全電子單元,其特征在于所述的電子單元是一微電路卡,修改裝置是在將該卡個人化之后使用的。
8.根據(jù)權(quán)利要求7所述的安全電子單元,其特征在于所述微電路卡是移動無線通信網(wǎng)絡(luò)中的用戶識別卡,所述的命令(CMD)由接收裝置(17)根據(jù)SMS協(xié)議接收。
9.根據(jù)上述權(quán)利要求中任一項所述的安全電子單元,其特征在于修改機構(gòu)適于將一個隨機的保密值賦予所述最大次數(shù)。
10.一種修改允許使用安全電子單元所存儲的保密數(shù)據(jù)的最大次數(shù)的方法,所述的最大次數(shù)存儲在所述的電子單元中,其特征在于包括在電子單元投入使用之后根據(jù)接收到的預(yù)定命令(CMD)修改所述的最大次數(shù)的步驟;和檢驗所述命令是否來自經(jīng)授權(quán)的第三方的步驟。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于所述的最大次數(shù)小于所述電子單元在整個壽命中預(yù)計使用的次數(shù)。
12.根據(jù)權(quán)利要求10或11所述的方法,其特征在于所述保密數(shù)據(jù)的使用是所述的安全電子單元的驗證操作。
13.根據(jù)權(quán)利要求10、11或12所述的方法,其特征在于所述的最大次數(shù)的值在1到15000之間。
14.根據(jù)權(quán)利要求10到13中任一項所述的方法,其特征在于所述的最大次數(shù)的值是在1到500之間。
15.根據(jù)權(quán)利要求10到14中任一項所述的方法,其特征在于所述的電子單元在所述的最大次數(shù)小于一個預(yù)定閾值時發(fā)送對最大次數(shù)進行修改的請求。
16.根據(jù)權(quán)利要求10到15中任一項所述的方法,其特征在于所述的電子單元是一個微電路卡,還在于修改步驟是在對卡進行個人化之后進行的。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于所述的微電路卡是移動無線通信網(wǎng)絡(luò)中的用戶識別卡,所述方法還包括根據(jù)SMS協(xié)議接收所述命令(CMD)的步驟。
18.根據(jù)權(quán)利要求10至17中任一項所述的方法,其特征在于在修改步驟中將一個隨機的保密值賦予所述最大次數(shù)。
全文摘要
本發(fā)明的安全電子單元包括一個模塊(16),用來存儲電子單元授權(quán)的使用保密數(shù)據(jù)的最大次數(shù),還包括一個用來在電子單元投入使用后根據(jù)接收預(yù)定的命令(CMD),修改所述的最大使用次數(shù)的模塊,還有一個接收預(yù)定命令的模塊(17),它能檢驗這個命令是來自授權(quán)第三人的。本發(fā)明特別用于微電子卡。
文檔編號G06F21/55GK1771519SQ200480009534
公開日2006年5月10日 申請日期2004年3月24日 優(yōu)先權(quán)日2003年4月9日
發(fā)明者西爾維斯特雷·德尼斯, 讓-貝爾納德·菲舍爾 申請人:奧貝蒂爾卡系統(tǒng)股份有限公司