專利名稱:實現(xiàn)手機應用通過自定義接口和sim卡交互的方法
技術領域:
本發(fā)明屬于SIM卡領域,尤其涉及手機和SIM卡的機卡接口交互領域。
背景技術:
智能卡芯片(也稱IC卡芯片),是一種將存儲、安全、IO接口、數(shù)據(jù)處理功能集成到一個集成電路中的芯片。智能卡芯片由于其國際標準化、智能化和安全特性,可以封裝為各種卡形態(tài),應用于各個領域,其中最主要的是在手機終端中作為SM(SubSCriberIndentity Module Card,用戶識別模塊)卡的應用。在手機SM卡上,GSMlI. 11規(guī)范定義了 SM卡內(nèi)的基本文件組成,以及手機和SM卡的一套標準機卡交互接口。該套機卡交互接口主要包括文件操作和安全操作 兩大類其中文件類包括選擇文件(SELECT)、使文件有效(REHABILITATE)、使文件無效(INVALIDATE)、讀透明文件(READBINARY)、更新透明文件(UPDATEBINARY)、讀記錄文件(READREC0RD)、更新記錄文件(UPDATEREC0RD);安全操作類包括VERIFY CHV (驗證權(quán)限)、RUN GSM ALGORITHM (運行算法)。GSMlI. 11標準將上述機卡接口采用IS0/IEC 7816-4標準規(guī)定的標準APDU來承載,請參閱圖2,該圖描述了 IS0/IEC 7816-4標準規(guī)定的APDU數(shù)據(jù)格式。該數(shù)據(jù)格式分為命令APDU和響應APDU兩類,終端發(fā)出命令APDU,SM卡返回響應APDU。各組成字段的定義如下(I)CLA字段是指令的類別(IS0/IEC 7816-3[25]),其中‘A0’用于GSM應用。(2) INS字段是指令代碼(IS0/IEC 7816-3 [25]),各命令被分配一個唯一的代碼。(3)P1,P2,P3字段是命令的參數(shù),其中Pl和P2根據(jù)命令的不同其含義也不同;P3表示DATA數(shù)據(jù)字段的長度,P3 = ‘00’在輸出數(shù)據(jù)的響應APDU中表示從SM卡傳送一個256字節(jié)數(shù)據(jù),P3 = ‘00’在命令APDU中表示沒有攜帶數(shù)據(jù)。(4) DATA數(shù)據(jù)字段,表示命令攜帶的數(shù)據(jù)。(5) Sffl和SW2字段,表示命令結(jié)果成功與否的狀態(tài)。GSMlI. 11將每個機卡接口映射到上述APDU上,主要將APDU中的各個字段值做了明確定義,例如GSM11. 11定義的選擇文件(SELECT)操作的命令APDU定義如下CLA=’ A0,,INS =,A4,,Pl =,00,,P2 =,00,,P3 =’ 02,。其他接口以此類推。由于GSM11. 11規(guī)范只定義了有限的接口,如果手機應用和SM卡的交互操作超過上述接口功能范圍,那么就需要擴展自定義接口了。一種擴展自定義接口的方法是分配一個新的未使用過的INS字段值和P1/P2/P3參數(shù)值,構(gòu)造新的APDU,但是該方法實際上不可用。請參閱圖3,該圖描述了手機應用、基帶處理器和SM卡的連接關系示意圖。通過該圖可知,手機應用運行在手機應用處理器上,訪問SIM卡時,首先是要將訪問操作傳遞給基帶,然后由基帶中轉(zhuǎn)訪問SIM卡;SIM卡的響應也是通過手機基帶作為中轉(zhuǎn)環(huán)節(jié)返回給手機應用。由于手機基帶都嚴格遵循GSMlI. 11規(guī)范開發(fā),所以對于用戶自定義接口的INS和參數(shù)值都認為是非法的,直接返回錯誤。
另一種擴展自定義接口的方法在SM卡內(nèi)建立一些新的文件,通過讀寫新文件來表示不同的操作,但是因為基帶處理器對非GSM11. 11規(guī)定的基本文件的操作也認為是非法的,所以該方法也不可用。還一種方法是在自定義接口后,修改基帶處理中的代碼,使之能夠支持新的非GSMl I. 11標準的APDU命令,但該方法代價大,而且無法兼容已有的存量手機。綜上所述,需要提供一種方法,只能利用GSM11. 11標準化的機卡接口和基本文件,來實現(xiàn)用戶自定義接口的擴展。
發(fā)明內(nèi)容
本發(fā)明提出了一種利用GSM11. 11標準的文件操作接口和基本文件,實現(xiàn)手機應 用通過自定義接口和SM卡交互的方法。該方法將用戶自定義接口都規(guī)定為由一對請求命令和響應命令構(gòu)成,手機應用發(fā)出請求命令,然后等待SIM卡返回響應命令,完成一次交互。請求命令和響應命令都被轉(zhuǎn)化為對SIM卡的文件讀寫操作。請求命令和響應命令轉(zhuǎn)化為文件讀寫操作的流程如下(I)手機應用將請求命令轉(zhuǎn)化為字符串,然后發(fā)出“select”來選擇SIM卡中的一個特定文件;SIM卡內(nèi)軟件監(jiān)聽對該文件的操作,收到選擇命令后,返回表示成功的“0x90xx”。(2)手機應用發(fā)出標準的verify chv命令提供該特定文件的寫操作權(quán)限;SIM卡驗證該權(quán)限,成果的話返回“0x9000”。(3)手機應用發(fā)出標準的update binary或update recorder寫文件操作,將請求命令轉(zhuǎn)化的字符串寫入到SIM中該特定文件中。SIM卡返回表示成功的“0x9000”。(4)手機應用發(fā)出標準read binary/read recorder讀文件操作,等待該文件可被讀取的通知。該讀操作同時也表明了請求命令已經(jīng)寫完成,請求SM處理。(5) SIM卡內(nèi)軟件監(jiān)聽對手機應用該文件的讀操作后,從該特定文件中讀出字符串并恢復出請求命令,然后進行處理。處理過程中,用“0x60”通知手機應用進行等待。處理完畢后,用得到的結(jié)果構(gòu)造響應命令并轉(zhuǎn)化為字符串,然后寫入到該特定文件中。然后返回表示成功的“0x9000”給手機應用。(6)手機應用收到“0x9000”后,從該特定文件中讀出字符串,并重新恢復出響應命令進行處理,完成一次交互。上述特定文件,是一個被GSM11. 11標準規(guī)定的基本文件,然后在該文件中分配一段空間作為請求區(qū)域,用于寫入請求命令轉(zhuǎn)化的字符串;分配一段空間作為響應區(qū)域,用來寫入響應命令轉(zhuǎn)化的串。
圖I為本發(fā)明的方法交互流程示意2為IS0/IEC 7816-4標準定義的APDU數(shù)據(jù)格式示意3為手機應用、基帶處理器和SM卡的連接關系示意4為用于實現(xiàn)自定義密鑰對推導接口的交互流程示意圖具體實施方案下面結(jié)合本發(fā)明的具體實現(xiàn)方案來對本發(fā)明做進一步描述。本示例具體實現(xiàn),假設手機應用需要擴展一個自定義接口 密鑰對推導,要求SIM卡計算一個公私鑰對,
權(quán)利要求
1.一種實現(xiàn)手機應用通過自定義接口和SIM卡交互的方法,其特征在于手機應用和SIM卡之間的自定義接口由一對請求命令和響應命令構(gòu)成,手機應用發(fā)出請求命令,然后等待SIM卡返回響應命令,完成一次交互,其中請求命令和響應命令都被轉(zhuǎn)化為對SIM卡的文件讀寫操作。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于請求命令和響應命令轉(zhuǎn)化為文件讀寫操作的流程如下 (1)手機應用將請求命令轉(zhuǎn)化為字符串,然后選擇SIM卡中的一個特定文件;SIM卡內(nèi)軟件監(jiān)聽對該特定文件的操作,收到選擇命令后,返回表示成功的字符串; (2)手機應用發(fā)出權(quán)限驗證命令提供該特定文件的寫操作權(quán)限;SIM卡驗證該權(quán)限,成果的話返回表示成功的字符串; (3)手機應用發(fā)出寫文件操作命令,將請求命令轉(zhuǎn)化的字符串寫入到SIM中該特定文件中,SIM卡返回表示成功的字符串;(4)手機應用發(fā)出讀文件操作命令,等待該特定文件可被讀取的通知,該讀操作同時也表明了請求命令已經(jīng)寫完成,請求SM處理; (5)SIM卡內(nèi)軟件監(jiān)聽對手機應用該文件的讀操作命令后,從該特定文件中讀出請求命令轉(zhuǎn)化的字符串并恢復出請求命令,然后進行處理;處理過程中,通知手機應用進行等待;處理完畢后,用得到的結(jié)果構(gòu)造響應命令并轉(zhuǎn)化為字符串,然后寫入到該特定文件中;然后返回表示成功的字符串給手機應用; (6)手機應用收到表示成功的字符串后,從該特定文件中讀出字符串,并重新恢復出響應命令進行處理,完成一次交互。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于所述特定文件,是一個被標準規(guī)定的基本文件,然后在該文件中分配一段空間作為請求區(qū)域,用于寫入請求命令轉(zhuǎn)化的字符串;分配一段空間作為響應區(qū)域,用來寫入響應命令轉(zhuǎn)化的字符串。
全文摘要
本發(fā)明提出了一種實現(xiàn)手機應用通過自定義接口和SIM卡交互的方法?,F(xiàn)有手機都支持由GSM11.11規(guī)范定義的機卡交互接口。這些接口主要包括選擇、讀寫、有效使能等文件操作接口,以及算法計算、權(quán)限驗證等安全操作接口。這些接口功能單一,而GSM11.11規(guī)范本身又不支持接口擴展,所以無法滿足手機應用和SIM卡的復雜交互需求。本發(fā)明提出了一種方法,將用戶自定義接口規(guī)定為由請求-響應命令對構(gòu)成,手機應用將請求命令轉(zhuǎn)換為字符串,使用文件寫操作將該字符串寫入文件中;SIM卡中的片內(nèi)軟件讀取該文件以得到請求命令,處理完畢后構(gòu)造響應命令,并轉(zhuǎn)換為字符串寫入到文件中,手機應用通過讀取文件來得到響應命令,從而實現(xiàn)手機應用通過自定義接口和SIM卡的復雜交互。
文檔編號H04W92/08GK102740272SQ201110093498
公開日2012年10月17日 申請日期2011年4月14日 優(yōu)先權(quán)日2011年4月14日
發(fā)明者蘭天 申請人:北京中電華大電子設計有限責任公司