亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的智能卡及終端的制作方法

文檔序號(hào):7700794閱讀:336來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的智能卡及終端的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及無(wú)線通信領(lǐng)域,尤其涉及一種可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的智能卡 及終端。
背景技術(shù)
隨著移動(dòng)業(yè)務(wù)多樣化竟?fàn)幍陌l(fā)展,運(yùn)營(yíng)商需要推出專(zhuān)用終端與專(zhuān)用卡片 綁定使用的、低資費(fèi)的業(yè)務(wù),需要采用極低價(jià)格銷(xiāo)售終端或免費(fèi)贈(zèng)送終端或 通過(guò)專(zhuān)用卡的使用通過(guò)手機(jī)號(hào)碼返還資費(fèi),這就需要通過(guò)技術(shù)手段實(shí)現(xiàn)專(zhuān)用 終端與專(zhuān)用卡片相互認(rèn)證和綁定使用,確保專(zhuān)用用戶識(shí)別模塊只能用于專(zhuān)用 終端,不能用于普通手機(jī)終端,和/或?qū)S媒K端只能使用專(zhuān)用用戶識(shí)別模塊, 不能使用普通用戶識(shí)別。
現(xiàn)有終端配合專(zhuān)用卡主要通過(guò)PIN碼鎖卡、異形卡、鎖手機(jī)IMEI (International Mobile Equipment Identity,國(guó)際移動(dòng)身份識(shí)別)、隨機(jī)數(shù)鑒 權(quán)方式實(shí)現(xiàn)相互認(rèn)證,但采用PIN碼鎖卡方式存在以下問(wèn)題
(1 )利用PIN碼鎖卡方式由于可使用PUK(PINUnBlock, PIN解鎖碼) 碼進(jìn)行解碼,而且PUK碼用戶較易通過(guò)社會(huì)代銷(xiāo)渠道獲:f又;
(2)如采用無(wú)規(guī)則隨機(jī)數(shù)PIN,則用戶終端損壞,卡片將無(wú)法使用新 終端。實(shí)際采用一定規(guī)則生成PIN,只要知道規(guī)則即可通過(guò)輕易破解;
(3)實(shí)施時(shí)對(duì)營(yíng)業(yè)廳人員管理要求高,首次使用必須當(dāng)面插入終端中 使用,而不能先用于手機(jī),安全完全依靠銷(xiāo)售人員的自覺(jué)性;
(4)不能滿足終端與卡分開(kāi)銷(xiāo)售的業(yè)務(wù)需求,不能用于代理渠道銷(xiāo)售。
采用異形卡方式和鎖手機(jī)IMEI方式異形卡和鎖手機(jī)IMEI方式由于 非法卡貼很容易模仿終端接口定義異性接口或偽造IMEI,因此方案安全性 也較差。采用隨機(jī)數(shù)鑒權(quán)方式隨機(jī)數(shù)鑒權(quán)方式密鑰知情方較多,易出現(xiàn)密鑰泄
漏,且出現(xiàn)密鑰泄漏后,無(wú)法判定泄漏責(zé)任方,運(yùn)營(yíng)商無(wú)法識(shí)別非法貼片用 戶,無(wú)法禁止非法卡片的繼續(xù)使用。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的智能卡及 終端,可用來(lái)實(shí)現(xiàn)與各類(lèi)終端的相互安全認(rèn)證,避免了在現(xiàn)有機(jī)卡認(rèn)證專(zhuān)用 卡上加入貼片等中間介質(zhì)即能破解認(rèn)證的缺陷。
為了解決上述問(wèn)題,本發(fā)明提供了一種可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的智能卡,
包括用于和終端交互的第一交互模塊;還包括認(rèn)證密鑰獲取模塊、算法封 裝模塊、卡與終端交互認(rèn)證模塊、數(shù)據(jù)包處理模塊和卡片鎖定模塊;
所述認(rèn)證密鑰獲取模塊用于在每次開(kāi)機(jī)后對(duì)比終端通過(guò)所述第一交互 模塊發(fā)來(lái)的終端的標(biāo)識(shí)與正式存儲(chǔ)的終端的標(biāo)識(shí),當(dāng)一致時(shí),指示卡與終端 交互認(rèn)證模塊進(jìn)行機(jī)卡認(rèn)證;不一致時(shí),臨時(shí)保存收到的終端的標(biāo)識(shí),生成 發(fā)送給服務(wù)器的密鑰更新請(qǐng)求報(bào)文的內(nèi)容并發(fā)送給數(shù)據(jù)包處理模塊封裝,其 中攜帶本智能卡的標(biāo)識(shí)和所收到的終端的標(biāo)識(shí);以及當(dāng)收到解密后的密鑰更
新報(bào)文的內(nèi)容時(shí)獲取其中的認(rèn)證密鑰,使用該認(rèn)證密鑰更新卡與終端交互認(rèn) 證模塊中保存的認(rèn)證密鑰數(shù)據(jù),并用臨時(shí)存儲(chǔ)的終端的標(biāo)識(shí)更新卡內(nèi)正式存 儲(chǔ)的終端的標(biāo)識(shí),更新成功后通過(guò)所述第一交互模塊指示終端重啟;
所述算法封裝模塊用于封裝傳輸算法和認(rèn)證算法;
所述卡與終端交互認(rèn)證模塊用于按卡與終端雙方定義的交互流程及協(xié) 議,使用保存的認(rèn)證密鑰并調(diào)用所述算法封裝模塊中的認(rèn)證算法進(jìn)行與終端 之間的認(rèn)證;當(dāng)認(rèn)證不通過(guò)時(shí)調(diào)用所述卡片鎖定模塊鎖死本卡的相應(yīng)功能;
所述數(shù)據(jù)包處理模塊用于將封裝后的密鑰更新請(qǐng)求報(bào)文通過(guò)所述第一 交互模塊發(fā)送給所述終端;還用于當(dāng)收到所述第一交互模塊返回的服務(wù)器下 發(fā)的密鑰更新報(bào)文時(shí),調(diào)用所述算法封裝模塊中的傳輸算法并使用所保存的 傳輸密鑰進(jìn)行該報(bào)文的解密。
進(jìn)一步地,所述算法封裝;f莫塊中封裝的所述傳輸算法和認(rèn)證算法為相同或不同的算法;當(dāng)傳輸算法和認(rèn)證算法為不同算法時(shí),所述算法封裝模塊包 括用于封裝傳輸算法的傳輸算法封裝子模塊,以及用于封裝認(rèn)證算法的認(rèn)證 算法封裝子模塊。
進(jìn)一步地,所述認(rèn)證密鑰獲取模塊具體包括
終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊、密鑰更新必要性判斷處理子模塊和密鑰更 新處理子模塊;
所述終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊用于獲取終端通過(guò)所述第一交互模塊 發(fā)來(lái)的終端的標(biāo)識(shí),并將收到的終端的標(biāo)識(shí)與正式存儲(chǔ)的終端的標(biāo)識(shí)比對(duì), 如一致,則指示卡與終端交互認(rèn)證模塊進(jìn)行機(jī)卡認(rèn)證;如不一致則保存收到 的終端的標(biāo)識(shí),并指示所述密鑰更新必要性判斷處理子模塊進(jìn)行處理;
所述密鑰更新必要性判斷處理子模塊用于判斷智能卡當(dāng)前是否未達(dá)到 預(yù)定的上發(fā)密鑰更新請(qǐng)求次數(shù)限制和鑒權(quán)臨時(shí)許可次數(shù)限制,如已達(dá)到或超 過(guò)上述任一個(gè)次數(shù)限制,則調(diào)用卡片鎖定模塊鎖死本卡的相應(yīng)功能;未達(dá)到 或超過(guò)上述任一個(gè)次數(shù)限制則指示密鑰更新處理子模塊處理;
所述密鑰更新處理子模塊用于獲取本卡的卡序列號(hào)和所收到的終端的 標(biāo)識(shí),生成密鑰更新請(qǐng)求報(bào)文的內(nèi)容,并調(diào)用所述數(shù)據(jù)包處理模塊封裝為發(fā) 送給服務(wù)器的密鑰更新請(qǐng)求報(bào)文;以及當(dāng)收到所述數(shù)據(jù)包處理模塊解密后的 密鑰更新報(bào)文時(shí),獲取其中的認(rèn)證密鑰,使用該認(rèn)證密鑰進(jìn)行卡與終端交互 認(rèn)證模塊中認(rèn)證密鑰數(shù)據(jù)的更新,;更新成功則將密鑰更新必要性判斷處理 子模塊中的上發(fā)密鑰更新請(qǐng)求次數(shù)加1,用臨時(shí)存儲(chǔ)的終端的標(biāo)識(shí)更新卡內(nèi) 正式存儲(chǔ)的終端的標(biāo)識(shí),并通過(guò)所述第 一交互模塊指示終端重啟。
進(jìn)一步地,所述認(rèn)證密鑰獲取模塊獲取所述解密后的密鑰更新報(bào)文中的 認(rèn)證密鑰具體是指
直接獲取所述解密后的密鑰更新報(bào)文中的明文認(rèn)證密鑰;
或是先獲取所述解密后的密鑰更新報(bào)文中的卡密文認(rèn)證密鑰,然后采用 預(yù)存的卡密文密鑰,調(diào)用所述算法封裝模塊中的卡密文算法解密所述卡密文 認(rèn)證密鑰,得到明文認(rèn)證密鑰。
進(jìn)一步地,所述認(rèn)證密鑰獲取模塊還用于獲取所述解密后的密鑰更新報(bào)文中的終端密文認(rèn)證密鑰,或是攜帶所述認(rèn)證密鑰的終端密文報(bào)文,并通過(guò) 所述第 一交互模塊轉(zhuǎn)發(fā)給終端。
進(jìn)一步地,所述智能卡還包括
認(rèn)證請(qǐng)求處理模塊;
所述卡與終端交互認(rèn)證模塊還用于記錄與終端認(rèn)證通過(guò)的次數(shù),當(dāng)該次
數(shù)達(dá)到或超過(guò)預(yù)定的次數(shù)閾值時(shí),指示所述認(rèn)證請(qǐng)求處理模塊處理;
所述認(rèn)證請(qǐng)求處理模塊用于判斷當(dāng)前未收到認(rèn)證結(jié)果消息的次數(shù)是否 達(dá)到或超過(guò)預(yù)定的未收到次數(shù)闊值,如達(dá)到或超過(guò)預(yù)定的未收到次數(shù)閥值, 則調(diào)用所述卡片鎖定模塊160鎖死卡片鑒權(quán)等功能,如未達(dá)到,則獲取本卡 的卡序列號(hào)和正式存儲(chǔ)的終端的標(biāo)識(shí),生成發(fā)送給服務(wù)器的認(rèn)證請(qǐng)求報(bào)文的 內(nèi)容,并調(diào)用數(shù)據(jù)包處理模塊進(jìn)行報(bào)文封裝,同時(shí)將未收到認(rèn)證結(jié)果消息的 次數(shù)加l;當(dāng)收到數(shù)據(jù)包處理模塊解密后的認(rèn)證結(jié)果報(bào)文時(shí),將所述未收到 認(rèn)證結(jié)果消息的次數(shù)減l,并獲取、判斷其中的認(rèn)證結(jié)果,如認(rèn)證結(jié)果為不 合法或所述未收到認(rèn)證結(jié)果消息的次數(shù)超過(guò)預(yù)定次數(shù),則調(diào)用所述卡片鎖定 模塊鎖死本卡的相應(yīng)功能;如果為合法則智能卡繼續(xù)正常工作,指示所述卡 與終端交互認(rèn)證模塊130將卡與終端認(rèn)證通過(guò)的次數(shù)清零,重新開(kāi)始記錄;
所述數(shù)據(jù)包處理模塊還用于將封裝后的認(rèn)證請(qǐng)求報(bào)文通過(guò)所述第 一交 互模塊發(fā)送給所述終端,以及當(dāng)收到所述第一交互模塊轉(zhuǎn)發(fā)的服務(wù)器返回的 認(rèn)證結(jié)果報(bào)文時(shí),調(diào)用所述算法封裝模塊中的傳輸算法并使用所保存的傳輸 密鑰進(jìn)行該報(bào)文的解密。
為配合上述智能卡的使用,本發(fā)明還提供了一種可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的 終端,包括用于實(shí)現(xiàn)終端和服務(wù)器交互的無(wú)線通信模塊、用于和卡進(jìn)行交互 的第二交互模塊;還包括安全認(rèn)證模塊;
所述安全認(rèn)證模塊包括終端與卡交互認(rèn)證子模塊、終端鎖定子模塊、 認(rèn)證算法封裝子模塊和認(rèn)證密鑰發(fā)行與讀取子模塊;
所述第二交互模塊用于將卡端發(fā)來(lái)的密鑰更新請(qǐng)求報(bào)文通過(guò)所述無(wú)線 通信模塊發(fā)給服務(wù)器,以及通過(guò)所述無(wú)線通信模塊接收服務(wù)器下發(fā)的密鑰更新報(bào)文并轉(zhuǎn)發(fā)給卡端;
所述認(rèn)證算法封裝子模塊用于封裝認(rèn)證算法;
所述認(rèn)證密鑰發(fā)行與讀取子模塊用于保存認(rèn)證密鑰;
所述終端與卡交互認(rèn)證子模塊用于在每次開(kāi)機(jī)后將終端的標(biāo)識(shí)通過(guò)所 述第二交互模塊發(fā)給智能卡,其后按卡與終端雙方定義的交互流將程及協(xié) 議,通過(guò)第二交互模塊與智能卡進(jìn)行交互認(rèn)證;認(rèn)證中需要認(rèn)證加密或解密 時(shí),調(diào)用認(rèn)證密鑰發(fā)行與讀取子模塊和認(rèn)證算法封裝子模塊進(jìn)行加密、解密; 當(dāng)認(rèn)證不通過(guò)時(shí)調(diào)用所述終端鎖定模塊鎖死本終端的相應(yīng)功能。
進(jìn)一步地,所述安全認(rèn)證模塊還包括
用于封裝終端密文算法的終端密文算法封裝模塊;
所述終端與卡交互認(rèn)證子模塊還用于通過(guò)第二交互模塊從智能卡獲取 服務(wù)器下發(fā)的終端密文,調(diào)用終端密文算法封裝模塊中的終端密文算法,使 用存儲(chǔ)的終端密鑰解密出明文認(rèn)證密鑰,并存儲(chǔ)在所述認(rèn)證密鑰發(fā)行與讀取 子模塊中。
進(jìn)一步地,所述終端密文為對(duì)明文認(rèn)證密鑰加密得到的密文認(rèn)證密鑰, 或是加密后的攜帶明文認(rèn)證密鑰的報(bào)文;
當(dāng)終端密文為對(duì)明文認(rèn)證密鑰加密得到的密文認(rèn)證密鑰時(shí),所述終端與 卡交互認(rèn)證子模塊解密終端密文后直接得到明文認(rèn)證密鑰;
當(dāng)終端密文為加密后的攜帶明文認(rèn)證密鑰的報(bào)文時(shí),所述終端與卡交互 認(rèn)證子模塊解密終端密文后得到攜帶明文認(rèn)證密鑰的報(bào)文,從該報(bào)文中獲取 明文iU正密鑰。
進(jìn)一步地,所述安全認(rèn)證模塊放入終端的方式包括
(1 )集成在安全認(rèn)證硬件模塊中嵌入終端,通過(guò)串口 、 USB 口 、或7816 接口與終端進(jìn)行通訊;
(2)集成在表貼在終端的無(wú)線通信模塊中的安全芯片里;
(3 )集成在另 一個(gè)安全認(rèn)證智能卡中放入終端里未被要認(rèn)證的智能卡 占用的空閑卡槽中,通過(guò)7816接口與終端通訊;(4 )通過(guò)軟件模塊方式放在終端軟件中。
本發(fā)明所提供的智能卡和終端能夠采用新的認(rèn)證流程、方法進(jìn)行認(rèn)證, 卡片的認(rèn)證密鑰不預(yù)置,在使用時(shí)從第三方動(dòng)態(tài)下載,終端與智能卡間的認(rèn) 證密鑰和第三方與智能卡間的傳輸密鑰可為兩組不同的密鑰,終端可統(tǒng)一進(jìn) 行終端認(rèn)證密鑰發(fā)行預(yù)置,智能卡可統(tǒng)一進(jìn)行傳輸密鑰發(fā)行預(yù)置,所有密鑰 均為只能使用,無(wú)法讀出,終端使用安全模塊封裝算法,這樣終端提供商接 觸不到機(jī)卡認(rèn)證密鑰,不知道機(jī)卡認(rèn)證算法,卡商也不知道機(jī)卡認(rèn)證密鑰, 可較好防止密鑰泄露,解決了只要在機(jī)卡兩端間加入中間介質(zhì)即能破解的問(wèn) 題,能較好滿足智能卡與終端間的安全認(rèn)證要求,可很安全地支持終端的多 渠道銷(xiāo)售及機(jī)卡分開(kāi)銷(xiāo)售,安全性不需依靠營(yíng)業(yè)廳人員的自覺(jué)性,為實(shí)現(xiàn)專(zhuān) 用智能卡配合專(zhuān)用手機(jī)或無(wú)線公話等終端的低資費(fèi)、差異化業(yè)務(wù)服務(wù)提供了
技術(shù)支撐,有利于移動(dòng)運(yùn)營(yíng)商推廣各類(lèi)型的需機(jī)卡綁定的差異化業(yè)務(wù)服務(wù); 如果采用一部終端一個(gè)(或一組)認(rèn)證密鑰、 一個(gè)智能卡一個(gè)(或一組)傳輸密 鑰和一個(gè)(或一組)認(rèn)證密鑰的方式,不同的智能卡密鑰都各不相同,不同的 終端密鑰也都各不相同,充分保證安全性,即使一張卡或終端被破解,也無(wú) 法實(shí)現(xiàn)貼片的批量復(fù)制,極大提高了破解難度與成本。
本發(fā)明關(guān)于智能卡的一個(gè)優(yōu)化方案中,智能卡與終端之間相互認(rèn)證過(guò)程 加解密和傳輸密鑰過(guò)程加解密使用不同的加解密算法(當(dāng)然使用相同加解密 算法也可,但安全性相對(duì)低),可使用高安全性、高成熟度的AES( Advanced Encryption Standard,高級(jí)加密標(biāo)準(zhǔn))、國(guó)密辦SCB2等對(duì)稱(chēng)安全算法或RSA 非對(duì)稱(chēng)算法,由于AES算法可通過(guò)可選參數(shù)控制產(chǎn)生不同結(jié)果,因此破解 難度很大;而RSA非對(duì)稱(chēng)算法采用公鑰、私鑰非對(duì)稱(chēng)加解密機(jī)制,破解難 度也較大;認(rèn)證算法可采用對(duì)稱(chēng)算法也可采用非對(duì)稱(chēng)算法,傳輸算法可采用 對(duì)稱(chēng)算法也可采用非對(duì)稱(chēng)算法,在實(shí)際應(yīng)用中,可根據(jù)安全需求,靈活選擇 組合,因此能較好滿足智能卡與終端間進(jìn)行安全認(rèn)證的需求,有利于運(yùn)營(yíng)商 推廣各類(lèi)差異化的業(yè)務(wù)服務(wù)。本發(fā)明關(guān)于智能卡的另一優(yōu)化方案中,智能卡 具有智能自鎖定功能,當(dāng)智能卡達(dá)到密鑰更新請(qǐng)求次數(shù)限制或鑒權(quán)臨時(shí)許可 次數(shù)限制時(shí),為防止通過(guò)非法更換終端序列號(hào)來(lái)多次非法使用,智能卡自行 鎖定,出現(xiàn)該情況智能卡將無(wú)法繼續(xù)使用,除非到營(yíng)業(yè)廳等處解鎖,這樣方便定位非法使用的問(wèn)題卡片;另外,智能卡也支持根據(jù)密鑰管理服務(wù)器下發(fā) 數(shù)據(jù)進(jìn)行智能卡鎖死功能,以使智能卡被非法破解后無(wú)法使用。本發(fā)明關(guān)于 智能卡的又一個(gè)優(yōu)化方案為對(duì)智能卡與終端認(rèn)證通過(guò)次數(shù)計(jì)數(shù),在認(rèn)證交互 通過(guò)次數(shù)達(dá)到或超過(guò)預(yù)定的次數(shù)時(shí),智能卡需要請(qǐng)求作為第三方的密鑰管理 服務(wù)器的認(rèn)證確認(rèn),可通過(guò)服務(wù)器使被破解的卡片無(wú)法繼續(xù)使用,能夠進(jìn)一 步提高安全性。另外,還可以選擇性地對(duì)發(fā)給智能卡的報(bào)文中的認(rèn)證密鑰本 身再進(jìn)行加密,進(jìn)一步提高認(rèn)證的安全性。
本發(fā)明關(guān)于終端的 一個(gè)優(yōu)化方案中公開(kāi)了幾種在終端中安裝安全認(rèn)證 模塊的方式,可以進(jìn)一步通過(guò)安裝方式提高認(rèn)證的安全性。本發(fā)明關(guān)于終端 的另一個(gè)優(yōu)化方案中選擇不將認(rèn)證密鑰預(yù)存在終端里,而是由服務(wù)器生成認(rèn) 證加密后下發(fā),這樣終端里只保存解密用的密鑰和算法,認(rèn)證密鑰則動(dòng)態(tài)獲 得,這樣可以不必事先進(jìn)行終端認(rèn)證密鑰的預(yù)置發(fā)行,增強(qiáng)方案實(shí)際應(yīng)用時(shí) 的可操作性。其中生成的認(rèn)證密鑰根據(jù)終端與卡進(jìn)行機(jī)卡認(rèn)證采用的算法是 對(duì)稱(chēng)算法或非對(duì)稱(chēng)算法,采用對(duì)應(yīng)的對(duì)稱(chēng)算法密鑰或非對(duì)稱(chēng)算法的公私密鑰 對(duì)。


