2023年11月28日发(作者:)

SIM卡技术简介

一、概述

移动电话机与SIM卡共同构成移动通信终端设备。无论是GSM系统还是CDMA系统,

数字移动电话机用户在入网时会得到一张SIM卡(SubscriberIdentityModule)或UIM

UserIdentity ModuleSIM卡是一张符合GSM规范的智慧卡,可以插入任何一部符合

GSM规范的移动电话中,实现电话号码随卡不随机的功能,而且通话费用自动计入持卡

用户的账单上,与手机无关。

二、SIM卡硬件特性

1、外部特征

在实际使用中有两种功能相同而形式不同的SIM卡:

卡片式(俗称大卡)SIM卡,这种形式的SIM卡符合有关IC卡的ISO7816标准,类似IC

卡。

嵌入式(俗称小卡)SIM卡,其大小只有25mm×15mm,是半永久性地装入到移动台设备

中的卡。

大卡上真正起作用的是它上面的那张小卡,而小卡上起作用的部分则是卡面上的

铜制接口及其内部胶封的卡内逻辑电路。目前国内流行样式是小卡,小卡也可以换成

(需加装一卡托)大卡小卡分别适用于不同类型的GSM移动电话,早期机型如

摩托罗拉GC87C308C等手机用的是大卡,而目前新出的机型基本上都使用小卡

2 SIM卡接口

SIM卡是通过卡面上铜制接口来连接卡内逻辑电路与移动终端的,SIM卡芯片有八个

触点,通常与移动设备连接需要六个触点,具体接口定义如下图所示:

3、内部结构

SIM卡是一个装有微处理器的芯片卡,它的内部有5个模块,并且每个模块都对应一个

功能:微处理器CPU8位)、程序存储器ROM3--8kbit、工作存储器RAM6--16kbit

数据存储器EEPROM128--256kbit)和串行通信单元。这5个模块被胶封在SIM卡铜制接

口后与普通IC卡封装方式相同。这五个模块必须集成在一块集成电路中,否则其安全性会

受到威胁。因为,芯片间的连线可能成为非法存取和盗用SIM卡的重要线索。

SIM卡同手机连接时至少需要5条连接线(通常编程口未定义)

