《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 基于OTA模式的SIM卡安全技术

基于OTA模式的SIM卡安全技术

2008-03-19
作者:张喜蕊, 辛 阳

  摘 要: 阐述了SIM卡提供的基本安全策略,分析了在OTA模式下可能存在的针对SIM卡的攻击,以及SIM卡防御这些攻击所提供的安全机制,最后给出了SIM卡在" title="卡在">卡在OTA下载模式下的安全处理模型。
  关键词: SIM卡  OTA  安全

 

  近年来,OTA(Over The Air)空中下载技术走向大规模商用的原因是,相对于固化在SIM卡中的菜单业务,OTA技术使得用户可以通过短消息随时了解新业务" title="新业务">新业务的动态并下载自己感兴趣的新业务,运营商也可以使用该技术向用户推广新的业务。然而,由于移动通信系统的开放性,攻击者可能通过重传、窜改等攻击手段破坏一个下载过程,甚至可以向SIM卡中注入恶意的代码,而且各种针对SIM卡的攻击层出不穷。因此,要求SIM卡有一套完备的处理机制,以应对各种潜在的攻击。本文旨在分析针对SIM卡的潜在攻击以及SIM卡在OTA模式下存在的潜在安全威胁,并为SIM卡提供安全应对措施。
1 SIM卡的基本安全特性
  移动台 (MS)是用户使用的终端设备,是GSM系统中的一个重要组成部分。它由移动终端设备(ME)和用户身份模块(SIM) 两个主要部分组成。MS采用分离设计,它的安全功能集中于SIM中,便于控制管理。
1.1 访问SIM卡的安全性
  SIM卡使用PIN码设定第一道防线,以保证合法用户的安全使用。PIN码是一个四位到八位的个人密码,用来保护SIM卡不被未授权的用户使用。对于嵌入的已设定PIN码的SIM卡的手机,每次开机时都会要求用户输入PIN码进行校验,只有校验成功SIM卡才会被启用。
  另外,SIM卡是以文件结构的形式保存信息的。用户的一些重要的信息,如国际移动用户号(IMSI)、鉴权密钥Ki等,都保存在相应的文件中。SIM卡应严格控制用户对这些文件进行访问,以保证SIM卡的完整性和可用性,防止非法破坏和复制SIM卡。SIM卡具有16种不同的安全状态,又称为状态机。只有当卡片满足了一定的状态机,才能访问指定的文件。SIM卡文件的访问权限一般分为八级,分别为:ALWAYS、CHV1、CHV2、RFU、ADM1、ADM2、ADM3、ADM4,以及NEVER。SIM卡一般只建立一个密钥文件,在卡的个人化阶段以明文形式写入密钥,该文件的读写权限都为NEVER,即任何时候都不能读写密钥文件。每个密钥对应一个错误计数器,记录密码校验失败的次数,当失败次数大于初始阈值时SIM卡就会被锁定。
1.2 安全备份与数据恢复" title="数据恢复">数据恢复机制
  SIM卡即CPU卡,需要外界电源供电才能进行工作,该外界电源就是手机电池。但是,在实际工作中,手机会因为电池电量不足或者用户突然拔掉电池而导致SIM卡意外失电。如果SIM卡此时正在处理一些程序或者对某些敏感数据进行操作,则突然的失电势必会影响SIM卡内部的程序和存储逻辑,导致SIM不可用。
  安全备份与数据恢复机制主要是保障卡在任何运行情况下(如发生卡失电或意外被拔插操作)失去正常工作后,而当卡再次上电时卡内敏感数据能返回初始状态,保证其完整性与合法性,即卡的操作系统COS(Card Operating System)不受这些外界因素影响仍能保持正常运作。该机制的原理是:每次对卡内FLASH/EEPROM进行擦写操作时,COS先要将被更新的存储区中的原有数据备份到备份栈(专门为安全备份与数据恢复开辟的一段存储区),并设置相应的恢复标志;之后对要被更新的存储区进行正常的擦写操作(此时如果卡意外断电或者被插拔,卡在复位时会检测恢复标志,若复位标志有效则将原有数据重新写入,而新写入的数据将被抛弃,这一步称为回滚数据);数据区被正常更新后,COS就设置恢复标志无效,这样在卡下次复位时就会忽略备份栈的数据。
