專利名稱:Ic卡上的密鑰多樣化的方法
IC卡上的密鑰多樣化的方法
獄領(lǐng)域
本發(fā)明涉及一種在存儲主密鑰的主ic卡和與標(biāo)識號相關(guān)的用戶IC卡之間 相互驗(yàn)證期間產(chǎn)生密鑰多樣化的方法,其中該用戶ic卡ilOT信接口連接到
主IC卡。
更具體地,本發(fā)明涉及一種指示在用戶IC卡和主IC卡之間的相互驗(yàn)i正中 所涉及的類型的方法,只有當(dāng)這樣的IC卡都彼此驗(yàn)證時(shí)這樣的IC卡之間的通
信才被授權(quán)。
背景技術(shù):
在大多數(shù)IC卡應(yīng)用中用戶IC卡ffi31^端雜到主IC卡上。用戶IC卡和 主IC卡(在下文中稱為用戶卡和主卡)必須在開始通信之前互相驗(yàn)i正。
更具體地,4頓會^讀te卡的中央單元是標(biāo)準(zhǔn)慣例,該中央單元雜到 多個(gè)打算與用戶卡通信的終端上。
這fe終端通過網(wǎng)絡(luò)互連到中央單^h,以te卡可以與用戶卡進(jìn)fi^M信,
但是兩個(gè)不同的用戶卡不能同時(shí)通信。
更具體地,娜鵬系統(tǒng)使在用戶卡和主卡之間執(zhí)行安全交易戯可能, 并且同時(shí)其不允許兩個(gè)用戶卡之間的相互安全交易。
更具體地,該tt處理系統(tǒng)需要在兩卡之間^:公^i舌密鑰期間旨卡 都具有與其它卡的密鑰相同的私人密鑰,其中該卡希望與所述其它卡建立公共
通常,Mi密鑰、即存儲在主卡中的密鑰的多樣化獲f雜鑰。
因此,以這種方微得的齡密鑰都是涉臟卡和對用戶憤定的參數(shù)的 計(jì)算的結(jié)果,其中主卡希望與該用戶卡進(jìn) 信。
i姓卡和用戶卡倉,M^^于身份的密鑰算法^S相驗(yàn)證。這樣的密鑰算 法同樣可以允許建立兩卡之間的^i舌密鑰,從而對幾百位的 行類似乘法、 乘方、除法的算雜算。
為了生產(chǎn)這樣的卡,這種計(jì)算M^度使得有必要具有目前非常昂貴的范圍
元件(range component)中的:S^ 的元件。
在下文中示意性地描述在用戶卡和主卡之間相互驗(yàn)證期間多樣化算法的使 用;這種相互驗(yàn)證意圖相互保證用戶卡被授權(quán)讀取存儲在主卡中的多^Ht息和/ 或反之亦然。
該主卡包括至少一個(gè)第一存儲單元, 儲第一多個(gè) ,以,戶卡包 括至少一個(gè)第二存儲單元,其包括第二多個(gè)數(shù)據(jù)。通常,第一和第二多個(gè)繊 中的至少一部分是保密的并且需要被保護(hù),例如因?yàn)樗鼈儼ㄔ阢y行te用的 安全交易中所^ffl的敏感 ^#信息。
如圖1中示意性,出的,POS終端3 ,主SAM卡1和用戶卡2。該 連接示意性iWii由POS終端3本身提供的第一插槽3a和第二插槽3b ^示。 主SAM卡1包括至少一^h第一存儲單元la, ^^儲第一多個(gè)數(shù)據(jù),以及用戶 卡2包括至少一個(gè)第二存儲單元2a,其包括第二多個(gè) 。
主SAM卡1內(nèi)部的存儲單元la保存主密鑰1M和函數(shù)1F,該函數(shù)IF被 用于導(dǎo)出附加密鑰,所述附卩密鑰涉鵬入POS終端3的第二繊3b中的用 戶卡2。更具體地,這種附加密鑰被用于實(shí);^i SAM卡1和用戶卡2之間的 相互驗(yàn)證,在下文中該附加密鑰被,為子唯一密鑰1K。
該魁正規(guī)定將卡標(biāo)識號、例如通常存儲在用戶卡2的第二存儲單元2a內(nèi) 部的卡序列號2sn傳超往SAM卡1上。函數(shù)IF Mi密鑰1M和卡序列號 2sn處理要被用于對驗(yàn)證相應(yīng)用戶卡2的子唯一密鑰1K。
處理主密鑰1M和用戶卡序列號2sn以獲得子唯一密鑰1K的函數(shù)1F也被 稱為密鑰多樣化算法。對應(yīng)于用戶卡2的^^唯一密鑰1K事實(shí)il^、須M: 對應(yīng)于其它用戶卡2的^h其它子唯一密鑰1K被多樣化。
一旦主SAM卡1已經(jīng)產(chǎn)生子唯一密鑰1K,其同樣產(chǎn)生隨機(jī)數(shù)lrand,將 該隨機(jī)數(shù)存儲在第一存儲單元la中并向用戶卡2發(fā)送該隨機(jī)數(shù)。該用戶卡2 通過POS終端3讀取該隨機(jī)數(shù)lrand,將該隨機(jī)數(shù)加密并將該隨機(jī)1^:送回主 SAM卡1作為加密隨機(jī)數(shù)2enorand。
主SAM卡1可以通過子唯一密鑰lK對該加密隨機(jī)數(shù)2enc-rand進(jìn),密, 其中所述子唯一密鑰1K對應(yīng)于插入第二插槽3b內(nèi)部的用戶卡2并且預(yù)先被存 儲在第一存儲單元la內(nèi)部。
這種解密的結(jié)果與被存儲^i SAM卡1的第一存j諸單元la內(nèi)部的隨機(jī)
數(shù)lrand相比較。如果解密的結(jié)果等于予跌存儲的隨機(jī)數(shù)lrand,貝ij主SAM卡 1-衞正該用戶卡2;否則主SAM卡1拒絕用戶卡2。
更具體地,如果主SAM卡1驗(yàn)證用戶卡2,貝U執(zhí)行由用戶卡2調(diào)用并意 圖驗(yàn)證主SAM卡1的反向^i正方法。該反向驗(yàn)證基本上包括i^ffi于驗(yàn)i正用 戶卡2的所有計(jì)算。
S31密鑰多樣化算法的多樣化密鑰處理是一種費(fèi)時(shí)的操作,該操作不僅在
密鑰被加載到ic卡內(nèi)時(shí)而且^:、須進(jìn)行相互驗(yàn)i正算法時(shí)產(chǎn)生影響,以便由用
戶卡驗(yàn)證主卡,反之亦然。
'iM多樣化算法的多樣化密鑰,事實(shí)上是相互船正算法的步驟。
因此,尤縱關(guān)鵬用中,用戶卡和終端之間的操作的安全性和執(zhí)aiiS 可能被密鑰多樣化算法的復(fù)雜度破壞。
實(shí)際上,用于在不缺乏安全性盼瞎況下并且在可以接受的時(shí)間內(nèi)、尤其是 當(dāng)IC卡未配備有能夠支持耗費(fèi)時(shí)間并且計(jì)算昂貴的鵬的特殊硬件時(shí)在這種 IC卡上實(shí)施密鑰多樣化算法的方法絲知的。
此外,實(shí)施密鑰多樣化的方、^括多個(gè)也影響主卡和用戶卡之間的相互驗(yàn) 證的操作,因此限制主卡和用戶卡之間的通信賴的縫。
發(fā)明內(nèi)容
本發(fā)明所基于的問題在于麟一種實(shí)施密鑰多樣化的方法,該方法倉^減 少主IC卡和用戶IC卡之間的相互驗(yàn)i!E0f需要的時(shí)間,軎辦至d^證由現(xiàn)有技 術(shù)方法提供的相同的安全等級,同時(shí)ffi31非耗費(fèi)時(shí)間和非計(jì)算密集的運(yùn)算來執(zhí) 行,克服與現(xiàn)有,目關(guān)的所有戰(zhàn)缺點(diǎn)。
本發(fā)明所基于的解決方案是提供一種用于通31存儲在主IC卡中的主密鑰 和與用戶IC卡相關(guān)的標(biāo)識號產(chǎn)生密鑰多樣化的方法,這種方法僅僅包括由包 括在IC卡中的通用硬件所支持的不昂貴的、如同CRC、 DES和XOR操作的 計(jì)算操作。
更具體地,這種操作包括
-由主密鑰導(dǎo)出至少一對子密鑰;
-Mil所導(dǎo)出的子密鑰來計(jì)算至少一對加密字符串;
-禾,對該加密字符串的加工(elaboration)來產(chǎn)生多樣化密鑰。
根據(jù)本發(fā)明,所述問ISM51如先前所指示的并且由所附的權(quán)利要求1的特
征部分所定義的用于產(chǎn)生多樣化密鑰的方法來解決。
由參考附圖所進(jìn)行的并且為了指示性和非限制性目的而給出的本發(fā)明實(shí)施 例的下列描述,根據(jù)本發(fā)明的用于產(chǎn)生多樣化密鑰的方法的其它特征和優(yōu)點(diǎn)將 變得顯而易見。
圖1示意性ife^^根據(jù)現(xiàn)有技術(shù)的插A^端的第一插槽中并打算與第二IC
卡通信的第一IC卡;
圖2示意性;fett^根據(jù)現(xiàn)有技術(shù)的插A^端的第一插槽中的第一 IC卡和 第二匯卡之間的 流。
圖3以框圖g根據(jù)本發(fā)明在SAM卡和用戶IC卡之間的相互驗(yàn)i正,該
圖同樣包括,密鑰多樣化方法的框。
圖4更詳細(xì),意性g圖3的框,該W^根據(jù)本發(fā)明的密鑰多樣化方法。
具體實(shí)施例方式
更具體地參照圖3,示出并用10整體^^框圖,該框圖示意性標(biāo)一對IC
卡之間的相互驗(yàn)證。
更具體地,接口HF3驅(qū)動SAM主卡1和用戶卡2之間的連接,接口ITF 3例如屬于用于銀纟于業(yè)應(yīng)用的終端POS。
用戶卡2和SAM主卡1在開始通信之前M:相互^i正而彼此驗(yàn)證。
更具體地,這樣的相互驗(yàn)i正包括一種密鑰多樣化方法,該方法用框圖10 的框邏輯單元4 ^E性標(biāo)。
根據(jù)本發(fā)明的方法,SAM卡1存儲主密鑰例如16字節(jié)密鑰。 主密鑰^結(jié)合用戶卡2的唯一標(biāo)識號被用于獲得多樣化密鑰。 更具體地,密鑰多樣化方法提供數(shù)據(jù)輸入,該 輸>^包括主密鑰和 用戶卡2的標(biāo)識號、例如存儲在用戶卡2內(nèi)部的序列號ICCSN。這種序列號 對于旨用戶卡2來說是唯一的并且例如是8字節(jié)長的字符串。 更真體地,該方法衝共對這種 輸入的多4^十算,包括 -對ICC.SN進(jìn)行CRC鵬。
例如,ISO 3309 0^8可以被用于獲得0=01。 (ICC.SN), C是2字節(jié) 長的字符串。當(dāng)然,這是一個(gè)并非限制本發(fā)明的范圍的實(shí)例,因?yàn)獒槍@個(gè)步
驟可以{頓其它種類的CRCo
-^:鏈接ICC.SN的、具有一個(gè)序列并具有一個(gè)或者多個(gè)字節(jié)的CRC的
純文本字符串。
例如,可以j頓類似80 00 00 00 00 00的序列,辦列之后跟隨2字節(jié)的 CRC,以便獲得文本字符串T-ICS.SN II 80 00 00 00 00 00 C2 C,。更具體地,C2表
示c的最高有效字節(jié),而c, ^ c的最低有效字節(jié)。
-對在先前步驟中所粒的文本字符串T計(jì)麵個(gè)DES計(jì)算,分別艦 和K^作為DES密鑰,獲得兩個(gè)16字節(jié)長的加密文本字符串A和B。
例如,針對DES計(jì)算,初始向量被體為O并且豐試是CBC。
-根據(jù)固定字節(jié)組合對這兩個(gè)16字節(jié)長的加密文本字符串A和B執(zhí)行操 作,以便獲得兩個(gè)8字節(jié)字符串作為結(jié)果。例如可以在這個(gè)步驟中使用 "XORing"操作。
-將這兩個(gè)8字節(jié)字符串,并產(chǎn)生多樣化密鑰K^。
-調(diào)整該多樣化密鑰KICC的奇偶校驗(yàn)位。
參照圖4,以更具體的細(xì)節(jié)表示屬于根據(jù)本發(fā)明的密鑰多樣化方法的步驟。
,上用參考數(shù)字4射旨示例如在用戶卡2的個(gè)性化階段期間意圖在用戶 卡2內(nèi)部加載多樣化密鑰的密鑰多樣化方法。
更具體地,密鑰多樣化方法也在SAM卡1和用戶卡2之間的相互驗(yàn)證期
間被使用,以便在繼續(xù)進(jìn)行關(guān)鍵ta作之itr^驗(yàn)相應(yīng)的對方的可靠性。
用于使密鑰多樣化的方法提供與用戶卡2相關(guān)的用戶IC卡序列號和存儲 在SAM IC卡中的主密鑰作為 輸入。
根據(jù)本發(fā)明的方法,提供這種用戶卡序列號的第一加工,例如進(jìn)行ICC.SN 的CRC計(jì)算CK:RC (ICC.SN),產(chǎn)生2字節(jié)長的字符串。這種第一加工示意 性地用圖4中的11l^輯單元4a^^0
CRC算法可以月險(xiǎn)ISO 3309并與CRCB計(jì)算兼容。
更具體地,密鑰多樣化方法處理8字節(jié)長的ICC.SN以及SAM主密鑰K^, 以獲得兩個(gè)8字節(jié)長的文本字符串的連接。
根據(jù)該方法,加載在SAM卡中的SAM主密鑰J^是,1^=^皿6, KMIS, ......K^為16字節(jié)長的文本字符串的16字節(jié)長的密鑰。
KM被用于導(dǎo)出兩個(gè)8字節(jié)長的文本字符串
KMa《M16, KM15, ......
以及
KMb=KM8, Kj^, ......KM1。
如麟輯單元4b中所示,密鑰多樣化方法提供用戶卡序列號ICC.SN與 在前一步驟期間所,的數(shù)C之間的連接。 這種連接目的在于獲得文本字符串To
例如T=ICC.SN II 80 00 00 00 00 00 C2 C,,其中C2是C的最iW效字節(jié),
而c歸低有效字節(jié)。
更具體地,如果A是,A-人,A^, ......A的n字節(jié)的字符串,其中
A,是A中的第i個(gè)字節(jié),則當(dāng)A,是A的最低有效字節(jié)(LSB)時(shí),AJ皮定義 為A的最高有效字節(jié)(MSB)。
如在步驟4c中示意性所示對在步驟4b中戶;fi十算出的數(shù)T進(jìn)行DES計(jì)算。
更具體地,密鑰K^^ffi于獲得A-DES (K^, T),其是16字節(jié)長的加 密文本字符串。類似地,對T計(jì)算另一i十算B-DES (K^, T),以便獲得另一 個(gè)16字節(jié)長的加密文本字符串。
根f本發(fā)明的方法,對A的計(jì)算在步驟4d中執(zhí)行以便獲^^M K^c^A XOR、 II ^XORAw II .......... II A8XORAw的8字節(jié)長的文本字符串。
更具體地,XOR是布爾運(yùn)算,也被稱為異或。
類似地,對B的計(jì)算意圖獲得相應(yīng)的8字節(jié)長的加密文本字符串K^b-B,
XORB9 II B2XORB10 || .......... II B8XORB16。
根據(jù)本發(fā)明的方法,多樣化密鑰K^c艦K^和K^的連接K^ II
來獲得。
根據(jù)之前的假設(shè),多樣化密鑰KICC是16字節(jié)長的文本字符串。
如框邏輯單元4e中示意性表示的那樣,調(diào)整K^的奇偶校驗(yàn)位。
例如,在K^的針字節(jié)中,奇偶校驗(yàn)位競低有效位;對于K^中的
旨字節(jié)來說,奇偶校驗(yàn)位可以被設(shè)置為奇數(shù)。
有利地,根據(jù)本發(fā)明的方,于包括CRC、 DES和XOR計(jì)算的非???br>
速的計(jì)算步驟。
有利地,大多數(shù)當(dāng)前用于ic卡的微^ha,成了用于CRC和DES計(jì)算 的衝種卜圍設(shè)備。
下表針對根據(jù)本發(fā)明的方法的計(jì)算的齡步^^f頁期的計(jì)算時(shí)間。該計(jì)
算是在考慮到以10MHz運(yùn)行的具有CRC和DES《更件加速器的8位CPU的情
況下進(jìn)行的。
密鑰多樣化方法的計(jì)算時(shí)間預(yù)期小于1毫秒。
具有CRC和DES硬件加速器的8位CPU,時(shí)鐘10MHz,步驟編號以u秒為單位的預(yù)期時(shí)間
4a30
4b5
4c150
4c150
4d10
4d10
4d5
4e150
總共510u秒有利地,本發(fā)明的方法基于以下基本假設(shè),即主密鑰是保密的并且在
SAM外部是未知的,因此保證多樣化方法的安全性。
該方法在不缺乏在時(shí)間關(guān)鍵應(yīng)用中所涉及的IC卡的安全性的情況下并且 在IC卡不具有加速計(jì)算密^^作的#^硬件時(shí)處理密鑰多樣化。
密鑰多樣化方法IOT于在IC卡個(gè)性化階段期間在IC卡內(nèi)部加載多樣化密 鑰以及在IC卡和裝備有主SAM IC卡的外部終端之間的相互^i正期間減少這 種相互驗(yàn)證的計(jì)算時(shí)間。
有禾哋,該相互驗(yàn)證可以包括根據(jù)本發(fā)明的方法,以在與主SAM卡通信 期間使用戶卡的密鑰多樣化。
有利地,根據(jù)本發(fā)明的方法同樣提供安全性、就執(zhí)行時(shí)間而言的效率、和 無歧義性。
事實(shí)上,不同ic卡具有不同序列號,從而保證無歧義性的需要。由接口 設(shè)備讀取ICC.SN并將該ICC.SN #^^合主SAM卡。
有利地,根據(jù)本發(fā)明的方微行A嘴計(jì)算步驟以獲得存儲在IC卡中的多 樣化密鑰,所有的所述計(jì)算都基于例如CRC、 DES和XOR的非計(jì)算密集的操
作,這保證效率的需要。
權(quán)利要求
1、一種用于在存儲主密鑰(KM)的主IC卡(1)和與標(biāo)識號(ICC.SN)相關(guān)的用戶IC卡(2)之間的相互驗(yàn)證期間產(chǎn)生密鑰多樣化的方法,所述用戶IC卡(2)通過通信接口(ITF)連接到所述主IC卡(1)上,該方法包括以下步驟-從所述主密鑰(KM)導(dǎo)出至少一對子密鑰(KMa,KMb);-利用所述子密鑰(KMa,KMb)通過對字符串(T)的相應(yīng)加密計(jì)算來計(jì)算至少一對加密字符串(A,B),所述字符串(T)通過對所述標(biāo)識號(ICC.SN)的加工而獲得;-建立連接所述加密字符串(A,B)的字節(jié)組合的多樣化密鑰(KICC)。
2、 根據(jù)權(quán)利要求1所述的用于產(chǎn)生密鑰多樣化的方法,賺征在于以下 事實(shí),即所述計(jì)算步驟包括所述豐斜只號(ICCSN)的CRC操作(C)。
3、 根據(jù)權(quán)利要求2所述的用于產(chǎn)生密鑰多樣化的方法,辦征在于以下 ,實(shí),即所述計(jì)算步驟中的所述加工包括戶脫標(biāo)識號(ICC.SN)與固定文本字 符串和/鄉(xiāng)萬述CRC操作(C)的最高有效字節(jié)和/或最低有效字節(jié)的連接。
4、 根據(jù)權(quán)利要求2所述的用于產(chǎn)生密鑰多樣化的方法,辦征在于以下 事實(shí),即所述建立所述多樣化密鑰(KICC)的步驟中的所述字節(jié)組合包括對所 述加密字符串(A, B)的XOR操作。
5、 根據(jù)權(quán)利要求1戶腐的用于產(chǎn)生密鑰多樣化的方法,^r寺征在于包括 調(diào)M^f述多樣化密鑰(K^)的奇偶;^^^的步驟。
6、 根據(jù)權(quán)利要求1所述的用于產(chǎn)生密鑰多樣化的方法,,征在于包括 調(diào)^^f述多樣化密鑰(K^)的至少一^偶校驗(yàn)位的步驟。
7、 根據(jù)權(quán)利要求1所述的用于產(chǎn)生密鑰多樣化的方法,,征在于以下 事實(shí),即所述計(jì)算步驟中的所淑卩密計(jì)算包括一個(gè)或者多個(gè)DES計(jì)算。
8、 一禾中IC卡,存儲標(biāo)識號(ICC.SN),意圖用于與存儲主密鑰(J^)的 主IC卡的通信會話中,所述IC卡能夠iliiS信接口驗(yàn)到戶腿主IC卡上, 其特征在于包括^g,該^g用于-從所^±密鑰(KM)導(dǎo)出至少一對子密鑰(K^, K^);-禾,所述子密鑰(K施,K她)aw字符串(T)的相應(yīng)加密計(jì)算來計(jì)算一對加密字符串(A, B),所述字符串(T) m^所述標(biāo)識號(ICCSN)的 加工而獲得;-粒連接所述加密字符串(A, B)的字節(jié)組合的多樣化密鑰(Kjcc)。
全文摘要
本發(fā)明公開了一種用于在存儲主密鑰(K<sub>M</sub>)的SAM IC卡(1)和與標(biāo)識號(ICC.SN)相關(guān)的用戶IC卡(2)之間的相互驗(yàn)證期間產(chǎn)生密鑰多樣化的方法,其中所述用戶卡(2)通過通信接口(ITF)連接到所述SAM IC卡(1)上;該方法包括以下步驟從主密鑰K<sub>M</sub>導(dǎo)出一對子密鑰(K<sub>Ma</sub>,K<sub>Mb</sub>);通過對字符串T的一對相應(yīng)加密計(jì)算來計(jì)算一對加密字符串(A,B),所述字符串T通過利用所述子密鑰(K<sub>Ma</sub>,K<sub>Mb</sub>)對所述標(biāo)識號(ICC.SN)的加工而獲得;建立連接加密字符串(A,B)的字節(jié)組合的多樣化密鑰(K<sub>ICC</sub>)。
文檔編號H04L9/06GK101110141SQ20071014647
公開日2008年1月23日 申請日期2007年6月29日 優(yōu)先權(quán)日2006年6月29日
發(fā)明者G·方塔納, S·多納提洛 申請人:英卡股份有限公司