SIM卡操作系统(COS)的安全分析
文章出处:http://www.singbon.com 作者:宋麦玲 陈云亮 人气: 发表时间:2011年09月29日
1引言
SIM卡是Subscriber Identity MOdule的缩写,即用户识别模块。用来标识一个特定移动用户的网络连接。SIM卡的主要功能是来存储用户数据和完成客户身份鉴权以及客户信息加密过程。此功能主要是由SIM卡内的一部具有操作系统的微处理器完成。COS的全称是Cllip Opemting System(片内操作系统),它一般是紧紧围绕着它所服务的智能卡的特点而开发的。由于不可避免地受到了智能卡内微处理器芯片的性能及内存容量的影响.因此。COS在很大程度上不同于我们通常所能见到的微机上的操作系统(例如DOS、UNIX等)。在本文中我们探讨的是SIM卡中的COS系统。主要的功能是维护SIM卡中的文件系统,处理手机下发给SIM卡的各种命令。并且提供SIM卡应用程序开发包(即STK)来实现增值服务的开发。COS的出现不仅大大地改善了智能卡的交互界面,使智能卡的管理变得容易,而且更为重要的是,使智能卡本身向着个人计算机化的方向迈出了一大步。为智能卡的发展开拓了极为广阔的道路。
2 COS的基本模型
SIM卡中集成了微处理器CPU、存储器和芯片操作系统(COS),构成一个完整的计算机系统,具有独立的数据处理能力,SIM卡的结构如图1所示。
COS系统在SIM卡的结构中处于中间层。介于底层硬件与上层应用之间。它向下组织、协调系统硬件,实现I /O,存储管理等功能。向上为应用提供服务。在SIM卡中的COS系统主要是为了实现移动通信的服务。我们参考网络IS0模型。如图2所示把COS系统的结构分为以下四个层次。
图1 SIM卡结构图
图2 COS屡次结构
这样的层次划分的主要原则是。将应用代码从COS主体中独立出来,提供一个统一的接口进行管理;将和底层SIM卡硬件相关的操作提取出来。便于和上层代码的复用和移植;整个系统通过统一的调度管理。各个层次间提供一个接口以服务的方式进行调用。下层的内部实现对上层来说是透明的。
3 COS的安全体系
根据接触式IC卡国际标准IS0,IEC7816_4,COS安全体系包括三部分:安全状态,安全属性,安全机制。
安全状态是指SIM卡当前所处的安全级别。即当前安全状态寄存器的值.这种状态在SIM进行完复位应答后初始化或者在处理完某种命令后得到的。
安全属性,它定义了执行某个命令需要的一些条件,即在进行某种操作时要求安全状态寄存器的值是什么。
安全机制从广义上说是SIM卡支持的各种安全模式。从狭义上说是安全状态实现转移所采用的方法和手段。
一种安全状态通过上述安全机制转移到另一种状态。把该安全状态与某个安全属性相比较,如果一致,则表明能够执行该属性对应的命令:如果不一致。则相关命令不能被执行。从而达到了安全控制的目的。这就是COS安全体系的基本工作原理。如图3所示。
图3安全状态转移
4 COS的应用安全
4.1应用脚本的安全
SIM卡对下载的应用脚本必须具备保证完整性和安全性的功能。由于应用脚本的下载实现是以短信的方式来实现的,而在现有短信传输机制中,是进行的明文数据传输,在用户通过无线网络来进行菜单和新业务的定制过程中。有些消息是经过了有线网络。这就给攻击者提供了对空中下载服务系统进行篡改、假造、重传等攻击的机会。因此为了提供一个安全可靠的数据传输通道,在下载过程中要对下载的应用脚本数据提供身份认证和同步处理机制。
下面对身份认证进行一下简单的介绍。空中下载系统采用了双向认证的技术。用户在提出下载请求时,空中下载系统会对用户进行合法性的验证。这样确保了只有合法用户发出的下载请求才能被响应;同时SIM卡还要对空中下载系统的合法性进行验证。这样避免了恶意代码对用户SIM卡的入侵。同时双向认证机也保证了交互信息的完整性和正确性。空中下载系统在收到用户的请求信息后。马上计算此信息的MAC码,并与请求信息中的MAC码匹配.若相同则说明发送此信息的用户是合法的,且在数据的传送中未被修改。SIM卡收到下载数据后,同样计算该下载数据的MAC码。并与下载的数据中的MAC码进行匹配。相同则证明该下载数据是合法的,且是完整有效的,否则丢弃该下载数据。
4.2 GSM网络的安全机制
GSM网络对用户身份标识的认证是通过一种挑战应答的机制来实现的。GSM系统中的安全认证参数三元组包括一个128bit长的伪随机数RAND。32bit长的认证响应SREs和一个64bit长的临时加密密钥KC。移动用户的身份认证过程描述如下:
(a)移动用户把TMSI和访问网络服务请求发给移动基站,基站将TMSI和请求发给拜访局。
(b)拜访局根据TMSI从数据库中调出移动用户的认证参数(RAND,RES,KC),并传送RAND给移动用户。
(c)移动电话中的SIM卡利用移动用户的秘密密钥和RAND通过身份认证算法和密钥生成算法生成认证响应RES’何KC,并将RES'经过基站发给拜访局。
(d)拜访局比较RES???’和RES;如果相同则拜访局为该移动用户重新分配一个新的 TMSI’。并且利用加密密钥KC加密TMSI,后发给移动用户,并确认登记成功。
上述移动用户身份认证过程不仅可以实现移动用户的身份认证性。也可以实现移动用户身份保密性。GSM网络采用了临时身份号的方法。在一定程度上可以保护移动用户的真实身份IMSI。但是当移动电话第一次使用时.它传其IMSI和其他数据给网络端的拜访局进行登记。
5结束语
移动通信的发展给用户带了方便和自由.然而信息在空中的无线传播也给移动通信带了潜在的威胁。通信的内容可能会被窃听、通信对方的身份可能被假冒。SIM卡作为用户身份的安全载体,采用了加密和身份认证技术来保护用户的通话内容,防止非法用户访问移动网络。在很大程度上提高了移动通信的安全性。本文对SIM卡的安全基础——COS系统,做了十十分详尽的分析。为今后电子商务的应用开发打下了坚实的基础。
(文/中国地质大学计算机学院 宋麦玲 陈云亮)