《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 基于OTA模式的SIM卡安全技術(shù)

基于OTA模式的SIM卡安全技術(shù)

2008-03-19
作者:張喜蕊, 辛 陽(yáng)

  摘 要: 闡述了SIM卡提供的基本安全策略,分析了在OTA模式下可能存在的針對(duì)SIM卡的攻擊,以及SIM卡防御這些攻擊所提供的安全機(jī)制,最后給出了SIM卡在" title="卡在">卡在OTA下載模式下的安全處理模型。
  關(guān)鍵詞: SIM卡? OTA? 安全

?

  近年來(lái),OTA(Over The Air)空中下載技術(shù)走向大規(guī)模商用的原因是,相對(duì)于固化在SIM卡中的菜單業(yè)務(wù),OTA技術(shù)使得用戶可以通過(guò)短消息隨時(shí)了解新業(yè)務(wù)" title="新業(yè)務(wù)">新業(yè)務(wù)的動(dòng)態(tài)并下載自己感興趣的新業(yè)務(wù),運(yùn)營(yíng)商也可以使用該技術(shù)向用戶推廣新的業(yè)務(wù)。然而,由于移動(dòng)通信系統(tǒng)的開(kāi)放性,攻擊者可能通過(guò)重傳、竄改等攻擊手段破壞一個(gè)下載過(guò)程,甚至可以向SIM卡中注入惡意的代碼,而且各種針對(duì)SIM卡的攻擊層出不窮。因此,要求SIM卡有一套完備的處理機(jī)制,以應(yīng)對(duì)各種潛在的攻擊。本文旨在分析針對(duì)SIM卡的潛在攻擊以及SIM卡在OTA模式下存在的潛在安全威脅,并為SIM卡提供安全應(yīng)對(duì)措施。
1 SIM卡的基本安全特性
  移動(dòng)臺(tái) (MS)是用戶使用的終端設(shè)備,是GSM系統(tǒng)中的一個(gè)重要組成部分。它由移動(dòng)終端設(shè)備(ME)和用戶身份模塊(SIM) 兩個(gè)主要部分組成。MS采用分離設(shè)計(jì),它的安全功能集中于SIM中,便于控制管理。
1.1 訪問(wèn)SIM卡的安全性
  SIM卡使用PIN碼設(shè)定第一道防線,以保證合法用戶的安全使用。PIN碼是一個(gè)四位到八位的個(gè)人密碼,用來(lái)保護(hù)SIM卡不被未授權(quán)的用戶使用。對(duì)于嵌入的已設(shè)定PIN碼的SIM卡的手機(jī),每次開(kāi)機(jī)時(shí)都會(huì)要求用戶輸入PIN碼進(jìn)行校驗(yàn),只有校驗(yàn)成功SIM卡才會(huì)被啟用。
  另外,SIM卡是以文件結(jié)構(gòu)的形式保存信息的。用戶的一些重要的信息,如國(guó)際移動(dòng)用戶號(hào)(IMSI)、鑒權(quán)密鑰Ki等,都保存在相應(yīng)的文件中。SIM卡應(yīng)嚴(yán)格控制用戶對(duì)這些文件進(jìn)行訪問(wèn),以保證SIM卡的完整性和可用性,防止非法破壞和復(fù)制SIM卡。SIM卡具有16種不同的安全狀態(tài),又稱為狀態(tài)機(jī)。只有當(dāng)卡片滿足了一定的狀態(tài)機(jī),才能訪問(wèn)指定的文件。SIM卡文件的訪問(wèn)權(quán)限一般分為八級(jí),分別為:ALWAYS、CHV1、CHV2、RFU、ADM1、ADM2、ADM3、ADM4,以及NEVER。SIM卡一般只建立一個(gè)密鑰文件,在卡的個(gè)人化階段以明文形式寫入密鑰,該文件的讀寫權(quán)限都為NEVER,即任何時(shí)候都不能讀寫密鑰文件。每個(gè)密鑰對(duì)應(yīng)一個(gè)錯(cuò)誤計(jì)數(shù)器,記錄密碼校驗(yàn)失敗的次數(shù),當(dāng)失敗次數(shù)大于初始閾值時(shí)SIM卡就會(huì)被鎖定。
