[郭建昌]
OMA手機(jī)發(fā)展建議探討
[郭建昌]
提出OMA手機(jī)概念(Open Mobile API移動開放互聯(lián))概念,介紹其技術(shù)背景、發(fā)展必要性、應(yīng)用前景和目前實(shí)施方案介紹,為移動互聯(lián)網(wǎng)用戶和SP提供了融合智能終端便捷性和新型UICC架構(gòu)(U)SIM卡高安全性的OMA手機(jī)實(shí)現(xiàn)思路和發(fā)展建議。
OMA 移動開放互聯(lián) SE 安全單元 GP
郭建昌
工程師,中山大學(xué)計算機(jī)碩士,中國電信基于用戶卡移動融合安全認(rèn)證體系能力和產(chǎn)品開發(fā)和實(shí)施項(xiàng)目經(jīng)理,中國電信天翼通行證(CTPass)集團(tuán)產(chǎn)品研究和開發(fā)項(xiàng)目經(jīng)理,目前主要負(fù)責(zé)移動身份認(rèn)證研究和開發(fā)工作。
隨著移動互聯(lián)網(wǎng)的蓬勃發(fā)展,智能手機(jī)的普及和成本的降低,越來越多的用戶擁有至少一臺智能手機(jī),并且將智能手機(jī)與自己的工作、生活、娛樂、學(xué)習(xí)關(guān)聯(lián)起來,貫穿自己每日的各種時間片段中。
而我們的手機(jī)用戶卡(U)SIM卡也早已在2013年左右進(jìn)行新的技術(shù)升級,由此前大家孰知的32K、64K或128K(見用戶卡背面,表示用戶卡容量)的ICC架構(gòu)傳統(tǒng)Native用戶卡升級為512K的UICC新型架構(gòu)Java用戶卡,例如中國電信的NFC卡、天翼羊城通卡等。
傳統(tǒng)手機(jī)用戶感知概念中,手機(jī)卡的作用就是進(jìn)行電話、短信、上網(wǎng)等功能,最多是早期在里面還可以存聯(lián)系人、存短信,或者通過用戶卡菜單進(jìn)去訂購天氣預(yù)報或訂閱笑話等功能,其原因一方面是因?yàn)镹ative卡的性能和存儲有限,另一方面是因?yàn)樵缙谥悄苁謾C(jī)尚未普及和移動互聯(lián)網(wǎng)尚未興起。
新型UICC架構(gòu)Java卡具有RSA硬件協(xié)處理器,具有較大的可用存儲,并且具有Java虛擬機(jī)和符合GP(Global Platform)規(guī)范,是一個天然的安全單元SE(Secure Element),也是一個可安全便捷開發(fā)部署各類Applet應(yīng)用的安全環(huán)境,例如目前三大運(yùn)營商已經(jīng)在部署推廣的SIM快捷身份認(rèn)證應(yīng)用、支付應(yīng)用等。
如果能夠?qū)⒅悄苁謾C(jī)的便捷性和用戶卡的高安全性結(jié)合起來,必定能促進(jìn)移動互聯(lián)網(wǎng)的發(fā)展,為SP、為用戶提供更安全便捷可信的服務(wù)。SIMalliance OMA(Open Mobile API移動開放接口)手機(jī)已經(jīng)實(shí)現(xiàn)了這個設(shè)想,并且已經(jīng)在2014年起在國內(nèi)大規(guī)模商用,也就是此前大家所熟悉了解的NFC手機(jī)。
下面以中國電信NFC手機(jī)和NFC卡為例介紹OMA接口和安全控制方案。
(1)OMA接口
圖1 NFC-SWP終端硬件結(jié)構(gòu)
本文所討論的接口如圖1所示的IF4,即運(yùn)行于智能手機(jī)的APP應(yīng)用和NFC用戶卡(SWP-UIM卡)間接口。
圖2 NFC-SWP終端軟件架構(gòu)
本文所討論OMA方案即為圖2右側(cè)上部的Open Mobile API接口,安全控制方案即為Access Control Enforcer模塊。
圖3 SE訪問接口總體架構(gòu)
圖3 中是Open Mobile API架構(gòu)的概覽。該體系架構(gòu)被分為3個功能層次:
① 傳輸層是服務(wù)API的基礎(chǔ)。當(dāng)一個應(yīng)用通過通用傳輸API訪問SE時,它提供對SE的通用訪問。傳輸層使用APDU命令來訪問SE;
② 服務(wù)層提供接口訪問SE上不同的功能。對應(yīng)用開發(fā)商來說,這比通用傳輸API更加容易使用。例如,E-Mail應(yīng)用程序可以調(diào)用Crypto API提供的加密函數(shù)sign(),由Crypto API完成與SE之間的APDU命令交互(而不是由E-Mail應(yīng)用直接處理所有需要的APDU命令);
③ 應(yīng)用層代表使用Open Mobile API的各種不同應(yīng)用客戶端。
圖4中傳輸API的作用是提供一個方法,使得應(yīng)用可以訪問設(shè)備上有效的SE。所提供的訪問接口是基于ISO/IEC 7816-4定義的概念。
① APDU命令:與SE進(jìn)行數(shù)據(jù)交換的消息格式,一般來說是送往SE(更準(zhǔn)確的說是送往SE應(yīng)用)的一個字節(jié)數(shù)組,然后SE再返回另外一個字節(jié)數(shù)組作為應(yīng)答。消息格式參考ISO/IEC 7816-4;
圖4 傳輸API概覽
② 基本通道和邏輯通道:通道是傳輸APDU命令的路徑,并且能同時打開多條通道(同一時刻只能發(fā)送一個APDU命令,需要等待應(yīng)答返回后才能發(fā)送下一個APDU命令)。
這個API是基于“連接”模式的:客戶端應(yīng)用(運(yùn)行在和SE建立連接的設(shè)備上,如手機(jī))先和SE建立會話,然后再與SE應(yīng)用建立一個基本通道或邏輯通道,訪問模型如圖4所示。
在此模式之上,系統(tǒng)有許多強(qiáng)制性的約束:
一個應(yīng)用不能自己發(fā)送“通道管理”的APDU命令,因?yàn)檫@樣會打破邏輯通道的獨(dú)立性。一旦通道建立,它將被分配給SE上一個且僅有一個SE應(yīng)用進(jìn)行通信。同樣的,終端應(yīng)用不能發(fā)送選擇專有文件(DF)的APDU命令。
這些系統(tǒng)的約束應(yīng)該由直接處理SE通信的模塊來實(shí)現(xiàn),而不是API本身,從而保證攻擊者不能穿透APDU過濾器。因此如果可能,應(yīng)該由基帶芯片或者至少是和基帶芯片通信的無線接口層(RIL)來管理過濾器。
如圖5所示,Open Mobile API在傳輸API之上定義了一個服務(wù)API,服務(wù)API依賴于傳輸API來完成與SE內(nèi)部應(yīng)用的通信。服務(wù)API由多個實(shí)現(xiàn)不同作用的專門的API組成(例如文件管理API實(shí)現(xiàn)文件操作)。一般來說每一個專門的API在SE中需要有一個與其相對應(yīng)的部分(例如一個提供了特定APDU命令集的SE應(yīng)用)。
對于應(yīng)用開發(fā)者更關(guān)注的API類視圖如圖6所示:
(2)GPAC安全訪問控制
SE訪問接口打通之后,客戶端軟件在能夠很方便的訪問SE的同時,也會帶來一定的安全隱患,一些非法客戶端軟件可能通過該接口對SE發(fā)動攻擊,包括:
① 拒絕服務(wù)攻擊,例如多次嘗試錯誤的PIN碼導(dǎo)致SE被鎖,多次選擇不能重復(fù)選擇的SE應(yīng)用等;
② 試圖破解用戶的敏感的應(yīng)用數(shù)據(jù),進(jìn)行仿冒交易;
圖5 服務(wù)API概述
③ 試圖竊取用戶的通信數(shù)據(jù),進(jìn)行“ 卡”。
為避免上述風(fēng)險,確保用戶數(shù)據(jù)的安全,必須制定必要的安全訪問策略,限制客戶端軟件對于SE訪問接口的訪問,只有獲得授權(quán)的客戶端軟件才能夠進(jìn)行訪問
圖7中的訪問控制執(zhí)行器負(fù)責(zé)智能手機(jī)應(yīng)用客戶端訪問安全模塊SE(如電信NFC用戶卡)中的身份認(rèn)證SE應(yīng)用或支付SE應(yīng)用時,根據(jù)訪問控制數(shù)據(jù)中的訪問規(guī)則如(應(yīng)用客戶端APPID,簽名數(shù)字證書hash值)二元組來放行或組織對SE中應(yīng)用的訪問。
圖7中的體系架構(gòu)示例是訪問規(guī)則僅存放在用戶卡的主安全域中,其他可選架構(gòu)包括:訪問規(guī)則存放在主安全域和輔助安全域中或訪問規(guī)則存放在訪問規(guī)則文件中。
圖6 OMA API類視圖
通過上文對OMA實(shí)施方案的介紹可知,用戶卡(SE)訪問接口和訪問控制技術(shù)是物理上和邏輯上都可以獨(dú)立于NFC相關(guān)模塊的,基于安全性考慮目前NFC手機(jī)都是建議在基帶芯片或無線接口層(RIL)進(jìn)行實(shí)現(xiàn)。同理,對于所有的智能手機(jī)(主要是Android),均可參照此模式為手機(jī)增加OMA功能,通過固件升級的方式實(shí)現(xiàn),在不增加手機(jī)硬件成本的情況下,能夠?yàn)槭謾C(jī)APP應(yīng)用增加訪問手機(jī)(U)SIM卡SE單元的便捷能力,能夠?yàn)槭謾C(jī)用戶和互聯(lián)網(wǎng)應(yīng)用提供更安全的解決方案和用戶體驗(yàn)。
Google目前已經(jīng)對OMA的接口發(fā)布了多個版本,保證對最新Android操作系統(tǒng)的支持,同時SIMalliance也發(fā)布了OMA的OEM手機(jī)廠家實(shí)施指南和應(yīng)用開發(fā)者指南,并且提供豐富的測試案例和測試APP,大大降低OMA的推廣普及門檻。
圖7 訪問控制體系架構(gòu)示例
筆者建議產(chǎn)業(yè)鏈各方可共同合力發(fā)展,例如:
(1)、加大對OMA功能的宣傳普及,展示如何改善用戶使用痛點(diǎn);
(2)、運(yùn)營商在集采手機(jī)中加入OMA功能的要求,而并非只是做為NFC手機(jī)的要求;
(3)、運(yùn)營商可統(tǒng)一規(guī)范OMA安全訪問控制規(guī)則架構(gòu),便于OEM簡化OMA是開發(fā)測試部署周期,在不降低安全性前提下減少OEM實(shí)施成本;
(4)、加強(qiáng)和簡化對已有NFC手機(jī)的OMA功能的開放力度,吸引SP的使用以促進(jìn)生態(tài)健康發(fā)展。
1 《中國電信NFC-SWP終端技術(shù)要求 2013》
2 《中國電信移動終端需求白皮書-NFC-SWP功能分冊2013》
3 《SIMalliance Open Mobile API Specifcation v3.2》
4 《OMAPI Easy Reference Guide for OEMs 2016》
5 《OMAPI Easy Reference Guide for Developers 2016》
6 《中國電信近場通信(NFC)技術(shù)要求 可信服務(wù)管理平臺總體技術(shù)要求 2013》
7 《中國電信近場通信(NFC)技術(shù)要求 安全模塊(SE)訪問控制和訪問接口技術(shù)要求 2013》
2016-11-29)
10.3969/j.issn.1006-6403.2016.12.010