手機GSM--SIM卡體系結構

USIM:存儲支持鑑權密鑰K(是整個UMTS安全體系的核心)。接受參數有:隨機數(RAND),鑑權標誌參數(AUTN),並計算生成消息鑑權碼(XMAC)、響應參數(RES)、完整性保護密鑰(IK)、鑑權密鑰(CK)。

GSM的SIM卡僅是一種單應用卡,它僅遵循GSM11.11規範(注1),該規範中定義 SIM卡上只能有一個應用,即GSM應用。因此,它不能直接添加額外的應用,而我們平時在使用的移動炒股、移動銀行等應用都是通過STK(SIM卡應用工 具包)來實現的。要不然,就是需要再在手機當中安裝額外的應用卡片來實現其它應用,技術的複雜可想而知。而3G的USIM卡則不存在這種問題,它實現了平 臺和應用的分離。爲此,3GPP組織專門制定了UICC多應用平臺規範。USIM應用只是UICC平臺上的第一個應用,象以上提到的非電信應用或電信的增 值應用其實就可以完全建立在這個平臺上,而且每個應用都可以遵循各自的行業規範,如EMV、PBOC、社保規範,無需再安裝其它的卡片,這種好處是顯而易 見的。

  爲了實現USIM卡對多應用的支持,除了定義UICC平臺外,USIM卡的相關規範中還定義了其它一些變化。

  1. 傳輸協議和平臺特性:除支持T=0外還要求支持T=1;平臺可以支持4邏輯通道。

  2. 應用和文件結構:引進了ADF的概念和DIR文件結構。

  3. PIN管理模式:採用通用PIN、應用PIN、本地PIN的分級管理模式。

  4. 命令:各命令參數、狀態字的變化;引入短文間標識符(SFI),增加MAMAGE CHANEL命令以支持多邏輯通道。

  這些變化使USIM卡更加符合智能卡ISO 7816規範,從而使多種應用添加在UICC平臺上成爲可能。

USIM卡並不是只能做單純的認證功能,事實證明它正在逐步向移動商務平臺、乃至最後的多應 用平臺過渡,在手機上實現電子錢包、電子信用卡、電子票據等其它應用已不再是難事。這一特點使USIM卡成爲了不同行業跨領域合作、相互滲透經營的媒介, 如銀行可以參與電信的經營,反之亦然。

  除能夠支持多應用之外,USIM卡還在安全性方面對算法進行了升級,並增加了卡對網絡的 認證功能,這種雙向認證可以有效防止黑客對卡片的攻擊。同時,USIM卡的電話簿功能更爲強大,最多可存入500個電話號碼,並且針對每個電話,用戶還可 以選擇是否錄入其它信息,如電子郵件、別名、其它號碼等。

關於無線網絡GSM--SIM卡體系結構

 

 

第一節   SIM卡系統描述

SIM卡(Subscriber Identity Module)即用戶身份模塊,除某些特殊情況(例如緊急呼叫),在沒有SIM卡時,GSM用戶不能接入GSM服務。該模塊可以說是GSM用戶功能實體, 它包含了所有的用戶數據,特別是鑑別用戶過程和與用戶有關的信息。SIM卡應符合ISO7816標準,該標準確定了機電特性和微電路卡功能,常被稱爲“跳 蚤”卡。

在Phase2+中GSM建議定義了一個控制底板,SIM卡能將其聯於手機。人們說SIM卡爲“前激活”。SIM卡通過與網絡發送的短消息相結合,提供了一些重要的能力,即確定了對每個運營者的特殊服務。

第二節   總線拓樸結構

第三節   物理接口

3.1   幅面

人們通過尺寸區別兩種形式的SIM卡:大的ID-1型SIM卡和小的plug-in型SIM卡

· ID-1型SIM卡,其尺寸與信用卡一樣。它符合規範IOS7810和7811,嵌入和取出這種卡比Plug-in型SIM卡要快。

· Plug-in型SIM卡,其尺寸小。這種卡是手機常用的形式。它在手機中的嵌入和取出不如ID-1型SIM卡那麼簡單。

