基於行動通訊裝置數量不斷增加、功能變得更複雜、智慧型手機逐漸取代個人電腦(PC)成為民眾上網主要工具,有更多需要高度安全的應用如金融交易等在手機執行時,安全議題更是影響這些相關應用程式能否在手機上廣泛被使用的主因。
手機已從過去僅是通訊產品,逐漸成為人們生活中不可或缺的生活必需品,而隨著行動通訊裝置的普及,也招來駭客和病毒的覬覦。目前的危害多半以阻礙手機正常使用、偷取資料、盜撥號、盜傳簡訊甚至手機監聽的病毒居多。如何加強手機安全以避免造成資料外洩已經刻不容緩。
現有手機安全堪慮
目前手機已經普及至人手一支的程度,其安全性已成為一個亟須重視的議題。手機的安全問題可以從網路及軟體服務兩個方面來加以探討。
每一支手機都有內建一組類似序號的十五位數的辨識碼,稱之國際行動裝備辨識碼(International Mobile Equipment Identity, IMEI)。這組獨一無二的辨識碼主要用來辨別每個連上網路的手機。如果手機遭竊,即可透過辨別IMEI將此失竊手機阻隔於網路,使其通話功能無法使用。
手機內的用戶辨識模組(Subscriber Identity Module, SIM)卡則是用來規定手機只能在特定的網路與系統商簽約過才能使用(SIM-locked)。然而,如最近火紅的iPhone,在世界各地已出現了各種破解綁約(Unlocking)的方法,而IMEI識別碼也可透過通用序列匯流排(USB)配合軟體重新更改過。加上手機功能日益強大,通話已不是唯一的手機功能,單單只靠這些防護已經不夠。
手機現在除了通話功能外,由於網路頻寬的增加帶動使用手機上網的情況日增,加上系統商或製造商所供應的服務日益趨多,如Apple的iTune Store、諾基亞(Nokia)的Ovi Store等。這些平台軟體上的演變成長,也將以往在個人電腦上的安全漏洞蔓延至手機裝置上。個人電腦上常有的病毒、蠕蟲、木馬程式等也都出現手機版本,因此,所有防毒軟體廠商也陸續推出手機版本的防毒軟體以遏制這些利用軟體漏洞而產生的安全危機。
現今智慧型手機也提供類似數位電視的功能,有關數位內容的數位版權管理(DRM)也顯得重要。此外,與軟體有關的使用者資訊都需要適當的機制保護。舉例來說,有版權的數位影像必須透過安全保護的硬體機制來管理或讀取,影像解碼功能(Decoder)也須搭配安全的軟體來執行,如此才能使具有版權的資料能被有效保護。至於個人資料如銀行帳號、個人密碼等須要加密的資料與數位影像情況相同,都需要適當的軟硬體配合才能達到真正安全儲存的目的。
安謀國際(ARM)是一家販售ARM架構的矽財產(IP)公司,授權廠家依照設計製作出建構於此核心的微控制器(MCU)或中央處理器(CPU)。在手機裝置及其他如可攜式媒體播放器(PMP)、電視機上盒(Set Top Box)、數位相框等嵌入式系統市場上至少八成的裝置其核心處理器是內建ARM。例如目前市面上最為人所知的高通(Qualcomm) Snapdragon也是ARM-based處理器,目前採用Snapdragon處理器的在台知名產品包括宏達電HD2、Google Nexus One及華碩Eee PC等。由此可見,安謀國際提出的TrustZone解決方案已成為手機資訊安全中不可缺少的核心技術。
典型手機設計漏洞多
典型的手機硬體設計架構如圖1所示。當考慮到手機安全性時,必須做全盤性考量,所有的次系統(Sub-system)也就是圖1中每一個獨立方塊圖的功能都必須納入考慮。針對硬體的攻擊,通常會鎖定一些作為測試及除錯功能的模組當作攻擊的起點,亦即圖中的Trace和JTAG。如果系統設計有漏洞,攻擊即可透過除錯匯流排(Debug Bus)存取許多不同的模組。
|
圖1 典型手機硬體設計架構 |
現有解決方案利弊互現
現有的其他資訊安全解決方案,可以從外接式硬體模組、內建式硬體模組、軟體實現三個面向來加以探討。
外接式(External)的硬體模組(HSM)如SIM卡、加密智慧卡(Smart Card),已廣泛使用於手機及其他例如數位電視等,其主要是用來登入系統。此外,還有一種類似於x86平台上的可信賴平台模組(TPM)IC晶片模組也屬於此類的解決方案。此類的解決方案由於獨立於裝置上的處理器或系統單晶片(SoC),所以就生產製造來說提供了較高階的防竄改(Tamper-resistance)機制,且由於外接的模組型態容易將其轉移至其他不同裝置,因此也是其優點之一。
然而,在智慧卡部分,管理處理自然人憑證(PIN)碼的軟體並非在安全的環境下執行,即使資料儲存在智慧卡上,但只要資料是在公用的一般記憶體上儲存,當系統被異常程式入侵時,對方即能讀取到這些重要資料。至於IC模組的型態,除了須考量在嵌入式系統中如何規畫設計於硬體外,也不是絕對安全的,因為今年剛在美國舉辦的黑帽安全大會(Black Hat Security Con-ference)中就有人提出破解TPM的方法。
內建式硬體模組(Internal HSM)也是將安全硬體模組嵌入在系統晶片中,主要分為兩種,一種是以專門執行密碼加解密動作及儲存金鑰的硬體模組型式所存在,另一種則是透過獨立於主處理器的處理器來執行並儲存與安全有關的所有資源,也就是有兩個獨立的處理器分別處理一般程式以及需要安全機制維護的程式。前者與外接式IC模組有同樣的問題,當資料不在被保護的階段中還是會被截取,相對之下,後者就沒有類似的問題,但是不同處理器在執行過程中如何溝通、如何共用記憶體,在在增加了許多設計上的困難,對於執行效能也是一大考驗。安謀國際TrustZone的硬體設計類似於後者的改良,稍後會詳細介紹。
在具有記憶體管理單元(MMU)的處理器中,需要安全保護的程式可以在特殊模式(Privileged Mode)下執行,這種方案的好處是不需要任何額外的硬體,然而,其他系統元件也無法在這保護傘下執行,一些透過硬體的攻擊,例如除錯或測試的匯流排也無法有效的控制或避免。如果將除錯與測試功能移除,軟體實現往往也會更加困難。
雙平行執行區域最安全
考量過以上幾種現有的解決方案,安謀國際TrustZone針對硬體及軟體上的安全漏洞提供了相對完善的設計,安謀國際基於可信任平台(Trusted Platform)的概念,在嵌入式領域內實現了可信任運算的方法。TrustZone由硬體增強的安全性環境(提供程式碼隔離)與安全軟體組成,安全軟體提供基礎安全服務以及與信任鏈中其他單元的介面如智慧卡、作業系統和一般的應用程式。
TrustZone將兩個平行的執行領域分隔開:沒有安全性要求的「正常」執行區域(Normal World)和可信任的、可認證的安全區域(Secure World)(圖2)。換言之,只要與安全性相關的程式就會在完全安全的硬體環境下執行,包含周邊設備(Peripheral)及記憶體如安全唯獨記憶體(Secure ROM)、安全隨機存取記憶體(Secure RAM)也都會有特定配置給須要安全執行的程式使用。舉例來說,當須要用到密碼或帳號等線上付費或網路銀行等應用時,這些動作就必須在Secure World執行,將需要安全保護的動作與其他一般程式分開執行,就算手機中毒,在Normal World的病毒也無法去破壞或讀取在Secure World的記憶體資料。
|
圖2 ARM核心實現TrustZone的兩個平行執行區域 |
設計須嚴守API規範
總而言之,透過安謀國際TrustZone的硬體架構搭配基於TrustZone應用程式介面(API)的軟體來實現安全的保護機制是目前熱門的話題。硬體工程師透過TrustZone系統設計規畫手機硬體的SoC,應用程式軟體工程師則必須遵守TrustZone API規格所規範的函式來執行各種功能,如此一來,即能實現TrustZone-based的系統設計。