学习笔记-USIM卡规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1什么是UICC卡
UICC-- Universal Integrated Circuit Card
通用集成电路卡是定义了物理特性的智能卡的总称。作为3G用户终端的一个重要的、可移动的组成部分,UICC主要用于存储用户信息、鉴权密钥、短消、付费方式等信息,还可以包括多种逻辑应用,例如用户标识模块(SIM)、通用用户标识模块(USIM)、IP多媒体业务标识模块(ISIM),以及其他如电子签名认证、电子钱包等非电信应用模块。UICC 中的逻辑模块可以单独存在,也可以多个同时存在。不同的3G用户终端可以根据无线接入网络的类型,来选择使用相应的逻辑模块。
在3G用户终端的入网测试中,要求满足UICC的一致性测试要求。UICC的一致性测试包括物理特性、电气特性和传输协议测试等几个方面,其中传输协议测试涉及到对UICC 的文件访问和安全操作。ISO/IEC国际化标准组织制定了一系列的智能卡安全特性协议,以确保3G用户终端对UICC文件的安全访问。
2USIM卡与SIM卡的比较
USIM卡和SIM卡相比有如下特点:
◆相对于SIM卡的单向鉴权(网络鉴权用户),USIM卡鉴权机制采用双向鉴权(除了网络鉴权用户外,用户也鉴权网络),有很高的安全性。
◆于SIM卡电话薄相比,USIM卡电话薄中每个联系人可以对应多个号码或者昵称。
◆相对SIM卡机卡接口速率,USIM卡机卡接口速率大大提高(230kbps)。
◆相对SIM卡对逻辑应用的支持,USIM可以同时支持4个并发逻辑应用。
SIM卡的上下电过程
上电过程:
RST低电平状态->Vcc加电->I/O口处于接收状态->Vpp加电->提供稳定的时钟信号。
关闭过程:
RST低电平状态->CLK低电平状态->Vpp去电->I/O口低电平状态->Vcc去电
GSM网络注册过程中用到的对SIM卡的操作:
1. 手机开机后,从SIM卡中读取IMSI(15Digits)和TMSI(4byte);
2. 手机把IMSI或TMSI发送给网络;
3. 网络检验IMSI或TMSI有效,生成一个128bit的RAND发送给手机。
4. 手机收到RAND后,将RAND发给SIM卡;
5. SIM以里面的Ki为密钥对RAND进行A3 A8算法运算,生成(SRES+Kc);
6. 手机从SIM卡读取(SRES+Kc)(32bit+64bit),并将SRES发给网络;
7. 网络自己进行一次A3 A8运算,如果结果与手机返回的SRES相同,判定用户合法。可以进行后续操作。
3CPU卡
智能卡按照卡内镶嵌芯片的不同,可分为存储器卡、逻辑加密卡、CPU卡。
CPU卡的结构:
首先,非CPU卡,你必须熟悉卡的存储结构,哪里是制造商区,哪里是密码区,哪里是数据控制区,哪里是数据区(应用区)……
而CPU卡,你不必关心数据的地址,却要关注文件系统的结构:主文件(MF,相当于DOS文件系统的根目录)、专用文件(DF,相当于DOS文件系统的目录,可以有多层)、基本文件(EF,相当于DOS文件系统的文件)。
CPU卡的基本文件类型虽然只有透明(二进制)文件、(定长与不定长)线性记录文件和循环记录文件三类,但由于COS内部控制的需要,派生出一些特定的“变种”——复位应答文件、口令文件、密钥文件、DIR文件、SFI文件……
COS中的各文件在智能卡的个人化过程中由发行商(Issuer)根据卡的应用而创建,对卡的用户而言通常是不能对文件进行创建和删除的。但是用户可以根据情况对文件内容进行修改,可以对文件中的记录或数据单元进行增加、删除等操作。
T=0协议以单字节的字符为基本单位,T=1协议则以有一定长度的数据块为传输的基本单位。智能卡的数据端口只有一个,异步半双工,任一时刻,数据端口上最多只能有一方(智能卡或者读写设备)在发送数据。
4.传输协议
目前智能卡采用的信息传输协议一般是T=0协议和T=1协议。
如果说这两类协议的COS在实现功能上有什么不同的话,主要就是在传送管理器的实现上有不同。不过,无论是采用T=0协议还是T=1协议,智能卡在信息交换时使用的都是异步通信模式;而且由于智能卡的数据端口只有一个,此信息交换也只能采用半双工的方式,即在任一时刻,数据端口上最多只能有一方(智能卡或者读写设备)在发送数据。T=0、T=1协议的不同之处在于它们数据传输的单位和格式不一样,T=0协议以单字节的字符为基本单位,T=1协议则以有一定长度的数据块为传输的基本单位。
3.1物理层
T=0 和T=1传输协议都应使用物理层和字符帧
3.2数据链路层
通过I/O 线传输的字符应被植入字符帧,在传输字符帧之前。I/O线被置为状态H。按惯例,字符中的逻辑“1”在I/O线上用状态H表示,“0”在I/O线上用状态L表示一个字符帧含有10个连续的比特:
a)一个比特的起始字位,低电平;
b) 八个比特的数据位;
c) 一个比特的奇偶校验位。
当包含字符帧的校验位在内有偶数个比特被置“1”时,校验位被置位。
时间原点固定在最后一个状态H 和第一个状态L 的中间。起始位存在的核实必须在0.7个etu 之内进行,相继的各位必须在(n+0.5±0.2)etu 区间内被接收。起始位是第1位。
在一个字符帧内,从它的起始位前沿起到第n 位的后沿间的时间是(n ±0.2)etu 。 相连两个字符帧的起始位前沿之间的区间,包括了字符宽度(10±0.2)etu ,加上保护时间。在保护时间内,UICC 卡和终端二者都处于接收方式(I/O 线处于状态H )
H
L 开始奇偶校验 开始 字符宽度 I/O
图 : 字符帧
数据传送时最高位的字节总是最先通过I/O 线。复位应答返回的TS 字节(参见ISO/IEC 7816-3[12])规定了一个字节里比特的顺序(也就是指明该字节是最高位先传输还是最低位先传输)。
T =0传输协议
一种基于半双工异步字符的传输协议。
所有使用T=0协议的命令均由ME 发起,通知UICC 如何做。
所有使用T=0协议的命令都由终端通过发送5个字节的命令头标发起,命令头标告知UICC 该做什么。终端总是处于主导位置而UICC 处于从属位置。并且假定终端和UICC 都知道传输的方向,
所有使用T=0协议的命令都由终端通过发送5个字节的命令头标发起,命令头标告知UICC 该做什么。
命令总是由终端发给UICC ,通过由5个字节组成的命令头标的形式发送一条指令,命令头标由5个连续的字节组成,分别是CLA, INS, P1, P2, 和 P3. 命令头标和随命令一起发送的所有数据一起构成了T=0协议的命令传输协议数据单元(C-TPDU)
终端向UICC 发送命令头标以后就等待一个回送的过程字节。
UICC 接收到命令头后,应该向终端发送一个包含了过程字节的响应。
过程字节用于指示终端下一步的动作。 过程字节用于保持终端和UICC 间的通讯,不应传送到应用层。
这些动作以后,终端应等待进一步的过程字节或状态字。
状态字SW1 SW2在命令结束时指示UICC 的状态,一个正常的命令结束时,SW1 SW2 = '90 00'.
T =1传输协议
通信由ME 向UICC 发送一个块开始。
发送块的权利在ME 和UICC 间交替。
T=1传输协议是异步半双工的块传输协议,当以下情况发生时,协议被初始化: 由冷复位引起的A TR 之后
由热复位引起的A TR 之后
成功的PPS 交换后