Chinaunix首页 | 论坛 | 博客
  • 博客访问: 751166
  • 博文数量: 98
  • 博客积分: 4934
  • 博客等级: 上校
  • 技术积分: 1151
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-12 19:55
文章分类

全部博文(98)

文章存档

2014年(1)

2013年(2)

2012年(4)

2011年(25)

2010年(33)

2009年(33)

分类: 嵌入式

2011-04-29 15:47:18

 
USIM:存储支持鉴权密钥K(是整个UMTS安全体系的核心)。接受参数有:随机数(RAND),鉴权标志参数(AUTN),并计算生成消息鉴权码(XMAC)、响应参数(RES)、完整性保护密钥(IK)、鉴权密钥(CK)。
GSM的SIM卡仅是一种单应用卡,它仅遵循GSM11.11规范(注1),该规范中定义 SIM卡上只能有一个应用,即GSM应用。因此,它不能直接添加额外的应用,而我们平时在使用的移动炒股、移动银行等应用都是通过STK(SIM卡应用工具包)来实现的。要不然,就是需要再在手机当中安装额外的应用卡片来实现其它应用,技术的复杂可想而知。而3G的USIM卡则不存在这种问题,它实现了平台和应用的分离。为此,3GPP组织专门制定了UICC多应用平台规范。USIM应用只是UICC平台上的第一个应用,象以上提到的非电信应用或电信的增值应用其实就可以完全建立在这个平台上,而且每个应用都可以遵循各自的行业规范,如EMV、PBOC、社保规范,无需再安装其它的卡片,这种好处是显而易见的。
  为了实现USIM卡对多应用的支持,除了定义UICC平台外,USIM卡的相关规范中还定义了其它一些变化。
  1. 传输协议和平台特性:除支持T=0外还要求支持T=1;平台可以支持4逻辑通道。
  2. 应用和文件结构:引进了ADF的概念和DIR文件结构。
  3. PIN管理模式:采用通用PIN、应用PIN、本地PIN的分级管理模式。
  4. 命令:各命令参数、状态字的变化;引入短文间标识符(SFI),增加MAMAGE CHANEL命令以支持多逻辑通道。
  这些变化使USIM卡更加符合智能卡ISO 7816规范,从而使多种应用添加在UICC平台上成为可能。
USIM卡并不是只能做单纯的认证功能,事实证明它正在逐步向移动商务平台、乃至最后的多应用平台过渡,在手机上实现电子钱包、电子信用卡、电子票据等其它应用已不再是难事。这一特点使USIM卡成为了不同行业跨领域合作、相互渗透经营的媒介,如银行可以参与电信的经营,反之亦然。
  除能够支持多应用之外,USIM卡还在安全性方面对算法进行了升级,并增加了卡对网络的认证功能,这种双向认证可以有效防止黑客对卡片的攻击。同时,USIM卡的电话簿功能更为强大,最多可存入500个电话号码,并且针对每个电话,用户还可以选择是否录入其它信息,如电子邮件、别名、其它号码等。
