黃 健,黃健文,李俊磊,蔡秋艷,閆占林
(廣東電信研究院,廣東 廣州 510630)
隨著4G通信網(wǎng)絡的逐步成熟、NB-Iot窄帶物聯(lián)網(wǎng)絡部署、5G試商用計劃實施,物聯(lián)網(wǎng)及國際漫游通信業(yè)務中出現(xiàn)大量運營商遠程簽約、遠程運營商網(wǎng)絡接入切換等應用場景。新應用場景為eSIM提供了市場基礎。近年,智能卡芯片技術快速發(fā)展,Java卡、GP卡技術穩(wěn)定使用,為eSIM發(fā)展積累了技術基礎。
Java卡是一種可以運行java程序的智能卡,卡上有Java虛擬機(Java Virtual Machine,JVM)和Java卡運行環(huán)境(Java Card RUNtime Environment,JCRE)[1]。JVM是通過Java卡虛擬機的卡內部分和卡外部分來共同實現(xiàn)。卡外虛擬機在PC機或SUN工作站中實現(xiàn),負責類校驗、準備和應用解析工作;卡內虛擬機在智能卡內實現(xiàn),用來解釋執(zhí)行java應用程序字節(jié)碼[2]。GP(Global platform)是在Java卡上的一套java應用代碼管理機制,負責java應用安全管理。GP通過安全信道、安全域、密鑰、權限等安全元素,實現(xiàn)對java應用代碼的動態(tài)加載、安裝、刪除等動態(tài)管理。
eSIM以Javacard、GP為技術基礎,是未來智能卡產(chǎn)品發(fā)展的主要趨勢。本文從安全架構角度對eSIM進行研究,從安全域配置、安全信道、權限配置、數(shù)字證書架構等多方面對eSIM安全架構進行分析。
eSIM生態(tài)系統(tǒng)架構,包括MNO(運營商)、CI數(shù)字簽名認證中心、EUM(eSIM生產(chǎn)廠家)、eSIM卡、SM-DP(簽約數(shù)據(jù)準備)、SM-SR(簽約數(shù)據(jù)安全路由)等角色。主要角色分工如下:
(1)CI:CA中心,負責為MNO、SM-DP、SM-SR、EUM頒發(fā)數(shù)字證書及根證書驗證;(2)EUM:負責eSIM生產(chǎn)、根證書及EUM生產(chǎn)證書下載,運營商通信PROFILE初始化;(3)SM-DP:簽約數(shù)據(jù)準備,負責生成PROFILE、管理eSIM中ISD-P卡內容;(4)SM-SR:簽約數(shù)據(jù)安全路由,為SM-DP和MNO訪問eSIM提供安全路由,存儲eSIM安全信息;(5)eSIM:接入網(wǎng)絡身份認證模塊,負責進行身份鑒權認證并裝載卡應用。
系統(tǒng)架構如圖1所示[3]:

圖1 eSIM系統(tǒng)架構圖
系統(tǒng)架構中SM-DP、MNO、SM-SR通過數(shù)據(jù)短信、BIP-CATTP、HTTPs傳輸層協(xié)議調用ES5、ES6、ES8接口訪問eSIM進行PROFILE或應用動態(tài)管理。
eSIM采用Javacard+GP架構如圖2所示,芯片底層采用UICC架構芯片;java平臺層包括javacard虛擬機、javacard api、javacard 運行時環(huán)境等模塊;GP框架層,包括GP相關API、GP OPEN等;應用層,包括安全域、及裝載于安全域內的行業(yè)應用等模塊。

圖2 eSIM卡架構圖
eSIM通過GP安全域分級、權限控制、生命周期控制、安全信道、及相關密鑰體系等技術手段實現(xiàn)對上層java應用的安全流程管理[4],對javacard應用進行加載、安裝、個人化、刪除、激活去激化等動態(tài)管理。
eSIM安全由應用層安全和架構層安全組成,應用層安全由卡應用設計實現(xiàn),架構層安全通過GP安全架構實現(xiàn)。在本文對應用層安全不做論述,下文重點分析架構層安全。
安全域是eSIM中最關鍵的安全元素,通過設置安全域權限控制卡外實體對卡內容的管理,通過設置安全域密鑰對卡外實體身份認證。eSIM安全域架構采用多層次安全架構,共設計ISD-R、ISD-P、MNO-SD、CASD、ECASD等類型安全域。跟安全域相關的安全元素包括算法、密鑰、權限、證書等。
eSIM安全域有AM授權管理權限模式和DM委托管理權限模式。擁有AM管理權限的ISD-R、ISD-P、MNO-SD可自主管理自身安全域下的卡內容;擁有DM管理權限的SSD需要上級AM管理權限安全域的TOKEN授權才可進行卡內容管理。
eSIM安全域層次設計架構如圖3所示:

