GSM11-11中文版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GSM11.11通信协议
前言 (4)
1、范围 (4)
2、标准参考 (5)
3、定义与缩写 (5)
3.1、定义 (5)
3.2、缩写 (5)
4、物理特性 (7)
4.1、格式与布局 (7)
4.2、温度范围与卡操作 (7)
4.3、触点 (7)
4.4、优先级 (8)
4.5、噪声保护 (8)
5、电气信号与传输协议 (8)
5.1、供应电压VCC(触点C1) (8)
5.2、复位RST(触点C2) (8)
5.3、可编程电压VPP(触点C6) (8)
5.4、时钟CLK(触点C3) (8)
5.5、I/O口(触点C7) (9)
5.6、状态值 (9)
5.7、波特率 (9)
5.8、复位应答(ATR) (9)
5.8.1、结构与相关内容 (9)
5.8.2、协议类型选择处理 (10)
5.9.3、提高速度 (11)
5.9、位/字符持续时间与采样周期 (12)
5.10、错误处理 (12)
6、逻辑模块 (12)
6.1、概况 (12)
6.2、文件ID (12)
6.3、专用文件 (13)
6.4、基本文件 (13)
6.4.1、透明(结构清晰)的基本文件(EF) (13)
6.4.2、线性固定的基本文件(EF) (13)
6.4.3、循环结构的基本文件(EF) (13)
6.5、选择文件的方法 (14)
6.6、预留的文件ID (14)
7、安全特性 (15)
7.1、鉴别与密钥产生程序 (15)
7.2、运算与处理 (15)
7.3、文件访问条件 (15)
8、功能描述 (16)
8.1、选择(select) (16)
8.2、状态(status) (17)
8.3、读二进制文件(对于透明的EF) (17)
8.4、更新二进制文件(对于透明的EF) (17)
8.5、读记录(对于线性的EF或循环结构的EF) (17)
8.6、更新记录(对于线性的EF或循环结构的EF) (18)
8.7、定位(Seek) (18)
8.8、增长(Increase) (18)
8.9、验证持卡者鉴别信息(CHV) (19)
8.10、修改CHV (19)
8.11、Disable CHV (19)
8.12、Enable CHV (19)
8.13、Unblock CHV (19)
8.14、使无效(Invalidate) (19)
8.15、使恢复(Rehabilitate) (20)
8.16、GSM运算 (20)
8.17、休眠(Sleep) (20)
9、命令描述 (20)
9.1、映射原理 (20)
9.2、命令的编码 (21)
9.2.1、SELECT (22)
9.2.2、STATUS (24)
9.2.3、READ BINARY (24)
9.2.4、UPDATE BINARY (24)
9.2.5、READ RECORD (24)
9.2.6、UPDATE RECORD (25)
9.2.7、SEEK (25)
9.2.8、INCREASE (25)
9.2.9、VERIFY CHV (26)
9.2.10、CHANGE CHV (26)
9.2.11、DISABLE CHV (26)
9.2.12、ENABLE CHV (26)
9.2.13、UNBLOCK CHV (26)
9.2.14、INV ALIDATE (26)
9.2.15、REHABILITATE (27)
9.2.16、GSM运算 (27)
9.2.17、SLEEP (27)
9.2.18、GET RESPONSE (27)
9.3、编码详细说明 (27)
9.4、卡返回的状态条件 (28)
9.4.1、命令执行以后的返回 (28)
9.4.2、Memory管理 (28)
9.4.3、参考管理 (29)
9.4.5、应用相关的错误 (29)
9.4.6、命令相应的返回状态 (29)
10、基本文件(EF)的内容 (30)
10.1、MF级EF内容 (30)
10.2、GSM应用级的文件内容 (31)
10.2.1、EFLP(语言选择) (31)
10.2.2、EFIMSI(国际移动客户身份) (32)
10.2.3、EFKC(密钥计算) (32)
10.2.4、EFPLMNSEL(公共移动网络选择) (33)
10.2.5、EFHPLMN(移动网络搜索) (33)
10.2.6、EFACMMAX(ACM最大值) (34)
10.2.7、EFSST(SIM服务表) (34)
10.2.8、EFACM (35)
10.2.9、EFGID1(组识别器级别1) (36)
10.2.10、EFGID2(组识别器级别2) (36)
10.2.11、EFSPN(运营商名称) (36)
10.2.12、EFPUCT(单位价钱与价格表) (37)
10.2.13、EFCBMI(蜂窝广播信息与识别符选择) (37)
10.2.14、EFBCCH(广播控制通道) (38)
10.2.15、EFACC(访问控制类别) (38)
10.2.16、EFFPLMN(移动网络禁止信息) (39)
10.2.17、EFLOCI(位置信息) (39)
10.2.18、EFAD(管理的数据) (40)
10.2.19、EFPHASE(阶段鉴别) (41)
10.3、电信级的文件内容 (41)
10.3.1、EFADN(缩写拨号) (41)
10.3.2、EFFDN(固定拨号) (43)
10.3.3、EFSMS(短消息) (44)
10.3.4、EFCCP(配置参数容量) (44)
10.3.5、EFMSISDN(移动基站国际ISDN号码) (45)
10.3.6、EFSMSP(短消息服务参数) (45)
10.3.7、EFSMSS(短消息状态) (46)
10.3.8、EFLND(最近拨号号码) (47)
10.3.9、EFEXT1(扩展1) (47)
10.3.10、EFEXT2(扩展2) (48)
10.4、GSM文件 (49)
11、应用协议 (50)
11.1、一般程序 (51)
11.1.1、读一个EF (51)
11.1.2、更新一个EF (51)
11.1.3、增加一个EF (51)
11.2、SIM管理程序 (51)
11.2.1、SIM初始化 (51)
11.2.3、语言选择 (52)
11.2.4、管理信息请求 (52)
11.2.5、SIM服务表请求 (52)
11.2.6、SIM阶段请求 (52)
11.2.7、SIM检测 (52)
11.3、CHV相关程序 (53)
11.3.1、CHV验证 (53)
11.3.2、CHV值替换 (53)
11.3.3、CHV disabling (53)
11.3.4、CHV enabling (53)
11.3.5、CHV unblocking (53)
11.4、GSM安全相关程序 (53)
11.4.1、GSM运算法则计算 (53)
11.4.2、IMSI(移动用户身份识别)请求 (54)
11.4.3、访问控制请求 (54)
11.4.4、HPLMN(本地移动网络)搜索期间请求 (54)
11.4.5、位置信息 (54)
11.4.6、密钥 (54)
11.4.7、BCCH(广播控制通道)信息 (54)
11.4.8、禁止PLMN (54)
11.5、订阅相关程序 (54)
11.5.1、拨号 (54)
11.5.2、短消息 (55)
11.5.3、付款通知 (55)
11.5.4、配置参数容量 (55)
11.5.5、PLMN选择器 (55)
11.5.6、蜂窝广播识别符 (55)
11.5.7、分组识别符级别1 (55)
11.5.8、分组识别符级别2 (55)
11.5.9、运营商名称 (55)
前言
欧洲电信标准协会(ETSI)的移动集团(SMG)技术委员会(TC)产生了这个全球移动通信系统技术规格。
这个技术规格定义了用户身份单元(SIM)与移动设备(ME)在网络运行阶段2/2+之间的接口。
这是电信部门批准的GSM版本5技术规格,其中包括GSM第2阶段增强+/4版的特色GSM技术规格。
GTS提交给TC-SMG的内容必须在TC-SMG允许的情况下才能更改。
修改后的内容必须有一个确认的版本释放日期与相关的版本号。
一、应用范围
GTS定义了在网络运行阶段SIM与移动设备之间的接口。
这确保了相应设备商的移动设备与运营商的SIM之间相互独立。
这可以把网络操作阶段与管理阶段在技术上把它分开。
GTS的定义如下:
1、SIM的物理特性请求,电气信号与传输协议。
2、SIM逻辑结构设计模块。
3、安全特性。
4、接口功能。
5、命令。
6、GSM应用请求的文件内容。
7、应用协议。
二、标准参考
GTS写明了参考出版物日期与范围,这些标准参考了其它地方列出的文本和出版物。
三、定义与缩写
1、名词定义
GTS提供如下的定义,进一步的资料请参考TS GSM 01.02[1]。
访问条件:跟文件相关的一套安全属性。
应用:有一套安全机制、文件、数据与协议组成的一个应用。
应用协议:应用所需的一套程序。
卡会话(card session):卡与外部的联系,由ATR开始,由后来的复位或卡Deactivate来结束。
当前目录:最后选择的MF或DF。
当前基本文件:最后选择的EF。
数据域(data field):EF的有效期限。
专用文件(DF):包含访问条件、可选的EF或另外DF的文件。
文件:SIM上的一个目录或一组有组织的字节或记录。
文件识别符:SIM中一个文件的地址,占2个字节。
GSM或DCS 1800应用:由安全机制、文件、数据与GSM或DCS1800协议组成。
GSM 会话:卡会话的GSM操作部分。
MF:唯一的管理文件,它包含访问条件与一些可选的EF或DF。
Padding:一个消息的一个或多个附加位,使消息包含请求号。
嵌入卡:目前使用的SIM卡。
记录:EF处理实体内的一个字符串或字节。
记录号:EF文件内识别一个记录的号码。
记录指针:EF文件内一条记录的地址指针。
根目录:MF(主文件)。
2、缩写
GTS提供了如下的一些缩写,其它的缩写请参考GSM01.04[2]。
A3:运算法则3,一种鉴别运算,用于鉴别用户。
A5:运算法则5,加密算法,用来加/解密数据。
A8:运算法则8,密钥产生器,用来产生密钥。
A38:完成A3与A8功能的简单算法。
ACM:Accumulated Call Meter
AND:简短拨号。
ADM:EF创建者访问条件。
ALW:Always
AoC:Advice of Charge(付款通知)。
APDU:应用协议数据单元。
ATR:复位应答。
BCCH:广播控制通道。
BCD:二进制编码的十进制。
BTS:发射基站。
CB:蜂窝广播。
CBMI:蜂窝广播识别符。
CCITT:国际电话与电报顾问委员会。
CCP:配置参数容量。
CHV:持卡者鉴别信息,SIM鉴别用户身份的访问条件。
CLA:Class。
DCS:数据蜂窝系统。
DF:专用文件。
DTMF:Dual Tone Multiple Frequency
EF:基本文件。
ETSI:欧洲电信标准委员会。
ETU:基本时间周期。
FDN:固定的拨号号码。
GSM:全球移动通信系统。
HPLMN:本地移动网络。
ICC:集成电路卡。
IEC:国际电子委员会。
IMSI:国际移动用户身份。
KC:密钥,A5用到。
KI:用户鉴别码,A3、A8有用。
LAI:本地信息。
Lgth:数据单元的长度。
LND:最后拨号号码。
LSB:最小的有效位。
MCC:移动国家编号。
ME:移动终端。
MF:主文件。
MNC:移动网络编号。
MS:移动基站。
MSISDN:移动基站国际ISDN号码。
MSB:最大的有效位。
NEV:Never。
NPI:标识符的计划编号。
PIN:个人识别码。
PLMN:公共移动网络。
PTS:协议类型选择。
PUK:PIN解锁码。
RAND:网络发出的一个随机数。
RFU:将来使用的保留值。
SRES:SIM计算的信号返回。
SSC:辅助的服务控制字符串。
SW1/SW2:状态字1/状态字2。
TMSI:临时的移动用户身份。
TON:号码类型。
TP:传输层协议。
TS:技术规格。
VPLMN:可访问的移动网络。
四、物理特性
SIM有2种物理类型,一种是TD-1 SIM,另一种是Plug-in SIM。
SIM 的两种类型的物理特性符合ISO 7816-1,2。
下面需要一些附加的需求来保证GSM运作环境的正确性。
1、格式与布局
2种SIM的表面至少应该包含独立的识别符计数器与IC卡识别信息的数
字校验。
Plug-in 卡,这种卡宽25MM,高15MM。
2、卡操作的温度范围
全速操作的温度范围一般在-25度到+70度,偶尔峰值会达到+85度,“偶
尔”意味着每次不会超过4小时,在卡的有效期内不会超过100次。
3、触点
(1)、提供的触点
移动终端:C4、C8没有用到,Plug-in SIM没有用C6。
SIM:同样也没有用到C4、C8,除了VPP以外,C6没有其它功能。
(2)、激活与失效
移动终端可以根据ISO/IEC 6816-3[25]中定义的操作流程来连接、激活或使失效SIM卡。
在任意电压级别,软件下拉以后可以监控激活或使失效的次序,必须考虑激活/使失效的顺序。
注意1:软件电源切换在TS GSM 02.07[3]中定义。
如果SIM时钟已经停止并且不会从新开始,允许移动终端在VCC 变为低电平之前提供所有低电平信号,以任何的顺序使所有触点失效。
如果SIM已经停止,并且在失效之前从新开始,5.4节中会定义这种失
效次序。
当VPP连到VCC时(GSM允许这样),VPP将由VCC在它激活或无效时来激活或使之失效。
GSM使用的VCC在ISO/IEC 7816-3[25]定义中可以有不同的级别,它的值在4.5V与5.5V之间有效。
(3)、非活动触点
当移动终端的连接电源关掉以后,移动终端的C1、C2、C3、C6、
C7触点的对地(C5)的参考电压为0至+-0.4V之间。
当调节C2、C3、C6、C7电压时,调节设备必须有一个50K欧的电阻,调节C1电压时必须有
10K的电阻。
(4)、触点压力
触点的机械压力必须足够大以确保触点的可靠性与连续性。
触点的曲率半径必须大于等于0.8MM。
4、优先级
对于接受ID-1 SIM与Plug-in SIM卡的移动终端来说,它首先接管ID-1 SIM。
5、噪声保护
考虑到SIM是一个CMOS设备,移动终端厂商应该采取足够的防卫措施(除了SIM内部的保护二极管)来保护移动终端、SIM与终端与SIM
的接口,以免噪声干扰,特别是SIM插入终端期间。
五、电子信号与传输协议
除非有其它的定义,否则电子信号与传输协议必须符合ISO/IEC 7816-3[25]。
SIM与移动终端用于通信的所选的传输协议必须至少包含ISO/IEC 7816-3[25]中描述的T=0通信协议。
1、供应电压VCC(触点C1)
SIM应该在如下限制范围内操作
VCC 最大值:5.5V 最小值:4.5V
ICC 最大值:10MA
在符合SIM卡的任何频率下SIM的电流消耗都不能超过上面的值。
在1MHZ与25度环境下当SIM处于IDLE状态时电流消耗不应超过
200UA。
移动终端必须提供上面定义的要求的最大电流。
在不超过400NS期间与最多200MA的振幅状态下,当卡达到最高的负荷电流40NAS是,
它应该能够抵消这些电流消耗。
注:一个可能的解决方法是在尽可能靠近触点的旁边放一个100UF 的电容。
2、复位RST(触点C2)
一般的操作条件下RST的电气特性如下:
VOH:条件:IOHMAX=+20UA 最小值:VCC-0.7V 最大值:VCC
VOL:条件:IOLMAX=-200UA 最小值:0V 最大值:0.6V
TRTF:条件:COUT=CIN=30PF 最大值:400US
3、可编程电压VPP(触点C6)
SIM不要求可编程电压VPP,移动终端不必提供触点C6。
如果移动终端有触点C6,触点C6应该连到VCC,而不能接到地(触点C5)。
4、时钟CLK(触点C3)
SIM应该支持1到5MHZ,时钟由移动终端来提供,SIM没有内部时钟。
如果在分配的时间内运行鉴别程序,SIM需要一个13/4MHZ的频率,目录特性的第一个字节的第2位必须置为1,否则,使用一个最小的频率13/8MHZ。
CLK在一般操作条件下的电气特性:
VOH:条件:IOHMAX=+20UA 最小值:0.7xVCC 最大值:VCC VOL:条件:IOLMAX=-200UA 最小值:0V 最大值:0.5V TrTf:条件:Cout=Cin=30pf 最大值:0.5us的9% 5、I/O(触点C7)
下面定义了I/O的电气特性。
下面的值会受到移动终端上拉电阻或移动终端与SIM的驱动者或接收者阻抗的影响。
VIH:条件:Iihmax=+-20uA 最小值:0.7xVCC 最大值:VCC+0.3V VIL:条件:Iilmax=+1mA 最小值:-0.3V 最大值:0.8V
V oh:条件:Iohmax=+20uA 最小值:3.8V 最大值:VCC
V ol:条件:Iolmax=-1mA 最小值:0V 最大值:0.4V
TrTf:条件:Cout=Cin=30pf 最大值:1uS
6、状态
在共电期间SIM有2种状态:
(1)、当它执行命令时,SIM处于操作状态,这种状态包括发送数据到移
动终端与从移动终端接收数据。
(2)、其它时间都处于IDLE状态,在这种状态下,它所有相关数据。
SIM支持时钟停止模式,时钟只能由目录特性来关闭。
在时钟停止模式,移动终端的阶段2或后面的阶段在收到最后一个反应位关时钟之前应该等待5个时钟周期。
启动时钟之后在发送第一个命令之前至少等待2个时钟周期。
为了完成所有阶段,应该坚持下面的处理:
在成功解析了来自移动终端阶段1的Sleep命令之后,SIM的阶段2或后面阶段应该发送“命令正常结束”的状态信息。
移动终端的阶段2或后面阶段不能发送Sleep命令。
收到Sleep命令的确认SW1 SW2后,在关时钟之前,移动终端的阶段1至少要等待2个时钟周期。
开始时钟后,在发送第一个命令之前,它应该等待2个时钟周期。
7、波特率
所有通信的波特率应该是:(时钟频率)/372。
8、复位应答(ATR)
ATR是卡会话开始时的SIM返回到移动终端的信息,它给出了一些操作请求。
(1)、结构与内容
下面表格给出了ISO/IEC 7816-3 [25]中定义字符的解释与在GSM使用中的要求。
复位应答至少包含33个字符,移动终端除了T=0传输协议以外,应该能够接收接口字符,历史字符与一个检查字节,即使只是T=0。
ATR
最少应该延迟12个ETU。
(2)、PTS(协议类型选择)流程
根据ISO/IEC 7816-3,TA1不等于0X11,则PTS的处理流程如下:
A:移动终端只支持缺省速度的情况(F=372,D=1)
ME --------------------Reset----------------------- SIM
←-----------------------------------------TA1不等与0X11 PTSS=0XFF
PTS0=0 ------------PTS 请求--------------------→
PCK=0XFF
←---------------PTS Response-----------PTSS=0XFF
PTS0=0
PCK=0XFF PTS请求与PTS返回由3个字符PTSS,PTS0与PCK组成,其中首先发送PTSS。
这阶段处理之后,协议T=0,参数F=372,D=1与N=0将被使用。
B:移动终端支持高速的情况(F=512,D=8)
ME --------------------Reset-----------------------→SIM
←-----------------------------------------TA1=0x94
PTSS=0XFF
PTS0=0x10 ------------PTS 请求--------------------→
PTS1=0x94
PCK=0x7B
←---------------PTS Response-----------PTSS=0xFF
PTS0=0x10
PTS1=0x94
PCK=0x7B PTS请求与PTS返回由4个字符PTSS,PTS0,PTS1与PCK组成,其中首先发送PTSS。
这阶段处理之后,协议T=0,参数F=512,D=8与N=0将被使用。
(3)、提供速度
如果要实现高速功能,移动终端与SIM卡除了T=372与D=1外,还要支持F=512与D=8,然而,可能还支持另外一些值,如果移动终端要求PTS使用上面没有提到的值,那么,应该相应的初始化PTS处理过程。
SIM应该支持缺省值(F=372,D=1),如果SIM要支持告诉,那么得强制支持F=512与D=8。
然而,TA1的值还可以指向一个更高的值(F=512,D=16)。
SIM还可以支持缺省值与TA1指向值之间的其它值。
为了保证向后兼容其它的移动终端,SIM应该提供仲裁模式。
在仲裁模式中,如果PTS流程没做初始化,而提供了其它一些ATR参数,SIM将使用缺省值。
移动终端应该支持缺省值(F=273,D=1)。
如果移动终端要支持告诉,同样,也要强制支持F=512,D=8。
它也支持另外一些值。
如果SIM在初始化等待时间内没有应答PTS的请求,移动终端将复位SIM。
在PTS尝试使用F=512与D=8或者TA1所指向的值失败2次后(SIM没有PTS的应答),移动终端将用缺省值来初始化PTS的处理。
如果这种情况还失败,移动终端将使用不需要PTS的默认值来处理。
如果SIM不支持移动终端所请求的值,SIM将用缺省值来返回PTS 的请求。
9、位/字节持续时间与采样周期
位/字节持续时间与采样周期在下一章中定义,对所有的通信都有效。
10、错误处理
ATR之后收到的字符与规格不一致,例如,由于ATR字符禁止,或者传输了太少的字节,移动终端将重新复位。
移动终端收到3个连续的错误的ATR之后将拒绝SIM卡。
在ATR与PTS传输之间,错误检测与字符重复处理对移动终端来说是可选的。
基于T=0,对移动终端来说后面的传输会强制去处理。
对SIM卡来说,错误检测与字符重复处理对所有的通信都是强制的。
六、逻辑模块
本章描述SIM的逻辑模块,相关编码与使用文件的结构。
1、一般描述
下面显示了文件之间存在的一般的结构关系。
这些文件按分等级的结构来组织,并且分为3中类型,文件可以是管理者,或者是一般的应用。
操作系统可以处理存储在不同文件中的数据。
结构有关,它属于文件,通过GET RESPONSE或STATUS命令可以得到。
在管理阶段,这些信息是固定的,主体部分包含了文件的数据。
2、文件ID
一个文件ID用来编址和识别一个定义的文件,文件ID由2个16进制编码格式的字节组成,在第10章有定义。
第一个字节识别文件的类型。
在GSM当中:
0x3F:主文件
0x7F:专用文件
0x2F:主文件中的基本文件
0x6F:专用文件中的基本文件
文件ID应该符合下面的条件:
文件在创建时应该分配一个文件ID。
属于同一个MF或DF下的文件不能有相同ID。
子文件不能与父文件有相同的ID。
所以每个文件应该有一个唯一的ID。
3、专用文件
一个专用文件(DF)由它自己与那些包含这个DF的父节点文件组成(也就是说它由DF与它的子树组成),一个DF只包含一个头。
有2种定义的DF文件:
DFgsm:包含GSM或DCS1800的应用。
DFtelecom:包含电信服务特性。
这2种文件直接属于MF,并且能在多个应用卡中共存。
4、基本文件
一个基本文件(EF)由一个头与一个主体组成。
GSM中用到了下面3种结构的EF。
1、结构清晰的EF
这种EF有一序列字节组成的清晰结构。
当读或更新的时候,字节序列按照相对的地址偏移来进行,这个偏移相对于开始位置,同时记下读或更新的字节数。
这种EF的第一个字节的地址为0x0000,EF的头中会指出主体的总数据长度。
2、线性固定的EF
这种EF由一序列固定相同长度的记录组成,它是固定的线性结构。
第一条记录的记录号是1,一条记录的长度与记录的总数在EF的头中给出。
这种类型的EF中的记录可以用几种方法来访问。
A:完全采用记录号。
B:当没有设置记录指针时,可以通过以第一个记录或最后一个记录
为参考来进行处理。
C:如果设置记录指针,那么可以访问这条记录,同时可以访问它的
上一条(除非记录指针是第一条记录)或下一条记录(除非记录指针是
最后一条记录)。
D:通过模式定位来访问记录。
从文件的开头进行访问,或从记录指针被设置的记录开始进行访问,或从文件的结尾进行访问。
注意1:这种类型的一个文件的记录总数不能超过255,每条记录的字节数也不能超过255。
注意2:这种结构在GSM中必须预先格式化。
3、循环结构的EF
循环文件按时间的新旧顺序来排列存储的记录,当存储器已存满所有的记录,那么下一个存储的数据将覆盖老的信息。
这种文件由一定量的相同固定长度的记录组成,它是一个环形的结构,在这种结构的文件中,最后一条记录与第一条记录是连在一起的。
当记录指针设置为最后一条记录N时,下一条记录便是1。
类似,当记
录指针设置为1时,那它前一条记录便为N。
最新记录记录号是1,最老记录的记录号是N。
对更新操作,只能使用PREVIOUS操作记录,对读操作来说,可以通过NEXT、PREVIOUS、CURRENT与记录号来进行操作。
5、选择一个文件的方法
ATR之后,MF将消消被选择,并且成为当前的目录。
每个文件必须通过SELECT功能通过下面的规则来选择。
选择一个DF或者MF作为当前目录,这步之后还没有当前的EF,选择一个EF为当前EF,并且把当前的DF或MF设为它的父节点。
当前的EF 永远是当前目录的一个子节点。
任意应用定义的命令只能在当前定义的目录下操作。
可以从最后选择的文件中挑选下面的文件:
任意直接属于当前目录中的文件。
任意直接属于当前DF的DF文件。
当前目录的父节点文件。
当前的DF。
MF。
这意味着原则上在选择EF之前应该选择DF,所有的选择都是通过文件ID来进行。
下面给出了GSM应用的逻辑结构,GSM定义了在MF下的DF只有一个级别。
MF EF1
DF1 DF2
EF2 EF3 EF4
下表给出了上图GSM逻辑结构的有效选择,最后选择的文件可以重新选
6、保留的文件ID
除了这个技术规格定义的可使用的文件ID以外,下面的文件ID为将来的GSM使用保留。
专用文件(DF):
管理者用:0x7F4X
操作者使用:0x7F10(DFtelecom),0x7F20(DFgsm),0x7F21(DFdcs1800),
0x7F2X,X从2到F
基本文件(EF)
管理者使用:0x6FXX,这时DF为0x7F4X
0x6F1X,这时DF:0x7F10,0x7F20,0x7F21
0x2F01,0x2FEX,这时MF:0x3F00
操作者使用:0x6F2X,0x6F3X,0x6F4X,这时DF:0x7F10,0x7F2X
0x2F1X,这时MF:0x3F00
七、安全特性
本章给出SIM支持的安全特性的相关信息,它有下面几点:
用户网络身份证明
空中接口数据保密
文件访问条件
1、身份证明与产生密钥过程
本章描述鉴别机制与通过网络来产生密钥。
SIM/移动终端接口的处理规范在11章中说明。
网络发送一个随机号(RAND)到基站(MS),移动终端通过命令RUN GSM ALGORITHM把RAND送给SIM,SIM把SRES与KC的值返回给
移动终端,这2个值是通过下面的算法运算与处理得到的。
移动终端把
SRES发送到网络,网络把这个值与它所计算的SRES值进行比较,比较
的结果得出了验证。
KC的值将被移动终端用来译成密码与网络进行通
信,直到下次重新产生这个值。
这个过程中会用到一个用户证明的KI,KI的长度为128个bit,它保存在SIM卡中用来进行下面的运算。
2、算法程序
SIM所支持的算法的参数与名称在TS GSM 03.20[10]中定义。
它们是:基站到网络的鉴别算法A3。
产生密钥的算法A8。
这些算法可以结合于SIM内,也可以分离于SIM卡。
在2中情况中SIM/移动终端接口的输出是12个字节。
A3、A8或者A38的输入是SIM
内部提供KI(128bit)与绕过SIM/移动终端接口的RAND(128bit)。
输出是
SRES(32bit)与KC(64bit),KC的编码在第9章的命令RUN GSM
ALGORITHM中有定义。
3、文件访问条件
每个文件对具体的命令有它自己的特定访问条件。
最后选择文件的相关访问条件在放生请求之前应该实现。
对每个文件来说:
READ与SEEK命令的访问条件是相同的。
命令SELECT与STATUS的访问是always
Always:毫无条件地执行
CHV1(持卡者验证):如果符合下面3个条件之一则执行。
在当前会话过程中,已经发送一个正确的CHV1值到SIM;
CHV1 Disable/Enable状态被设置为Disable;
在当前会话过程中已经成功地UNBLOCK CHV1;
CHV2:如果符合下面2个条件之一则执行。
在当前会话过程中,已经发送一个正确的CHV2值到SIM;
在当前会话过程中已经成功地UNBLOCK CHV2;
ADM:这个级别的请求根据相关的优先级来执行。
Never:在SIM/移动终端接口之间不会被执行,在SIM内部可以被执行。
条件级别不分等级,例如,CHV2恰当的表达不允许去请求CHV1。
移动终端通过使用命令STATUS的返回来检查CHV2是否有效,如果CHV2没有被初始化,那么CHV2命令,比如VERIFY CHV2将不会
被执行。
八、功能描述
本章给出命令的功能性描述与它们的各自的响应,相关的状态条件错误码与它们的相应编码在第9章中定义。
所有的卡应该符合这个标准,支持标准中所描述的所有功能。
第9章中定义的协议T=0需要命令GET RESPONSE。
下表列出了文件的类型与结构,在GSM会话期间会用到这些功能,这些用*号指出。
1、SELECT
这个功能根据第6章的所描述的方法来选择文件。
成功选择之后,线性
固定文件的记录指针不会被定义。
在循环文件中,文件记录被更新或增
加之后,记录指针将被编址。
输入:文件ID
输出:如果选择的文件是MF或者是DF,返回的是文件ID,总的有效内存空间,CHV有效或无效状态,与另外一些GSM数据。
如果选择的文件是EF,返回文件ID,文件大小,访问条件,是否有效的标志,EF文件结构,如果是文件是线性文件或循环文件则还有记录的长度。
2、STATUS
这个功能返回与当前目录相关的信息,当前EF不会受到STATUS功能的影响。
输入:没有。
输出:文件ID,总的有效内存容量,CHV是否有效的标志,CHV 状态与其它一些与GSM有关的数据。
3、READ BINARY
这个功能从当前清晰结构的EF中读取一个字符串,只有EF文件的读条件满足以后才会执行。
输入:相对地址与字符串长度。
输出:得到的字符串。
4、UPDATE BINARY
这个功能通过一个字符串来更新当前的清晰结构的EF文件,只有更新访问条件满足以后才会执行。
更新可以看作是更新命令把新的字符串替换一个已存在的字符串。
输入:相对地址与字符串长度。
字符串值
输出:没有。
5、READ RECORD
这个功能从当前线性或循环的EF中读出一条完整的记录,将读出的记录按下面的模式来描述,只有读条件满足的时候才会执行,读记录不成功记录指针不会改变。
定义的四种模式:
CURRENT:读的当前记录,记录指针不受影响。
ABSOLUTE:按给出的记录号读取记录,记录指针不受影响。
NEXT:读记录操作之前记录指针增加。
如果在选择EF时之前没有设置记录指针,那么READ RECORD将读取第一条记录,并且将记录指针设置为这条记录。
如果在线性EF中,记录指针指向最后一条记录,READ RECORD不会引起记录指针的改变,并且读不到数据。
如果在循环EF中,记录指针指向最后一条记录,READ RECORD将把记录指针设置为第一条记录,并且会把这条记录读取出来。
PREVIOUS:读记录之前,记录指针递减,如果在选择EF时之前没有设置记录指针,那么READ RECORD将读取最后一条条记录,并且将记录指针设置为最后。
如果在线性EF中,记录指针指向第一条记录,
READ RECORD不会引起记录指针的改变,并且读不到数据。
如果在循环EF中,记录指针指向第一条记录,READ RECORD将把记录指针设置为最后一条记录,并且会把这条记录读取出来。
输入:模式,记录号(只有ABSOLUTE模式需要)与记录长度。
输出:读到的记录。
6、UPDATE RECORD
这个功能与READ RECORD差不多,也有四种模式,只是它是把记录写到线性或循环的EF中。
输入:模式,记录号(只有ABSOLUTE模式需要)与记录长度。
用来更新记录的数据。
输出:没有。
7、SEEK
这个功能通过给定的方式搜索当前线性EF,从而找到相应的记录,只有读条件满足以后才能执行这个功能。
定义了2种类型的SEEK:类型1:记录指针被设置到包含条件的记录,输出无效。
类型2:记录指针被设置到包含条件的记录,输出为记录号。
注意:在阶段1SIM只能执行类型1SEEK功能。
SIM应该能够接受1到16任意长度的条件,长度不能超过记录的长度。
定义了四种模式:
(1)、从开头向后。
(2)、从结尾向前。
(3)、从下一个位置向后。
(4)、从上一个位置向前。
如果在选择EF时之前没有设置记录指针,那么:如果SEEK从下一个位置向后,则从第一条记录开始搜索,如果SEEK从上一个位置向前,则从最后一条记录开始搜索。
成功地SEEK之后,记录指针将设置在找到的记录,SEEK不成功,记录指针将不会改变。
输入:类型与模式。
条件,条件的长度。
输出:类型1时,没有。
类型2时,状态,记录号。
8、INCREASE
这个功能把移动终端给出的值加上当前循环EF的最后增加或更新的记录中的值,把结果保存在老的记录中,记录指针设到这条记录,记录号为1。
只有EF被分配了INCREASE访问条件并且条件满足以后才能用(第9章中,看当前EF响应参数/数据的第8到第10个字节)。
如果结果超过记录的最大值,将不执行这个功能(通过设置所有字节为0xFF 来表示)。
输入:被加数的值。
输出:加数记录的值。
加后的结果值。