“規範”中規定了基站可同時接受ID-1型和Plug-in型兩種SIM卡。對手機來 說,ID-1型SIM卡在呼叫期是嵌入的,那麼它只用到呼叫結束。如果ID-1型SIM卡被取出,則Plug-in型SIM卡可接入使用。最後,在呼叫期 間如果取出ID-1型SIM卡,呼叫則自動中斷。

3.2 內部結構

SIM卡是圍繞着處理器組織的。它包括了幾種存儲器【44】

·ROM(Read Only Memory),典型容量爲16K字節,含有卡的開發系統,算法A3和A8(也可能A38)是專有使用;

·EEPROM(Electricaly Erasable Programmable Read Only),儲存多少電話號碼取決於卡的EEPROM的容量,典型容量爲8K字節,它包含了全部GSM規範定義域和與專有使用有關的數據;

·RAM(Random Access Memory),其容量還可以減小,典型值是數百字節,它包含與專有使用有關的數據。

使用電可編程只讀存儲器EEPROM的SIM卡能保存手機關機時所存儲的信息,並在必要時提取這些信息。使用者只要保存好SIM卡,即使更換手機仍可按同樣身份使用。

·SIM卡是帶有微處理器的芯片卡,內有5個模塊,每個模塊對應一個功能:CPU(8位)、 程序存儲器ROM(6-16kbit)、工作存儲器RAM(128-256kbit)、數據存儲器EEPROM(2-8kbit)和串行通信單元,這5個 模塊集成在一塊集成電路中。SIM卡在與手機連接時,最少需要5個連接線:

*電源(Vcc)

*時鐘(CLK)

*數據I/Q口(Data)

*復位(RST)

*接地端(GND)

·電源開關時,SIM卡電氣性能爲:當開啓電源期間,按以下次序激活各觸點:RST低電平狀 態;Vcc加電;I/O口處於接收狀態;Vpp加電;提供穩定的時鐘信號。當關閉電源時,按如下次序工作:RST低電平狀態;CLK低電平狀態;Vpp去 電;I/O口低電平狀態;Vcc掉電。

第四節   電   源

l          供電電壓Vcc

SIM卡的供電電壓應該如下表所示:

標識

最小

最大

單位

Vcc

4.5

5.5

V

Icc

 

10

mA

SIM卡所消耗的電壓不能超過上表所示的電壓範圍。

當SIM卡處在IDLE狀態時,所消耗的電流不能超過 200 µA(條件:1 MHz 、25°C),

l          REST(RST)

手機在操作SIM卡時候RST電壓範圍如下表:

標識

條件

最小

最大

VOH

IOHmax = +20 µA

Vcc-0,7

Vcc (note)

VOL

IOLmax = -200 µA

0V (note)

0,6V

tR tF

Cout = Cin = 30 pF

 

400 µs

NOTE: To allow for overshoot the voltage on RST shall remain

between -0,3 V and Vcc+0,3 V during dynamic operation.

一個卡有8個電接點,其中只有5個用於GSM phase2   階段(對於ISO卡有6個用於phase1)。SIM卡由手機供電,電壓範圍位4.5至5V。在正常工作狀態耗電約10mA,在守候狀態下總耗電不會超過 200mA(帶1MHz時鐘)。爲了減少耗電,新開發的卡用3V供電。最終5V卡被淘汰。

時鐘信號是由手機提供的;頻率在1MHz至5MHz之間,典型值時3.579545MHz。一個接點可以在終端和SIM卡之間交換數據,速率時時鐘頻率的1/372即典型值位9.6kb/s。在phase2+中,速率將大大提高,在初始化期間可以選擇。

插腳可以通過手機使SIM卡初始化。在輸入輸出插角上,手機可以同時發送卡的結構。手機和卡遵循一定的會話協議交流消息,不同的協議事實上對於卡來說是標準化了,多種特性和字符相混雜是比較少見和複雜的,方向是模塊化。

第五節   總線協議

5.1交流協議

手機和SIM卡交流數據遵循ISO7816-3規範的“T=0”協議,它定義了一批SIM卡。這是一個簡單的協議,它採用了帶錯誤檢測的字符異步發送,在出錯時,藉助於偶數位並立即重複。