圖3 eSIM安全域架構圖
ISD-R:具有AM管理權限、SM-SR實現(xiàn)對eSIM進行管理的代表。ISD-R配置eSIM全局空間回收、刪除、注冊、鎖定等全局管理權限;ISD-R由發(fā)卡方創(chuàng)建并完成密鑰初始化,當eSIM完成生產(chǎn)發(fā)卡后,ISD-R處于激活狀態(tài);ISD-R負責創(chuàng)建、激活/去激活ISD-P;ISD-R配置SCP80兩種安全通道協(xié)議密鑰版本為30-3F共15組密鑰。
ISD-P:具有AM管理權限、SM-SP實現(xiàn)對eSIM進行管理的代表。ISD-P被ISD-R創(chuàng)建,ISD-P通過AM權限可創(chuàng)建MNO-SD。eSIM內部可以允許多個ISD-P存在,但為保證通信功能正常使用,同一時間只允許一個ISD-P處于激活狀態(tài),其余ISD-P處于非激活狀態(tài)。每個ISD-P內部可以創(chuàng)建一個MNO-SD、一套電信運營商PROFILE、一個CASD、及其余SSD和應用。不同ISD-P內應用及PROFILE可以采用相同的AID。ISD-P配置SCP03安全通道協(xié)議。eSIM完成生產(chǎn)發(fā)卡后,至少一個ISD-P必須處于激活狀態(tài)。
MNO-SD:具有AM管理權限的運營商安全域,被ISD-P創(chuàng)建,并配置SCP80安全通道協(xié)議。MNO-SD下可繼續(xù)創(chuàng)建安全域及裝載運營商PROFILE及別的運營商應用。
CASD:控制授權管理安全域,支持非對稱算法,裝載數(shù)字證書。在進行eSIM卡應用管理時,通過CASD進行數(shù)字簽名驗證及密鑰交換。eSIM內部ISD-R、MNO-SD下可分別創(chuàng)建CASD分別用于全局和局部的數(shù)字簽名認證。
eSIM通過以上安全域架構、安全域配置權限及密鑰,實現(xiàn)對卡內容加載、安裝、刪除等動態(tài)管理,動態(tài)管理過程中調用相應安全域的CASD進行數(shù)字簽名身份認證,完成身份認證后可進行卡內容管理及應用訪問。

圖5 SM-DP訪問ISD-P示例圖
eSIM卡內容動態(tài)管理過程中需對卡外實體進行數(shù)字簽名認證、MAC計算、數(shù)據(jù)解密/加密等運算,管理過程常用算法包括如下:
DES、3DES算法用于安全信道數(shù)據(jù)加解密、基于對稱的外部認證;SHA1用于防信息篡改MAC計算;RSA、ECC用于eSIM各級數(shù)字簽名認證,CASD、ECASD可通過算法API調用RSA、ECC硬件加速器實現(xiàn)數(shù)字簽名運算。Millenge用于接入LTE 4G移動通信網(wǎng)絡鑒權;MD5算法用于CDMA 3G網(wǎng)絡接入鑒權;CAVE用于CDMA 1X接入鑒權。
在eSIM系統(tǒng)中,卡外實體SM-SR、SM-DP、MNO必須通過安全信道才能對卡內容進行管理。發(fā)卡方通過對ISD-R和ISD-P進行安全協(xié)議配置及相關密鑰配置實現(xiàn)對卡內容安全管理。eSIM常用安全信道協(xié)議包括有SCP02(可選)、SCP03、SCP80、SCP81(可選)等,安全信道協(xié)議可采用數(shù)據(jù)短信、BIP CAT-TP、HTTPs三種傳輸層協(xié)議進行承載。
在eSIM中傳輸層強制要求支持數(shù)據(jù)短信,對應用加載、安裝等大數(shù)據(jù)量管理操作采用BIP CAT-TP協(xié)議、HTTPS協(xié)議,可有助于保證管理操作的穩(wěn)定性并減少數(shù)據(jù)延時。
SCP03安全協(xié)議基于AES算法實現(xiàn),密鑰長度128bit,可用于GP管理操作中的雙向認證、數(shù)據(jù)加解密。SCP03協(xié)議包括如下指令:
AES FOR CARD CONTENT MANAGEMENT;SECURE CHANNEL COMMANDS (INITIALIZE UPDATE、EXTERNAL AUTHENTICATE、BEGIN R-MAC SESSION、END R-MAC SESSION);PUT KEY COMMAND[5]。
SCP80安全協(xié)議基于3DES算法實現(xiàn),主要用于OTA空中通道數(shù)據(jù)安全加解密。在SCP80信息體中可加載普通GP指令數(shù)據(jù)、也可加載SC03安全協(xié)議包數(shù)據(jù)。
SCP80安全協(xié)議在傳輸層協(xié)議為數(shù)據(jù)短信的場景下,結構結構如圖4所示:

圖4 SCP80安全信道結構圖
卡外實體SM-DP使用SCP03協(xié)議通過SM-SR調用SCP80協(xié)議訪問eSIM過程如圖5所示:
卡外實體SM-DP首先將GP卡內容管理指令封裝于SCP03安全協(xié)議,并調用ES8接口將安全信息包傳遞給SM-SR;
SM-SR將SCP03安全信息包封裝到SCP80安全協(xié)議中,并通過傳輸層協(xié)議(數(shù)據(jù)短信、BIP-CATTP、HTTPs)發(fā)給eSIM;
eSIM收到SCP80安全信息包后,首先由ISD-R調用SCP80Key解密安全包,然后將解密后的SCP03包傳遞給ISD-P;
eSIM ISD-P調用 SCP03Key解密SCP03安全信息包,ISD-P根據(jù)解密后的GP指令進行eSIM內容管理;
權限管理是發(fā)卡方掌控eSIM的重要手段,發(fā)卡方通過分配給ISD-R AM管理權限和全局權限掌控eSIM,可對ISD-P和第三方行業(yè)應用進行刪除、鎖定、去激活等管理操作。除ISD-R外其余卡內實體不得分配全局權限。ISD-P和MNO-SD由于相對獨立的管理體系可分配AM管理權限,其下SSD分配DM管理權,對SSD的卡內容管理操作需要ISD-P進行TOKEN授權。eSIM全局權限包括如下:
(1)Global Delete全局刪除:可刪除eSIM不屬于自身安全域的所有可執(zhí)行加載文件和應用;(2)Global Lock全局鎖定:不依賴于任何安全域對eSIM上任何應用進行鎖定或解鎖;(3)Global Registry全局注冊:可檢索獲取eSIM注冊表上所有可執(zhí)行文件、應用、安全域信息。
eSIM應用場景涉及運營商及行業(yè)應用遠程簽約切換時,均采用非對稱數(shù)字證書方式對卡內外實體進行身份認證。eSIM數(shù)字證書結構如圖6所示:

圖6 eSIM系統(tǒng)數(shù)字證書結構圖
eSIM數(shù)字證書結構主要角色包括如下:
(1)CI,發(fā)行自簽名根證書、EUM 證書、SM-SR證書、SM-DP證書;(2)EUM,發(fā)行并對eSIM證書簽名;(3)eSIM,存儲eSIM證書及證書私鑰SK.ECASD.ECKA、CI跟證書pub-KEY,驗證SM-SR證書、SM-DP證書。
eSIM安全涉及密鑰、算法、信道、證書、安全域、權限等安全元素,eSIM安全體系通過對卡外實體和卡內實體進行安全元素的配置實現(xiàn)eSIM卡內容管理體系安全。
通過對以上安全角色、安全元素分析,總結eSIM安全模型架構如圖7所示:

圖7 eSIM安全模型架構圖
對eSIM安全模型架構,總結如下:
(1)卡外實體包括MNO-SD、SM-DP、SM-SR、CI等管理平臺;(2)卡內實體包括ISD-R、ISD-P、MNO-SD等卡內安全域;(3)安全信道:卡外實體、卡內實體之間通過安全信道進行身份認證及卡內容動態(tài)管理;(4)發(fā)卡方SM-SR:擁有ISD-R SCP80安全信道密鑰,掌控卡外實體對eSIM ISD-R訪問通道,其余卡外部實體需通過此通道對ISD-R進行訪問;(5)ISD-R:通過分配AM授權管理權限及全局管理權限掌控ISD-P、MNO-SD等實體的管理;(6)ISD-P和MNO配置AM管理權限、禁止配置全局權限,只能對自身安全域下卡內容進行管理;(7)SSD及應用由MNO-SD創(chuàng)建,配置DM管理權限,需要TOKEN授權才能進行卡內容管理;(8)ISD-R配置SCP80安全信道,ISD-P配置SCP03安全信道,ISD-R負責處理ISD-P的SC80安全信息;(9)MNO-SD配置SCP80安全信道,負責處理其下安全域的SCP80安全信息;(10)CI負責安全體系內角色證書發(fā)布,負責根證書安全;(11)安全算法:卡內實體和卡外實體通過在安全信道運算和卡內容管理過程中調用安全算法進行身份驗證和數(shù)據(jù)加解密。
以上安全模型適用于eSIM如下內容管理過程:ISD-P創(chuàng)建、刪除;RPOFILE下載、安裝、激活、去激活;SM-SR切換;雙向認證key建立過程。
本文以Javacard和GP技術為基礎,從安全角度分析了eSIM的安全域結構、安全信道、安全算法、權限配置、數(shù)字證書結構等安全元素,并總結了適用于eSIM卡ISD-P創(chuàng)建切換、KEY建立、SM-SR切換等應用場景的安全模型。通過本文的安全元素分析、總結,有助于eSIM開發(fā)人員深刻理解eSIM安全結構,并開發(fā)出高安全等級的eSIM產(chǎn)品。
[1] 游代安.Java卡應用的設計與實現(xiàn).計算機工程與應用 ,2006 , 42.(4):229-232.
[2] 李金峰.Java智能卡體系結構. 硅谷,2008 (19) :57-57.
[3] Remote Provisioning Architecture for Embedded UICC Technical Specification Version 3.0, 30 September 2015.
[4] 黃健文.UICC卡非接觸應用隱式選擇識別技術研究.微型機與應用, 2016 , 35 (21) :75-78.
[5] GlobalPlatform Card Technology Secure Channel Protocol 03,Card Specification v 2.2 - Amendment D,Version 1.1.