ARM7 智能卡的動(dòng)態(tài)口令終端研究與實(shí)現
1 引言
目前動(dòng)態(tài)口令主要有基于事件、時(shí)間和挑戰碼三種實(shí)現方式[1], 現有的動(dòng)態(tài)口令終端主要有刮刮卡、令牌、智能卡與卡片閱讀機相結合以及基于SIM 卡等。刮刮卡是一種塑料或者紙質(zhì)卡片,除卡號外,每張卡片上印刷30~45 個(gè)一次性使用的密碼,每個(gè)密碼前面印有引導用戶(hù)使用的序號方便用戶(hù)查詢(xún),每個(gè)密碼都單獨覆蓋了刮刮膜,它用于記載后臺虛擬動(dòng)態(tài)口令設備計算出的動(dòng)態(tài)口令, 用戶(hù)每次認證時(shí)按照系統提示刮開(kāi)一個(gè)新的密碼使用。令牌也是一種能產(chǎn)生并顯示動(dòng)態(tài)口令的設備。這兩種方式安全性雖高于靜態(tài)口令,但是需要有終端成本, 根據終端的不同,成本不同,而且使用次數有限[2]。智能卡與卡片閱讀機相結合的方式是指在用戶(hù)登錄時(shí),必須將智能卡插入卡片閱讀機中,采集活體指紋,如果匹配成功,才允許操作。此種方式操作不靈活,用戶(hù)每次登錄都必須帶有卡片閱讀機[3]?;赟IM 卡的動(dòng)態(tài)口令是指移動(dòng)終端借助于電信智能卡USIM 或PIM 卡生成,根據某種加密算法,隨某一個(gè)動(dòng)態(tài)參數(例如時(shí)間、事件等)計算產(chǎn)生的一次一變的一種口令[4]。此方案可以將動(dòng)態(tài)口令集成到SIM 卡上,雖然解決了前三種終端的不足,但是需要用戶(hù)更換原有SIM 卡。目前投入使用的幾億張SIM 卡要換成帶有STK 的動(dòng)態(tài)口令新一代卡,再加上大量新應用服務(wù)的宣傳推廣,均需要投入大量資金;用戶(hù)也不愿意另花錢(qián)更換具有STK 應用功能單一、或需求不迫切的帶動(dòng)態(tài)口令的USIM 卡或PIM 卡,因此此種換卡模式的推廣有難度[5]。
針對以上幾種終端存在的缺陷,本文利用每臺手機均具有標準的SIM 卡接口對手機STK功能進(jìn)行擴展,設計了一個(gè)貼在手機SIM 卡上的超薄ARM7 智能卡芯片,采用STK 菜單實(shí)現動(dòng)態(tài)口令終端操作。此方案為手機應用軟件提供安全便捷、統一兼容的硬件平臺,實(shí)現不同手機STK 動(dòng)態(tài)口令應用功能的無(wú)障礙擴展。手機用戶(hù)無(wú)需更換手機或SIM 卡,也可任意換機換號,只要將該智能卡直接貼在SIM 卡上,插入手機卡槽即可使用STK 菜單的動(dòng)態(tài)口令功能,不影響手機原有服務(wù)及功能;同時(shí)智能卡內可通過(guò)空中下載方式(OTA)更換動(dòng)態(tài)口令的PIN碼,在用戶(hù)手機上構建一個(gè)開(kāi)放的動(dòng)態(tài)口令應用平臺。智能卡內部通過(guò)硬件加密方式,解決了用戶(hù)數據傳輸的安全問(wèn)題,滿(mǎn)足動(dòng)態(tài)口令安全應用需求。此種終端實(shí)現方式人機界面友好,投入成本低,容易推廣,具有廣闊的應用前景。
2 ARM7 智能卡硬件平臺設計
動(dòng)態(tài)口令硬件實(shí)現平臺采用ARM 公司的32 位ARM7 接觸式智能IC 芯片,該芯片主要針對高端GSM 電信卡、3G SIM 卡和JAVA 卡應用。內置256K 字節可編程ROM 、64K 字節數據ROM、8K 字節靜態(tài)RAM,集成了定時(shí)器、中斷控制器、系統控制、DES、RSA 硬件加密協(xié)處理器、安全檢測控制以及硬件7816 接口等模塊,適合SIM 卡的STK 功能擴展設計。該智能卡硬件平臺的電氣連接SIM 卡和手機內線(xiàn)路,整體厚度小于0.7 毫米,長(cháng)和寬都和原有SIM 卡一致,遵循SIM 卡所有的接口標準,保持手機與SIM 卡原有的交互功能不變,通過(guò)手機的SIM 卡插槽與手機進(jìn)行交互,使手機的顯示屏及鍵盤(pán)成為智能卡用戶(hù)的人機接口。在智能卡內部安裝有卡片操作系統(簡(jiǎn)稱(chēng)COS),該COS 支持SIM 卡一般性功能、擴展性功能及空中下載三大模塊。一般性功能指的是對ISO 7816 硬件接口和GSM 11.11 部分的通訊層和指令協(xié)議棧的實(shí)現,是實(shí)現智能卡與SIM 卡和手機通訊的基礎;擴展性功能指的是對GSM11.14 協(xié)議棧的實(shí)現,是實(shí)現STK 應用的基礎。OTA 菜單下載的實(shí)現借助于STK 功能和數據短消息通道,支持空中下載的COS 提供可行的人機接口界面供用戶(hù)發(fā)起下載申請,OTA 應用下載服務(wù)器根據用戶(hù)請求,以數據短信息的形式將相應的服務(wù)內容發(fā)給用戶(hù)手機,并將下載數據透明地傳遞給ARM 智能卡芯片,COS 對下載的短信息內容通過(guò)雙向認證后進(jìn)行解析,把STK 菜單的字節碼數據流重新進(jìn)行組織存儲,實(shí)現相應的STK 菜單管理。對手機而言,ARM7 智能卡相當于SIM 卡而屏蔽了其微處理器及相關(guān)電路的軟硬件特性,而對SIM 卡而言,ARM7 智能卡就相當于手機而屏蔽了其微處理器及相關(guān)電路的軟硬件特性。在此基礎上,實(shí)現ARM7 智能卡對SIM 卡的STK 功能擴展,把不同規格的SIM卡整合到一個(gè)開(kāi)放的STK 應用平臺上。其整體硬件結構邏輯功能框圖及ARM7 智能卡硬件接口分別如下圖(1)和圖(2)所示:
在 ARM7 智能卡硬件接口中,VDD、GND、RST、CLK 分別連接手機和SIM 卡的對應接口,保持手機和SIM 卡內線(xiàn)路連通,IO1 連接手機的IO 口,IO2 連接SIM 卡的IO 口,通過(guò)這兩個(gè)接口實(shí)現ARM7 智能卡、手機以及SIM 卡之間的相互通信。
評論