关于无线网络GSM--SIM卡体系结构
 
 
第一节   SIM卡系统描述
SIM卡(Subscriber Identity Module)即用户身份模块,除某些特殊情况(例如紧急呼叫),在没有SIM卡时,GSM用户不能接入GSM服务。该模块可以说是GSM用户功能实体,它包含了所有的用户数据,特别是鉴别用户过程和与用户有关的信息。SIM卡应符合ISO7816标准,该标准确定了机电特性和微电路卡功能,常被称为“跳蚤”卡。
在Phase2+中GSM建议定义了一个控制底板,SIM卡能将其联于手机。人们说SIM卡为“前激活”。SIM卡通过与网络发送的短消息相结合,提供了一些重要的能力,即确定了对每个运营者的特殊服务。
第二节   总线拓朴结构
第三节   物理接口
3.1   幅面
人们通过尺寸区别两种形式的SIM卡:大的ID-1型SIM卡和小的plug-in型SIM卡
· ID-1型SIM卡,其尺寸与信用卡一样。它符合规范IOS7810和7811,嵌入和取出这种卡比Plug-in型SIM卡要快。
· Plug-in型SIM卡,其尺寸小。这种卡是手机常用的形式。它在手机中的嵌入和取出不如ID-1型SIM卡那么简单。
“规范”中规定了基站可同时接受ID-1型和Plug-in型两种SIM卡。对手机来说,ID-1型SIM卡在呼叫期是嵌入的,那么它只用到呼叫结束。如果ID-1型SIM卡被取出,则Plug-in型SIM卡可接入使用。最后,在呼叫期间如果取出ID-1型SIM卡,呼叫则自动中断。
3.2 内部结构
SIM卡是围绕着处理器组织的。它包括了几种存储器【44】
·ROM(Read Only Memory),典型容量为16K字节,含有卡的开发系统,算法A3和A8(也可能A38)是专有使用;
·EEPROM(Electricaly Erasable Programmable Read Only),储存多少电话号码取决于卡的EEPROM的容量,典型容量为8K字节,它包含了全部GSM规范定义域和与专有使用有关的数据;
·RAM(Random Access Memory),其容量还可以减小,典型值是数百字节,它包含与专有使用有关的数据。
使用电可编程只读存储器EEPROM的SIM卡能保存手机关机时所存储的信息,并在必要时提取这些信息。使用者只要保存好SIM卡,即使更换手机仍可按同样身份使用。
·SIM卡是带有微处理器的芯片卡,内有5个模块,每个模块对应一个功能:CPU(8位)、程序存储器ROM(6-16kbit)、工作存储器RAM(128-256kbit)、数据存储器EEPROM(2-8kbit)和串行通信单元,这5个模块集成在一块集成电路中。SIM卡在与手机连接时,最少需要5个连接线:
*电源(Vcc)
*时钟(CLK)
*数据I/Q口(Data)
*复位(RST)
*接地端(GND)
·电源开关时,SIM卡电气性能为:当开启电源期间,按以下次序激活各触点:RST低电平状态;Vcc加电;I/O口处于接收状态;Vpp加电;提供稳定的时钟信号。当关闭电源时,按如下次序工作:RST低电平状态;CLK低电平状态;Vpp去电;I/O口低电平状态;Vcc掉电。
第四节   电   源
l          供电电压Vcc
SIM卡的供电电压应该如下表所示:
标识
最小
最大
单位
Vcc
4.5
5.5
V
Icc
 
10
mA
SIM卡所消耗的电压不能超过上表所示的电压范围。
当SIM卡处在IDLE状态时,所消耗的电流不能超过 200 µA(条件:1 MHz 、25°C),
l          REST(RST)
手机在操作SIM卡时候RST电压范围如下表:
标识
条件
最小
最大
VOH
IOHmax = +20 µA
Vcc-0,7
Vcc (note)
VOL
IOLmax = -200 µA
0V (note)
0,6V
tR tF
Cout = Cin = 30 pF
 
