SIM卡操作系統(tǒng)(COS)的安全分析
文章出處:http://botanicstilllife.com 作者:宋麥玲 陳云亮 人氣: 發(fā)表時間:2011年09月29日
1引言
SIM卡是Subscriber Identity MOdule的縮寫,即用戶識別模塊。用來標(biāo)識一個特定移動用戶的網(wǎng)絡(luò)連接。SIM卡的主要功能是來存儲用戶數(shù)據(jù)和完成客戶身份鑒權(quán)以及客戶信息加密過程。此功能主要是由SIM卡內(nèi)的一部具有操作系統(tǒng)的微處理器完成。COS的全稱是Cllip Opemting System(片內(nèi)操作系統(tǒng)),它一般是緊緊圍繞著它所服務(wù)的智能卡的特點而開發(fā)的。由于不可避免地受到了智能卡內(nèi)微處理器芯片的性能及內(nèi)存容量的影響.因此。COS在很大程度上不同于我們通常所能見到的微機(jī)上的操作系統(tǒng)(例如DOS、UNIX等)。在本文中我們探討的是SIM卡中的COS系統(tǒng)。主要的功能是維護(hù)SIM卡中的文件系統(tǒng),處理手機(jī)下發(fā)給SIM卡的各種命令。并且提供SIM卡應(yīng)用程序開發(fā)包(即STK)來實現(xiàn)增值服務(wù)的開發(fā)。COS的出現(xiàn)不僅大大地改善了智能卡的交互界面,使智能卡的管理變得容易,而且更為重要的是,使智能卡本身向著個人計算機(jī)化的方向邁出了一大步。為智能卡的發(fā)展開拓了極為廣闊的道路。
2 COS的基本模型
SIM卡中集成了微處理器CPU、存儲器和芯片操作系統(tǒng)(COS),構(gòu)成一個完整的計算機(jī)系統(tǒng),具有獨立的數(shù)據(jù)處理能力,SIM卡的結(jié)構(gòu)如圖1所示。
COS系統(tǒng)在SIM卡的結(jié)構(gòu)中處于中間層。介于底層硬件與上層應(yīng)用之間。它向下組織、協(xié)調(diào)系統(tǒng)硬件,實現(xiàn)I /O,存儲管理等功能。向上為應(yīng)用提供服務(wù)。在SIM卡中的COS系統(tǒng)主要是為了實現(xiàn)移動通信的服務(wù)。我們參考網(wǎng)絡(luò)IS0模型。如圖2所示把COS系統(tǒng)的結(jié)構(gòu)分為以下四個層次。
圖1 SIM卡結(jié)構(gòu)圖
圖2 COS屢次結(jié)構(gòu)
這樣的層次劃分的主要原則是。將應(yīng)用代碼從COS主體中獨立出來,提供一個統(tǒng)一的接口進(jìn)行管理;將和底層SIM卡硬件相關(guān)的操作提取出來。便于和上層代碼的復(fù)用和移植;整個系統(tǒng)通過統(tǒng)一的調(diào)度管理。各個層次間提供一個接口以服務(wù)的方式進(jìn)行調(diào)用。下層的內(nèi)部實現(xiàn)對上層來說是透明的。
3 COS的安全體系
根據(jù)接觸式IC卡國際標(biāo)準(zhǔn)IS0,IEC7816_4,COS安全體系包括三部分:安全狀態(tài),安全屬性,安全機(jī)制。
安全狀態(tài)是指SIM卡當(dāng)前所處的安全級別。即當(dāng)前安全狀態(tài)寄存器的值.這種狀態(tài)在SIM進(jìn)行完復(fù)位應(yīng)答后初始化或者在處理完某種命令后得到的。
安全屬性,它定義了執(zhí)行某個命令需要的一些條件,即在進(jìn)行某種操作時要求安全狀態(tài)寄存器的值是什么。
安全機(jī)制從廣義上說是SIM卡支持的各種安全模式。從狹義上說是安全狀態(tài)實現(xiàn)轉(zhuǎn)移所采用的方法和手段。
一種安全狀態(tài)通過上述安全機(jī)制轉(zhuǎn)移到另一種狀態(tài)。把該安全狀態(tài)與某個安全屬性相比較,如果一致,則表明能夠執(zhí)行該屬性對應(yīng)的命令:如果不一致。則相關(guān)命令不能被執(zhí)行。從而達(dá)到了安全控制的目的。這就是COS安全體系的基本工作原理。如圖3所示。
圖3安全狀態(tài)轉(zhuǎn)移
4 COS的應(yīng)用安全
4.1應(yīng)用腳本的安全
SIM卡對下載的應(yīng)用腳本必須具備保證完整性和安全性的功能。由于應(yīng)用腳本的下載實現(xiàn)是以短信的方式來實現(xiàn)的,而在現(xiàn)有短信傳輸機(jī)制中,是進(jìn)行的明文數(shù)據(jù)傳輸,在用戶通過無線網(wǎng)絡(luò)來進(jìn)行菜單和新業(yè)務(wù)的定制過程中。有些消息是經(jīng)過了有線網(wǎng)絡(luò)。這就給攻擊者提供了對空中下載服務(wù)系統(tǒng)進(jìn)行篡改、假造、重傳等攻擊的機(jī)會。因此為了提供一個安全可靠的數(shù)據(jù)傳輸通道,在下載過程中要對下載的應(yīng)用腳本數(shù)據(jù)提供身份認(rèn)證和同步處理機(jī)制。
下面對身份認(rèn)證進(jìn)行一下簡單的介紹。空中下載系統(tǒng)采用了雙向認(rèn)證的技術(shù)。用戶在提出下載請求時,空中下載系統(tǒng)會對用戶進(jìn)行合法性的驗證。這樣確保了只有合法用戶發(fā)出的下載請求才能被響應(yīng);同時SIM卡還要對空中下載系統(tǒng)的合法性進(jìn)行驗證。這樣避免了惡意代碼對用戶SIM卡的入侵。同時雙向認(rèn)證機(jī)也保證了交互信息的完整性和正確性??罩邢螺d系統(tǒng)在收到用戶的請求信息后。馬上計算此信息的MAC碼,并與請求信息中的MAC碼匹配.若相同則說明發(fā)送此信息的用戶是合法的,且在數(shù)據(jù)的傳送中未被修改。SIM卡收到下載數(shù)據(jù)后,同樣計算該下載數(shù)據(jù)的MAC碼。并與下載的數(shù)據(jù)中的MAC碼進(jìn)行匹配。相同則證明該下載數(shù)據(jù)是合法的,且是完整有效的,否則丟棄該下載數(shù)據(jù)。
4.2 GSM網(wǎng)絡(luò)的安全機(jī)制
GSM網(wǎng)絡(luò)對用戶身份標(biāo)識的認(rèn)證是通過一種挑戰(zhàn)應(yīng)答的機(jī)制來實現(xiàn)的。GSM系統(tǒng)中的安全認(rèn)證參數(shù)三元組包括一個128bit長的偽隨機(jī)數(shù)RAND。32bit長的認(rèn)證響應(yīng)SREs和一個64bit長的臨時加密密鑰KC。移動用戶的身份認(rèn)證過程描述如下:
(a)移動用戶把TMSI和訪問網(wǎng)絡(luò)服務(wù)請求發(fā)給移動基站,基站將TMSI和請求發(fā)給拜訪局。
(b)拜訪局根據(jù)TMSI從數(shù)據(jù)庫中調(diào)出移動用戶的認(rèn)證參數(shù)(RAND,RES,KC),并傳送RAND給移動用戶。
(c)移動電話中的SIM卡利用移動用戶的秘密密鑰和RAND通過身份認(rèn)證算法和密鑰生成算法生成認(rèn)證響應(yīng)RES’何KC,并將RES'經(jīng)過基站發(fā)給拜訪局。
(d)拜訪局比較RES???’和RES;如果相同則拜訪局為該移動用戶重新分配一個新的 TMSI’。并且利用加密密鑰KC加密TMSI,后發(fā)給移動用戶,并確認(rèn)登記成功。
上述移動用戶身份認(rèn)證過程不僅可以實現(xiàn)移動用戶的身份認(rèn)證性。也可以實現(xiàn)移動用戶身份保密性。GSM網(wǎng)絡(luò)采用了臨時身份號的方法。在一定程度上可以保護(hù)移動用戶的真實身份IMSI。但是當(dāng)移動電話第一次使用時.它傳其IMSI和其他數(shù)據(jù)給網(wǎng)絡(luò)端的拜訪局進(jìn)行登記。
5結(jié)束語
移動通信的發(fā)展給用戶帶了方便和自由.然而信息在空中的無線傳播也給移動通信帶了潛在的威脅。通信的內(nèi)容可能會被竊聽、通信對方的身份可能被假冒。SIM卡作為用戶身份的安全載體,采用了加密和身份認(rèn)證技術(shù)來保護(hù)用戶的通話內(nèi)容,防止非法用戶訪問移動網(wǎng)絡(luò)。在很大程度上提高了移動通信的安全性。本文對SIM卡的安全基礎(chǔ)——COS系統(tǒng),做了十十分詳盡的分析。為今后電子商務(wù)的應(yīng)用開發(fā)打下了堅實的基礎(chǔ)。
(文/中國地質(zhì)大學(xué)計算機(jī)學(xué)院 宋麥玲 陳云亮)