圖1為實(shí)施例一中可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的智能卡的示意框圖; 圖2為實(shí)施例一的例子中智能卡與終端交互認(rèn)證的流程示意圖; 圖3為實(shí)施例二中可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的終端的示意框圖; 圖4為實(shí)施例二的例子中終端與智能卡交互認(rèn)證的流程示意圖。
具體實(shí)施例方式
下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行更詳細(xì)的說(shuō)明。
本發(fā)明既適用于2G網(wǎng)絡(luò)的SIM、 UIM ( User Identity Model,用戶識(shí)別 才莫塊)卡與3G網(wǎng)絡(luò)的USIM ( Universal Subscriber Identity Module,通用用 戶識(shí)別模塊)、EVDO UIM卡,也適用于其他支持短信、GPRS( General Packet Radio Service,通用分組無(wú)線服務(wù)技術(shù))或HSDPA (High Speed DownlinkPacketAccess,高速下行分組接入技術(shù))等高速數(shù)據(jù)傳輸?shù)陌踩酒蛐酒?封裝模塊。
實(shí)施例一, 一種可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的專(zhuān)用智能卡,如圖l所示,除包 括支持2G或3G鑒權(quán)、短信或GPRS BIP等基礎(chǔ)智能卡COS及功能模塊(這 些未畫(huà)在圖1中)夕卜,有用于與終端交互的第一交互模塊110;為支持機(jī)卡 安全認(rèn)證,增加了認(rèn)證密鑰獲取模塊120、卡與終端交互認(rèn)證模塊130、算 法封裝模塊140、數(shù)據(jù)包處理模塊150、卡片鎖定模塊160等新功能模塊。
所述第一交互模塊110是卡中其它模塊與終端進(jìn)行數(shù)據(jù)交互的主要通 道,可采用短信交互方式或GPRSBIP等方式通過(guò)終端與服務(wù)器交互數(shù)據(jù), 還用于通過(guò)STK或其它卡與終端約定的指令實(shí)現(xiàn)卡中其它模塊與終端的交 互;卡與終端進(jìn)行交互認(rèn)證時(shí)也可以調(diào)用所述第一交互模塊110的相關(guān)指 令。本實(shí)施例中,所述第一交互模塊110可以但不限于為一 STK指令解析 處理模塊。
所述認(rèn)證密鑰獲取模塊120用于在每次開(kāi)機(jī)后對(duì)比終端通過(guò)所述第一 交互模塊110發(fā)來(lái)的終端的標(biāo)識(shí)與正式存儲(chǔ)的終端的標(biāo)識(shí),當(dāng)一致時(shí),指示 卡與終端交互認(rèn)證模塊130進(jìn)行機(jī)卡認(rèn)證;不一致時(shí),臨時(shí)存儲(chǔ)收到的終端 的標(biāo)識(shí)但不更新正式存儲(chǔ)的終端的標(biāo)識(shí),生成發(fā)送給服務(wù)器的密鑰更新請(qǐng)求 報(bào)文的內(nèi)容并發(fā)送給數(shù)據(jù)包處理模塊150封裝,其中攜帶本智能卡的標(biāo)識(shí)和 所收到的終端的標(biāo)識(shí);當(dāng)收到數(shù)據(jù)包處理模塊150解密后的密鑰更新報(bào)文的 內(nèi)容,獲取其中的認(rèn)證密鑰,使用該認(rèn)證密鑰更新卡與終端交互認(rèn)證模塊 130中保存的認(rèn)證密鑰數(shù)據(jù),并用臨時(shí)存儲(chǔ)的終端的標(biāo)識(shí)更新卡內(nèi)正式存儲(chǔ) 的終端的標(biāo)識(shí),更新成功后通過(guò)所述第一交互模塊U0指示終端重啟;該認(rèn) 證密鑰可以為一個(gè)或一組對(duì)稱(chēng)算法密鑰,也可以為一對(duì)非對(duì)稱(chēng)算法的7>私 鑰,可以卡片存私鑰終端存公鑰,也可以卡片存公鑰終端存私鑰。
所述算法封裝模塊140用于封裝傳輸算法和認(rèn)證算法;為保證算法安全 性,將算法進(jìn)行封裝。
本實(shí)施例中,所述傳輸算法和認(rèn)證算法可以為相同的算法或不同的算 法,為不同算法時(shí)安全性較高;當(dāng)傳輸算法和認(rèn)證算法為不同算法時(shí),所述算法封裝模塊140可具體包括傳輸算法封裝子模塊141和認(rèn)證算法封裝子模 塊142。
所述傳輸算法封裝子模塊141用于封裝傳輸算法;供所述數(shù)據(jù)包處理模 塊150加密、解密時(shí)使用。
所述認(rèn)證算法封裝子模塊142用于封裝認(rèn)證算法;供所述卡與終端交互 認(rèn)證模塊130對(duì)機(jī)卡認(rèn)證數(shù)據(jù)進(jìn)行加密、解密時(shí)使用。
所述卡與終端交互認(rèn)證模塊130用于按卡與終端雙方定義的交互流程 及協(xié)議,使用保存的認(rèn)證密鑰并調(diào)用所述算法封裝模塊140中的認(rèn)證算法進(jìn) 行與終端之間的認(rèn)證;如認(rèn)證不通過(guò),調(diào)用所述卡片鎖定模塊160使卡片不 能進(jìn)行正常的登網(wǎng)鑒權(quán)和/或不允許使用約定的相應(yīng)功能;如認(rèn)證通過(guò),則 無(wú)需調(diào)用所述卡片鎖定模塊160,卡片可進(jìn)行正常的登網(wǎng)鑒權(quán)使用和/或允許 使用約定的相應(yīng)功能。實(shí)際應(yīng)用時(shí),所述認(rèn)證密鑰也可以保存在卡內(nèi)其他模 塊中,由所述卡與終端交互認(rèn)證模塊130在使用時(shí)進(jìn)行讀取。
所述卡片鎖定模塊160可根據(jù)其他業(yè)務(wù)模塊調(diào)用時(shí)傳來(lái)的參數(shù)進(jìn)行相 應(yīng)的卡片鑒權(quán)功能、卡片業(yè)務(wù)功能方面的鎖定,使智能卡無(wú)法使用相應(yīng)功能; 用戶需要到營(yíng)業(yè)廳等處解鎖才能恢復(fù)智能卡的正常使用。
所述數(shù)據(jù)包處理模塊150用于進(jìn)行上行數(shù)據(jù)包報(bào)文封裝(卡發(fā)給服務(wù) 器)和下行數(shù)據(jù)包解封裝(服務(wù)器發(fā)給卡),組包和解包時(shí)按卡與服務(wù)器定 義的傳輸協(xié)議進(jìn)行處理,判斷下行數(shù)據(jù)包的命令類(lèi)型并傳給對(duì)應(yīng)的業(yè)務(wù)處理 模塊處理;將封裝后的密鑰更新請(qǐng)求報(bào)文通過(guò)所述第一交互模塊IIO發(fā)送給 所述終端并通過(guò)所述終端發(fā)給服務(wù)器,以及當(dāng)收到所述第一交互模塊110轉(zhuǎn) 發(fā)的服務(wù)器返回的密鑰更新報(bào)文時(shí),調(diào)用所述算法封裝模塊140中的傳輸算 法并使用所保存的傳輸密鑰進(jìn)行該報(bào)文的解密,還可以選擇性地調(diào)用所述算 法封裝模塊140中的傳輸算法,并使用所保存的傳輸密鑰進(jìn)行密鑰更新請(qǐng)求 報(bào)文加密;另外還可以進(jìn)一步選擇進(jìn)行報(bào)文計(jì)數(shù)器處理和MAC數(shù)據(jù)校驗(yàn)。 實(shí)際應(yīng)用時(shí),所述傳輸密鑰也可以保存在卡內(nèi)其他模塊中,由所述數(shù)據(jù)包處 理模塊150在使用時(shí)進(jìn)行讀取。
這里的服務(wù)器指的是智能卡和終端以外的第三方,實(shí)際應(yīng)用時(shí)可以合成 在已有的服務(wù)器中,也可以單獨(dú)建立一個(gè)服務(wù)器。本實(shí)施例中,所述智能卡的標(biāo)識(shí)可以是智能卡序列號(hào),也可以是其它能 夠唯一確定一個(gè)智能卡的信息;所述終端的標(biāo)識(shí)可以是終端序列號(hào),也可以
是其它能夠唯一確定一個(gè)終端的信息。
本實(shí)施例中,所述認(rèn)證密鑰獲取模塊120還可以用于根據(jù)更新卡與終 端交互認(rèn)證模塊130中保存的認(rèn)證密鑰數(shù)據(jù)的結(jié)果,按卡與服務(wù)器的協(xié)議生
成密鑰更新結(jié)果報(bào)文的內(nèi)容,并調(diào)用所述數(shù)據(jù)包處理模塊150封裝成密鑰更 新結(jié)果報(bào)文,通過(guò)所述第一交互模塊IIO經(jīng)由終端傳給服務(wù)器。
本實(shí)施例的一種實(shí)施方式中,所述認(rèn)證密鑰獲取才莫塊120具體可以包