400 µs
NOTE: To allow for overshoot the voltage on RST shall remain
between -0,3 V and Vcc+0,3 V during dynamic operation.
一个卡有8个电接点,其中只有5个用于GSM phase2   阶段(对于ISO卡有6个用于phase1)。SIM卡由手机供电,电压范围位4.5至5V。在正常工作状态耗电约10mA,在守候状态下总耗电不会超过 200mA(带1MHz时钟)。为了减少耗电,新开发的卡用3V供电。最终5V卡被淘汰。
时钟信号是由手机提供的;频率在1MHz至5MHz之间,典型值时3.579545MHz。一个接点可以在终端和SIM卡之间交换数据,速率时时钟频率的1/372即典型值位9.6kb/s。在phase2+中,速率将大大提高,在初始化期间可以选择。
插脚可以通过手机使SIM卡初始化。在输入输出插角上,手机可以同时发送卡的结构。手机和卡遵循一定的会话协议交流消息,不同的协议事实上对于卡来说是标准化了,多种特性和字符相混杂是比较少见和复杂的,方向是模块化。
第五节   总线协议
5.1交流协议
手机和SIM卡交流数据遵循ISO7816-3规范的“T=0”协议,它定义了一批SIM卡。这是一个简单的协议,它采用了带错误检测的字符异步发送,在出错时,借助于偶数位并立即重复。
会话总是发生在手机初始化时。最后发出命令,SIM卡回复这些命令。
一条命令占开头5个字节,
·指令级别CLA确定了应用类型(A0值在GSM中是十六进制);
·域INS给出指令;
·域P1和P2,必要时用来确定指令参数;
·域P3,给出长度、命令长度,或待回复长度。
数据域可能在命令中表示。
回复包含在尾部两个字节SW1和SW2(Status Word)中,它指示命令的成败。如果命令不包括它们的话,也可能在数据域前面。码SW1一般值在90和9F之间(十六进制,90意味着正结算),或60 和6F之间,后者指出应用中的问题。在拒绝执行命令的情况下,码SW2一般确定原因(例如CHV未复原)。
最靠左的字节总是首先发送。
用“T=0”交流协议时,在两个方向上用一个回复命令是不行的。为了避免这个缺陷,定义了一个特别的命令EGT RESPONSE。终端首先发出带接入数据的命令;卡通过SW1和SW2运行,SW1取值9F,SW2给出要发送的数据长度,然后终端发出命令GET RESPONSE,但无数据,从而使卡能发出其数据。
5.2安全特性
SIM卡内有一定数量的安全字符。作为“跳蚤”卡,它具有一个密钥集,用以保障不同介入者的个性安全(制造商、运营者……)。SIM卡还有密钥和GSM专用的验证算法,它用了4至8个数字密码,称之为CHV1和CHV2。
CHV1码(Card Holder Verififccation1)用于用户身份。它常常在GSM的Phase1中使用,以个人身份码PIN(Personal Identity Number)来表示。一个有缺陷的码在服务预订期内由供应商负责。这个码可由使用者修改,使用者可以决定使用或者不使用CHV1功能。在CHV1免激活功能不用的情况下,这个码在每次插入SIM卡或每次加电时要为用户申请。
CHV2码(在Phase1中称为PIN2)指出了身份的附加部分,例如运营公司方面的信息。如果网络运营者需要的话,他就可以使用CHV2码。这个码具有CHV1码相同的特征,但不能免激活。在CHV1和CHV2之间不存在任何等级关系。使用CHV1只授予了关于这个码的功能,而不授予关于CHV2的功能,反之亦然。
当使用者引入了一定次数的错码时,CHV(CHV1或CHV2)被阻塞。阻塞就是把SIM卡置于禁止手机有任何激活的状态。只有通过CHV解阻塞密钥才可能解除CHV的阻塞。CHV1和CHV2解阻塞密钥有8个数字,在Phase1中称为个人身份码解锁密钥PUK(PIN Unblocking Key),在Phase2中称为解锁CHV。如果有一个错码进入,将给用户一个指示。在10次失败后,解阻塞密钥在回路内封锁,即使连续试验,手机也处于关机状态。这样卡就完全无用了。
   5.3   稳定性
