eSIM卡安全架构研究
2018-04-19黄健文李俊磊蔡秋艳闫占林
黄 健,黄健文,李俊磊,蔡秋艳,闫占林
(广东电信研究院,广东 广州 510630)
0 引言
随着4G通信网络的逐步成熟、NB-Iot窄带物联网络部署、5G试商用计划实施,物联网及国际漫游通信业务中出现大量运营商远程签约、远程运营商网络接入切换等应用场景。新应用场景为eSIM提供了市场基础。近年,智能卡芯片技术快速发展,Java卡、GP卡技术稳定使用,为eSIM发展积累了技术基础。
Java卡是一种可以运行java程序的智能卡,卡上有Java虚拟机(Java Virtual Machine,JVM)和Java卡运行环境(Java Card RUNtime Environment,JCRE)[1]。JVM是通过Java卡虚拟机的卡内部分和卡外部分来共同实现。卡外虚拟机在PC机或SUN工作站中实现,负责类校验、准备和应用解析工作;卡内虚拟机在智能卡内实现,用来解释执行java应用程序字节码[2]。GP(Global platform)是在Java卡上的一套java应用代码管理机制,负责java应用安全管理。GP通过安全信道、安全域、密钥、权限等安全元素,实现对java应用代码的动态加载、安装、删除等动态管理。
eSIM以Javacard、GP为技术基础,是未来智能卡产品发展的主要趋势。本文从安全架构角度对eSIM进行研究,从安全域配置、安全信道、权限配置、数字证书架构等多方面对eSIM安全架构进行分析。
1 eSIM架构
1.1 eSIM系统构成
eSIM生态系统架构,包括MNO(运营商)、CI数字签名认证中心、EUM(eSIM生产厂家)、eSIM卡、SM-DP(签约数据准备)、SM-SR(签约数据安全路由)等角色。主要角色分工如下:
(1)CI:CA中心,负责为MNO、SM-DP、SM-SR、EUM颁发数字证书及根证书验证;(2)EUM:负责eSIM生产、根证书及EUM生产证书下载,运营商通信PROFILE初始化;(3)SM-DP:签约数据准备,负责生成PROFILE、管理eSIM中ISD-P卡内容;(4)SM-SR:签约数据安全路由,为SM-DP和MNO访问eSIM提供安全路由,存储eSIM安全信息;(5)eSIM:接入网络身份认证模块,负责进行身份鉴权认证并装载卡应用。
系统架构如图1所示[3]:
图1 eSIM系统架构图
系统架构中SM-DP、MNO、SM-SR通过数据短信、BIP-CATTP、HTTPs传输层协议调用ES5、ES6、ES8接口访问eSIM进行PROFILE或应用动态管理。
1.2 eSIM卡架构
eSIM采用Javacard+GP架构如图2所示,芯片底层采用UICC架构芯片;java平台层包括javacard虚拟机、javacard api、javacard 运行时环境等模块;GP框架层,包括GP相关API、GP OPEN等;应用层,包括安全域、及装载于安全域内的行业应用等模块。
图2 eSIM卡架构图
eSIM通过GP安全域分级、权限控制、生命周期控制、安全信道、及相关密钥体系等技术手段实现对上层java应用的安全流程管理[4],对javacard应用进行加载、安装、个人化、删除、激活去激化等动态管理。
2 eSIM安全架构
eSIM安全由应用层安全和架构层安全组成,应用层安全由卡应用设计实现,架构层安全通过GP安全架构实现。在本文对应用层安全不做论述,下文重点分析架构层安全。
2.1 安全域架构
安全域是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实现对eSIM进行管理的代表。ISD-R配置eSIM全局空间回收、删除、注册、锁定等全局管理权限;ISD-R由发卡方创建并完成密钥初始化,当eSIM完成生产发卡后,ISD-R处于激活状态;ISD-R负责创建、激活/去激活ISD-P;ISD-R配置SCP80两种安全通道协议密钥版本为30-3F共15组密钥。
ISD-P:具有AM管理权限、SM-SP实现对eSIM进行管理的代表。ISD-P被ISD-R创建,ISD-P通过AM权限可创建MNO-SD。eSIM内部可以允许多个ISD-P存在,但为保证通信功能正常使用,同一时间只允许一个ISD-P处于激活状态,其余ISD-P处于非激活状态。每个ISD-P内部可以创建一个MNO-SD、一套电信运营商PROFILE、一个CASD、及其余SSD和应用。不同ISD-P内应用及PROFILE可以采用相同的AID。ISD-P配置SCP03安全通道协议。eSIM完成生产发卡后,至少一个ISD-P必须处于激活状态。
MNO-SD:具有AM管理权限的运营商安全域,被ISD-P创建,并配置SCP80安全通道协议。MNO-SD下可继续创建安全域及装载运营商PROFILE及别的运营商应用。
CASD:控制授权管理安全域,支持非对称算法,装载数字证书。在进行eSIM卡应用管理时,通过CASD进行数字签名验证及密钥交换。eSIM内部ISD-R、MNO-SD下可分别创建CASD分别用于全局和局部的数字签名认证。
eSIM通过以上安全域架构、安全域配置权限及密钥,实现对卡内容加载、安装、删除等动态管理,动态管理过程中调用相应安全域的CASD进行数字签名身份认证,完成身份认证后可进行卡内容管理及应用访问。
图5 SM-DP访问ISD-P示例图
2.2 安全算法
eSIM卡内容动态管理过程中需对卡外实体进行数字签名认证、MAC计算、数据解密/加密等运算,管理过程常用算法包括如下:
DES、3DES算法用于安全信道数据加解密、基于对称的外部认证;SHA1用于防信息篡改MAC计算;RSA、ECC用于eSIM各级数字签名认证,CASD、ECASD可通过算法API调用RSA、ECC硬件加速器实现数字签名运算。Millenge用于接入LTE 4G移动通信网络鉴权;MD5算法用于CDMA 3G网络接入鉴权;CAVE用于CDMA 1X接入鉴权。
2.3 安全信道
在eSIM系统中,卡外实体SM-SR、SM-DP、MNO必须通过安全信道才能对卡内容进行管理。发卡方通过对ISD-R和ISD-P进行安全协议配置及相关密钥配置实现对卡内容安全管理。eSIM常用安全信道协议包括有SCP02(可选)、SCP03、SCP80、SCP81(可选)等,安全信道协议可采用数据短信、BIP CAT-TP、HTTPs三种传输层协议进行承载。
在eSIM中传输层强制要求支持数据短信,对应用加载、安装等大数据量管理操作采用BIP CAT-TP协议、HTTPS协议,可有助于保证管理操作的稳定性并减少数据延时。
SCP03安全协议基于AES算法实现,密钥长度128bit,可用于GP管理操作中的双向认证、数据加解密。SCP03协议包括如下指令:
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安全协议基于3DES算法实现,主要用于OTA空中通道数据安全加解密。在SCP80信息体中可加载普通GP指令数据、也可加载SC03安全协议包数据。
SCP80安全协议在传输层协议为数据短信的场景下,结构结构如图4所示:
图4 SCP80安全信道结构图
卡外实体SM-DP使用SCP03协议通过SM-SR调用SCP80协议访问eSIM过程如图5所示:
卡外实体SM-DP首先将GP卡内容管理指令封装于SCP03安全协议,并调用ES8接口将安全信息包传递给SM-SR;
SM-SR将SCP03安全信息包封装到SCP80安全协议中,并通过传输层协议(数据短信、BIP-CATTP、HTTPs)发给eSIM;
eSIM收到SCP80安全信息包后,首先由ISD-R调用SCP80Key解密安全包,然后将解密后的SCP03包传递给ISD-P;
eSIM ISD-P调用 SCP03Key解密SCP03安全信息包,ISD-P根据解密后的GP指令进行eSIM内容管理;
2.4 权限配置
权限管理是发卡方掌控eSIM的重要手段,发卡方通过分配给ISD-R AM管理权限和全局权限掌控eSIM,可对ISD-P和第三方行业应用进行删除、锁定、去激活等管理操作。除ISD-R外其余卡内实体不得分配全局权限。ISD-P和MNO-SD由于相对独立的管理体系可分配AM管理权限,其下SSD分配DM管理权,对SSD的卡内容管理操作需要ISD-P进行TOKEN授权。eSIM全局权限包括如下:
(1)Global Delete全局删除:可删除eSIM不属于自身安全域的所有可执行加载文件和应用;(2)Global Lock全局锁定:不依赖于任何安全域对eSIM上任何应用进行锁定或解锁;(3)Global Registry全局注册:可检索获取eSIM注册表上所有可执行文件、应用、安全域信息。
2.5 数字证书架构
eSIM应用场景涉及运营商及行业应用远程签约切换时,均采用非对称数字证书方式对卡内外实体进行身份认证。eSIM数字证书结构如图6所示:
图6 eSIM系统数字证书结构图
eSIM数字证书结构主要角色包括如下:
(1)CI,发行自签名根证书、EUM 证书、SM-SR证书、SM-DP证书;(2)EUM,发行并对eSIM证书签名;(3)eSIM,存储eSIM证书及证书私钥SK.ECASD.ECKA、CI跟证书pub-KEY,验证SM-SR证书、SM-DP证书。
2.6 安全架构模型总结
eSIM安全涉及密钥、算法、信道、证书、安全域、权限等安全元素,eSIM安全体系通过对卡外实体和卡内实体进行安全元素的配置实现eSIM卡内容管理体系安全。
通过对以上安全角色、安全元素分析,总结eSIM安全模型架构如图7所示:
图7 eSIM安全模型架构图
对eSIM安全模型架构,总结如下:
(1)卡外实体包括MNO-SD、SM-DP、SM-SR、CI等管理平台;(2)卡内实体包括ISD-R、ISD-P、MNO-SD等卡内安全域;(3)安全信道:卡外实体、卡内实体之间通过安全信道进行身份认证及卡内容动态管理;(4)发卡方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创建,配置DM管理权限,需要TOKEN授权才能进行卡内容管理;(8)ISD-R配置SCP80安全信道,ISD-P配置SCP03安全信道,ISD-R负责处理ISD-P的SC80安全信息;(9)MNO-SD配置SCP80安全信道,负责处理其下安全域的SCP80安全信息;(10)CI负责安全体系内角色证书发布,负责根证书安全;(11)安全算法:卡内实体和卡外实体通过在安全信道运算和卡内容管理过程中调用安全算法进行身份验证和数据加解密。
以上安全模型适用于eSIM如下内容管理过程:ISD-P创建、删除;RPOFILE下载、安装、激活、去激活;SM-SR切换;双向认证key建立过程。
3 结束语
本文以Javacard和GP技术为基础,从安全角度分析了eSIM的安全域结构、安全信道、安全算法、权限配置、数字证书结构等安全元素,并总结了适用于eSIM卡ISD-P创建切换、KEY建立、SM-SR切换等应用场景的安全模型。通过本文的安全元素分析、总结,有助于eSIM开发人员深刻理解eSIM安全结构,并开发出高安全等级的eSIM产品。
[1] 游代安.Java卡应用的设计与实现.计算机工程与应用 ,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.