1.2 安全備份與數(shù)據(jù)恢復(fù)" title="數(shù)據(jù)恢復(fù)">數(shù)據(jù)恢復(fù)機(jī)制
  SIM卡即CPU卡,需要外界電源供電才能進(jìn)行工作,該外界電源就是手機(jī)電池。但是,在實(shí)際工作中,手機(jī)會(huì)因?yàn)殡姵仉娏坎蛔慊蛘哂脩敉蝗话蔚綦姵囟鴮?dǎo)致SIM卡意外失電。如果SIM卡此時(shí)正在處理一些程序或者對(duì)某些敏感數(shù)據(jù)進(jìn)行操作,則突然的失電勢(shì)必會(huì)影響SIM卡內(nèi)部的程序和存儲(chǔ)邏輯,導(dǎo)致SIM不可用。
  安全備份與數(shù)據(jù)恢復(fù)機(jī)制主要是保障卡在任何運(yùn)行情況下(如發(fā)生卡失電或意外被拔插操作)失去正常工作后,而當(dāng)卡再次上電時(shí)卡內(nèi)敏感數(shù)據(jù)能返回初始狀態(tài),保證其完整性與合法性,即卡的操作系統(tǒng)COS(Card Operating System)不受這些外界因素影響仍能保持正常運(yùn)作。該機(jī)制的原理是:每次對(duì)卡內(nèi)FLASH/EEPROM進(jìn)行擦寫操作時(shí),COS先要將被更新的存儲(chǔ)區(qū)中的原有數(shù)據(jù)備份到備份棧(專門為安全備份與數(shù)據(jù)恢復(fù)開(kāi)辟的一段存儲(chǔ)區(qū)),并設(shè)置相應(yīng)的恢復(fù)標(biāo)志;之后對(duì)要被更新的存儲(chǔ)區(qū)進(jìn)行正常的擦寫操作(此時(shí)如果卡意外斷電或者被插拔,卡在復(fù)位時(shí)會(huì)檢測(cè)恢復(fù)標(biāo)志,若復(fù)位標(biāo)志有效則將原有數(shù)據(jù)重新寫入,而新寫入的數(shù)據(jù)將被拋棄,這一步稱為回滾數(shù)據(jù));數(shù)據(jù)區(qū)被正常更新后,COS就設(shè)置恢復(fù)標(biāo)志無(wú)效,這樣在卡下次復(fù)位時(shí)就會(huì)忽略備份棧的數(shù)據(jù)。
1.3 網(wǎng)絡(luò)鑒權(quán)方面的" title="面的">面的安全保護(hù)
  合法SIM卡的一個(gè)重要的任務(wù)就是與網(wǎng)絡(luò)一起完成網(wǎng)絡(luò)對(duì)SIM卡的鑒權(quán)。
  網(wǎng)絡(luò)鑒權(quán)也就是確認(rèn)用戶身份是否合法,鑒權(quán)過(guò)程是在網(wǎng)絡(luò)和SIM卡之間進(jìn)行的,鑒權(quán)時(shí)間一般選在移動(dòng)終端登記入網(wǎng)和呼叫之時(shí)。鑒權(quán)開(kāi)始時(shí),網(wǎng)絡(luò)產(chǎn)生一個(gè)128位的隨機(jī)數(shù)RAND,經(jīng)無(wú)線電控制信道傳送到ME,ME采用RUN GSM ALGORITHM命令把RAND傳送給SIM卡,SIM卡依據(jù)卡中的用戶密鑰Ki和算法A3、A8或A38,根據(jù)接收到的RAND計(jì)算出應(yīng)答信號(hào)SRES和加密密鑰Kc,并將結(jié)果回送給ME。然后ME將SRES向網(wǎng)絡(luò)發(fā)送,用Kc值對(duì)網(wǎng)絡(luò)的通信信息進(jìn)行加密,直到下一次再進(jìn)行鑒權(quán)。網(wǎng)絡(luò)在鑒權(quán)中心查明該用戶的密鑰Ki后,用同樣的RAND和算法A3計(jì)算出SRES,并與收到的SRES進(jìn)行比較,如一致,則鑒權(quán)通過(guò),否則中止兩者之間的通信。
  由于A3算法具有單向函數(shù)的功能,由Ki和RAND經(jīng)A3計(jì)算出SRES很容易,但由SRES和RAND反向推導(dǎo)Ki卻非常困難,所以SRES即使在傳輸過(guò)程中被偵聽(tīng)到,也不會(huì)危及Ki的安全。
  在這個(gè)過(guò)程中,采用一個(gè)用戶鑒權(quán)密鑰Ki。Ki長(zhǎng)度為128bit,存儲(chǔ)在SIM卡之中。Ki的傳輸必須采用DES或3DES算法進(jìn)行加密傳輸,以防被非法竊聽(tīng)或者篡改。同時(shí),SIM卡也必須提供對(duì)A3、A8算法的保護(hù),A3、A8算法的存儲(chǔ)必須使用電可擦除非易失性存儲(chǔ)器,以防止對(duì)集成電路進(jìn)行解剖而得到A3、A8算法。