5.4 差错控制
在收到ATR(Answer to Reset)指令后,那些不遵循协议的信号,比如ATR强制信号或所传输的字节太少,手机都将会执行复位,除非在手机接收到至少连续三个错误的ATR指令后,手机才不会拒绝同SIM卡通信。
第六节   系统配置
命令集
1. 数据接入指令
好几个命令建立了SIM卡的开发系统:
·SELECT,它允许选择标有字头的文件,然后SIM卡在收到GET RESPONSE中指出所选文件的状态(它可能是一个目录);
·STATUS,用它可以获得选用的通用文件的状态,这个中性命令为手机用来周期性查询激活前的SIM卡,以便知道SIM卡是否要发出某个命令;
·READ BINARY和READ RECORD,由SIM卡分别激励文件中记录的字节组发送;
·UPDATE BINARY和UPDATE RECORD,分别修改字节或通用文件中的记录;
·SEEK,搜索所选通用文件中的某字节序列(仅对于不透明文件);
·INCREASE,可以周期性给初始文件加一些记录。
2. 与安全有关的指令
好几个命令可以管理不同的通行字:
·VERIFY CHV,CHV1/2的检验(检验用户号码CHV1/运营者号码CHV2);
·CHANGE CHV,修改CHV1/2;
·DISABLE CHV,去激活CHV1;
·ENABLE CHV,重新激活CHV1;
·UNBLOCK CHV,释放CHV1/2。
有以下几个指令管理着附加安全功能:
·INVALIDATE,取消某类文件,这类文件对READ命令而言已不值一读了;
·REHABILITATE,恢复一个文件;
·RUN GSM ALGORITHM,执行算法A3。
3. 与会话有关的指令
“T=0”协议是十分有限的,命令总是由终端引入的,而且不能双向交流数据。为了避免这些缺陷,定义和使用了好几条指令,特别针对激活前的SIM卡:
·GET RESPONSE,询问包含有接入参数的前一命令的结果。这个命令是在9FXX完整回复后被使用,例如在SELECT、INCREASE、SEEK和RUN GSM ALGORITHM;
·ENVELOPE,在激活前的SIM卡中转移SIM卡应用数据(见12.5节);
·FETCH,询问SIM卡,以便它转移SIM应用命令;
·TERMINAL RESPONSE,转移终端回复给SIM卡发出的预激活命令;
·TERMINAL PROFILE,给SIM卡发送由终端支持的功能,引导SIM卡应用。
l          预激活SIM卡
当在一个GSM手机上可以引入激活时,这个SIM卡被叫做预激活。一个命令集在建议11.14中被确定,并且在SIM卡应用项中被重新编组。
1   预激活命令交换的一般原则
     尽管预激活SIM卡能引入激活,但它总是停留在“T=0”协议方向的手机命令上。当SIM卡想发送一个预激活命令时,它就通过91(十六进制)位置的SW1字节标记它,任何命令的正回复均如此。
