SIM卡的基本知识
SIM卡(Subscriber Identity Module),即用户识别卡,它是一张符合GSM规范的“智慧卡”,SIM卡有大小之分,大卡尺寸54mmx84mm(约为名片大小),小卡尺寸为25mmx15mm(比普通邮票还小)。其实“大卡”上面真正起作用的是它上面的那张“小卡”,“小卡”上起作用的部分只有小指甲盖那么大。目前国内流行样式是“小卡”,小卡也可以换成“大卡”(有个卡托即可)。“大卡”和“小卡”分别适用于不同类型的GSM移动电话,早期的机型如摩托罗拉GC87C、308C等手机用的是“大卡”,现在新出的机型基本上都是用“小卡”。SIM卡可以插入任何一部符合GSM规范的移动电话中,“实现电话号码随卡不随机的功能”,而通话费则自动计入持卡用户的帐单上,与手机无关。
SIM卡知识进阶
(一)SIM卡内保存的数据可以归纳为以下四种类型:
(1)由SIM卡生产厂商存入的系统原始数据。
(2)由GSM网络运营部门或者其他经营部门在将卡发放给用户时注入的网络参数和用户数据。包括:
*鉴权和加密信息Ki(Kc算法输入参数之一:密匙号);
*国际移动用户号(IMSI);
*A3:IMSI认证算法;
*A5:加密密匙生成算法;
*A8:密匙(Kc)生成前,用户密匙(Kc)生成算法;
(3)由用户自己存入的数据。比如,短消息、固定拨号,缩位拨号,性能参数,话费记数等。
(4)用户在用卡过程中自动存入和更新的网络接续和用户信息类数据。包括最近一次位置登记时的手机所在位置区识别号(LAI),设置的周期性位置更新间隔时间,临时移动用户号(TMSI)等。
这些数据都存放在各自的目录项内,第一类数据放在根目录,当电源开启后首先进入根目录,再根据指令进入相关的子目录,每种目录极其内部的数据域均有各自的识别码保护,只有经过核对判别以后才能对数据域中的数据进行查询,读出和更新。上面第一类数据通常属永久性的数据,由SIM卡生产厂商注入以后无法更改,第二类数据只有网络运行部门的专门机构才允许查阅和更新,再第三、四类数据中的大部分允许用户利用任何手机对其进行读/写操作。
(二)SIM卡结构
(1)SIM卡能够储存多少电话号码取决于卡的EEPROM的容量(有2K、3K、8K容量),若有8KB的存储容量,可供储存以下信息:
*100组电话号码及其对应的性名文字;
*15组短信息(Short Message);
*25组以上最近拨出的号码;
*4位SIM卡密码(PIN)。
(2)SIM卡是带有微处理器的芯片卡,内有5个模块,每个模块对应一个功能:CPU(8位)、程序存储器ROM(6-16kbit)、工作存储器RAM(128-256kbit)、数据存储器EEPROM(2-8kbit)和串行通信单元,这5个模块集成在一块集成电路中。SIM卡在与手机连接时,最少需要5个连接线:
*电源(Vcc)
*时钟(CLK)
*数据I/Q口(Data)
*复位(RST)
*接地端(GND)
(3)SIM卡背面上20位数字iccd所代表的含义如下:
*前6位(898600):是中国的代号;
*第7位:业务接入号,对应于135、136、137、138、139中的5、6、8、9;
*第8位:SIM卡的功能位:一般为0,现在的预付费SIM卡为I;
*第9、10位:各省的编码;
*11、12位:年号;
*13位:供应商代码;
*14-19位:用户识别码;
*20位:校验位。
GSM网络登录步骤
1. 手机开机后会从SIM卡中读取IMSI(15个数字)和TMSI(4字节);
2. 手机登录网络时,将会IMSI或TMSI发给网络;
3. 网络判断到该IMSI或TMSI有效,要生成一个128bit的RAND,然后发给手机;
4. 手机收到RAND后,将RAND发给SIM卡;
5. SIM以里面的KI为密钥对RAND进行A3A8运算,生成(SRES+Kc);
6. 手机读取(SRES+Kc)(32bit+64bit),并将SRES发给网络;
7. 网络自己进行一次A3A8运算,如果结果与手机返回的SRES相同,则认为该用户合法。