2 OTA模式下SIM卡的安全特性
  在OTA模式下,SIM卡需要與OTA服務(wù)器進(jìn)行大量的交互,在網(wǎng)絡(luò)環(huán)境不是很理想的情況下,SIM卡接收到的數(shù)據(jù)中,除了OTA服務(wù)器下發(fā)的完整、有效的數(shù)據(jù)外,還可能存在不完整或者無(wú)效的數(shù)據(jù)以及來(lái)自非法服務(wù)器的攻擊SIM卡的數(shù)據(jù)。
2.1 SIM卡與OTA服務(wù)器之間的相互身份認(rèn)證" title="身份認(rèn)證">身份認(rèn)證
  合法的OTA用戶使用OTA下載業(yè)務(wù)前要先向OTA服務(wù)器注冊(cè)。注冊(cè)信息一般包括卡片的一些版本信息、卡片可供下載的空間等,注冊(cè)成功后才能進(jìn)行后續(xù)的操作。
  OTA空中下載的過(guò)程如下:首先,用戶使用手機(jī)通過(guò)STK提供的菜單界面向OTA服務(wù)器發(fā)送一個(gè)菜單下載請(qǐng)求,該請(qǐng)求經(jīng)由短消息中心和短信網(wǎng)關(guān),最終通過(guò)Internet發(fā)送至OTA服務(wù)器;然后,OTA服務(wù)器根據(jù)請(qǐng)求的內(nèi)容將相應(yīng)的菜單數(shù)據(jù)打包并經(jīng)由反向的路徑發(fā)送至手機(jī);再后,手機(jī)SIM卡將菜單數(shù)據(jù)譯碼并組合成菜單;最后,向用戶顯示菜單內(nèi)容。
  整個(gè)下載過(guò)程中涉及到幾個(gè)方面的身份認(rèn)證問(wèn)題:服務(wù)器對(duì)SIM卡的身份認(rèn)證、SIM卡對(duì)OTA下載服務(wù)器的身份認(rèn)證、OTA下載服務(wù)器對(duì)請(qǐng)求數(shù)據(jù)合法性的認(rèn)證、SIM卡對(duì)菜單數(shù)據(jù)合法性的認(rèn)證。這幾個(gè)方面的認(rèn)證問(wèn)題不是孤立的,而是相互關(guān)聯(lián)、相互作用的,因此需要提供一種機(jī)制來(lái)妥善解決這些認(rèn)證問(wèn)題。
  OTA下載服務(wù)器應(yīng)對(duì)發(fā)送下載請(qǐng)求的用戶身份進(jìn)行嚴(yán)格的認(rèn)證,以避免假冒下載者或者惡意攻擊者的竄改和重傳攻擊;SIM卡應(yīng)該對(duì)接收到的菜單數(shù)據(jù)進(jìn)行嚴(yán)格的認(rèn)證,以防止假OTA服務(wù)器攻擊和惡意攻擊者竄改菜單數(shù)據(jù)進(jìn)行攻擊。因此,需要設(shè)計(jì)一種嚴(yán)密高效的認(rèn)證方案來(lái)防御各種攻擊。目前常用的身份認(rèn)證機(jī)制有:基于對(duì)稱密碼體制的挑戰(zhàn)應(yīng)答方式、MAC校驗(yàn)方式、無(wú)線PKI通過(guò)數(shù)字證書等。
