协议规定:
- SIM卡的物理特性,电信号和传输协议。
- SIM卡的基本逻辑结构模型。
- 安全特性。
- 接口功能。
- 命令。
- GSM应用所需的文件的内容。
- 应用协议。
卡文件类型
主文件(MF):包含访问条件和可选DF和/或EF的唯一强制文件。</br>
专用文件(DF):包含访问条件的文件,以及可选的基本文件(EF)或其他专用文件(DF)。</br>
基本文件(EF):包含访问条件和数据的文件,没有其他文件。</br>
具体文件图在10.7
物理特性
卡类型(ISO/IEC 7816 1,2 [24, 25])
ID-1 SIM
Plug-in SIM
温度
-25°C - 70°C
联系
卡激活,应该是涉及驱动,电路。
电信号与传输协议
用于在SIM和ME之间通信的传输协议的选择至少应包括在ISO / IEC 7816 3 [26]中由T = 0指定和表示的传输协议。
卡状态
SIM卡有两种状态:
运行状态(operating):处理命令时,以及传输相关。
待机状态(idle):其他时候的状态。
逻辑模型
文件标识符:
- '3F': Master File;
- '7F': 1st level Dedicated File;
- '5F': 2nd level Dedicated File;
- '2F': Elementary File under the Master File;
- '6F': Elementary File under a 1st level Dedicated File;
- '4F': Elementary File under 2nd level Dedicated File.
Dedicated files
有四个1级DF,2级DF在DFGSM中:
- DFGSM which contains the applications for both GSM and/or DCS 1800;
- DFIS41 which contains the applications for IS-41 as specified by ANSI T1P1;
- DFTELECOM which contains telecom service features;
- DFFP-CTS which contains the applications for the CTS fixed part (see TS 11.19 [34]).
Elementary files
- Transparent EF(透明文件):以相对位置读取,第一个字节位置为0000。(线性表)
- Linear fixed EF(线性固定):以record 1开始。读取方式可以是使用记录的位置号,或者对开头与结尾使用next和previous,在设置记录指针后还能访问上一条以及下一条,具体看6.4.2。(带前后指针的线性表)
- Cyclic EF(循环):存储位置满了则新的会覆盖老的。(循环链表)
选择文件
经过ATR,主文件(MF)被设置为当前目录,再通过SELECT命令选择指定的DF作为当前目录,最后再选择指定的EF,必须是当前目录下的。
安全特性
认证用户身份到网络;
无线电接口的数据机密性;
文件访问条件。
认证与密钥生成
- 网络发送一个随机数到ME(RAND)。
- ME通过命令RUN GSM ALGORITHM传给SIM卡。
- SIM卡返回生成的SRES和Kc。
- ME将SRES发到网络进行鉴权。
- 网络将SRES与自己生成的做对比。
- 后续的通信使用Kc加密。
功能描述
SELECT
成功执行后线性固定文件的指针未定义,循环文件中的记录指针应该寻址已更新或增加的最后一条记录。</br>
- 如果所选文件是MF或DF:
文件ID,可用总存储空间,CHV启用/禁用指示器,CHV状态和其他GSM特定数据; - 如果所选文件是EF:
文件ID,文件大小,访问条件,无效/无效指示符,EF结构和线性固定结构或循环结构情况下的记录长度。
STATUS
此函数返回有关当前目录的信息。 当前EF不受STATUS功能的影响。 它还用于为主动SIM提供机会,以指示SIM想要向ME发出SIM应用工具包命令。
READ BINARY
从当前的透明EF读取字串,只有在当前文件满足READ文件访问条件才可使用。
UPDATE BINARY
替换当前透明EF的某个指定字段,满足UPDATA条件才可使用。
READ RECORD
读取当前线性固定文件或者循环文件的一个完整记录。</br>
四种读取模式:
- CURRENT:当前的记录。
- ABSOLUTE:指定位置的记录。
- NEXT:下一条记录,指针没指向记录则默认第一条;指向线性固定最后一条记录则仍读取当前记录。
- PREVIOUS:上一条记录。
UPDATE RECORD
更新当前线性固定文件或者循环文件的一个完整记录。
SEEK
根据指定模式查找线性固定文件的一条记录。只有READ条件满足才可使用。
INCREASE
将ME给的值添加到循环文件中。
CHV(pin相关)
VERIFY CHV
CHANGE CHV
DISABLE CHV
ENABLE CHV
UNBLOCK CHV
INVALIDATE
命令描述 ISO/IEC 7816 3 [26](第九节)
APDU(Application Protocol Data Units)分Command APDU和Response APDU,对应的结构如下:
- CLA是指令的类,GSM使用A0
- INS是为每个命令定义的指令代码
- P1,P1,P3是指令的参数,FF是有效值,P3指数据长度,‘00’在发出去的指令中(response方向)指长度256,在收到的指令中指没有数据;P1,P1指data的偏移量'0000即从第一位开始读/更新操作'
- SW1,SW2是状态字,表示外来的命令的执行结果</br>
具体的命令编码在9.2</br>
状态字意思在9.4
基本文件的内容
MF下的EF文件
EFiccid: 提供一个SIM卡唯一的识别码。透明文件,标志2FE2。</br>
EFelp: 包含多种语言,可用于定义首选语言,筛选小区广播信息的语言。透明文件,标志2F05。
应用协议
一般程序
- read EF:选择一个文件并发送READ命令,如果访问条件满足则返回数据。
- update EF:选择一个文件并发送UPDATE,同理。
- increase EF:同理。
SIM管理程序
- SIM初始化:
- SIM卡激活
- 选择DFgsm再选EFecc获取紧急呼叫码
- 选择EFelp(扩展语言偏好),如果不符合要求,再选EFlp;都不符合则选择默认语言。
- 运行CHV1验证程序
- Profile Download
- 。。。
GSM会话终结
下列事件执行后SIM/ME连接会被停用:
- 位置信息更新;
- GPRS位置信息更新;
- 密码密钥更新;
- GPRS密码密钥更新;
- BCCH信息更新;
- CPBCCH信息更新;
- 收费建议增加;
- 禁止PLMN更新。
紧急呼叫
EFecc
语言偏好
EFlp
SIM服务表格要求
EFsst
SIM phase要求
EFphase