會話總是發生在手機初始化時。最後發出命令,SIM卡回覆這些命令。

一條命令佔開頭5個字節,

·指令級別CLA確定了應用類型(A0值在GSM中是十六進制);

·域INS給出指令;

·域P1和P2,必要時用來確定指令參數;

·域P3,給出長度、命令長度,或待回覆長度。

數據域可能在命令中表示。

回覆包含在尾部兩個字節SW1和SW2(Status Word)中,它指示命令的成敗。如果命令不包括它們的話,也可能在數據域前面。碼SW1一般值在90和9F之間(十六進制,90意味着正結算),或60 和6F之間,後者指出應用中的問題。在拒絕執行命令的情況下,碼SW2一般確定原因(例如CHV未復原)。

最靠左的字節總是首先發送。

用“T=0”交流協議時,在兩個方向上用一個回覆命令是不行的。爲了避免這個缺陷,定義了一 個特別的命令EGT RESPONSE。終端首先發出帶接入數據的命令;卡通過SW1和SW2運行,SW1取值9F,SW2給出要發送的數據長度,然後終端發出命令GET RESPONSE,但無數據,從而使卡能發出其數據。

5.2安全特性

SIM卡內有一定數量的安全字符。作爲“跳蚤”卡,它具有一個密鑰集,用以保障不同介入者的個性安全(製造商、運營者……)。SIM卡還有密鑰和GSM專用的驗證算法,它用了4至8個數字密碼,稱之爲CHV1和CHV2。

CHV1碼(Card Holder Verififccation1)用於用戶身份。它常常在GSM的Phase1中使用,以個人身份碼PIN(Personal Identity Number)來表示。一個有缺陷的碼在服務預訂期內由供應商負責。這個碼可由使用者修改,使用者可以決定使用或者不使用CHV1功能。在CHV1免激活 功能不用的情況下,這個碼在每次插入SIM卡或每次加電時要爲用戶申請。

CHV2碼(在Phase1中稱爲PIN2)指出了身份的附加部分,例如運營公司方面的信 息。如果網絡運營者需要的話,他就可以使用CHV2碼。這個碼具有CHV1碼相同的特徵,但不能免激活。在CHV1和CHV2之間不存在任何等級關係。使 用CHV1只授予了關於這個碼的功能,而不授予關於CHV2的功能,反之亦然。

當使用者引入了一定次數的錯碼時,CHV(CHV1或CHV2)被阻塞。阻塞就是把SIM卡 置於禁止手機有任何激活的狀態。只有通過CHV解阻塞密鑰纔可能解除CHV的阻塞。CHV1和CHV2解阻塞密鑰有8個數字,在Phase1中稱爲個人身 份碼解鎖密鑰PUK(PIN Unblocking Key),在Phase2中稱爲解鎖CHV。如果有一個錯碼進入,將給用戶一個指示。在10次失敗後,解阻塞密鑰在迴路內封鎖,即使連續試驗,手機也處於 關機狀態。這樣卡就完全無用了。

   5.3   穩定性

5.4 差錯控制

在收到ATR(Answer to Reset)指令後,那些不遵循協議的信號,比如ATR強制信號或所傳輸的字節太少,手機都將會執行復位,除非在手機接收到至少連續三個錯誤的ATR指令後,手機纔不會拒絕同SIM卡通信。

第六節   系統配置

命令集

1. 數據接入指令

好幾個命令建立了SIM卡的開發系統:

·SELECT,它允許選擇標有字頭的文件,然後SIM卡在收到GET RESPONSE中指出所選文件的狀態(它可能是一個目錄);

·STATUS,用它可以獲得選用的通用文件的狀態,這個中性命令爲手機用來週期性查詢激活前的SIM卡,以便知道SIM卡是否要發出某個命令;

·READ BINARY和READ RECORD,由SIM卡分別激勵文件中記錄的字節組發送;

·UPDATE BINARY和UPDATE RECORD,分別修改字節或通用文件中的記錄;