2.2 OTA下行數(shù)據(jù)的安全處理
  對(duì)OTA下行數(shù)據(jù)的完整性、有效性和邏輯性應(yīng)進(jìn)行檢查,以防止由于網(wǎng)絡(luò)傳輸錯(cuò)誤或者惡意攻擊者發(fā)出的非法數(shù)據(jù)破壞SIM卡的可用性。目前OTA下行數(shù)據(jù)均采用GSM03.48協(xié)議規(guī)定的格式。GSM03.48定義了數(shù)字蜂窩通信系統(tǒng)中GSM PLMNME(公共陸地移動(dòng)網(wǎng)絡(luò)實(shí)體)與STK卡之間的安全接口標(biāo)準(zhǔn)。GSM03.48協(xié)議嚴(yán)格定義了GSM網(wǎng)絡(luò)中兩個(gè)通信實(shí)體之間采用安全數(shù)據(jù)傳輸時(shí)的應(yīng)用數(shù)據(jù)協(xié)議格式、消息認(rèn)證方式、數(shù)據(jù)加密算法、密鑰管理方式以及計(jì)數(shù)器機(jī)制等諸多安全內(nèi)容。
  數(shù)據(jù)的完整性檢測(cè)主要使用MAC校驗(yàn)機(jī)制。其主要作用是保證消息的接收者能夠判斷消息在傳輸過(guò)程中是否被修改,防止不法入侵者用虛假消息代替合法消息或者篡改消息。OTA服務(wù)器將下行數(shù)據(jù)中的一部分重要的信息利用算法DES CBC進(jìn)行加密,并作為下行數(shù)據(jù)的一部分傳輸給SIM卡。SIM卡收到該數(shù)據(jù)后,不是直接處理用戶數(shù)據(jù),而是對(duì)安全數(shù)據(jù)進(jìn)行MAC校驗(yàn)。只有本地計(jì)算的MAC值和下行數(shù)據(jù)中的MAC值一致的情況下才接收數(shù)據(jù),否則會(huì)拋棄數(shù)據(jù)。同樣,OTA服務(wù)器對(duì)SIM卡上行的申請(qǐng)數(shù)據(jù)也使用MAC校驗(yàn)。這樣,雙方就保證了對(duì)方的數(shù)據(jù)的完整性。計(jì)算MAC時(shí)所需要的會(huì)話密鑰Kc,一般是用SIM卡的國(guó)際移動(dòng)識(shí)別號(hào)對(duì)SIM卡和OTA服務(wù)器共享的主密鑰進(jìn)行分散,有時(shí)為了保持會(huì)話密鑰Kc的動(dòng)態(tài)性和隨機(jī)性,需要加入隨機(jī)數(shù)進(jìn)行分散。這要根據(jù)不同的應(yīng)用對(duì)安全性的不同要求而靈活運(yùn)用。
  數(shù)據(jù)的有效性檢測(cè)主要使用同步計(jì)數(shù)器機(jī)制。其主要作用是保證SIM卡接收到的消息是最新消息,而不是由于網(wǎng)絡(luò)存儲(chǔ)轉(zhuǎn)發(fā)機(jī)制的缺陷所造成的延遲消息或者惡意攻擊者故意發(fā)送的重傳消息。對(duì)于OTA服務(wù)器和SIM卡之間的每個(gè)會(huì)話密鑰,都有一個(gè)計(jì)數(shù)器與之對(duì)應(yīng)。服務(wù)器在組織下行數(shù)據(jù)時(shí)會(huì)依次增加所用會(huì)話密鑰的計(jì)數(shù)器值;SIM卡接收到該數(shù)據(jù)后會(huì)與卡內(nèi)保存的相應(yīng)的計(jì)數(shù)器值進(jìn)行比較,只有計(jì)數(shù)器值比自身保存的計(jì)數(shù)器值大數(shù)據(jù)才被接收,然后SIM卡就用新的計(jì)數(shù)器值更新本地的計(jì)數(shù)器值,以備下一次比較使用。
  數(shù)據(jù)的邏輯性檢測(cè)也可以稱之為異常處理。下行數(shù)據(jù)中有一些重要的字節(jié)信息是需要SIM卡進(jìn)行檢測(cè)的。如果SIM卡檢測(cè)出下行數(shù)據(jù)有邏輯上的錯(cuò)誤,就要拋棄該數(shù)據(jù);否則,如果將該數(shù)據(jù)寫到卡中,就會(huì)出現(xiàn)意想不到的錯(cuò)誤,從而導(dǎo)致SIM卡的不可用。在實(shí)踐過(guò)程中,只有多考慮一些可能出現(xiàn)的異常,并對(duì)此作出適當(dāng)?shù)奶幚?才能盡可能地避免異常數(shù)據(jù)帶來(lái)的錯(cuò)誤。
  另外,GSM03.48協(xié)議中還規(guī)定使用保密數(shù)據(jù)指示符來(lái)表示數(shù)據(jù)是否使用校驗(yàn)或者加密,這樣就提供了加密機(jī)制的可見(jiàn)性,給OTA機(jī)制帶來(lái)了很大的靈活性。