1.3 网络鉴权方面的" title="面的">面的安全保护
  合法SIM卡的一个重要的任务就是与网络一起完成网络对SIM卡的鉴权。
  网络鉴权也就是确认用户身份是否合法,鉴权过程是在网络和SIM卡之间进行的,鉴权时间一般选在移动终端登记入网和呼叫之时。鉴权开始时,网络产生一个128位的随机数RAND,经无线电控制信道传送到ME,ME采用RUN GSM ALGORITHM命令把RAND传送给SIM卡,SIM卡依据卡中的用户密钥Ki和算法A3、A8或A38,根据接收到的RAND计算出应答信号SRES和加密密钥Kc,并将结果回送给ME。然后ME将SRES向网络发送,用Kc值对网络的通信信息进行加密,直到下一次再进行鉴权。网络在鉴权中心查明该用户的密钥Ki后,用同样的RAND和算法A3计算出SRES,并与收到的SRES进行比较,如一致,则鉴权通过,否则中止两者之间的通信。
  由于A3算法具有单向函数的功能,由Ki和RAND经A3计算出SRES很容易,但由SRES和RAND反向推导Ki却非常困难,所以SRES即使在传输过程中被侦听到,也不会危及Ki的安全。
  在这个过程中,采用一个用户鉴权密钥Ki。Ki长度为128bit,存储在SIM卡之中。Ki的传输必须采用DES或3DES算法进行加密传输,以防被非法窃听或者篡改。同时,SIM卡也必须提供对A3、A8算法的保护,A3、A8算法的存储必须使用电可擦除非易失性存储器,以防止对集成电路进行解剖而得到A3、A8算法。
2 OTA模式下SIM卡的安全特性
  在OTA模式下,SIM卡需要与OTA服务器进行大量的交互,在网络环境不是很理想的情况下,SIM卡接收到的数据中,除了OTA服务器下发的完整、有效的数据外,还可能存在不完整或者无效的数据以及来自非法服务器的攻击SIM卡的数据。
2.1 SIM卡与OTA服务器之间的相互身份认证" title="身份认证">身份认证
  合法的OTA用户使用OTA下载业务前要先向OTA服务器注册。注册信息一般包括卡片的一些版本信息、卡片可供下载的空间等,注册成功后才能进行后续的操作。
  OTA空中下载的过程如下:首先,用户使用手机通过STK提供的菜单界面向OTA服务器发送一个菜单下载请求,该请求经由短消息中心和短信网关,最终通过Internet发送至OTA服务器;然后,OTA服务器根据请求的内容将相应的菜单数据打包并经由反向的路径发送至手机;再后,手机SIM卡将菜单数据译码并组合成菜单;最后,向用户显示菜单内容。
  整个下载过程中涉及到几个方面的身份认证问题:服务器对SIM卡的身份认证、SIM卡对OTA下载服务器的身份认证、OTA下载服务器对请求数据合法性的认证、SIM卡对菜单数据合法性的认证。这几个方面的认证问题不是孤立的,而是相互关联、相互作用的,因此需要提供一种机制来妥善解决这些认证问题。
  OTA下载服务器应对发送下载请求的用户身份进行严格的认证,以避免假冒下载者或者恶意攻击者的窜改和重传攻击;SIM卡应该对接收到的菜单数据进行严格的认证,以防止假OTA服务器攻击和恶意攻击者窜改菜单数据进行攻击。因此,需要设计一种严密高效的认证方案来防御各种攻击。目前常用的身份认证机制有:基于对称密码体制的挑战应答方式、MAC校验方式、无线PKI通过数字证书等。
2.2 OTA下行数据的安全处理
  对OTA下行数据的完整性、有效性和逻辑性应进行检查,以防止由于网络传输错误或者恶意攻击者发出的非法数据破坏SIM卡的可用性。目前OTA下行数据均采用GSM03.48协议规定的格式。GSM03.48定义了数字蜂窝通信系统中GSM PLMNME(公共陆地移动网络实体)与STK卡之间的安全接口标准。GSM03.48协议严格定义了GSM网络中两个通信实体之间采用安全数据传输时的应用数据协议格式、消息认证方式、数据加密算法、密钥管理方式以及计数器机制等诸多安全内容。
  数据的完整性检测主要使用MAC校验机制。其主要作用是保证消息的接收者能够判断消息在传输过程中是否被修改,防止不法入侵者用虚假消息代替合法消息或者篡改消息。OTA服务器将下行数据中的一部分重要的信息利用算法DES CBC进行加密,并作为下行数据的一部分传输给SIM卡。SIM卡收到该数据后,不是直接处理用户数据,而是对安全数据进行MAC校验。只有本地计算的MAC值和下行数据中的MAC值一致的情况下才接收数据,否则会抛弃数据。同样,OTA服务器对SIM卡上行的申请数据也使用MAC校验。这样,双方就保证了对方的数据的完整性。计算MAC时所需要的会话密钥Kc,一般是用SIM卡的国际移动识别号对SIM卡和OTA服务器共享的主密钥进行分散,有时为了保持会话密钥Kc的动态性和随机性,需要加入随机数进行分散。这要根据不同的应用对安全性的不同要求而灵活运用。
  数据的有效性检测主要使用同步计数器机制。其主要作用是保证SIM卡接收到的消息是最新消息,而不是由于网络存储转发机制的缺陷所造成的延迟消息或者恶意攻击者故意发送的重传消息。对于OTA服务器和SIM卡之间的每个会话密钥,都有一个计数器与之对应。服务器在组织下行数据时会依次增加所用会话密钥的计数器值;SIM卡接收到该数据后会与卡内保存的相应的计数器值进行比较,只有计数器值比自身保存的计数器值大数据才被接收,然后SIM卡就用新的计数器值更新本地的计数器值,以备下一次比较使用。
  数据的逻辑性检测也可以称之为异常处理。下行数据中有一些重要的字节信息是需要SIM卡进行检测的。如果SIM卡检测出下行数据有逻辑上的错误,就要抛弃该数据;否则,如果将该数据写到卡中,就会出现意想不到的错误,从而导致SIM卡的不可用。在实践过程中,只有多考虑一些可能出现的异常,并对此作出适当的处理,才能尽可能地避免异常数据带来的错误。
  另外,GSM03.48协议中还规定使用保密数据指示符来表示数据是否使用校验或者加密,这样就提供了加密机制的可见性,给OTA机制带来了很大的灵活性。