SIM卡发的预激活命令总是被包装于“T=0”协议层的回复中。这些回复由手机发送 FETCH命令后随即发送。通过TERMINAL RESPONSE“T=0”命令,手机回复了SIM卡的各种命令,在TERMINAL RESPDNSE命令中,它放置了必要的数据,或者指出命令失败。手机保持有规律地查询SIM卡,为了知道它是否联动激活,可以使用命令STATUS。
若干预激活命令引入会话中
·MORE TIME,使SIM卡在处理时间需要特别长时可以申请更多的时间,在手机激活引起错误时,SIM卡也可申请更多的时间;
·POLL INTERVAL,可调整两个STATUS命令之间的最大间隔,STATUS命令是在守候状态由手机发出的;
·POLL OFF,取消先发出的所有POLL INTERVAL命令;
·REFRESH,允许SIM卡指出在应用过程中形状的可能变化。
2   向SIM卡转移短消息
由于有短消息,所以网络可以与SIM卡会话。之所以短消息可以由网络向SIM卡转移,是由于在传输层TL上有一个专用身份鉴别器。手机收到短消息后并不显示它,而是直接打包在预激活命令SMS-PP DOWNLOAD中发给SIM卡命令本身被打包于SIM命令ENVELOPE中。SIM卡执行完命令(正向或负向),手机发出一个消息RP-ACK(正或负)给网络。
短消息同样能够通过网络传送给在小区中的用户SIM卡。过程于点免计费发送相类似。
3   用卡发送预激活命令
SIM卡可以激活通信服务。
在预激活命令SET UP CALL条件下可建立呼叫(或在手机未通信情况下单位建立,或正在通信处于等待状态,或者中断后建立)、发送短消息和发送附加业务命令。
好几个预激活命令允许SIM卡用屏幕和手机键盘来管理人机会话。SIM卡可以传送160字符以下的短文并显示于手机屏幕上,显示可以是短暂的,也可以一直显示到用户自行删去;SIM卡同样也可以要求手机发出一定的音调,显示一个短文和置于字符显示等待状态,字符可以是纯数字的,也可以是字母数字混合的,还可以是字符串。
SIM卡同样能够通过预激活命令SET UP MENU向手机传送一个菜单和短文,供选项用。该菜单被手机纳入菜单集。当用户在菜单中作了一个有效的选择时,手机发出一个命令ENVELOPE,该命令包含一个信息单元MENU SELECTION,它确定了选择。SIM卡启动于预激活阶段并着手合适的激活。
由于呼叫控制服务,在SIM卡的控制下安排呼叫集合是可能的。手机应该在释放呼叫前有步骤地通知SIM卡,手机发出一个预激活命令CALL CONTROL(包装于ENVELOPE命令中),它确定了被号码和支持的服务类型(等效于信息单元BEARER CAPABILITY)。SIM卡应答,若呼叫被接受,应答为正,若指示号码更换或服务类型不同,应答为负。手机应该与SIM卡的回复相一致。附加业务的使用者可用相同方式激励SIM卡,SIM卡给出或不同意所要求的服务。这样的功能允许考虑实现一种预付费SIM卡,当卡内不再有存款时,所有呼叫被禁止。
最后,SIM卡还可以向终端咨询本地信息,像所选的网络(移动业务国家号码MCC和移动网编码MNC)、定位和小区指示以及手机的IMEI。这些数据在预激活SIM卡中的应用程序,应该是必要的。
第七节   数据流类型
7.1   SIM卡数据的一般构成
存储器的内部组成由SIM卡生产者来确定,不是由“规范”确定的。然而,外观数据结构采取经营系统典型的分级树形结构。安全命令在接入方法和结构中均予以考虑。
树根总是由主卡MF(Master File)组成,MF可以包括子卡EF(Elementary File)或专用卡DF(Dedicated File)。DF卡就是目录索引,它本身可以包括其他的DF卡或EF卡。
整个卡片首先在2个字节上形成鉴别和附加信息,它附和由卡片制造者选择的插入信息。第1个鉴别字节决定了卡片的类型(MF、DF、MF派生的EF),第2个字节确定了范围内的联接方式。卡片EF包括了起始和内容。这内容可能就是一个记录,记录的长度在起始中指示,或者是同样长度的记录的集合(记录数量和长度均在起始中确定)。在循环卡片中,与线性卡片比较,后一个记录冲掉了较前的记录(即前一个记录或最前的记录)。
每一个卡片联着一个接入等级,条件是输入一个通行字,这样能保护读写数据。
数据通道通过定点实现,在SIM卡的初始化中,定点在主目录中。通过一套控制,手机能够改变定点值,同时保留原有等级,也可以下降或提升等级。当在基本EF卡片上定点时,可以通过移位来读或写一个特殊的记录,也可以直接指示卡片的序列号码。另外的插入可能性也存在,例如用好几个点取代一个定点。
7.2   SIM卡的数据结构
SIM卡的根目录MF包含EF、卡片中的序列号、与通信服务有关信息编组目录(缩位号码表、最后合成号码、收或发的最后一个短消息等)以及与GSM有关的数据目录(IMSI、优先语言、优先序列的PLMN网表、定位范围等)。
在SIM卡中存储的数据有不同的接入权限。可分为5个接入等级:
·ALW(always),数据可通行,即使没有任何通行字输入;
·CHV1,数据可通行,条件时通行字被免激活或者SIM卡中有通行字;
·CHV2,数据可通行,条件时通行字CHV2在SIM卡中;
·ADM,数据可通行,已建立一套卡片的管理实体,也就是GSM运营者;
·NEV,数据从未读出。
对SIM卡而言,四种接入类型都是可能的:阅读、修改、作废、复原。对每套卡片,每种类型都确定了接入等级。阅读和修改类型的接入等级是不同的。像SIM卡的序列号,总是必读的(ALW级别),但决不会修改(NEV级别)。作废时允许卡片接入(读或写),复原即恢复通道。
一般来说,为了阅读接入卡片都有CHV1级别,作废和复原级别都是ADM。写通道少应有内容的数据类型。
7.3   在SIM 卡中存储的信息表
1. 安全数据
SIM卡中有安全数据和计数装置。然而,它们没有包括在12.3.2节所介绍的卡片结构中,因为READ/WRITE类型(见12.4.3节)的输入输出命令不能让它们接入。
这些数据如下:
·CHV1用户个人通行字;
·CHV1的激活或免激活指针;
·CHV1的错误计数;
·CHV1的解锁密钥;
·解锁密钥的错误计数;
·Ki,用户鉴权密钥。
2. GSM目录的强制性数据
在根目录中,SIM卡的身份鉴别IC符合ITU-T的E.118建议。有关SIM卡的序列号时鉴别服务提供者的,此域不可修改。
好几个文件应强制性存在与GSM目录中,并应由SIM卡管理。下述文件明确了接续的结构,并且只有在ADM级别上(即运营者)才能修改。
·管理信息,该参数允许好几个移动运算形式。例如运营者可以做一些网络测试用的SIM卡;
·SIM卡GSM阶段的识别(Phase1,Phase2或Phase2+);
·IMSI,用户身份的国际同一性;
·接入控制级别,该参数可以限制用户的接入(即在RACH信道上发出申请),可限制在原始国内、原始网内或给他授权的范围内;
·命名网络的搜寻周期,该值用分钟表示,当手机漫游到原始国之外时,该值用来强制手机周期性地返回其命名网络;
·SIM服务表,指示由中继授权选择地功能并由使用者激活。
下面的文件记录了手机使用中最近发生的情况,一旦使用者进入了CHV1码,通过终端可修改以下数据。
·定位信息,该记录包括TMSI、LAI、当日周期性定位记时和当日状态;
·频率表,当手机选择一个小区时,优先在表中寻找信标频道。该频率表包括有常有小区的相邻小区的信标频道,从而减少了搜寻时间;
·四个网络表,是最近试图登录和被拒绝登录的网络表;
·密钥Kc和密钥号码;
后一个文件允许存储一个优先语言表,该表在人机界面上由用户选用。这个文件使移动终端可以在用户语言上自动显示于屏幕。用户可以改变有缺陷的语言。
3. GSM目录的可选性数据
有些数据可存储于SIM卡中,但不是强制性的,它们是:
·PLMN网络选择器,在优先级递减顺序中优先PLMN网络表(用户可修改);
·短消息类型,手机可收到的短消息;
·运营商名(仅由管理模块修改)。
好几个文件与收费通知单的附加业务有联系,如单位计数器、单价表、等。另一些文件被引入phase2阶段,以便对企业网络提供专门服务,也就是确定用户组合的可能性。
4.   电信目录的可选性数据
一定数量的数据与电信服务相联系或组合在电信目录中。
下列文件记录了在用户终端上新近活动或它选择的结构。它们均可在CHV1平台上修改。
·最近的被叫号码;
·缩位号码表和附加业务控制表;
·结构、容量参数,它给出了支持服务所必须的容量;
·MSISDN号码(该号码手机不能使用但能帮助掩盖用户存储的漏洞)。
好几个文件与短消息相连。事实上SIM卡存储着短消息(甚至指定手机而不专门指定卡),这些短消息由手机接收或是要发向网络。一个文件最多包括一个参数表,该表可以帮助使用者发送短消息,例如常用的SC服务器地址。
在号码资源有限时限制GSM手机的接入时可能的(例如在一个企业网中),一个基本的文件包含号码表;只有在CHV2平台上才可以修改。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cancer1617/archive/2009/07/20/4364444.aspx
阅读(3221) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~