数据I/O口(Data

复位(RST

接地端(GND

电源(Vcc

时钟(CLK)如上图所示。

SIM卡的供电分为5V1998年前发行)5V3V兼容、3V1.8V等,当然这些卡必

须与相应的移动电话机配合使用,即移动电话机产生的SIM卡供电电压与该SIM卡所需的

电压相匹配。卡电路中的电源VCCGND是卡电路工作的必要条件。卡电源用万用表就

可以检测到。SIM卡插入移动电话机后,电源端口提供电源给SIM卡内各模块。

检测SIM卡存在与否的信号只在开机瞬时产生,当开机检测不到SIM卡存在时,将提

“InsertCard(插入卡);如果检测SIM卡已存在,但机卡之间的通信不能实现,会显示

“CheckCard检查卡)SIM卡对开机检测信号没有响应时,移动电话也会提示“InsertCard

(插入卡);当SIM卡在开机使用过程中掉电、由于松动接触不良或使用报废卡时,移动

电话会提示“Bad Card/SIM Error”

对于卡电路中的SIM_I/OSIM_CLKSIM_RST,全部是由CPU的控制来实现的。虽

然基站与网络之间的数据沟通随时随地进行着,但确定哪个时刻数据沟通往往很难。有一点

可以肯定,当移动电话机开机时刻与网络进行鉴权时必有数据沟通,这时尽管时间很短,

测量一定有数据,所以我们在判定卡电路故障时,在这个时隙上进行监测为最佳监测时间。

正常开机的移动电话机,SIM卡座上用示波器可以测量到SIM_I/OSIM_CLKSIM_RST

信号,它们一般是一个3V左右的脉冲。若检测不到,说明SIM卡座供电开关管周边电阻、

电容元件脱焊、SIM卡卡座脱焊,也有可能是卡座接触不良,SIM卡表面氧化或是报废卡。

当手机开机时,手机需要与SIM卡进行数据交换,用示波器可以在SIM卡卡座上检测

到一些数据信号,没插卡时,这些信号不会送出。可谓瞬间即逝但可以用示波器捕捉到,

以此判别SIM卡电路有无故障。SIM卡触点电性能表示触点低电平高电平Vcc-U=+5V±10%

I=10mA RST -0.3≤U≤+0.6VI=200uA 4V≤U≤VccI=20uA CLK -0.3≤U≤+0.6VI=200uA

-2.4V≤U≤VccI=200uA GND - - Vpp - +5V±10% I/O输入 0V≤U≤0.4VI=1mA 0.7V≤U≤Vcc

I=20uA I/O输出 0V≤U≤0.8VI=1mA 3.8V≤U≤VccI=20uA

电源开关时,SIM卡电气性能为:当开启电源期间,按以下次序激活各触点:RST

电平状态;Vcc加电;I/O口处于接收状态;Vpp加电;提供稳定的时钟信号。当关闭电源

时,按如下次序工作:RST低电平状态;CLK低电平状态;Vpp去电;I/O口低电平状态;

Vcc去电。

SIM卡的存储容量有3kB8kB16kB32kB64kB等。目前多为16KB32KBSTK

(SIM application Tool Kit)SIM卡的一种,它能为移动电话机提供增值服务,如移动梦网

业务等。(将在后章节具体介绍)SIM卡能够储存多少电话号码取决于卡内数据存储器

EEPROM的容量(有2K3K8K容量),若有8KB的存储容量,可供储存以下信息:

*100组电话号码及其对应的性名文字;

*15组短信息(ShortMessage

*25组以上最近拨出的号码;

*4SIM卡密码(PIN

几种主要的SIM卡的结构数据

三、SIM卡软件特性

SIM卡采用新的单片机及存储器管理结构,因此处理功能大大增强。其智能特性的逻辑

结构是树型结构。全部特性参数信息都是用数据字段方式表达,SIM卡中存有三类数据信息:

(1)与持卡者相关的信息以及SIM卡将来准备提供的所有业务信息,这种类型的数据存

储在根目录下。

(2)GSM应用中特有的信息,这种类型的数据存储在GSM目录下。

(3)GSM应用所使用的信息,此信息可与其它电信应用或业务共享,位于电信目录下。

即在根目录下有三个应用目录,一个属于行政主管部门应用目录,两个属于技术管理的

应用目录,分别是GSM应用目录和电信应用目录。所有的目录下均为数据字段,有二进制

的和格式化的数据字段。数据字段中的信息有的是永存性的即不能更新的,有的是暂存的,

需要更新的。每个数据字段都要表达出它的用途、更新程度、数据字段的特性(如识别符)

类型是二进制的还是格式化的等。

下面按GSMPhasel(阶段1)和Phase2(阶段2)两种情况对SIM卡的数据格式进

行说明:

(1) Phasel

<1> GSM系统参数

在阶段l时,所选GSM系统参数数据项目如图所示。其中6F38业务表中选有五项开放

业务:

GSM阶段1系统参数数据所选项

标识符名称长度

6FAD管理(Administrative)3

6F38业务表(Service Table)4

6F07IMSI9

6F7B禁止PLMN(Forbidden PLMN)12

6F7ETMSI LAI11

6F20Kc, n9

6F30PLMN选择(PLMN Selector)24

6F74BCCH信息(BCCH Information)16

6F78接入控制(Access Control)2

业务1(Servicel)PIN码取消(PINDisabling)

业务2(Service 2):缩位拨号(Abbreviated Dialing Numbers)

业务4(Service 4):短消息存储(Short Message Storage)

业务6(Service 6):容量配置参数(Capability Configuration Parameters)

业务7(Service 7)PLMN选择(PLMN Selector)

业务3、业务5和业务8Phase 1中不开放,6F78接入控制采用低级等级。

<2> 电信业务参数

GSM阶段1电信业务所选项

标识符名称长度

6F3A缩位拨号(Abbreviated Dialing Numbers)50 × 22

6F3D容量配置参数(Capability Config 1 × 14

Parameters)

6F3C短消息存储(Short Message Storage)5 ×176

6F39话费计数(Charging Counter)2

(2) Phase 2

<1> GSM系统参数

在阶段2时,GSM系统参数数据所选项目如图所示。其中6F38业务表在Phasel的基

础上增加的业务有:

GSM阶段2系统参数数据所选项

标识符名称长度

6F05语种选择(Language Preference)4

6F07IMSI9

6F20Kc, n9

6F30PLMN选择(PLMN Selector)42

6F31HPLMN搜索(HPLMN Search)1

6F38业务表(Service Table)4

6F45小区广播消息标识(Cell Broad Message 8

ID)

6F74BCCH消息(BCCH Information)16

6F78接入控制(Access Control)2

6F7B禁止PLMN(Forbidden PLMN)12

6F7ETMSI LAI11

6FAD管理数据(Admin Data)3

6FAEPhase 识别(Phase Identify)2

业务9 (Service 9)MSISDN

业务10 (Service l0):扩展1文件(Extension l file)

业务12 (service l2):短消息参数(short Message Parameters)

业务13 (Service l3):最后拨号存储(Last Number Dialed)

业务14 (service l4):小区广播消息识别(cell Broadcasting Message Identifier fi1e)

业务3、业务5、业务8和业务11Phase2中不开放,6F78接入控制采用低级等级。

<2> 电信业务参数

GSM阶段2电信业务所选项

标识符名称

6F3A缩位拨号(Abbreviated Dialing)

6F3C短消息存储(Short Message Storage)

6F3D容量配置参数(Capability Config)

6D40MSISDN

6F42短消息存储参数(SMS Parameters)

6F43短消息存储状态(SMS Status)

6F44最后拨号存储(Last Number Dialed)

6F4A扩展1文件(Extension 1 file)

四、SIM卡应用

1SIM卡编号

SIM卡背面的20位数字所代表的含义如下:

6位(898600:中国的代号;

7位:业务接入号,对应于135136137138139中的56789

8位:SIM卡的功能位:暂定为0

910位:各省的编码;

1112位:年号;

13位:供应商代码;

1419位:用户识别码;

20位:校验位。

2 SIM卡密码

1PIN

PIN码(PersonalIdentityNumber:个人识别码,也叫PIN1码,长4位,由用户自己设

定(初始值为12340000,属于SIM卡的密码,用来保护SIM卡的安全,防止SIM

未经授权而被使用。初始状态是不激活的。启动该功能后,每次用户重新开机,GSM系统

就要和手机之间进行自动鉴权,判断SIM卡的合法性,只有在系统认可后,才为该用户提

供服务。

用户在启动PIN码保护功能后不慎将PIN码忘记,在错误的输入三次PIN码后SIM

动上锁,手机无法接入网络,提示要求输入PUK码。此时若您不知道PUK码,那么请不要

再尝试输入PIN码了,请携带有关凭证和手机到当地运营商的营业厅去解开,也可拨打服

务电话获得。若您输入10次错误的PIN码,那么SIM卡的自毁程序将自动启动,将SIM

烧毁,使用户得不偿失。

2PIN2

PIN2码:PIN2码也是SIM卡的密码,它跟网络计费和SIM卡内部资料的修改有关。

手机上的计费功能需要PIN2码支持。GSM协议支持手机随时查询已通话的支出,目前国

内运营商在部分地区开通此项业务,用户可以得到自己的PIN2码。

3PUK

PUK码(PINUnblockingKeyPUK码是解PIN码的万能锁,每张SIM卡有各自对应

PUK码,长8位,可以交由用户自己管理,也可以由网络运营商控制。目前国内运营商

基本都已开通查询PUK码的业务,用户可以自己管理PUK码。

4PUK2

PUK2码(PIN2 Unblocking keyPUK码是解PIN2码的万能锁,每张SIM卡有各自

对应的PUK2码,长8位,可以交由用户自己管理,也可以由网络运营商控制。目前国内部

分地区的运营商开通了PUK2码的业务,用户可以自己管理PUK2码。

3SIM卡使用

SIM卡在日常使用中一是请勿将卡弯曲,卡上的金属芯片更应小心保护,保持金属芯片

清洁(可用酒精棉球轻擦),避免沾染尘埃及化学物品;二是为保护金属芯片,请避免经常

SIM卡从手机中抽出;请勿将SIM卡置于超过85度或低于-35度的环境中;在取出或放

SIM卡前,请先关闭手机电源;三是最好不要用手去触摸那些触点,以防止静电损坏。

SIM卡的使用是有一定年限的。一般来说,它的物理寿命是取决于客户的插拔次数,

1万次左右;而集成电路芯片的寿命取决于数据存储器的写入次数,不同厂家其指标有所

不同,就Motorola生产的SIM卡经试验室试验约为5万次。SIM卡的平均寿命约为4年。

4SIM卡知识进阶

1SIM卡内保存的数据可以归纳为以下四种类型:

<1>SIM卡生产厂商存入的系统原始数据。

<2>GSM网络运营部门或者其他经营部门在将卡发放给用户时注入的网络参数和用

户数据。包括:

*鉴权和加密信息KiKc算法输入参数之一密匙号)

*国际移动用户识别码(IMSI

*A3IMSI认证算法;

*A5:加密密匙生成算法;

*A8:密匙(Kc)生成前,用户密匙(Kc)生成算法;(这三种算法均为128)

<3>用户自己存入的数据。如短消息、固定拨号、缩位拨号、性能参数、话费记数等。

<4>用户在用卡过程中自动存入和更新的网络接续和用户信息类数据。包括最近一次位

置登记时的手机所在位置区识别号(LAI,设置的周期性位置更新间隔时间,临时移动用

户号(TMSI)等。

这些数据都存放在各自的目录项内,第一类数据放在根目录,当电源开启后首先进入根

目录,再根据指令进入相关的子目录,每种目录极其内部的数据域均有各自的识别码保护,

只有经过核对判别以后才能对数据域中的数据进行查询,读出和更新。上面第一类数据通常

属永久性的数据,由SIM卡生产厂商注入以后无法更改,第二类数据只有网络运行部门的

专门机构才允许查阅和更新,再第三、四类数据中的大部分允许用户利用任何手机对其进行

/写操作。

(2)、在下一章节中需要用到国际移动设备识别码IMEI和国际移动用户识别码IMSI

这里先做一简单介绍。

国际移动设备识别码IMEI(InternationalMobileEquipment Identification Number)是区别移

动台设备的标志,储存在移动设备中,可用于监控被窃或无效的移动设备。IMEI组成如图

所示,移动终端通过键入*#06#可以查得。其总长为15位,每位数字仅使用09的数字。

TAC:型号装配码,由欧洲型号标准中心分配。

FAC:装配厂家号码。

SNR:产品序号,用于区别同一个TACFAC中的每台移动设备。

SP:备用。

国际移动用户识别码IMSI(InternationalMobileSubscriberIdentification Number)是区别移

动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。IMSI组成如图所示,

其总长度不超过15位,每位数字仅使用09的数字。

MCC:移动用户所属国家代号,占3位数字,中国的MCC规定为460

MNC:移动网号码,最多由两位数字组成。用于识别移动用户所归属的移动通信网。

MSIN:移动用户识别码,用以识别某一移动通信网中的移动用户。

四、安全缺陷分析

1、安全分析

1SIM

SIM卡中最敏感的数据是保密算法A3A8算法、密钥KiPINPUKKcA3A8

算法是在生产SIM卡的同时写入的,一般人无法读取A3A8算法;HN码可由客户在手机

上自行设定;PUK码由运营者持有;Kc是在加密过程中由Ki导出;Ki需要根据客户的IMSI

和写卡时用的母钥(Kki),由运营部门提供的一种高级算法DES,即KiDES(IMSIKki)

经写卡机产生并写入SIM卡中,同时要将IMSIKi这一对数据送入GSM网路单元AUC

鉴权中心。

如何保证Ki在传送过程中安全保密是一件非常重要的事情。Ki在写卡时生成,同时加

密,然后进入HLRAUC后再解密,那么连写卡和HLRAUC的操作人员也不知道Ki

真实数据。

一般流行的做法是用一高级方程DESKi进行加密,DES方程需要一把密钥Kdes

加密和解密都用同一把密钥。由运营部门提供DES方程给HLRAUC设备供应商,运营部

门制定严格的保密制度,管理好密钥Kdes就能保证Ki传递的安全性,此过程如图所示。

SIM卡写卡流程

由此可见,SIM卡自身的加密措施是十分完备的。

2、空中接口

GSM系统为了保证通信安全,尤其是空中接口不受侵犯,采取了特别的鉴权与加密措

施,来确保移动台的合法性以及防止第三者对通话进行窃听。所使用的加解密算法以及安全

措施从理论上来说是不可逆的。这里主要介绍SIM卡,GSM系统对于空中接口的控制与

管理就不详细叙述了。

2 SIM卡整体复制

目前出现了许多MAGICSIMSUPERSIM等手机智能卡,配合专用的SIM卡读写卡起

便可实现在1张空白的卡上同时进不同地区的16个手机卡号,可供用户使用手机STK

功能*随时切换使用其中任何一个号码使用,也可将一个号码进多张手机SIM卡。设备

如图所示

上图是这类SIM卡内部简单电路,是使用单片机PIC16F84和一片扩展存储器24LC16

2K)构成的。

下面,从理论层来进行分析:

下图为GSM系统设备识别程序,通过IMEI对用户设备的合法性进行验证。

EIR中只用三种设备清单:

白名单:合法的移动设备号;

灰名单:是否允许使用由运营商决定;

黑名单:禁止使用的移动设备号;

目前,移动运营商在用户入网时并没有对移动电话机的国际移动设备识别码IMEI码)

实行验证,其次,GSM系统为了防止非法监听进而盗用IMSI在无线链路上需要传送IMSI

时,均使用临时移动用户识别码TMSI来代替IMSI仅在位置更新失败或MS得不到TMSI

时才使用IMSI因此,这就对SIM卡整体复制以及SIM卡的非法盗用提供了先决条件。

时,也使得GSM系统对移动台的鉴权形同虚设。

实验证明:使用两部手机,一部使用原SIM卡,另一部使用superSIM16复制卡,在一

部机拔出的时候,另一部无法工作;一部机在发短息的时候,另一部无法同时发信息;两机

同时待机,短信息和电话一般会到后开机的那一部手机上;如果关闭掉其中一部手机,有可能

会出现暂时收不到短信息(信息延时)的情况,或者网络出现机主关机的情况;如两机均设置了

自动选网,同号待机时等同于轮流待机(感觉为随机)

*STK

STKSIMTOOLKIT,简称用户识别应用发展工具,可以理解为一组开发增值业务

的命令,一种小型编程语言,它允许基于智能卡的用户身份识别模块SIM运行自己的应用

件。

STK卡不是一般的通常使用的SIM卡,而是基于Java语言平台的Simera32K卡片。STK

是一种小型编程语言的软件,可以固化在SIM卡中。它能够接收和发送GSM的短消息数据,

起到SIM卡与短消息之间的接口的作用,同时它还允许SIM卡运行自己的应用软件。这些

功能经常被用于在可通过软件激活的电话显示屏上,用友好的文本菜单代替机械的拨号-

收听-应答方式,从而允许用户通过按键轻松进行复杂的信息检索操作或交易。

移动梦网卡就是是在普通STK功能上联合ICP应用服务的多功能STK应用SIM卡。

该产品将ICP短信应用服务以菜单的形式移植到STK卡中,增强了手机的通信能力,使手

机不仅仅是一个孤立的通信工具,而且成为了一种综合的信息终端,让用户可以在手机上方

便地使用移动互联网业务。目前,移动梦网卡提供的功能有传情服务、IP电话、股票助理、

新闻信息、定位服务、娱乐休闲、实用工具、生活服务、全球通话费查询等,并根据需要不

断在开发新的服务项目。

3SIM卡模拟器

由于SIM卡内部属于单片机范畴,早在1998年,国外就出现了使用TurboPascal编写

SIM卡模拟程序以及相应的外部接口电路。它跳过了SIM卡,将手机与计算机结合到了

一起。通过外部电路将手机与计算机RS-232接口相连,在计算机上运行SIM卡模拟程序,

模拟SIM卡处理的全过程。

SIM卡模拟器不同于SIM卡整体复制,它将卡内数据读出,并以数据格式保存在计算

机上。运行模拟程序时,这些以数据格式保存的卡内数据就相当与一张张实实在在的SIM

卡。所不同的是,对照SIM卡内部的数据格式说明,能实现对SIM卡内部数据的修改和SIM

卡复制等功能。这样一来,就使得SIM卡的安全性完全丧失,并对GSM系统的安全性造成

一定的威胁。

五、总结

虽然SIM卡同样存在安全隐患,但比起早期模拟通信系统来说已经有了长足的发展。

SIM卡技术的引入,使得GSM系统在安全方面得到了极大改进。并使得无线电通信从不保

密的禁区中解放出来。

参考:1《移动通信》西安电子科技大学出版社

2、部分资料来源与互联网