2.3 SIM卡與OTA服務(wù)器的同步問(wèn)題
  OTA下載服務(wù)器需要對(duì)用戶大量的空中下載業(yè)務(wù)進(jìn)行管理,同時(shí)運(yùn)營(yíng)商也需要得到用戶使用OTA業(yè)務(wù)的習(xí)慣,以便更好地開(kāi)展業(yè)務(wù),這就需要用戶端SIM卡的業(yè)務(wù)信息與服務(wù)器端的信息保持一致。為了保證卡端和服務(wù)器端的信息保持一致,需要卡端能及時(shí)地將本地的信息通過(guò)短信通道傳輸給服務(wù)器,以便服務(wù)器能更新數(shù)據(jù)庫(kù)。目前保持同步的方法主要有:(1)服務(wù)器主動(dòng)下發(fā)執(zhí)行信息的同步命令,并請(qǐng)求卡端返回同步信息。(2)卡在滿足一定的條件時(shí),主動(dòng)將統(tǒng)計(jì)信息傳輸給服務(wù)器。保持SIM卡和OTA下載服務(wù)器的同步,有利于服務(wù)器能更好地提供業(yè)務(wù)服務(wù),減少錯(cuò)誤的發(fā)生。
  另外,在下行數(shù)據(jù)中可以用一位信息表示是否要求SIM卡回送處理數(shù)據(jù)的狀態(tài)信息。如有要求,根據(jù)該信息,服務(wù)器可以確切地知道SIM卡對(duì)下行數(shù)據(jù)的處理結(jié)果,從而確定是否重傳該指令。