·SEEK,搜索所選通用文件中的某字節序列(僅對於不透明文件);

·INCREASE,可以週期性給初始文件加一些記錄。

2. 與安全有關的指令

好幾個命令可以管理不同的通行字:

·VERIFY CHV,CHV1/2的檢驗(檢驗用戶號碼CHV1/運營者號碼CHV2);

·CHANGE CHV,修改CHV1/2;

·DISABLE CHV,去激活CHV1;

·ENABLE CHV,重新激活CHV1;

·UNBLOCK CHV,釋放CHV1/2。

有以下幾個指令管理着附加安全功能:

·INVALIDATE,取消某類文件,這類文件對READ命令而言已不值一讀了;

·REHABILITATE,恢復一個文件;

·RUN GSM ALGORITHM,執行算法A3。

3. 與會話有關的指令

“T=0”協議是十分有限的,命令總是由終端引入的,而且不能雙向交流數據。爲了避免這些缺陷,定義和使用了好幾條指令,特別針對激活前的SIM卡:

·GET RESPONSE,詢問包含有接入參數的前一命令的結果。這個命令是在9FXX完整回覆後被使用,例如在SELECT、INCREASE、SEEK和RUN GSM ALGORITHM;

·ENVELOPE,在激活前的SIM卡中轉移SIM卡應用數據(見12.5節);

·FETCH,詢問SIM卡,以便它轉移SIM應用命令;

·TERMINAL RESPONSE,轉移終端回覆給SIM卡發出的預激活命令;

·TERMINAL PROFILE,給SIM卡發送由終端支持的功能,引導SIM卡應用。

l          預激活SIM卡

當在一個GSM手機上可以引入激活時,這個SIM卡被叫做預激活。一個命令集在建議11.14中被確定,並且在SIM卡應用項中被重新編組。

1   預激活命令交換的一般原則

     儘管預激活SIM卡能引入激活,但它總是停留在“T=0”協議方向的手機命令上。當SIM卡想發送一個預激活命令時,它就通過91(十六進制)位置的SW1字節標記它,任何命令的正回覆均如此。

SIM卡發的預激活命令總是被包裝於“T=0”協議層的回覆中。這些回覆由手機發送 FETCH命令後隨即發送。通過TERMINAL RESPONSE“T=0”命令,手機回覆了SIM卡的各種命令,在TERMINAL RESPDNSE命令中,它放置了必要的數據,或者指出命令失敗。手機保持有規律地查詢SIM卡,爲了知道它是否聯動激活,可以使用命令STATUS。

若干預激活命令引入會話中

·MORE TIME,使SIM卡在處理時間需要特別長時可以申請更多的時間,在手機激活引起錯誤時,SIM卡也可申請更多的時間;

·POLL INTERVAL,可調整兩個STATUS命令之間的最大間隔,STATUS命令是在守候狀態由手機發出的;

·POLL OFF,取消先發出的所有POLL INTERVAL命令;

·REFRESH,允許SIM卡指出在應用過程中形狀的可能變化。

2   向SIM卡轉移短消息

由於有短消息,所以網絡可以與SIM卡會話。之所以短消息可以由網絡向SIM卡轉移,是由於 在傳輸層TL上有一個專用身份鑑別器。手機收到短消息後並不顯示它,而是直接打包在預激活命令SMS-PP DOWNLOAD中發給SIM卡命令本身被打包於SIM命令ENVELOPE中。SIM卡執行完命令(正向或負向),手機發出一個消息RP-ACK(正或 負)給網絡。

短消息同樣能夠通過網絡傳送給在小區中的用戶SIM卡。過程於點免計費發送相類似。

3   用卡發送預激活命令

SIM卡可以激活通信服務。

在預激活命令SET UP CALL條件下可建立呼叫(或在手機未通信情況下單位建立,或正在通信處於等待狀態,或者中斷後建立)、發送短消息和發送附加業務命令。

