1 SIM卡(Subscriber Identity Module)
即用戶識(shí)別模塊,是一張符合GSM規(guī)范的“智慧卡”。SIM卡可以插入任何一部符合GSM規(guī)范的移動(dòng)電話中,“實(shí)現(xiàn)電話號(hào)碼隨卡不隨機(jī)的功能”,而通話費(fèi)則自動(dòng)計(jì)入持卡用戶的帳單上,與手機(jī)無關(guān)。
SIM卡作為智能卡中特殊的一類卡,采用標(biāo)準(zhǔn)的接觸式IC卡。他受到ISO7816標(biāo)準(zhǔn)(接觸式集成電路IC卡的規(guī)定)和ETSI(歐洲電信標(biāo)準(zhǔn)委員會(huì))的GSM11.11等標(biāo)準(zhǔn)的規(guī)范。他沿襲了智能卡在安全中的特色,并在移動(dòng)用戶認(rèn)證和移動(dòng)商務(wù)中扮演重要的角色。
目前手機(jī)用戶將一些重要的電話號(hào)碼都儲(chǔ)存在手機(jī)的SIM卡上。如果手機(jī)失竊,用戶可以買一部新的,但是儲(chǔ)存的號(hào)碼怎么辦呢?如果用戶能事先將儲(chǔ)存在SIM卡上的電話號(hào)碼做一份電子拷貝,這樣就算手機(jī)丟失了,用戶還是可以很容易地將保存的號(hào)碼寫入到新的SIM卡里。為此,研究并設(shè)計(jì)了SIM卡讀卡器,通過他可以將手機(jī)SIM卡中信息讀取到電腦中,方便地實(shí)現(xiàn)電話簿和短消息的編輯、備份和管理。為經(jīng)常使用手機(jī)的用戶提供了一個(gè)經(jīng)濟(jì)、便捷的信息備份管理解決方案。
2 SIM卡常識(shí)
SIM卡是一張符合GSM規(guī)范“智能卡”,他實(shí)際上是一個(gè)裝有微處理器的芯片卡,內(nèi)部有5個(gè)模塊,且每個(gè)模塊都對(duì)應(yīng)一個(gè)功能:CPU(8位)、程序存儲(chǔ)器(3~8 kb)、工作存儲(chǔ)器(6~16 kb)、數(shù)據(jù)存儲(chǔ)器(128~256 kb)和串行通信單元。SIM卡能實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)(電話本、短消息等)和在安全條件下(個(gè)人身份號(hào)碼PIN、鑒權(quán)鑰Ki正確)完成客戶身份鑒權(quán)和客戶信息加密算法的全過程。這些功能都是由SIM卡內(nèi)的一部具有操作系統(tǒng)的微處理機(jī)完成。SIM卡具有機(jī)卡分離(SIM-ME接口)、通信安全可靠、成本低等特點(diǎn)。
(1) SIM卡的物理特征:可以分尺寸為54 mm×84 mmID-1 SIM(大卡)和尺寸為25 mm×15 mmPlug-in SIM(小卡)兩種。
(2) SIM卡的存儲(chǔ)容量:一般SIM卡有8 kB的存儲(chǔ)容量,另外還有容量分別為16 k和32 k的SIM卡,即STK SIM卡。
(3) SIM卡的使用溫度:標(biāo)準(zhǔn)溫度-25~+70℃,極限溫度-35~85℃,極限情況下每次使用不得超過4小時(shí),總共使用不得超過100次。
(4) SIM卡的使用壽命:物理壽命是取決于客戶的插拔次數(shù),約在1萬次左右;而集成電路芯片的壽命取決于數(shù)據(jù)存儲(chǔ)器的寫入次數(shù),不同廠家
其指標(biāo)有所不同,就Mo-torola經(jīng)試驗(yàn)室試驗(yàn)約5萬次左右。平均壽命約為4年。
3 SIM卡與移動(dòng)臺(tái)設(shè)備的接口
SIM卡芯片有8個(gè)觸點(diǎn),與移動(dòng)臺(tái)設(shè)備相互接通:
(1) 電源VCC(觸點(diǎn)C1):4.5~5.5 V,ICC《10 mA;
(2) 復(fù)位RST(觸點(diǎn)C2);
(3) 時(shí)鐘CLK(觸點(diǎn)C3):卡時(shí)鐘3.25 MHz;
(4) 不提供(觸點(diǎn)C4);
(5) 接地端GND(觸點(diǎn)C5);
(6) 編程電壓VPP(觸點(diǎn)C6);
(7) 數(shù)據(jù)I/O口(觸點(diǎn)C7);
(8) 不提供(觸點(diǎn)C8)。
SIM卡同移動(dòng)臺(tái)設(shè)備連接時(shí)至少需5個(gè)連接線:數(shù)據(jù)I/O口(Data)、復(fù)位(RST)、接地端(GND)、電源(VCC)、時(shí)鐘(CLK)。他與基帶單元的接口電路如圖1所示。其中SIM CD為SIM卡檢測(cè)腳,用于檢測(cè)SIM卡的拔插;SIM CLK為ME提供的讀/寫SIM卡的參考時(shí)鐘;SIMRST為SIM卡復(fù)位信號(hào);SIM IO為串行數(shù)據(jù)輸入/輸出線,由20 kΩ上拉電阻上拉至高電平;SIM RnW為讀/寫控制信號(hào),用以指示當(dāng)前SIM_IO線上數(shù)據(jù)傳輸?shù)姆较?;SIM PWCTRL為功率控制信號(hào),可在空閑方式時(shí)控制SIM卡上的電源關(guān)閉,從而降低功耗,延長(zhǎng)待機(jī)時(shí)間。
4 SIM卡內(nèi)部數(shù)據(jù)結(jié)構(gòu)
SIM卡共有3類數(shù)據(jù)文件:主文件(Master File,MF)、專用文件(Dedicate File,DF)、基本文件(ElementFile,EF)。組織結(jié)構(gòu)規(guī)定如下:
0x3F00代表根目錄,0x2FXX代表根目錄下的基本文件;
0x7FXX代表一級(jí)子目錄,0x6FXX代表一級(jí)子目錄下的基本文件;
0x5FXX代表二級(jí)子目錄,0x4FXX代表二級(jí)子目錄下的基本文件。
5 SIM卡上電復(fù)位流程
SIM卡符合國(guó)際標(biāo)準(zhǔn)ISO7816的要求,按照協(xié)議中的規(guī)定,SIM應(yīng)有8個(gè)觸點(diǎn),包括電源接口、復(fù)位控制接口、時(shí)鐘輸入接口、數(shù)據(jù)輸入輸出接口,SIM卡工作時(shí)整體電流消耗小于10 mA。SIM卡的時(shí)鐘頻率可由外部提供,在指定時(shí)問內(nèi)運(yùn)行鑒權(quán)過程時(shí)至少需要13/4 MHz的時(shí)鐘頻率,其他情況下,使用最小為13/8 MHz的時(shí)鐘頻率。I/O端口的數(shù)據(jù)傳輸波特率為時(shí)鐘頻率的1/372。
5.1 觸點(diǎn)接通與冷復(fù)位時(shí)序(Activation and cold reset)
初始時(shí),所有端口皆處于低電平(L)態(tài),電壓范圍0~0.4 V;VCC電源電壓先上電(H態(tài)),后提供VPP編程電壓,在智能SIM卡中,VPP端無用,電壓范圍5 V±0.4 V;VCC電源端穩(wěn)定一段時(shí)間后,將IO端口置為接收方式(H態(tài)),并提供穩(wěn)定的CLK時(shí)鐘信號(hào)(注:IO口需在提供CLK信號(hào)前或在提供CLK信號(hào)后200個(gè)時(shí)鐘周期內(nèi)(ta)置為接收方式);RST復(fù)位信號(hào)需在提供CLK信號(hào)后400個(gè)時(shí)鐘周期內(nèi)(tb)保持L態(tài),之后才可置為H態(tài);提供復(fù)位信號(hào)后400~40 000個(gè)時(shí)鐘周期內(nèi)(tc),I/O口有復(fù)位應(yīng)答。
5.2 熱復(fù)位時(shí)序(Warm reset)
熱復(fù)位在冷復(fù)位失敗情況下使用,過程中保持VCC為H態(tài),且有穩(wěn)定的CLK時(shí)鐘信號(hào);熱復(fù)位時(shí)需保持RST端為L(zhǎng)態(tài)的時(shí)間至少為400個(gè)時(shí)鐘周期(te);在RST端置L態(tài)之前或之后200個(gè)時(shí)鐘周期時(shí)間內(nèi)(td),IO口應(yīng)置為接收方式;在RST置為H態(tài)后的400~40 000個(gè)時(shí)鐘周期內(nèi),I/O口有復(fù)位應(yīng)答。
5.3 時(shí)鐘停止時(shí)序(Clock stop)
外部控制停止時(shí)鐘,可使SIM卡通信暫時(shí)中斷,過程中保持VCC端與復(fù)位端RST為H態(tài);要停止時(shí)鐘,需在I/O口輸出最后一個(gè)字符之后等待至少1 860個(gè)時(shí)鐘周期(tg);恢復(fù)時(shí)鐘后至少等待700個(gè)時(shí)鐘周期(th),I/O開始有字符輸出。
5.4 觸點(diǎn)釋放時(shí)序(Deactivation)
將RST端置為L(zhǎng)態(tài);結(jié)束CLK輸入并將I/O口置為L(zhǎng)態(tài);最后將VCC端置為L(zhǎng)態(tài)。
5.5 SIM卡的復(fù)位應(yīng)答
SIM卡的觸點(diǎn)被激活之后,終端啟動(dòng)一個(gè)冷復(fù)位。如果SIM卡在冷復(fù)位后回送的字節(jié)數(shù)不符,或在19 200個(gè)初始etu之內(nèi)復(fù)位應(yīng)答未完成,終端不立即終止卡片操作過程,而是再發(fā)一個(gè)熱復(fù)位信號(hào)。如果仍然得到同樣的結(jié)果,那么,接口沒備應(yīng)釋放觸點(diǎn),否則卡將繼續(xù)進(jìn)行后續(xù)操作。流程如圖6所示。
復(fù)位應(yīng)答最多為32個(gè)字節(jié)(包括歷史字符,不包括初始字符),其中歷史字符最多為15個(gè)字符,協(xié)議分為T=O與T=1兩種,一張SIM卡只支持其中的一種協(xié)議。位持續(xù)時(shí)間:在IO上的位持續(xù)時(shí)間被定義為一個(gè)基本時(shí)間單元etu。復(fù)位應(yīng)答期間的位持續(xù)時(shí)間稱為“初始etu”。初始etu=372/fs=372個(gè)時(shí)鐘周期。復(fù)位應(yīng)答之后的位持續(xù)時(shí)間稱為“當(dāng)前etu”,當(dāng)前etu=F/D/fs。F為時(shí)鐘頻率變換因數(shù),D為比特率調(diào)整因數(shù),均在SIM卡復(fù)位應(yīng)答的接口字符TA1中給出,缺省值為F=372,D=1,即復(fù)位應(yīng)答之后的當(dāng)前etu=初始etu。復(fù)位應(yīng)答過程中相連兩字符起始位前沿之間的最小時(shí)間間隔為12個(gè)初始etu,最大時(shí)間間隔為9 600個(gè)初始etu,所有應(yīng)答字符在19 200個(gè)初始etu的時(shí)間內(nèi)傳送完,即從第一個(gè)字符的起始位前沿到最后一個(gè)字符起始位前沿后的12個(gè)初始etu結(jié)束)。
復(fù)位應(yīng)答格式:
TS 初始字符(強(qiáng)制性的),確定后續(xù)字符傳送順序(高位先送還是低位先送);
TO 格式字符(強(qiáng)制性的);
TA1/TB1/TC1/TD1~TAi/TBi/TCi/TDi 接口字符(選擇性的);
T1~TK歷史字符(選擇性的);
TCK 校驗(yàn)字符(有條件的)T=0時(shí)不出現(xiàn)。
6 SIM卡信息交互規(guī)程
6.1 SIM卡信息交互指令格式
6.1.1 命令格式
6.1.2 應(yīng)答格式
DATA:響應(yīng)數(shù)據(jù); SW1/SW2:返回命令狀態(tài)。
6.1.3 通用錯(cuò)誤返回代碼表
6.2 常用的基本指令
6.2.1 目錄或文件選擇指令(SELECT)
選擇一個(gè)文件,選擇成功后,對(duì)線性固定型文件,記錄指針不確定。對(duì)循環(huán)型文件,記錄指針指向最近更新或增加的一條記錄。
0x9F代表命令正確執(zhí)行,XX為SIM卡返回的數(shù)據(jù)長(zhǎng)度;返回0x94/0x04,代表給出的目錄地址是錯(cuò)誤的。在復(fù)位應(yīng)答之后(ATR),主要文件(MF)被默認(rèn)為選中,成為當(dāng)前目錄。然后,可采用符合下列原則的SELECT功能來選擇每種文件:
① 選擇DF或MF設(shè)為當(dāng)前目錄;DF是在選擇任何他的EF之前被先選擇出來
② 選擇EF設(shè)為當(dāng)前文件,DF或MF是EF的上層。當(dāng)前EF總是當(dāng)前目錄的下層。
可選擇的文件包括:屬于當(dāng)前目錄的直接子文件;屬于當(dāng)前DF的父文件的直接子DF;當(dāng)前月錄的上層;當(dāng)前DF;MF。
6.2.2 取前一命令應(yīng)答數(shù)據(jù)指令(GET RESPONSE)
Length(R):響應(yīng)數(shù)據(jù)最大長(zhǎng)度。
全部命令響應(yīng)為:
0x90/0x00代表命令正確執(zhí)行。
6.2.3 從透明的數(shù)據(jù)文件中讀取以二進(jìn)制形式存儲(chǔ)的字節(jié)串指令(READ BINARY)
0x90/0x00代表命令正確執(zhí)行;返回0x94/0x00,代表沒有數(shù)據(jù)文件被選中,即當(dāng)前被選中的可能是目錄而不是文件;返回0x94/0x08,代表當(dāng)前目錄或數(shù)據(jù)文件與指令不一致,即當(dāng)前數(shù)據(jù)不是以二進(jìn)制形式存儲(chǔ)的;返回0x98/0x04,代表本次操作不滿足存取安全規(guī)則,密碼認(rèn)證未通過。
7 SIM卡數(shù)據(jù)讀寫測(cè)試
SIM卡數(shù)據(jù)讀寫測(cè)試的具體步驟及其結(jié)果如下:
Step1 SIM卡首先上電復(fù)位,原則是先接通觸點(diǎn),后啟動(dòng)冷復(fù)位,若冷復(fù)位失敗,啟動(dòng)熱復(fù)位,若熱復(fù)位也不成功,則釋放觸點(diǎn)并報(bào)錯(cuò)。冷復(fù)位或熱復(fù)位成功后,SIM卡應(yīng)輸出復(fù)位應(yīng)答。
實(shí)驗(yàn)測(cè)試中取得的復(fù)位應(yīng)答信號(hào)如下:
0x22代表指令返回?cái)?shù)據(jù)最大為34個(gè)字節(jié);
SIM卡返回:
Step5:發(fā)送取命令響應(yīng)數(shù)據(jù)指令:
0x00代表數(shù)據(jù)偏移地址為0,即從第一個(gè)字節(jié)開始讀數(shù)據(jù);0x09表示IMSI信息有9個(gè)字節(jié);
SIM卡返回:
0xB0代表響應(yīng)數(shù)據(jù)對(duì)應(yīng)的指令為READ BINARY;0x08代表IMSI號(hào)有8個(gè)字節(jié)數(shù)據(jù);0x90/0x00代表命令正確執(zhí)行。按照協(xié)議,該SIM卡IMSI號(hào)即為:
460 00 0104559542,符合國(guó)際移動(dòng)用戶識(shí)別碼IMSI(International Mobile Subscriber Identification Number)的編碼規(guī)則,即IMSI(國(guó)際移動(dòng)用戶識(shí)別碼)=MCC(移動(dòng)國(guó)家號(hào))+MNC(移動(dòng)網(wǎng)號(hào))+MSISDN(移動(dòng)用戶號(hào)碼)。
8 結(jié) 語
SIM卡符合GSM規(guī)范,采用標(biāo)準(zhǔn)的接觸式IC卡,受到ISO7816標(biāo)準(zhǔn)的規(guī)范。本文在研究接觸式集成電路IC卡國(guó)際標(biāo)準(zhǔn)ISO7816的基礎(chǔ)之上,提出了一種SIM卡讀卡器的設(shè)計(jì)方案,針對(duì)SIM卡信息交互規(guī)程給出了具體的測(cè)試步驟,測(cè)試結(jié)果證明了該設(shè)計(jì)的可行性,讀卡器能夠穩(wěn)定可靠地工作。
-
集成電路
+關(guān)注
關(guān)注
5425文章
12070瀏覽量
368486 -
手機(jī)
+關(guān)注
關(guān)注
35文章
6941瀏覽量
159525 -
IC
+關(guān)注
關(guān)注
36文章
6127瀏覽量
179385
發(fā)布評(píng)論請(qǐng)先 登錄
SD卡接口標(biāo)準(zhǔn)規(guī)范
CMMB標(biāo)準(zhǔn)規(guī)范
SIM卡讀卡器的研究與設(shè)計(jì)
電腦相關(guān)的讀卡器
SIM卡讀卡系統(tǒng)怎么實(shí)現(xiàn)?
請(qǐng)給我分享《DDS Extensions for Time Sensitive Networking》標(biāo)準(zhǔn)規(guī)范?
基于ARM的射頻IC卡讀卡器設(shè)計(jì)
音頻數(shù)據(jù)加工標(biāo)準(zhǔn)與工作規(guī)范標(biāo)準(zhǔn)規(guī)范
非接觸式讀卡器設(shè)計(jì)方案匯總
非接觸式讀卡器設(shè)計(jì)方案匯總,包括RFID,磁卡等介紹
CPCI標(biāo)準(zhǔn)規(guī)范CompactPCI 3.0版本下載
HT66F43x0智能卡讀卡器MCU內(nèi)置ISO7816-3應(yīng)用須知

評(píng)論