3 SIM卡處理OTA下行數(shù)據(jù)的安全模型
  綜合以上的論述,一個(gè)典型的如圖1所示的OTA處理模型應(yīng)包含以下幾個(gè)部分:OTA應(yīng)用模塊 、邏輯處理模塊、GSM03.48模塊和傳輸層。


  各個(gè)部分的功能描述如下:
  (1)OTA應(yīng)用模塊:將從服務(wù)器上下載的菜單數(shù)據(jù)組織成用戶可見(jiàn)的應(yīng)用形式,供用戶使用。同時(shí),提供用戶和服務(wù)器之間的互動(dòng)界面,以方便OTA的業(yè)務(wù)開(kāi)展。
  (2)邏輯處理模塊:對(duì)通過(guò)GSM03.48模塊檢測(cè)的數(shù)據(jù),進(jìn)行邏輯判斷,例如檢測(cè)關(guān)鍵字段的長(zhǎng)度是否一致、所下載業(yè)務(wù)是否是用戶申請(qǐng)的業(yè)務(wù)、多條短信是否完成、是否需要回應(yīng)服務(wù)器等。
  (3)GSM03.48模塊:對(duì)下行數(shù)據(jù)進(jìn)行MAC校驗(yàn)和同步計(jì)數(shù)器檢驗(yàn),以保證數(shù)據(jù)的完整性和有效性。即保證消息在傳輸過(guò)程中沒(méi)有被修改或者被重傳。
  (4)傳輸層:對(duì)GSM網(wǎng)絡(luò)來(lái)說(shuō),主要負(fù)責(zé)短信的收發(fā);對(duì)3G網(wǎng)絡(luò)而言,3G網(wǎng)絡(luò)上進(jìn)行的OTA業(yè)務(wù)除了通過(guò)傳統(tǒng)的短信通道傳輸外,還可以通過(guò)符合BIP協(xié)議的高速通道傳輸。BIP(Bearer Independent Protocol)協(xié)議,即承載不相關(guān)協(xié)議,它支持5個(gè)主動(dòng)式命令和2個(gè)事件。該協(xié)議使SIM/USIM卡能夠利用手機(jī)的承載能力建立與服務(wù)器之間的數(shù)據(jù)通道,實(shí)現(xiàn)可靠連接與高速傳輸。其傳輸速率遠(yuǎn)遠(yuǎn)大于短信通道的傳輸速率。它提供了良好的雙向交互式通信能力以及可靠的面向連接的通訊方式。
  OTA技術(shù)解決了運(yùn)營(yíng)商推行新業(yè)務(wù)所面臨的困難,因此該技術(shù)得到了運(yùn)營(yíng)商的一致認(rèn)可。各家運(yùn)營(yíng)商都制定出了具有自己特色的OTA技術(shù)規(guī)范,OTA技術(shù)也因此得到了不斷完善和發(fā)展。例如,最近提出的在不支持OTA模式的手機(jī)上,SIM卡仍然能夠進(jìn)行OTA下載的技術(shù),完善了OTA技術(shù)的一項(xiàng)不足。同時(shí),擔(dān)任此重?fù)?dān)的SIM卡也面臨著種種的考驗(yàn),不僅要滿足OTA技術(shù)規(guī)范中規(guī)定的功能,更要完善在安全性方面的特性。
  3G網(wǎng)絡(luò)下的OTA空中下載技術(shù)擁有更多的優(yōu)點(diǎn)。除了在鑒權(quán)方面采用了雙向鑒權(quán)并增加了SIM對(duì)網(wǎng)絡(luò)的鑒權(quán)外,又增加了符合BIP協(xié)議的高速通道。隨著3G時(shí)代的到來(lái),OTA這項(xiàng)在2G網(wǎng)絡(luò)和2.5G網(wǎng)絡(luò)中都成功應(yīng)用的技術(shù),必將在3G網(wǎng)絡(luò)中扮演重要的角色。
參考文獻(xiàn)

[1] ETSI. GSM 11.11: Digital cellular telecommunications system(Phase 2+):Specification of the Subscriber Identity Module-Mobile Equipment (SIM-ME) Interface V8.3.0,1999:29-30.
[2] ?ETSI. GSM 11.14: Digital cellular telecommunications system (Phase 2+);Specification of the SIM Application Toolkit for theSubscriber Identity Module-Mobile Equip-ment(SIM - ME) Interface V7.3.1,1998:52-54.
[3] ?ETSI. GSM 03.48: Digital cellular telecommunications system (Phase 2+):Security Mechanisms for the SIM Application Toolkit V8.8.0,2001:8-18.
[4] ?ETSI. TS 102 223: Smart cards: card application toolkit (CAT) V7.1.0, 2005:18.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。