好幾個預激活命令允許SIM卡用屏幕和手機鍵盤來管理人機會話。SIM卡可以傳送160字符 以下的短文並顯示於手機屏幕上,顯示可以是短暫的,也可以一直顯示到用戶自行刪去;SIM卡同樣也可以要求手機發出一定的音調,顯示一個短文和置於字符顯 示等待狀態,字符可以是純數字的,也可以是字母數字混合的,還可以是字符串。

SIM卡同樣能夠通過預激活命令SET UP MENU向手機傳送一個菜單和短文,供選項用。該菜單被手機納入菜單集。當用戶在菜單中作了一個有效的選擇時,手機發出一個命令ENVELOPE,該命令 包含一個信息單元MENU SELECTION,它確定了選擇。SIM卡啓動於預激活階段並着手合適的激活。

由於呼叫控制服務,在SIM卡的控制下安排呼叫集合是可能的。手機應該在釋放呼叫前有步驟地 通知SIM卡,手機發出一個預激活命令CALL CONTROL(包裝於ENVELOPE命令中),它確定了被號碼和支持的服務類型(等效於信息單元BEARER CAPABILITY)。SIM卡應答,若呼叫被接受,應答爲正,若指示號碼更換或服務類型不同,應答爲負。手機應該與SIM卡的回覆相一致。附加業務的 使用者可用相同方式激勵SIM卡,SIM卡給出或不同意所要求的服務。這樣的功能允許考慮實現一種預付費SIM卡,當卡內不再有存款時,所有呼叫被禁止。

最後,SIM卡還可以向終端諮詢本地信息,像所選的網絡(移動業務國家號碼MCC和移動網編碼MNC)、定位和小區指示以及手機的IMEI。這些數據在預激活SIM卡中的應用程序,應該是必要的。

第七節   數據流類型

7.1   SIM卡數據的一般構成

存儲器的內部組成由SIM卡生產者來確定,不是由“規範”確定的。然而,外觀數據結構採取經營系統典型的分級樹形結構。安全命令在接入方法和結構中均予以考慮。

樹根總是由主卡MF(Master File)組成,MF可以包括子卡EF(Elementary File)或專用卡DF(Dedicated File)。DF卡就是目錄索引,它本身可以包括其他的DF卡或EF卡。

整個卡片首先在2個字節上形成鑑別和附加信息,它附和由卡片製造者選擇的插入信息。第1個鑑 別字節決定了卡片的類型(MF、DF、MF派生的EF),第2個字節確定了範圍內的聯接方式。卡片EF包括了起始和內容。這內容可能就是一個記錄,記錄的 長度在起始中指示,或者是同樣長度的記錄的集合(記錄數量和長度均在起始中確定)。在循環卡片中,與線性卡片比較,後一個記錄沖掉了較前的記錄(即前一個 記錄或最前的記錄)。

每一個卡片聯着一個接入等級,條件是輸入一個通行字,這樣能保護讀寫數據。

數據通道通過定點實現,在SIM卡的初始化中,定點在主目錄中。通過一套控制,手機能夠改變 定點值,同時保留原有等級,也可以下降或提升等級。當在基本EF卡片上定點時,可以通過移位來讀或寫一個特殊的記錄,也可以直接指示卡片的序列號碼。另外 的插入可能性也存在,例如用好幾個點取代一個定點。

7.2   SIM卡的數據結構

SIM卡的根目錄MF包含EF、卡片中的序列號、與通信服務有關信息編組目錄(縮位號碼錶、最後合成號碼、收或發的最後一個短消息等)以及與GSM有關的數據目錄(IMSI、優先語言、優先序列的PLMN網表、定位範圍等)。

在SIM卡中存儲的數據有不同的接入權限。可分爲5個接入等級:

·ALW(always),數據可通行,即使沒有任何通行字輸入;

·CHV1,數據可通行,條件時通行字被免激活或者SIM卡中有通行字;

·CHV2,數據可通行,條件時通行字CHV2在SIM卡中;

·ADM,數據可通行,已建立一套卡片的管理實體,也就是GSM運營者;

·NEV,數據從未讀出。

對SIM卡而言,四種接入類型都是可能的:閱讀、修改、作廢、復原。對每套卡片,每種類型都確定了接入等級。閱讀和修改類型的接入等級是不同的。像SIM卡的序列號,總是必讀的(ALW級別),但決不會修改(NEV級別)。作廢時允許卡片接入(讀或寫),復原即恢復通道。

