移動終端安全模塊技術研究
隨著移動通信業務的發展、普及,尤其是3G時代的到來,移動終端逐漸演變成集通話、身份代表、信息獲取、電子支付等為一體的手持終端工具。伴隨著移動終端用戶規模的迅速擴大和諸多人員對移動終端技術的了解,移動終端正面臨著越來越多的安全威脅。下面列舉幾種典型的安全威脅。
(1)移動終端身份序列號(例如GSM中的IMEI)的刪除和篡改等
由于IMEI號可用來統計用戶的終端類型、限制被盜終端在移動網內的重新使用等用途,所以IMEI號應該具有一定的保護措施。
(2)終端操作系統非法修改和刷新等
由于非法操作系統可能會影響用戶使用并干擾正常網絡運行,因此操作系統應當阻止一切非法的修改和刷新等。
(3)個人隱私數據(例如銀行賬號、密碼口令等)的非法讀取訪問等
移動終端內部可能會存有用戶的電話簿、短信、銀行賬號、口令等用戶隱私信息,假如這些信息被他人非法獲得,很可能給用戶造成直接的經濟損失。
(4)病毒和惡意代碼的破壞
病毒和惡意代碼很可能會破壞移動終端的正常使用,還可能會將用戶的隱私信息不知不覺地傳給他人。
(5)移動終端被盜等
目前移動終端被盜現象極其嚴重,終端被盜給用戶帶來直接經濟損失,更嚴重的是用戶隱私數據的泄漏等。
總之,移動終端存在的安全隱患可能會威脅到個人隱私、私有財產甚于國家安全。盡管移動終端面臨著許多的安全威脅,但目前其安全問題仍是整個移動運營網絡中的一個安全盲點。
1 開放的移動終端內部數據資源
圖1 是移動終端內部結構的典型模型
一般,目前所有的敏感信息包括開關機口令、敏感電話簿、機密短信、證書、用戶私鑰等信息都存放在片外存儲器中,另外用于調試訪問片內資源的JTAG口等是開放的(目前沒有有效的方式封閉JTAG口)。所以攻擊者很輕易通過JTAG口等調試端口獲得DBB內部或者Flash中的存儲信息。甚于很多終端的JTAG口直接連在終端外邊,攻擊者連機殼等都不必打開,就可以獲得內部資源。攻擊者當然也可以將Flash芯片取下并采用專門的設備將內部數據讀出。
基于以上介紹,出于為移動終端內部敏感數據資源提供集中的安全保護措施角度考慮,提出了安全模塊的概念。
2 安全模塊及與其他相關部分的關系
2.1安全模塊定義
為移動終端所有或大部分敏感信息提供集中存放和運算的芯片模塊,這里稱作安全模塊。
下面列舉一些安全模塊的典型作用:
◆操作系統、身份序列號及其他信息的完整性保護等;
◆敏感信息的安全存儲包括銀行賬號信息、銀行密碼信息、CA證書、密鑰等;
◆要害數據的冗災備份,如系統的各種配置信息等;
◆機卡互鎖等手機防盜技術的實施等;
◆密碼算法的存儲和運算等。
2.2安全模塊與基帶芯片及上位機的關系
圖2是安全模塊與其他部分的關系圖。安全模塊與其他部分信息交互的端口,一個是安全模塊與上位機的接口——工作端口,一個是安全模塊與上位機的接口——調試端口,其中工作端口用于移動終端正常工作時,安全模塊與基帶芯片進行敏感信息的傳送。調試端口用于移動終端生產甚至維修時安全模塊預設數據和個性化數據的裝入等。
為了防止安全模塊與基帶芯片之間敏感數據傳送過程中的被竊取或者搭線竊聽。安全模塊與基帶芯片之間的數據應該密文傳送。傳輸中的會話密鑰,可以采用現有的密鑰協商協議臨時生成,例如Diff-Hellman等。
另外,安全模塊對上位機應當具有認證功能,以防止非法主機對安全模塊的非法邏輯操作。
2.3基帶芯片部分說明
基帶芯片中有一部分核心代碼,本部分代碼是安全的。這部分代碼的作用是與安全模塊會話密鑰的協商并及向移動終端上層應用安全模塊進行數據交互的應用程序端口。
3 安全模塊的文件邏輯模型和軟件邏輯模塊
3.1文件邏輯模型
根據安全模塊的功能,提出一種典型的安全模塊文件邏輯模型,如圖3所示。
從圖3可以看出,文件按分層結構組織,共有三種類型。操作系統可以處理和訪問不同文件中的數據。
◆主文件(MF—MasterFile)
主文件代表一個功能大類,只有文件頭,沒有文件體。其下可以存放針對某一應用領域的各種安全相關參數和數據。
◆目錄文件(DF—DirectoryFile)
目錄文件是一個或多個文件的邏輯分組,目錄文件只有文件頭,沒有文件體。在圖3的文件邏輯模型中,DFPpassD目錄包括開關機口令文件EFOnOFF和文件資源訪問口令·EFFile等;DFKEY目錄下包括CA證書文件EFCa和私鑰文件EF Priv等;DFMAC目錄包括操作系統MAC文件Efos和數據MAC文件EFData等;DFAdnSms目錄包括機密電話簿文件EFAdn和EFSms等。
◆基于數據文件(EF—ElementaryFile)
一個基本數據文件由文件頭和文件體組成。
可以參照GSM11.11的相關內容進行文件格式的具體設計。
3.2軟件邏輯模塊
◆初始化程序模塊:初始化安全模塊寄存器,配置各種參數。
◆MAC認證模塊:實現手機操作系統和數據的完整性認證。
◆與基帶芯片通信的命令解釋模塊:實現與基帶芯片的命令交互,包括存儲數據、讀取數據等功能。
◆基帶芯片認證和密鑰協商模塊:對基帶芯片進行認證,并協商出安全模塊與基帶芯片之間的會話密鑰。
◆上位機認證與通信模塊:認證上位機的合法性并接受上位機的指令進行自身數據和代碼的更新、升級等。
◆自毀數據模塊:對非法邏輯操作進行審計,并在達到一事實上閾值時刪除安全模塊的各種敏感數據達到自毀的效果。
◆其他根據安全需求需要考慮的功能模塊。
4 安全模塊的硬件模型
安全模塊以微處理為核心。該芯片必須能夠反抗芯片的各種威脅,如開冒后的探針物理探測、邊信道(例如DPA、SPA)攻擊等,另外芯片體積要小,功耗要少。圖4是一種典型的安全模塊硬件模型圖。
5 移動終端的安全啟動過程
安全模塊與基帶芯片的啟動工作流程如圖5和圖6所示。
加電后,安全模塊與基帶芯片處于主從工作模式,安全模塊為主,基帶芯片為從。安全模塊首先認證基帶芯片的合法性以防止基帶芯片被替換或假冒。若基帶芯片通過合法性檢查,則安全模塊與基帶芯片開始協商會話密碼;之后安全模塊向基帶芯片發送索取操作系統數據命令,基帶芯懲收到命令后將操作系統等數據傳送給安全模塊,安全模塊計算MAC值是否正確,若都正確,安全模塊就將自身的工作模式切換到從模式,讓基帶芯片處于主模式;之后,安全模塊處于接受基帶芯片命令并向外傳送敏感信息的狀態。
基帶芯片在加電后,通過內部的安全代碼模塊接收安全模塊的認證請求,并與安全模塊協商會話密鑰,之后將操作系統代碼等信息傳給安全模塊以接收安全模塊的完整性檢查,并等待安全模塊控制權的移交。當安全模塊所有檢查通過后,安全模塊將控制權交給基帶芯片以實現基帶芯片的完全啟動。
安全性分析:系統首先從安全模塊啟動,而且安全模塊和基帶芯片處于主從工作狀態。當安全模塊沒有通過對基帶芯片的認證,或者操作系統等數據的MAC結果不正確時,安全模塊就會拒絕與基帶芯片協商會話密鑰,同時拒絕將敏感信息傳送出去。在這種情況下,假冒的基帶芯片有可能會繼續啟動并達到一種穩定的工作狀態,但攻擊者仍無法獲得安全模塊中的敏感數據,與筆者安全模塊設計的初衷還是一致的。
安全模塊的思想稍加改造就可以用在有類似安全需求的其它電子設備中,因此安全模塊在設計時,通用性盡量強一些,以滿足在多種領域中的應用;同時安全模塊尺寸不宜過大,以節省芯片生產成本和移動終端內部寶貴的可用空間。
- 終端審計如何更好地服務內網安全
- 移動設備網絡防御戰略 align=right>【責任編輯:許鳳麗 TEL:(010)68476606】