終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊121、密鑰更新必要性判斷處理子模塊122 和密鑰更新處理子模塊123;
所述終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊121用于在每次開(kāi)機(jī)后獲取、分析處理 所述第一交互模塊IIO發(fā)來(lái)的終端的標(biāo)識(shí),并將收到的終端的標(biāo)識(shí)與正式存 儲(chǔ)的終端的標(biāo)識(shí)比對(duì),如一致,則指示卡與終端交互認(rèn)證模塊130進(jìn)行機(jī)卡 認(rèn)證;如不一致(包括原先卡內(nèi)未正式存儲(chǔ)終端的標(biāo)識(shí)的情況),則臨時(shí)存 儲(chǔ)收到的終端的標(biāo)識(shí)(不更新原先正式存儲(chǔ)的終端的標(biāo)識(shí)),并指示密鑰更 新必要性判斷處理子模塊122進(jìn)行處理;實(shí)際應(yīng)用時(shí),所述終端的標(biāo)識(shí)也可 以保存在卡內(nèi)其他模塊中,由所述終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊121在使用時(shí) 進(jìn)行讀取。
所述密鑰更新必要性判斷處理子模塊122用于判斷智能卡當(dāng)前是否未 達(dá)到預(yù)定的上發(fā)密鑰更新請(qǐng)求次數(shù)限制和鑒權(quán)臨時(shí)許可次數(shù)限制,如已達(dá)到 或超過(guò)上述任一個(gè)次數(shù)限制,則調(diào)用卡片鎖定模塊160鎖死卡片鑒權(quán)等功 能;如未達(dá)到或超過(guò)上述任一個(gè)次數(shù)限制,則指示密鑰更新處理子模塊123 進(jìn)行處理;實(shí)際應(yīng)用時(shí),所述上發(fā)密鑰更新請(qǐng)求次數(shù)、鑒權(quán)臨時(shí)許可次數(shù)、 上發(fā)密鑰更新請(qǐng)求次數(shù)限制和鑒權(quán)臨時(shí)許可次數(shù)限制中的一個(gè)或幾個(gè)可以 保存在所述密鑰更新必要性判斷處理子模塊122中,也可以保存在卡內(nèi)該子 模塊之外的其他模塊中,由所述密鑰更新必要性判斷處理子模塊122在使用 時(shí)進(jìn)行讀耳又。所述密鑰更新處理子模塊123用于獲取本卡的卡序列號(hào)和所收到的終 端的標(biāo)識(shí)等相關(guān)參數(shù),按卡與服務(wù)器協(xié)議生成密鑰更新請(qǐng)求報(bào)文的內(nèi)容,并
調(diào)用所述數(shù)據(jù)包處理模塊150封裝為發(fā)送給服務(wù)器的密鑰更新請(qǐng)求報(bào)文,通 過(guò)所述第一交互模塊IIO經(jīng)由終端傳給服務(wù)器。當(dāng)收到所述數(shù)據(jù)包處理模塊 150解密后的密鑰更新報(bào)文時(shí),按與服務(wù)器之間的協(xié)議獲取其中的認(rèn)證密鑰, 使用該認(rèn)證密鑰進(jìn)行卡與終端交互認(rèn)證模塊130中認(rèn)證密鑰數(shù)據(jù)的更新;更 新成功則將密鑰更新必要性判斷處理子模塊122中的上發(fā)密鑰更新請(qǐng)求次 數(shù)加1,用臨時(shí)存儲(chǔ)的終端的標(biāo)識(shí)更新所述終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊121 中原先正式存儲(chǔ)的終端的標(biāo)識(shí),并通過(guò)所述第一交互模塊110指示終端重 啟;如更新不成功,則不用臨時(shí)存儲(chǔ)的終端的標(biāo)識(shí)更新卡內(nèi)正式存儲(chǔ)的終端 的標(biāo)識(shí),并可以根據(jù)需要選擇終止流程或向服務(wù)器返回失敗信息。在指示終 端重啟前還可以進(jìn)一步按卡與服務(wù)器的協(xié)議生成密鑰更新結(jié)果報(bào)文的內(nèi)容, 并調(diào)用所述數(shù)據(jù)包處理模塊150封裝成密鑰更新結(jié)果報(bào)文,通過(guò)所述第一交 互模塊110經(jīng)由終端傳給服務(wù)器。
本實(shí)施例的一種實(shí)施方式中,所述認(rèn)證密鑰獲取模塊120中的密鑰更新 處理子模塊123獲取所述解密后的密鑰更新報(bào)文中的認(rèn)證密鑰具體可以是 指
直接獲取所述解密后的密鑰更新報(bào)文中的明文認(rèn)證密鑰;
先獲取所述解密后的密鑰更新報(bào)文中的卡密文認(rèn)證密鑰,然后采用預(yù)存 的卡密鑰,調(diào)用所述算法封裝模塊140中的卡密文算法解密所述卡密文認(rèn)證 密鑰,得到明文i人證密鑰。
此時(shí),所述算法封裝模塊140還可以包括一卡奮文算法封裝子模塊143; 當(dāng)然該卡密文算法和認(rèn)證算法或傳輸算法可以相同,相同時(shí)則可以不用獨(dú)立 封裝。
所述卡密鑰可以為一個(gè)或一組對(duì)稱(chēng)算法密鑰,也可以為一對(duì)非對(duì)稱(chēng)算法 公私鑰中的私鑰,公鑰則放在服務(wù)器中,供服務(wù)器對(duì)認(rèn)證密鑰進(jìn)行加密得到 所述卡密文認(rèn)證密鑰時(shí)用。本實(shí)施例的一種實(shí)施方式中,所述認(rèn)證密鑰獲取模塊120中的密鑰更新
處理子才莫塊123還進(jìn)一步獲取所述解密后的密鑰更新報(bào)文中的終端密文認(rèn)
證密鑰,或是攜帶所述認(rèn)證密鑰的終端密文報(bào)文,并通過(guò)所述第一交互模塊
110轉(zhuǎn)發(fā)纟合終端。
如果本實(shí)施方式中還采用對(duì)上發(fā)密鑰更新請(qǐng)求次數(shù)進(jìn)行限制的方案,則 所述認(rèn)證密鑰獲取模塊當(dāng)更新所述卡與終端交互認(rèn)證模塊中的認(rèn)證密鑰數(shù) 據(jù)成功,并且接收到終端返回的更新認(rèn)證密鑰成功的消息后,將上發(fā)密鑰更
新請(qǐng)求次數(shù)加l;另外該情況下,在接受到所述終端返回的更新認(rèn)證密鑰成 功的消息后,卡才能跟終端開(kāi)始進(jìn)行交互認(rèn)證。
本實(shí)施例的一種實(shí)施方式中,所述智能卡還可以進(jìn)一步包括認(rèn)證請(qǐng)求處 理模塊170;
該實(shí)施方式中,所述卡與終端交互認(rèn)證^^莫塊130還用于記錄卡與終端認(rèn) 證通過(guò)的次數(shù),當(dāng)該次數(shù)達(dá)到或超過(guò)預(yù)定的次數(shù)閾值時(shí),指示所述認(rèn)證請(qǐng)求 處理模塊170處理。
所述認(rèn)證請(qǐng)求處理模塊170用于判斷當(dāng)前未收到認(rèn)證結(jié)果消息的次數(shù) 是否達(dá)到或超過(guò)預(yù)定的未收到次數(shù)閥值,如達(dá)到或超過(guò)預(yù)定的未收到次數(shù)閥 值,則調(diào)用所述卡片鎖定模塊160鎖死卡片鑒權(quán)等功能,如未達(dá)到,則獲取 本卡的卡序列號(hào)和正式存儲(chǔ)的終端的標(biāo)識(shí)等相關(guān)參數(shù),并按卡與服務(wù)器協(xié)議 生成認(rèn)證請(qǐng)求報(bào)文的內(nèi)容,并調(diào)用數(shù)據(jù)包處理模塊150進(jìn)行封裝為發(fā)送給服 務(wù)器的認(rèn)證請(qǐng)求報(bào)文,通過(guò)第一交互模塊IIO經(jīng)由終端傳給服務(wù)器,同時(shí)將 未收到認(rèn)證結(jié)果消息的次數(shù)加1。當(dāng)收到數(shù)據(jù)包處理模塊150解密后的認(rèn)證 結(jié)果報(bào)文時(shí),將所述未收到認(rèn)證結(jié)果消息的次數(shù)減1,并按協(xié)議獲取、判斷 其中的認(rèn)證結(jié)果,如認(rèn)證結(jié)果為合法,則不調(diào)用所述卡片鎖定模塊160,智 能卡繼續(xù)正常工作,指示所述卡與終端交互認(rèn)證模塊130將卡與終端認(rèn)證通 過(guò)的次數(shù)清零,重新開(kāi)始記錄。如認(rèn)證結(jié)果為不合法,則調(diào)用所述卡片鎖定 模塊160鎖死卡片鑒權(quán)等功能(此時(shí)卡與終端認(rèn)證通過(guò)的次數(shù)不清零)。該實(shí)施方式中,所述數(shù)據(jù)包處理模塊150還用于將封裝后的認(rèn)證請(qǐng)求報(bào) 文通過(guò)所述第一交互模塊IIO發(fā)送給所述終端,以及當(dāng)收到所述第一交互模
塊IIO轉(zhuǎn)發(fā)的服務(wù)器返回的認(rèn)證結(jié)果報(bào)文時(shí),調(diào)用所述算法封裝^f莫塊140中 的傳輸算法并使用所保存的傳輸密鑰進(jìn)行該報(bào)文的解密。
下面用 一個(gè)具體的例子來(lái)描述本實(shí)施例中的智能卡和終端認(rèn)證的過(guò)程, 本例中所述第一交互模塊為STK指令解析處理模塊;算法封裝模塊包括傳 輸算法封裝子模塊和認(rèn)證算法封裝子模塊;終端的標(biāo)識(shí)為終端序列號(hào)。
如圖2所示,所述認(rèn)證過(guò)程包括
步驟S210,開(kāi)機(jī),智能卡上電復(fù)位后,終端通過(guò)APDU (應(yīng)用協(xié)議數(shù) 據(jù)單元)命令發(fā)送Terminal Profile指令給智能卡,智能卡通過(guò)STK指令解 析處理模塊獲取終端發(fā)來(lái)的指令,并調(diào)用終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊121通 過(guò)Getlnput指令向終端傳送信息表明需獲取終端序列號(hào),終端通過(guò)Terminal Response指令將終端序列號(hào)返回給智能卡中的STK指令解析處理模塊,由 STK指令解析處理模塊轉(zhuǎn)發(fā)給終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊121 。
步驟S220,終端標(biāo)識(shí)判斷及存儲(chǔ)子;^莫塊121解析處理終端將收到的終 端序列號(hào)與正式存儲(chǔ)的終端序列號(hào)進(jìn)行對(duì)比,如一致,則進(jìn)行步驟S230; 如不一致,則進(jìn)行步驟S240。
步驟S230,終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊121指示卡與終端交互認(rèn)證模 塊130進(jìn)行機(jī)卡認(rèn)證,卡與終端交互認(rèn)證模塊130按卡與終端雙方定義的交 互流程及協(xié)議,使用卡與終端間的認(rèn)證密鑰并調(diào)用認(rèn)證算法封裝子模塊141 進(jìn)行相互認(rèn)證,如認(rèn)證通過(guò),卡片可進(jìn)行正常的登網(wǎng)鑒權(quán)使用和/或允許使 用約定的相應(yīng)功能,流程結(jié)束;如認(rèn)證不通過(guò),調(diào)用卡片鎖定模塊160使卡 片不能進(jìn)行正常的登網(wǎng)鑒權(quán)和/或不允許使用約定的相應(yīng)功能,流程結(jié)束。
步驟240,臨時(shí)存儲(chǔ)收到的終端序列號(hào)但不更新卡內(nèi)正式存儲(chǔ)的終端序 列號(hào),并將收到的終端序列號(hào)交給密鑰更新必要性判斷處理子模塊122進(jìn)行 處理;密鑰更新必要性判斷處理子模塊122判斷本智能卡當(dāng)前是否未達(dá)到預(yù) 定的上發(fā)密鑰更新請(qǐng)求次數(shù)限制和鑒權(quán)臨時(shí)許可次數(shù)限制,如已達(dá)到或超過(guò)上述任一個(gè)次數(shù)限制,則調(diào)用卡片鎖定模塊160鎖死卡片鑒權(quán)等功能,流程 結(jié)束。如未達(dá)到上述任一個(gè)次數(shù)限制,則將收到的終端序列號(hào)交給密鑰更新
處理子模塊123處理,進(jìn)行步驟250。
步驟250,密鑰更新處理子模塊123讀取本智能卡的卡序列號(hào)和收到的 終端序列號(hào)等相關(guān)參數(shù),并調(diào)用數(shù)據(jù)包處理模塊150進(jìn)行報(bào)文封裝,組成密 鑰更新請(qǐng)求報(bào)文,通過(guò)STK指令解析處理模塊傳給終端上發(fā)服務(wù)器,并將 密鑰更新必要性判斷處理子模塊122中記錄的鑒權(quán)臨時(shí)許可次數(shù)加1。
步驟S260, STK指令解析處理模塊收到由終端轉(zhuǎn)發(fā)的服務(wù)器下發(fā)的密 鑰更新報(bào)文后,由數(shù)據(jù)包處理模塊150解密后交給密鑰更新處理子模塊123 按協(xié)議獲取其中的明文認(rèn)證密鑰或?qū)γ芪恼J(rèn)證密鑰用卡片密鑰和對(duì)應(yīng)算法 解密后得到明文認(rèn)證密鑰,使用該明文認(rèn)證密鑰進(jìn)行卡與終端交互認(rèn)證模塊 130中認(rèn)證密鑰數(shù)據(jù)的更新。
步驟S270,更新成功則密鑰更新處理子模塊123將密鑰更新必要性判 斷處理模塊中的上發(fā)密鑰更新請(qǐng)求次數(shù)加1,用臨時(shí)存儲(chǔ)的終端序列號(hào)更新 終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊121正式存儲(chǔ)的終端序列號(hào),并按卡與服務(wù)器協(xié) 議返回密鑰更新結(jié)果報(bào)文內(nèi)容,調(diào)用數(shù)據(jù)包處理模塊150進(jìn)行報(bào)文封裝,組 成密鑰更新結(jié)果報(bào)文,通過(guò)STK指令解析處理模塊經(jīng)由終端傳給服務(wù)器。 其后,通知用戶重啟終端或自動(dòng)重啟終端。重啟后又會(huì)從步驟S210開(kāi)始執(zhí) 行,此時(shí)步驟S220中所收到的終端序列號(hào)和保存的將是一致的,因此會(huì)進(jìn) 行步驟S230的認(rèn)證。如更新不成功,則不用臨時(shí)存儲(chǔ)的終端序列號(hào)更新卡 內(nèi)正式存儲(chǔ)的終端序列號(hào),并根據(jù)需要選擇終止流程或向服務(wù)器返回失敗信 息。
實(shí)施例二, 一種可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的終端,如圖3所示,除了包括常 用的無(wú)線通信模塊310、用于和卡進(jìn)行交互的第二交互模塊320 (比如STK 功能處理模塊)夕卜,還新增了與機(jī)卡認(rèn)證相關(guān)的安全認(rèn)證模塊330。
所述安全認(rèn)證模塊330包括終端與卡交互認(rèn)證子模塊331、終端鎖定 子模塊332、認(rèn)證算法封裝子模塊333和認(rèn)證密鑰發(fā)行與讀取子模塊334。所述無(wú)線通信模塊310用于實(shí)現(xiàn)終端通過(guò)短信、GPRS等無(wú)線通信方式 與服務(wù)器交互數(shù)據(jù)。
所述第二交互模塊320是終端支持與卡片進(jìn)行STK命令交互功能的處 理模塊,該才莫塊支持卡通過(guò)卡與終端間的交互指令(比如STK指令)實(shí)現(xiàn) 與終端的交互,用于將卡端發(fā)來(lái)的密鑰更新請(qǐng)求報(bào)文通過(guò)所述無(wú)線通信模塊 發(fā)給服務(wù)器,以及通過(guò)所述無(wú)線通信模塊接收服務(wù)器下發(fā)的密鑰更新報(bào)文并 轉(zhuǎn)發(fā)給卡端;在有的實(shí)施方式中,還可以用于將卡端發(fā)給服務(wù)器的其它報(bào)文 通過(guò)所述無(wú)線通信模塊發(fā)給服務(wù)器,比如密鑰更新結(jié)果報(bào)文、認(rèn)證請(qǐng)求報(bào)文,文。
所述終端鎖定子模塊332用于對(duì)本終端的相應(yīng)功能進(jìn)行鎖定,使終端無(wú) 法正常^f吏用。
所述認(rèn)證算法封裝子模塊333用于封裝認(rèn)證算法;為保證算法安全性, 將認(rèn)證算法進(jìn)行封裝,以用于終端與卡交互認(rèn)證子模塊331對(duì)機(jī)卡認(rèn)證數(shù)據(jù) 進(jìn)行加密、解密時(shí)4吏用。
所述認(rèn)證密鑰發(fā)行與讀取子模塊334用于保存認(rèn)證密鑰,可以實(shí)現(xiàn)認(rèn)證 密鑰的初始預(yù)置發(fā)行或?qū)崿F(xiàn)使用服務(wù)器發(fā)來(lái)的認(rèn)證密鑰進(jìn)行更新存儲(chǔ),供終 端與卡交互認(rèn)證子模塊331調(diào)用進(jìn)行認(rèn)證密鑰讀取。
所述終端與卡交互認(rèn)證子模塊331用于在每次開(kāi)機(jī)后將終端的標(biāo)識(shí)通 過(guò)所述第二交互模塊320發(fā)給智能卡,其后按卡與終端雙方定義的交互流將 程及協(xié)議,通過(guò)第二交互模塊320與智能卡進(jìn)行交互認(rèn)證。認(rèn)證中需要認(rèn)證 加密或解密時(shí),調(diào)用認(rèn)證密鑰發(fā)行與讀取子模塊334和認(rèn)證算法封裝子模塊 333進(jìn)行加密、解密;如認(rèn)證不通過(guò),調(diào)用所述終端鎖定模塊332使終端不 能進(jìn)行預(yù)定的相應(yīng)功能;如認(rèn)證通過(guò),則無(wú)需調(diào)用所述終端鎖定模塊332, 終端可進(jìn)行正常〗吏用。
在本實(shí)施例的一種實(shí)施方式中,所述安全i^證才莫塊330還可以進(jìn)一步包 括終端密文算法封裝模塊335和對(duì)應(yīng)的終端密鑰,用于封裝終端密文算法;為保證算法安全性,將終端密文算法進(jìn)行封裝,供終端與卡交互認(rèn)證子模塊 331調(diào)用以解密服務(wù)器下發(fā)的加密的認(rèn)證密鑰,或是加密后的攜帶認(rèn)證密鑰 的報(bào)文。
該模塊為可選模塊,對(duì)于預(yù)置認(rèn)證密鑰不需從服務(wù)器獲取認(rèn)證密鑰的終
端,不需要該模塊;另外,如果終端密文算法與所述認(rèn)證算法相同,則也可
以沒(méi)有該模塊,需要使用時(shí)可直接調(diào)用認(rèn)證算法。
該實(shí)施方式中,所述終端與卡交互認(rèn)證子模塊331還用于通過(guò)第二交互 模塊320與智能卡交互獲取服務(wù)器下發(fā)的終端密文(可以是對(duì)明文認(rèn)證密鑰 加密后的密文認(rèn)證密鑰,也可以是加密后的攜帶明文認(rèn)證密鑰的報(bào)文),調(diào) 用終端密文算法封裝模塊335中的終端密文算法,并使用存儲(chǔ)的終端密鑰解 密出明文認(rèn)證密鑰并存儲(chǔ)在所述認(rèn)證密鑰發(fā)行與讀取子模塊334中(如果原 先有之前獲得的認(rèn)證密鑰則更新)。存儲(chǔ)完成后所述終端與卡交互認(rèn)證子模 塊331還可以通過(guò)第二交互模塊320發(fā)送更新認(rèn)證密鑰成功的消息給卡端。
實(shí)際應(yīng)用時(shí),所述終端密鑰可以保存在任一模塊中。
所述終端密鑰可以為一個(gè)或一組對(duì)稱(chēng)算法密鑰,也可以為一對(duì)非對(duì)稱(chēng)算 法公私鑰中的私鑰,公鑰則放在服務(wù)器中,供服務(wù)器對(duì)認(rèn)證密鑰或攜帶明文 認(rèn)證密鑰的報(bào)文進(jìn)行加密得到所述終端密文時(shí)用。
當(dāng)終端密文為明文認(rèn)證密鑰加密后的密文認(rèn)證密鑰時(shí),所述終端與卡交 互認(rèn)證子模塊331調(diào)用終端密文算法封裝模塊335和對(duì)應(yīng)的終端密鑰解密終 端密文后直接得到明文認(rèn)證密鑰;如果終端密文為加密后的攜帶明文認(rèn)證密 鑰的報(bào)文,則所述終端與卡交互認(rèn)證子模塊331調(diào)用終端密文算法封裝模塊 335和對(duì)應(yīng)的終端密鑰解密終端密文后得到的是攜帶明文認(rèn)證密鑰的報(bào)文, 還需要按照與服務(wù)器之間約定的協(xié)議從報(bào)文中獲取明文認(rèn)證密鑰。
本實(shí)施例中,所述安全認(rèn)證模塊330放入終端的方式包括但不限于以下 幾種
(1 )集成在安全認(rèn)證硬件模塊中嵌入終端,通過(guò)串口 、 USB 口 、或7816 等接口與終端進(jìn)行通訊;(2)集成在安全芯片中,在生產(chǎn)時(shí)將安全芯片表貼在終端的無(wú)線通信
模塊(如GSM模塊)中;
(3 )集成在一個(gè)安全認(rèn)證智能卡中放入終端里未被要認(rèn)證的智能卡占 用的空閑卡槽中,通過(guò)7816接口與終端通訊,但這一安全認(rèn)證智能卡是用 于實(shí)現(xiàn)終端的認(rèn)證功能,與同終端進(jìn)行交互認(rèn)證的專(zhuān)用智能卡不同,因此該 方式終端需要提供雙卡槽。
(4)通過(guò)軟件模塊方式放在終端軟件中。
下面用一個(gè)具體例子來(lái)描述終端與卡交互認(rèn)證的過(guò)程,該例子中,終端 未預(yù)置認(rèn)證密鑰,所述第二交互模塊為STK功能模塊,終端的標(biāo)識(shí)為終端 序列號(hào)。
所述認(rèn)i正過(guò)程如圖4所示,具體步驟為
步驟S410、開(kāi)機(jī)后,STK功能處理模塊通過(guò)APDU (應(yīng)用協(xié)議數(shù)據(jù)單 元)命令發(fā)送Terminal Profile指令給智能卡,當(dāng)接收到智能卡發(fā)來(lái)的表明需 獲取終端序列號(hào)的Getlnput指令后,終端與卡交互認(rèn)證子模塊331將終端序 列號(hào)通過(guò)Terminal Response指令經(jīng)由STK功能處理模塊發(fā)送給智能卡。
步驟S420、 STK功能處理模塊將智能卡發(fā)來(lái)的密鑰更新請(qǐng)求報(bào)文通過(guò) 無(wú)線通信模塊310發(fā)送給服務(wù)器;其后通過(guò)無(wú)線通信模塊310接收服務(wù)器返 回的密鑰更新報(bào)文并轉(zhuǎn)發(fā)給卡端。
步驟S430、智能卡從服務(wù)器獲取終端密文(加密后的認(rèn)證密鑰或是加 密后的攜帶明文認(rèn)證密鑰的報(bào)文)并傳給終端;終端與卡交互認(rèn)證子模塊 331通過(guò)STK功能處理模塊獲取智能卡傳來(lái)的終端密文,使用終端密鑰,調(diào) 用終端密文算法封裝子模塊335中的終端密文算法解密獲得明文的認(rèn)證密 鑰,將該認(rèn)證密鑰存儲(chǔ)在所述認(rèn)證密鑰發(fā)行與讀取子模塊334中。終端與卡 交互認(rèn)證子模塊331通過(guò)STK功能處理模塊發(fā)送更新認(rèn)證密鑰成功的消息 給卡端。
步驟S440、終端與卡交互認(rèn)證子模塊331通過(guò)STK功能處理模塊與智 能卡進(jìn)行交互認(rèn)證。認(rèn)證中需要認(rèn)證加密或解密時(shí),終端與卡交互認(rèn)證子模塊331使用認(rèn)證密鑰發(fā)行與讀取子模塊中保存的認(rèn)證密鑰,調(diào)用認(rèn)證算法封 裝子模塊333中的認(rèn)證算法進(jìn)行加密、解密。
步驟S450、如機(jī)卡認(rèn)證通過(guò),則允許終端各項(xiàng)功能正常使用。如機(jī)卡 認(rèn)證不通過(guò),則終端與卡交互認(rèn)證子模塊331調(diào)用終端鎖定子模塊332鎖死 本終端的相關(guān)功能。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的 形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的智能卡,包括用于和終端交互的第一交互模塊;其特征在于,還包括認(rèn)證密鑰獲取模塊、算法封裝模塊、卡與終端交互認(rèn)證模塊、數(shù)據(jù)包處理模塊和卡片鎖定模塊;所述認(rèn)證密鑰獲取模塊用于在每次開(kāi)機(jī)后對(duì)比終端通過(guò)所述第一交互模塊發(fā)來(lái)的終端的標(biāo)識(shí)與正式存儲(chǔ)的終端的標(biāo)識(shí),當(dāng)一致時(shí),指示卡與終端交互認(rèn)證模塊進(jìn)行機(jī)卡認(rèn)證;不一致時(shí),臨時(shí)保存收到的終端的標(biāo)識(shí),生成發(fā)送給服務(wù)器的密鑰更新請(qǐng)求報(bào)文的內(nèi)容并發(fā)送給數(shù)據(jù)包處理模塊封裝,其中攜帶本智能卡的標(biāo)識(shí)和所收到的終端的標(biāo)識(shí);以及當(dāng)收到解密后的密鑰更新報(bào)文的內(nèi)容時(shí)獲取其中的認(rèn)證密鑰,使用該認(rèn)證密鑰更新卡與終端交互認(rèn)證模塊中保存的認(rèn)證密鑰數(shù)據(jù),并用臨時(shí)存儲(chǔ)的終端的標(biāo)識(shí)更新卡內(nèi)正式存儲(chǔ)的終端的標(biāo)識(shí),更新成功后通過(guò)所述第一交互模塊指示終端重啟;所述算法封裝模塊用于封裝傳輸算法和認(rèn)證算法;所述卡與終端交互認(rèn)證模塊用于按卡與終端雙方定義的交互流程及協(xié)議,使用保存的認(rèn)證密鑰并調(diào)用所述算法封裝模塊中的認(rèn)證算法進(jìn)行與終端之間的認(rèn)證;當(dāng)認(rèn)證不通過(guò)時(shí)調(diào)用所述卡片鎖定模塊鎖死本卡的相應(yīng)功能;所述數(shù)據(jù)包處理模塊用于將封裝后的密鑰更新請(qǐng)求報(bào)文通過(guò)所述第一交互模塊發(fā)送給所述終端;還用于當(dāng)收到所述第一交互模塊返回的服務(wù)器下發(fā)的密鑰更新報(bào)文時(shí),調(diào)用所述算法封裝模塊中的傳輸算法并使用所保存的傳輸密鑰進(jìn)行該報(bào)文的解密。
2、 如權(quán)利要求1所述的智能卡,其特征在于所述算法封裝模塊中封裝的所述傳輸算法和認(rèn)證算法為相同或不同的 算法;當(dāng)傳輸算法和認(rèn)證算法為不同算法時(shí),所述算法封裝模塊包括用于封 裝傳輸算法的傳輸算法封裝子模塊,以及用于封裝認(rèn)證算法的認(rèn)證算法封裝 子模塊。
3、 如權(quán)利要求1所述的智能卡,其特征在于,所述認(rèn)證密鑰獲取模塊 具體包括終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊、密鑰更新必要性判斷處理子模塊和密鑰更新處理子模塊;所述終端標(biāo)識(shí)判斷及存儲(chǔ)子模塊用于獲取終端通過(guò)所述第一交互模塊 發(fā)來(lái)的終端的標(biāo)識(shí),并將收到的終端的標(biāo)識(shí)與正式存儲(chǔ)的終端的標(biāo)識(shí)比對(duì), 如一致,則指示卡與終端交互認(rèn)證模塊進(jìn)行機(jī)卡認(rèn)證;如不一致則保存收到 的終端的標(biāo)識(shí),并指示所述密鑰更新必要性判斷處理子模塊進(jìn)行處理;所述密鑰更新必要性判斷處理子模塊用于判斷智能卡當(dāng)前是否未達(dá)到 預(yù)定的上發(fā)密鑰更新請(qǐng)求次數(shù)限制和鑒權(quán)臨時(shí)許可次數(shù)限制,如已達(dá)到或超 過(guò)上述任一個(gè)次數(shù)限制,則調(diào)用卡片鎖定模塊鎖死本卡的相應(yīng)功能;未達(dá)到 或超過(guò)上述任一個(gè)次數(shù)限制則指示密鑰更新處理子模塊處理;所述密鑰更新處理子模塊用于獲取本卡的卡序列號(hào)和所收到的終端的 標(biāo)識(shí),生成密鑰更新請(qǐng)求報(bào)文的內(nèi)容,并調(diào)用所述數(shù)據(jù)包處理模塊封裝為發(fā) 送給服務(wù)器的密鑰更新請(qǐng)求報(bào)文;以及當(dāng)收到所述數(shù)據(jù)包處理模塊解密后的 密鑰更新報(bào)文時(shí),獲取其中的認(rèn)證密鑰,使用該認(rèn)證密鑰進(jìn)行卡與終端交互 認(rèn)證^t塊中認(rèn)證密鑰數(shù)據(jù)的更新,;更新成功則將密鑰更新必要性判斷處理 子模塊中的上發(fā)密鑰更新請(qǐng)求次數(shù)加1,用臨時(shí)存儲(chǔ)的終端的標(biāo)識(shí)更新卡內(nèi) 正式存儲(chǔ)的終端的標(biāo)識(shí),并通過(guò)所述第 一交互^f莫塊指示終端重啟。
4、 如權(quán)利要求1所述的智能卡,其特征在于,所述認(rèn)證密鑰獲取模塊 獲取所述解密后的密鑰更新報(bào)文中的認(rèn)證密鑰具體是指直接獲取所述解密后的密鑰更新報(bào)文中的明文認(rèn)證密鑰;或是先獲取所述解密后的密鑰更新報(bào)文中的卡密文認(rèn)證密鑰,然后采用 預(yù)存的卡密文密鑰,調(diào)用所述算法封裝模塊中的卡密文算法解密所述卡密文 認(rèn)證密鑰,得到明文認(rèn)證密鑰。
5、 如權(quán)利要求1到4中任一項(xiàng)所述的智能卡,其特征在于所述認(rèn)證密鑰獲取模塊還用于獲取所述解密后的密鑰更新報(bào)文中的終 端密文認(rèn)證密鑰,或是攜帶所述認(rèn)證密鑰的終端密文報(bào)文,并通過(guò)所述第一 交互模塊轉(zhuǎn)發(fā)給終端。
6、 如權(quán)利要求1到4中任一項(xiàng)所述的智能卡,其特征在于,還包括認(rèn)證請(qǐng)求處理模塊;所述卡與終端交互認(rèn)證模塊還用于記錄與終端認(rèn)證通過(guò)的次數(shù),當(dāng)該次 數(shù)達(dá)到或超過(guò)預(yù)定的次數(shù)閾值時(shí),指示所述認(rèn)證請(qǐng)求處理^^莫塊處理;所述認(rèn)證請(qǐng)求處理模塊用于判斷當(dāng)前未收到認(rèn)證結(jié)果消息的次數(shù)是否 達(dá)到或超過(guò)預(yù)定的未收到次數(shù)閥值,如達(dá)到或超過(guò)預(yù)定的未收到次數(shù)閥值,則調(diào)用所述卡片鎖定模塊160鎖死卡片鑒權(quán)等功能,如未達(dá)到,則獲取本卡 的卡序列號(hào)和正式存儲(chǔ)的終端的標(biāo)識(shí),生成發(fā)送給服務(wù)器的認(rèn)證請(qǐng)求報(bào)文的 內(nèi)容,并調(diào)用數(shù)據(jù)包處理模塊進(jìn)行報(bào)文封裝,同時(shí)將未收到認(rèn)證結(jié)果消息的 次數(shù)加l;當(dāng)收到數(shù)據(jù)包處理模塊解密后的認(rèn)證結(jié)果報(bào)文時(shí),將所述未收到 認(rèn)證結(jié)果消息的次數(shù)減l,并獲取、判斷其中的認(rèn)證結(jié)果,如認(rèn)證結(jié)果為不 合法或所述未收到認(rèn)證結(jié)果消息的次數(shù)超過(guò)預(yù)定次數(shù),則調(diào)用所述卡片鎖定 模塊鎖死本卡的相應(yīng)功能;如果為合法則智能卡繼續(xù)正常工作,指示所述卡 與終端交互認(rèn)證模塊130將卡與終端認(rèn)證通過(guò)的次數(shù)清零,重新開(kāi)始記錄;所述數(shù)據(jù)包處理模塊還用于將封裝后的認(rèn)證請(qǐng)求報(bào)文通過(guò)所述第一交 互模塊發(fā)送給所述終端,以及當(dāng)收到所述第一交互模塊轉(zhuǎn)發(fā)的服務(wù)器返回的 認(rèn)證結(jié)果報(bào)文時(shí),調(diào)用所述算法封裝模塊中的傳輸算法并使用所保存的傳輸 密鑰進(jìn)行該^^艮文的解密。
7、 一種可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的終端,包括用于實(shí)現(xiàn)終端和服務(wù)器交互 的無(wú)線通信模塊、用于和卡進(jìn)行交互的第二交互模塊;其特征在于,還包括 安全認(rèn)證^t塊;所述安全認(rèn)證模塊包括終端與卡交互認(rèn)證子模塊、終端鎖定子模塊、 認(rèn)證算法封裝子模塊和認(rèn)證密鑰發(fā)行與讀取子模塊;所述第二交互模塊用于將卡端發(fā)來(lái)的密鑰更新請(qǐng)求報(bào)文通過(guò)所述無(wú)線 通信模塊發(fā)給服務(wù)器,以及通過(guò)所述無(wú)線通信模塊接收服務(wù)器下發(fā)的密鑰更 新報(bào)文并轉(zhuǎn)發(fā)給卡端;所述認(rèn)證算法封裝子模塊用于封裝認(rèn)證算法;所述認(rèn)證密鑰發(fā)行與讀取子模塊用于保存i人證密鑰;述第二交互模塊發(fā)給智能卡,其后按卡與終端雙方定義的交互流將程及協(xié)議,通過(guò)第二交互模塊與智能卡進(jìn)行交互認(rèn)證;認(rèn)證中需要認(rèn)證加密或解密 時(shí),調(diào)用認(rèn)證密鑰發(fā)行與讀取子模塊和認(rèn)證算法封裝子模塊進(jìn)行加密、解密; 當(dāng)認(rèn)證不通過(guò)時(shí)調(diào)用所述終端鎖定模塊鎖死本終端的相應(yīng)功能。
8、 如權(quán)利要求7所述的終端,其特征在于,所述安全認(rèn)證模塊還包括用于封裝終端密文算法的終端密文算法封裝模塊;所述終端與卡交互認(rèn)證子模塊還用于通過(guò)第二交互模塊從智能卡獲取 服務(wù)器下發(fā)的終端密文,調(diào)用終端密文算法封裝模塊中的終端密文算法,使 用存儲(chǔ)的終端密鑰解密出明文認(rèn)證密鑰,并存儲(chǔ)在所述認(rèn)證密鑰發(fā)行與讀取 子才莫塊中。
9、 如權(quán)利要求7所述的終端,其特征在于所述終端密文為對(duì)明文認(rèn)證密鑰加密得到的密文認(rèn)證密鑰,或是加密后 的攜帶明文認(rèn)證密鑰的報(bào)文;當(dāng)終端密文為對(duì)明文認(rèn)證密鑰加密得到的密文認(rèn)證密鑰時(shí),所述終端與 卡交互認(rèn)證子模塊解密終端密文后直接得到明文認(rèn)證密鑰;當(dāng)終端密文為加密后的攜帶明文認(rèn)證密鑰的報(bào)文時(shí),所述終端與卡交互 認(rèn)證子模塊解密終端密文后得到攜帶明文認(rèn)證密鑰的報(bào)文,從該報(bào)文中獲取 明文iU正密鑰。
10、 如權(quán)利要求7到9中任一項(xiàng)所述的終端,其特征在于,所述安全認(rèn) 證才莫塊放入終端的方式包括(1 )集成在安全認(rèn)證硬件模塊中嵌入終端,通過(guò)串口 、 USB 口 、或7816 才妄口與終端進(jìn)行通訊;(2)集成在表貼在終端的無(wú)線通信模塊中的安全芯片里;(3 )集成在另一個(gè)安全認(rèn)證智能卡中放入終端里未被要認(rèn)證的智能卡 占用的空閑卡槽中,通過(guò)7816接口與終端通訊;(4)通過(guò)軟件模塊方式放在終端軟件中。
全文摘要
一種可實(shí)現(xiàn)機(jī)卡安全認(rèn)證的智能卡及終端;卡包括用于和終端交互的第一交互模塊、卡與終端交互認(rèn)證模塊、卡片鎖定模塊、認(rèn)證密鑰獲取模塊、算法封裝模塊和數(shù)據(jù)包處理模塊;所述認(rèn)證密鑰獲取模塊用于在每次開(kāi)機(jī)后接收的終端的標(biāo)識(shí)與正式存儲(chǔ)的終端的標(biāo)識(shí),當(dāng)一致時(shí),指示卡與終端交互認(rèn)證模塊進(jìn)行機(jī)卡認(rèn)證;不一致時(shí),臨時(shí)保存收到的終端的標(biāo)識(shí),生成發(fā)送給服務(wù)器的密鑰更新請(qǐng)求報(bào)文的內(nèi)容并發(fā)送給數(shù)據(jù)包處理模塊封裝;當(dāng)收到解密后的密鑰更新報(bào)文的內(nèi)容時(shí)獲取其中的認(rèn)證密鑰,使用該認(rèn)證密鑰更新卡與終端交互認(rèn)證模塊中保存的認(rèn)證密鑰數(shù)據(jù),并用臨時(shí)存儲(chǔ)的終端的標(biāo)識(shí)更新卡內(nèi)正式存儲(chǔ)的終端的標(biāo)識(shí),更新成功后指示終端重啟。本發(fā)明可實(shí)現(xiàn)安全認(rèn)證。
文檔編號(hào)H04W12/04GK101577906SQ20091008659
公開(kāi)日2009年11月11日 申請(qǐng)日期2009年6月12日 優(yōu)先權(quán)日2009年6月12日
發(fā)明者焦華清, 王京陽(yáng), 穆肇驪, 輝 鄭 申請(qǐng)人:大唐微電子技術(shù)有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1