2.3 SIM卡与OTA服务器的同步问题
  OTA下载服务器需要对用户大量的空中下载业务进行管理,同时运营商也需要得到用户使用OTA业务的习惯,以便更好地开展业务,这就需要用户端SIM卡的业务信息与服务器端的信息保持一致。为了保证卡端和服务器端的信息保持一致,需要卡端能及时地将本地的信息通过短信通道传输给服务器,以便服务器能更新数据库。目前保持同步的方法主要有:(1)服务器主动下发执行信息的同步命令,并请求卡端返回同步信息。(2)卡在满足一定的条件时,主动将统计信息传输给服务器。保持SIM卡和OTA下载服务器的同步,有利于服务器能更好地提供业务服务,减少错误的发生。
  另外,在下行数据中可以用一位信息表示是否要求SIM卡回送处理数据的状态信息。如有要求,根据该信息,服务器可以确切地知道SIM卡对下行数据的处理结果,从而确定是否重传该指令。
3 SIM卡处理OTA下行数据的安全模型
  综合以上的论述,一个典型的如图1所示的OTA处理模型应包含以下几个部分:OTA应用模块 、逻辑处理模块、GSM03.48模块和传输层。


  各个部分的功能描述如下:
  (1)OTA应用模块:将从服务器上下载的菜单数据组织成用户可见的应用形式,供用户使用。同时,提供用户和服务器之间的互动界面,以方便OTA的业务开展。
  (2)逻辑处理模块:对通过GSM03.48模块检测的数据,进行逻辑判断,例如检测关键字段的长度是否一致、所下载业务是否是用户申请的业务、多条短信是否完成、是否需要回应服务器等。
  (3)GSM03.48模块:对下行数据进行MAC校验和同步计数器检验,以保证数据的完整性和有效性。即保证消息在传输过程中没有被修改或者被重传。
  (4)传输层:对GSM网络来说,主要负责短信的收发;对3G网络而言,3G网络上进行的OTA业务除了通过传统的短信通道传输外,还可以通过符合BIP协议的高速通道传输。BIP(Bearer Independent Protocol)协议,即承载不相关协议,它支持5个主动式命令和2个事件。该协议使SIM/USIM卡能够利用手机的承载能力建立与服务器之间的数据通道,实现可靠连接与高速传输。其传输速率远远大于短信通道的传输速率。它提供了良好的双向交互式通信能力以及可靠的面向连接的通讯方式。
  OTA技术解决了运营商推行新业务所面临的困难,因此该技术得到了运营商的一致认可。各家运营商都制定出了具有自己特色的OTA技术规范,OTA技术也因此得到了不断完善和发展。例如,最近提出的在不支持OTA模式的手机上,SIM卡仍然能够进行OTA下载的技术,完善了OTA技术的一项不足。同时,担任此重担的SIM卡也面临着种种的考验,不仅要满足OTA技术规范中规定的功能,更要完善在安全性方面的特性。
  3G网络下的OTA空中下载技术拥有更多的优点。除了在鉴权方面采用了双向鉴权并增加了SIM对网络的鉴权外,又增加了符合BIP协议的高速通道。随着3G时代的到来,OTA这项在2G网络和2.5G网络中都成功应用的技术,必将在3G网络中扮演重要的角色。
参考文献

[1] ETSI. GSM 11.11: Digital cellular telecommunications system(Phase 2+):Specification of the Subscriber Identity Module-Mobile Equipment (SIM-ME) Interface V8.3.0,1999:29-30.
[2]  ETSI. GSM 11.14: Digital cellular telecommunications system (Phase 2+);Specification of the SIM Application Toolkit for theSubscriber Identity Module-Mobile Equip-ment(SIM - ME) Interface V7.3.1,1998:52-54.
[3]  ETSI. GSM 03.48: Digital cellular telecommunications system (Phase 2+):Security Mechanisms for the SIM Application Toolkit V8.8.0,2001:8-18.
[4]  ETSI. TS 102 223: Smart cards: card application toolkit (CAT) V7.1.0, 2005:18.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。