文献标识码:A
文章编号: 0258-7998(2012)04-0141-04
GSM网络采用机卡分离的SIM卡技术使GSM在安全性方面得到了有效保证。通过对SIM卡用户进行鉴权可防止未授权用户的非法接入使用,从而保护了网络运营者和用户的利益[1]。SIM卡的这种安全机制在对于过去以话音业务为主要业务的2G网络是完全可满足要求的。但随着移动通信技术的飞速发展,时至今日对以数据业务为主、支持多业务与多应用融合的3G网络来说,2G通信系统所用的安全体制就显得无法满足发展需求了。随着3G时代的到来,国际标准化组织3GPP相应地制定了适合3G网络的通用用户识别模块USIM(Universal Subscriber Identity Module)卡规范[2],USIM卡基于通用集成电路卡UICC(Universal Integrated Circuit Card)的架构平台,实现了多个应用、多通道的逻辑机制, 不但可以存放多个应用,而且可以同时运行,现已被广泛应用在WCDMA和TD-SCDMA网络中。为了确保运营商的各种3G移动业务应用能够正常运营,不被未授权的非法用户接入使用,对3G通信的载体用户卡提出了更高效和更安全的机制保证要求,对基于UICC架构的用户卡安全机制研究具有非常重要的意义。
以往所有对3G用户卡安全机制的研究都是基于UMTS的WCDMA和TD-SCDMA制式网络,并且近年来国内外对USIM卡安全机制的研究也获得一些研究成果[3-5],然而对3G网络另外一个制式——CDMA网络中使用的用户卡的安全机制研究却相对很少,业界普遍把在CDMA2000 1X/EVDO网络中应用的基于UICC架构平台的用户卡称为CDMA用户识别模块CSIM(CDMA Subscriber Identity Module)卡,现阶段国内外针对CSIM卡安全机制的研究基本还是一片空白。
本文首先对目前GSM、WCDMA和TD- SCDMA网络中使用的SIM卡与USIM卡的安全机制进行比较与分析,然后吸取USIM卡在安全机制方面的优点,结合CDMA20001X/EVDO网络的自有特点,从文件访问方式、个人识别密码PIN(Personal Identification Number)码的管理与鉴权认证三个方面,给出一种基于UICC架构平台的CSIM卡安全机制,同时对安全机制升级可能引起的机卡兼容性问题进行分析,最后利用测试工具对安全机制进行了测试验证。
1 USIM卡与SIM卡的安全机制比较
在安全机制上,USIM卡相对SIM卡而言在文件访问机制、PIN形式、鉴权算法等方面有较大的创新与发展。研究结果表明,这些改进可以更好地适应和满足当前移动业务运营的需求,提供了解决安全威胁的基础。SIM卡和USIM卡的安全机制比较情况如图1所示[5]。
2 CSIM卡的安全机制分析
2.1 文件访问机制
目前CDMA网络中使用的SIM卡被称为用户识别模块UIM(User Identity Model)卡。UIM卡中的文件主要包括主文件MF(Master file)、基本文件EF(Elementary file)和专用文件DF(Dedicated file)。CSIM卡文件结构与UIM卡文件结构的一个显著的区别就是在CSIM卡中引入了应用文件ADF(Application DF)的概念。CSIM卡中与某个应用相关的DF或EF都被放置在与该应用相关的ADF的下层中。
CSIM卡的文件系统采用分层管理、树状结构。每个文件根据指定文件类型建立,由文件头和文件体组成,文件头由FCP实现,通过安全属性设置文件访问权限控制。命令通过查看文件头中的FCP,发现其在访问控制列表ACL(Access Control List)中的类型长度取值TLV(Type Length Value),根据TLV找到相应的EFARR文件;然后从EFARR文件中查找到原文件访问规则的ACL,从而查询出ACL中密钥的TLV;最后从密钥列表找到对应的密钥,根据ACL组成的布尔代数表达式进行认证。访问流程如图2所示。
通过文件访问权限管理,有效地解决了对CSIM卡文件资源的非法访问以及终端对卡片的越权操作等问题。
2.2 PIN码管理
PIN码是在操作CSIM卡文件时需要校验的口令组。在CSIM卡中,把供用户使用的PIN码分为通用PIN(Universal PIN)码、专用PIN(Local PIN)码和应用PIN(Application PIN)码。其中通用PIN码可作用于所有文件,它提供了各类应用之间的互通性;专用PIN码只针对某个DF或ADF文件有效,它保障了各类应用访问安全口令的独立性,而应用PIN码则满足CSIM卡特有的基于UICC架构平台的多应用需要,可被多个应用使用。这些措施共同保证了只有申请了特定ADF应用的用户才能访问特定ADF下面的文件数据[5]。
2.3 鉴权认证机制
与SIM卡使用的A3、A8单向认证机制以及USIM卡的MILENAGE双向认证机制不同,CSIM卡仍然保留了与UIM卡相同的认证算法,即正常情况下CDMA2000 1X网络的接入使用CAVE鉴权算法,EVDO网络的接入鉴权使用MD5认证算法。
(1) CAVE鉴权
终端和鉴权中心AC(Authentication Center)分别用SSD与其他参数进行CAVE算法运算,终端将经过CAVE算法运算后产生的结果传送给鉴权中心,鉴权中心将此结果与自身执行CAVE算法计算出的结果进行比较,若相同则鉴权成功。具体如图3所示。
(2) MD5鉴权
终端在读取CSIM卡中的Service Table(服务列表)文件时,若发现高速分组数据HRPD(High Rate Packet Data)业务为已分配并激活(N5=‘11’),则表示卡片支持并采用MD5鉴权算法。当终端进行HRPD网络的接入鉴权认证时,终端通过询问握手认证协议CHAP(Challenge Handshake Authentication Protocol)向网络请求随机数,根据网络所给的随机数对卡片内的HRPD密钥进行MD5鉴权,得出结果后传送给网络的接入网鉴权/授权/计帐服务器AN-AAA(Access Network-Authentication,Accounting,Authorization Server)进行结果对比。若对比结果一致,则表示鉴权成功。
3 安全机制对机卡兼容性的影响
如果旧的UIM卡升级为新CSIM卡后,在CSIM卡与仅支持UIM卡的终端之间可能存在指令识别、模式选择、应用使用等一系列机卡兼容性问题。现在对ICC平台升级到UICC平台时在安全机制实现上可能引起的机卡兼容性问题初步分析如下:
第一种情况,在UIM卡终端插入UIM卡,如今已实现,使用原来已有文件访问方式和网络鉴权机制即可,在此不作分析。
第二种情况,在UIM卡终端插入CSIM卡,要求CSIM卡兼容UIM指令,根据终端发来的指令自动选择进入UIM模式。CSIM卡接入网络所使用的鉴权算法与UIM卡相同,因而在鉴权问题上不会产生冲突。然而在PIN管理方面,由于终端只能使用CSIM卡中UIM模式下的应用,不能共享CSIM模式下的应用,例如BIP下载、3GPhoneBook等应用,所以CSIM卡需要对在不同模式下应用的PIN码进行有效管理,以避免因模式的选择而导致PIN码发生冲突。
第三种情况,在CSIM卡终端插入UIM卡,CSIM终端通常优先选择CSIM模式发送CSIM指令到UIM卡,当UIM卡在不能识别来自终端发送的CSIM指令而向终端反馈有限次内容为“指令错误”的响应后,CSIM终端应能根据错误响应的次数做出合理判断并尝试重新选择UIM模式向UIM卡发出UIM指令。鉴权机制方面,CSIM终端兼容CAVE算法与MD5算法,不存在鉴权认证机制的问题,但终端一旦进入UIM模式后只能使用其UIM模式下的应用。
第四种情况,在CSIM卡终端插入CSIM卡,同第一种情况,不另作分析。
4 CSIM卡安全机制测试验证
CSIM卡和读写设备之间的通信通过命令-响应对实现。终端主动给卡发送应用协议数据单元APDU(Application Protocol Data Unit)指令,卡接收到指令后,由COS(Card Operator System)对命令进行分析和处理,被动地响应终端发来的命令。此研究通过智能卡测试软件向CSIM卡发出APDU指令,对其安全机制进行测试验证。
命令APDU由4 B的命令头(CLA INS P1 P2)和可选的命令条件体(长度可变)两部分组成。数据域的长度由Lc表示,期待卡响应APDU数据字段的最大长度由Le指定。格式为:
从图4可已看出,CSIM卡响应结果AS为:SW1 SW2=90 00,与期望响应结果ES相同,表示PIN1校验成功。
4.2 CAVE鉴权
通过读卡器以APDU的形式向CSIM 卡发送CAVE鉴权指令。
APDU=0088008011003223D908000000000000232F48E0
0000。
APDU命令中CLA=‘00’,INS=‘88’,P1=‘00’,P2=‘80’,Le=‘11’的设置,表示CAVE鉴权认证;Le表示数据长度为17 B。
测试的初始条件A-key值为0102030405060708,UIMID值为C30653EE,IMSI值为 460030911001702,ESN值为00232F48E00000等数据已通过个人化写入卡中,具体测试结果如图5所示。
从图5可以看出鉴权输出返回的实际数据长度AS为3 B(6103)。通过00C0指令读取这3 B的鉴权结果ED为015B96,与利用CAVE算法得到的理论鉴权结果AD相同,校验成功。
4.3 MD5鉴权
通过读卡器以APDU的形式向CSIM卡发送Compute IP Authentication鉴权指令。
APDU= 80800000120101000102030405060708090A0B0
C0D0E0FSW6110。
APDU指令中CLA=‘80’,INS=‘80’,P1=‘00’,P2=‘00’,Le=‘12’的设置,表示进行MD5鉴权认证;Le表示数据长度为18 B。
测试结果如图6所示。
从图6可以看出鉴权输出返回的实际数据长度AS为16 B(6110),与期望返回的数据长度ES相同。通过00C0指令读取这16 B的鉴权结果ED为088A976359CC
92077ADFE0208244725C,与利用MD算法理论上得到的鉴权结果ED相同,校验成功。
本文从文件访问方式、PIN码管理与鉴权认证三个方面对CSIM卡的安全机制进行了讨论,并对机制可能带来的机卡兼容性问题进行了分析,通过测试工具对安全机制进行了测试验证,结果表明针对CDMA2000 1X/EVDO网络的CSIM卡安全机制是可行的。
针对UICC架构平台升级所可能引起的机卡兼容性问题,如何建立一种终端与卡片的机卡兼容机制,使UIM卡向CSIM卡平滑过渡,这样是下一步的研究重点。
参考文献
[1] 崔宏伟. 3G USIM卡的安全控制[J]. 山西通信技术,2006(6):45-46.
[2] 3GPP_TS_31.102_V8.6.0. Technical speccification group core network and terminals; Charact-eristics of the Universal Subscriber Identity Module (USIM) application Release 8[S]. 2009.
[3] Wu Shaobo, Li Chengshu. A method of USIM anti-cloning in LTE/SAE[J]. Information Science and Engineering (ICISE), 2010 2nd International Conference on, IEEE, 2010:4277-4280.
[4] Huang Xiange, Shen Lei, Feng Yanhong. A user authentication scheme based on fingerprint and USIM card[J]. Intelligent Information Hiding and Multimedia Signal Pro cessing, 2008. IIHMSP '08 International Conferenceon, IEEE, 2008(13):1261-1264.
[5] 邓中亮, 李喆腾.3G网络中的USIM卡安全机制探讨[J].网络安全技术与应用,2008(10):65-67.