一般來說,爲了閱讀接入卡片都有CHV1級別,作廢和復原級別都是ADM。寫通道少應有內容的數據類型。

7.3   在SIM 卡中存儲的信息表

1. 安全數據

SIM卡中有安全數據和計數裝置。然而,它們沒有包括在12.3.2節所介紹的卡片結構中,因爲READ/WRITE類型(見12.4.3節)的輸入輸出命令不能讓它們接入。

這些數據如下:

·CHV1用戶個人通行字;

·CHV1的激活或免激活指針;

·CHV1的錯誤計數;

·CHV1的解鎖密鑰;

·解鎖密鑰的錯誤計數;

·Ki,用戶鑑權密鑰。

2. GSM目錄的強制性數據

在根目錄中,SIM卡的身份鑑別IC符合ITU-T的E.118建議。有關SIM卡的序列號時鑑別服務提供者的,此域不可修改。

好幾個文件應強制性存在與GSM目錄中,並應由SIM卡管理。下述文件明確了接續的結構,並且只有在ADM級別上(即運營者)才能修改。

·管理信息,該參數允許好幾個移動運算形式。例如運營者可以做一些網絡測試用的SIM卡;

·SIM卡GSM階段的識別(Phase1,Phase2或Phase2+);

·IMSI,用戶身份的國際同一性;

·接入控制級別,該參數可以限制用戶的接入(即在RACH信道上發出申請),可限制在原始國內、原始網內或給他授權的範圍內;

·命名網絡的搜尋週期,該值用分鐘表示,當手機漫遊到原始國之外時,該值用來強制手機週期性地返回其命名網絡;

·SIM服務表,指示由中繼授權選擇地功能並由使用者激活。

下面的文件記錄了手機使用中最近發生的情況,一旦使用者進入了CHV1碼,通過終端可修改以下數據。

·定位信息,該記錄包括TMSI、LAI、當日週期性定位記時和當日狀態;

·頻率表,當手機選擇一個小區時,優先在表中尋找信標頻道。該頻率表包括有常有小區的相鄰小區的信標頻道,從而減少了搜尋時間;

·四個網絡表,是最近試圖登錄和被拒絕登錄的網絡表;

·密鑰Kc和密鑰號碼;

後一個文件允許存儲一個優先語言表,該表在人機界面上由用戶選用。這個文件使移動終端可以在用戶語言上自動顯示於屏幕。用戶可以改變有缺陷的語言。

3. GSM目錄的可選性數據

有些數據可存儲於SIM卡中,但不是強制性的,它們是:

·PLMN網絡選擇器,在優先級遞減順序中優先PLMN網絡表(用戶可修改);

·短消息類型,手機可收到的短消息;

·運營商名(僅由管理模塊修改)。

好幾個文件與收費通知單的附加業務有聯繫,如單位計數器、單價表、等。另一些文件被引入phase2階段,以便對企業網絡提供專門服務,也就是確定用戶組合的可能性。

4.   電信目錄的可選性數據

一定數量的數據與電信服務相聯繫或組合在電信目錄中。

下列文件記錄了在用戶終端上新近活動或它選擇的結構。它們均可在CHV1平臺上修改。

·最近的被叫號碼;

·縮位號碼錶和附加業務控制表;

·結構、容量參數,它給出了支持服務所必須的容量;

·MSISDN號碼(該號碼手機不能使用但能幫助掩蓋用戶存儲的漏洞)。

好幾個文件與短消息相連。事實上SIM卡存儲着短消息(甚至指定手機而不專門指定卡),這些短消息由手機接收或是要發向網絡。一個文件最多包括一個參數表,該表可以幫助使用者發送短消息,例如常用的SC服務器地址。

在號碼資源有限時限制GSM手機的接入時可能的(例如在一個企業網中),一個基本的文件包含號碼錶;只有在CHV2平臺上纔可以修改。

發佈了23 篇原創文章 · 獲贊 3 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章