淺談小靈通機卡分離中的PIM卡技術原理
一、前言
以前,小靈通(PHS)終端與用戶相關身份信息屬于機卡一體的體系,用戶如果要購買小靈通終端,必須到電信營業廳進行燒號的工作,由電信運營商將網絡參數、鑒權信息等燒入到小靈通終端內,從某種程度上限制了終端銷售渠道的多樣化和用戶對終端的選擇度,造成用戶換機、換號手續復雜,不利于運營商開展增值業務,而且該種方式安全性差,不法分子很容易即可利用燒號器從終端內讀出用戶網絡參數、鑒權信息等內容,并碼機使用以逃避話費。
2004年12月13日,由中國電信集團公司、中國網通集團公司 、華為技術有限公司、中興通訊股份有限公司、UT斯達康(中國)有限公司五家公司牽頭在北京成立了 "中國固網和無線終端聯盟"(簡稱CFWTA)。
聯盟組織制定了"中國PHS機卡分離手機統一標準",正式出臺了小靈通PIM卡技術規范,主要內容包括:小靈通PIM卡的邏輯結構、編碼和文件結構;安全特性(鑒權、算法);機卡接口功能及其響應;EF文件內容格式;PIM卡應用工具箱(PTK)功能等。
小靈通機卡分離中的一個重要技術創新就是:小靈通PIM卡。它是小靈通機卡分離中的靈魂,它存儲著用戶相關身份信息、網絡參數、鑒權信息等核心內容。下面,我就簡單介紹其技術原理。
二、小靈通PIM卡技術特性
小靈通PIM卡屬于IC卡中的一種,IC卡是集成電路卡(Integrated Circuit Card)的簡稱,是鑲嵌集成電路芯片的塑料卡片,其外形和尺寸都遵循國際標準(ISO)。芯片一般采用不易揮發性的存儲器(ROM、EEPROM)、保護邏輯電路、甚至帶微處理器CPU。IC卡分為:非加密存儲器卡、邏輯加密存儲器卡、智能卡。小靈通PIM卡屬于智能卡,目前,智能卡應用最多的是GSM移動通訊中的SIM卡和CDMA移動通訊中的UIM卡,未來將要開展的3G移動通訊中的USIM卡也屬于智能卡。小靈通PIM卡與SIM卡技術特性極為相似,下面我就簡單介紹PIM卡。
(一) PIM卡定義
SIM卡是(Subscriber Identity Module)的英文簡稱,PIM卡是(PHS Subscriber Identity Module)的英文簡稱。
(二) PIM卡的結構和類型
PIM卡是帶有微處理器的智能芯片卡,它的構成是以下幾個硬件模塊:
* CPU
* 程序存儲器(ROM)
* 工作存儲器(RAM)
* 數據存儲器(EPROM或E2PROM)
* 串行通信單元
這五個模塊必須集成在一塊集成電路中,否則其安全性會受到威脅。因為,芯片間的連線可能成為非法存取和盜用PIM卡的重要線索。
由于PIM卡帶有智能功能,所以它還有以下軟件特性:
* 植入了COS(Card Operating System)芯片操作系統
* 以文件模型進行信息管理
* 文件標志符作為唯一標志信息
* 存儲著PSNM、KI、國家代碼、運營商代碼、CCH、PIN、UCHV、ADM等網絡參數、鑒權信息等內容。
PIM卡邏輯結構如下:
在實際使用中有兩種功能相同而形式不同的PIM卡:
(a) 卡片式(俗稱大卡)PIM卡,這種形式的PIM卡符合有關IC卡的ISO…7816標準,類似IC卡。
(b) 嵌入式(俗稱小卡)PIM卡,其大小只有25mm15mm,是半永久性地裝入到移動臺設備中的卡。
兩種卡外裝都有防水、耐磨、抗靜電、接觸可靠和精度高的特點。
(三)PIM卡的電氣特性
我們從卡片上看到的金屬部分是封裝在模塊上的載帶的觸點,有些人把它錯誤地叫做芯片。其實真正的半導體芯片被封裝在模塊的里面。PIM卡是按照IC卡的協議規范生產的,IC卡的協議規范中最基礎最重要的一套規范是ISO/IEC 7816協議。這套協議不僅規定了IC卡的機械電氣特性,而且還規定了IC卡(特別是智能卡)的應用方法(包括COS中很多數據結構)。
PIM卡芯片有八個觸點,與移動臺設備相互接通是在卡插入設備中接通電源后完成。此時,操作系統和指令設置可以為SIM提供智能特性。如圖所示。
(四)PIM卡的存儲內容
PIM卡采用新的單片機及存儲器管理結構,因此處理功能大大增強。PIM卡中存有三類數據信息:
(1) 與持卡者相關的信息以及PIM卡將來準備提供的所有業務信息,這種類型的數據存儲在根目錄下。
(2) PHS應用中特有的信息,這種類型的數據存儲在PHS目錄下。
(3) PHS應用所使用的信息,此信息可與其它電信應用或業務共享,位于電信目錄下。
(五)PIM卡存儲結構
PIM卡的主要完成兩種功能:存儲數據(控制存取各種數據)和在安全條件下(個人身份號碼PIN、鑒權鑰Ki正確)完成客戶身份鑒權和客戶信息加密算法的全過程。
普通的桌面計算機上我們的大容量存儲裝置(硬盤之類)是分塊管理的,我們習慣稱之為"按扇區方式"組織。但我們在通常使用過程中并不關心"扇區"這樣的概念,而只是看到一個個"文件"和"子目錄"。所謂"文件",其實就是保存在一系列存儲塊中的一組數據,而"子目錄"就是將一組文件組織在一起的一種形式。"文件"與"子目錄"使我們易于使用數據。7816協議規定了智能卡采用"文件"的形式管理卡內存儲器,它將卡內的文件分為3類:MF、DF和EF。MF(Master File)相當于桌面系統中的"根目錄",DF(Dedicated File)相當于桌面系統中的"子目錄",而EF(Elementary File)則是一個個保存數據的具體文件了。
與桌面系統不同的是智能卡中DF級數(相當于目錄層數的概念)通常是固定的,一般為1級(MF - DF),也有的為兩級(MF - DF - SubDF)結構,但7816協議本身并不嚴格規定DF的級數。另外,7816協議對EF文件的類型有基本的定義,所以卡上的文件很多都是有一定格式的(如"定長記錄"文件),并不是像桌面系統中的文件那樣給出偏移量和長度就能操作的"透明"結構。對于更高層的協議(如EMV、PBOC),對EF文件的類型有更具體的規定,這種規定往往為了適應本領域的應用。比如PBOC協議規定的"錢包文件",就是為讓智能卡適用于金融領域。
PIM卡智能特性的邏輯結構是樹型結構。全部特性參數信息都是用數據字段方式表達,如圖所示。即在根目錄下有三個應用目錄,一個屬于行政主管部門應用目錄,兩個屬于技術管理的應用目錄,分別是PHS應用目錄和電信應用目錄。所有的目錄下均為數據字段,有二進制的和格式化的數據字段。數據字段中的信息有的是永存性的即不能更新的,有的是暫存的,需要更新的。每個數據字段都要表達出它的用途、更新程度、數據字段的特性(如識別符)、類型是二進制的還是格式化的等。
PIM卡除了存儲正常的數據字段,也存儲有非文件字段,如鑒權鑰、個人身份鑒權號碼、個人解鎖碼等數據。
(六) PIM卡中的保密算法及密鑰
PIM卡中最敏感的數據是保密算法A3、A8算法、密約Ki、PIN、PUK和Kc。A3、A8算法是在生產PIM卡的同時寫入的,一般人都無法讀A3、A8算法;PIN碼可由客戶在手機上自己設定;PUK碼由運營者持有;Kc是在加密過程中由Ki導出;Ki需要根據客戶的IMSI和寫卡時用的母鑰(Kki),由運營部門提供的一種高級算法DES,即Ki=DES(IMSI,Kki),經寫卡機產生并寫入PIM卡中,同時要將IMSI、Ki這一對數據送入PHS網路單元AUC鑒權中心。
如何保證Ki在傳送過程中安全保密是一件非常重要的事情。Ki在寫卡時生成,同時加密,然后進入HLR/AUC后再解密,那么連寫卡和HLR/AUC的操作人員也不知道Ki的真實數據。
一般流行的做法是用一高級方程DES對Ki進行加密,DES方程需要一把密鑰Kdes,加密和解密都用同一把密鑰。由運營部門提供DES方程給HLR/AUC設備供應商,運營部門制定嚴格的保密制度,管理好密鑰Kdes就能保證Ki傳遞的安全性,此過程見圖所示。
(七)數據和參數
PIM卡中存有數據:存儲著PSNM、KI、國家代碼、運營商代碼、CCH、PIN、UCHV、ADM等網絡參數、鑒權信息和ICCID(PIM卡號碼)。
ICCID號碼一共20位,采用條形碼和數字號碼印刷,顏色為黑色,印在PIM卡的反面,即不帶芯片的那面。大卡、小卡均印20位,大卡將條形碼、數字號碼印在左上方,條形碼在上,數字號碼在下。小卡只在芯片反面印制數字號碼,數字號碼分四行,每行五位。ICCID的條形碼采用交叉二五碼。
另外,PIM卡中還存有許多參數,分為PHS系統參數和電信業務參數兩類。PHS系統參數一般包括有管理類別、業務表、接入控制BCCH信息、IMSI、Kc等;電信業務參數包括有縮位撥號、短消息、話費數據等。
(八) PIM卡的壽命
PIM卡的使用是有一定年限的。一般來說,它的物理壽命是取決于客戶的插拔次數,約在1萬次左右;而集成電路芯片的壽命取決于數據存儲器的寫入次數,不同廠家其指標有所不同,就Motorola經試驗室試驗約5萬次左右。PIM卡的平均壽命約為4年左右。
三、COS芯片操作系統
(一)COS的定義
COS的全稱是Chip Operating System(片內操作系統),如果說PIM卡是一個信息載體,那COS就是管理、調度信息的“大腦”。它一般是緊緊圍繞著它所服務的智能卡的特點而開發的。由于不可避免地受到了智能卡內微處理器芯片的性能及內存容量的影響,因此,COS在很大程度上不同于我們通常所能見到的微機上的操作系統(例如DOS、WINDOWS、UNIX等)。
首先,COS是一個專用系統而不是通用系統。即:一種COS一般都只能應用于特定的某種(或者是某些)智能卡,不同卡內的COS一般是不相同的。因為COS一般都是根據某種智能卡的特點及其應用范圍而特定設計開發的,盡管它們在所實際完成的功能上可能大部分都遵循著同一個國際標準。
其次,與那些常見的微機上的操作系統相比較而言,COS在本質上更加接近于監控程序、而不是一個通常所謂的真正意義上的操作系統。因為在當前階段,COS所需要解決的主要還是對外部的命令如何進行處理、響應的問題,這其中一般并不涉及到共享、并發的管理及處理,而且就智能卡在目前的應用情況而盲,并發和共享的工作也確實是不需要的。
COS在設計時一般都是緊密結合智能卡內存儲器分區的情況,按照國際標準(ISO/IEC7816系列標準)中所規定的一些功能進行設計、開發。與微機上操作系統相比,COS 更注重安全,COS 有自己完整的安全體系,當執行一條“二進制”命令時,必須先經過一系列嚴格的審查(如授權、用戶名等),任何一個條件不滿足,COS會把通向文件的所有通路都接管并堵死。
COS的主要功能是控制智能卡和外界的信息交換,管理智能卡內的存儲器并在卡內部完成各種命令的處理。其中,與外界進行信息交換是COS最基本的要求。在交換過程中,COS所遵循的信息交換協議目前包括兩類:
* 異步字符傳輸的 T=0協議
* 異步分組傳輸的T=l協議
這兩種信息交換協議的具體內容和實現機制在ISO/IEC7816-3和ISO/IEC7816-3A3標準中作了規定;而COS所應完成的管理和控制的基中功能則是在ISO/IEC7816-4標準中作出規定的。在該國際標準中,還對智能卡的數據結構以及COS的基本命令集作出了較為詳細的說明。
(二)COS的體系結構
所有的COS都必須能夠解決至少三個問題,即:文件操作、鑒別與核實、安全機制。事實上,鑒別與核實和安全機制都屬于智能卡的安全體系的范疇之中,所以,智能卡的COS中最重要的兩方面就是文件與安全。可以把從讀寫設備(即接口設備IFD)發出命令到卡給出響應的一個完整過程劃分為四個階段,也可以說是四個功能模塊:傳送管理器(TM)、安全管理器(SM)、應用管理器(AM)和文件管理器(FM)。其中,傳送管理器用于檢查信息是否被正確地傳送。這一部分主要和智能卡所采用的通信協議有關;安全管理器主要是對所傳送的信息進行安全性的檢查或處理,防止非法的竊聽或侵入;應用管理器則用于判斷所接收的命令執行的可能性;文件管理器通過核實命令的操作權限,最終完成對命令的處理。
智能卡中的"文件"概念與我們通常所說的"文件"是有區別的。盡管智能卡中的文件內存儲的也是數據單元或記錄,但它們都是與智能卡的具體應用直接相關的。一般而言,一個具體的應用必然要對應于智能卡中的一個文件,因此,智能卡中的文件不存在通常所謂的文件共享的情況。而且,這種文件不僅在邏輯上必須是完整的,在物理組織上也都是連續的。此外,智能卡中的文件盡管也可以擁有文件名(File N8me),但對文件的標識依靠的是與卡中文件-一對應的文件標識符(F3te ldentifier),而不是文件名。因為智能卡中的文件名是允許重復的,它在本質上只是文件的一種助記符,并不能完全代表某個文件。
* 傳送管理(Transmission Manger)
傳送管理主要是依據智能卡所使用的信息傳輸協議,對由讀寫設備發出的命令進行接收。同時,把對命令的響應按照傳輸協議的格式發送出去。
目前智能卡采用的信息傳輸協議一般是T=0協議和T=1協議,如果說這兩類協議的COS在實現功能上有什么不同的話,主要就是在傳送管理器的實現上有不同。不過,無論是采用T=0協議還是T=1協議,智能卡在信息交換時使用的都是異步通信模式;而且由于智能卡的數據端口只有一個,此信息交換也只能采用半雙工的方式,即在任一時刻,數據端口上最多只能有一方(智能卡或者讀寫設備)在發送數據。 T=0、T=1協議的不同之處在于它們數據傳輸的單位和格式不一樣,T=0協漢以單字節的字符為基本單位,T=1協議則以有一定長度的數據塊為傳輸的基本單位。
傳送管理器在對命令進行接收的同時,也要對命令接收的正確性作出判斷。這種判斷只是針對在傳輸過程中可能產生的錯誤預言的,并不涉及命令的具體內容,因此通常是利用諸如奇偶校驗位、校驗和等手段來實現。對分組傳輸協議,則還可以通過判斷分組長度的正確與否來實現。當發現命令接收有錯后,不同的信息交換協議會有不同的處理方法。
如果傳送管理器認為對命令的接收是正確的,那么,它一般是只將接收到的命令的信息部分傳到下-功能模塊,即安全管理器,而濾掉諸如起始位、停止位之類的附加信息。相應地,當傳送管理器在向讀寫設備發送應答的時候,則應該對每個傳送單位加上信息交換協議中所規定的各種必要的附屬信息。
* 安全體系(-SecvritySCructure)
智能卡的安全體系是智能卡的COS中一個極為重要的部分,它涉及到卡的鑒別與核實方式的選擇,包括COS在對卡中文件進行訪問時的權限控制機制,還關系列卡中信息的保密機制??梢哉J為,智能卡之所以能夠迅速地發展并且流行起來.其中的一個重要的原因就在于它能夠通過COS的安全體系給用戶提供-個較高的安全性保證。
安全體系在概念上包括三大部分:安全狀態(Security Status),安全屬性(Security Attributes)以及安全機制(Security Machanisms)。其中,安全狀態是指智能卡在當前所處的一種狀態,這種狀態是在智能-卡進行完復位應答或者是在它處理完某命令之后得到的。事實上,我們完全可以認為智能卡在整個的工作過程中始終都是處在這樣的、或是那樣的一種狀態之中,安全狀態通??梢岳弥悄芸ㄔ诋斍耙呀洕M足的條件的集合來表示。
安全屬性實際上是定義了執行某個命令所需要的一些條件,只有智能卡滿足了這些條件,該命令才是可以執行的。因此,如果將智能卡當前所處的安全狀態與某個操作的安全屬性相比較,那么根據比較的結果就可以很容易地判斷出一個命令在當前狀態下是否是允許執行的,從而達到了安全控制的目的。和安全狀態與安全屬性相聯系的是安全機制。安全機制可以認為是安全狀態實現轉移所采用的轉移方法和手段,通常包括:通行字鑒別,密碼鑒別,數據鑒別及數據加密。一種安全狀態經過上述的這些手段就可以轉移到另一種狀態,把這種狀態與某個安全屬性相比較,如果一致的話,就表明能夠執行該屬性對應的命令,這就是COS安全體系的基本工作原理。
* 應用管理器(Application Manager)
應用管理器的主要任務在于對智能卡接收的命令的可執行性進行判斷。應用管理器的實現主要是智能卡中的應用軟件的安全機制的實現問題。而因為智能卡的各個應用都以文件的形式存在,所以可以把應用管理器看作是文件管理器的一個部分。
* 文件管理器(File Manager)
文件也是COS中的一個極為重要的概念。所謂文件,是指關于數據單元或卡中記錄的有組織的集合。COS通過給每種應用建立一個對應文件的方法來實現它對各個應用的存儲及管理。因此,COS的應用文件中存儲的都是與應用程序有關的備種數據或記錄。此外,對某些智能卡的COS,可能還包含有對應用文件進行控制的應用控制文件。在COS中,所有的文件都有一個唯一的文件標識符(File ldentifier),因此通過文件標識符就可以直接查找所需的文件。此外,每個文件還可以有一個文件名作為助記符,它與文件標識符的不同之處在于它是可以重復的。
根據文件的用途可分為三類:
COS文件(COSFile)、密碼文件(KeyFile)和錢夾文件(PursesFile)。其中所謂的COS文件保存有基本的應用數據;密碼文件存儲的是進行數據加密時要用到的密碼;錢夾文件的作用有些類似于我們日常生活中的錢包。由此可見,它的這三類文件本質上其又都屬于基本文件(EF)類。
COS文件有四種邏輯結構:透明結構,線性定長結構,線性變長結構,定長循環結構。
無論采取的是什么樣的邏輯結構,COS中的文件在智能卡的存儲器中都是物理上連續存放的??ㄖ袛祿拇嫒》绞?、記錄的編號方法、數據單元的大小等作為文件系統的特征,在智能卡的復位應答過程中由卡給出。一般而言,在智能卡中最為重要的數據存取方式還是隨機存取方式,也就是卡的用戶在得到授權后,可以直接地任意訪問文件中的某個數據單元或記錄。
四、PIM卡未來技術展望
隨著智能卡技術、芯片技術的飛速發展,小靈通PIM卡技術必將得到更新。下面簡介以下可能出現的技術:
* 更小體積的PIM卡
隨著芯片技術的不斷更新,人們已經可以將更多的元器件集成到更小的芯片上。目前的25mm15mm體積的卡將被更小體積的PIM卡取代,這樣,手機終端就不會受卡體積的限制,能做的更小巧、更美觀。
* 非接觸卡和雙界面卡
非接觸IC卡,又名感應卡。非接觸式IC卡由IC芯片,感應天線組成,并完全密封在一個標準PVC卡片中,無外露部分。非接觸式IC卡的讀寫過程,通常由非接觸型IC卡與讀寫器之間通過無線電波來完成讀寫操作。雙界面卡只有一個芯片,一個CPU、芯片所有的資源都是共享的,只有一個COS,通過接觸界面和非接觸界面都可以訪問相同的存儲區域與執行相同的操作。這樣,非接觸或雙界面PIM卡不僅能用于移動通訊,同時也能在身份識別、金融、電子貨幣、公共交通、智能樓宇、小區物業、社會保障等諸多領域得到應用。
* PTK(PHS SIM TOOL KIT)
簡稱"用戶識別應用發展工具",可以理解為一組開發增值業務的命令,一種小型編程語言,它允許基于智能卡的用戶身份識別模塊PIM卡運行自己的應用軟件。
PTK卡不是一般的通常使用的PIM卡,而是基于Java語言平臺的Simera32K卡片。PTK是一種小型編程語言的軟件,可以固化在PIM卡中。它能夠接收和發送PHS的短消息數據,起到PIM卡與短消息之間的接口的作用,同時它還允許PIM卡運行自己的應用軟件。這些功能經常被用于在可通過軟件激活的電話顯示屏上,用友好的文本菜單代替機械的"撥號-收聽-應答"方式,從而允許用戶通過按鍵輕松進行復雜的信息檢索操作或交易。以往普遍使用的PIM卡手機只能完成用戶身份鑒定、儲存常用號碼等一些手機廠商提供的簡單功能,而PTK卡手機則可以提供額外的菜單,包括信息點播,手機銀行、手機上繳付煤、水、電、電話等各種費用、手機炒股等各種增值業務,從而大大提高小靈通用戶的增值業務使用靈活性、提升ARPU值。
評論