SIM卡基础知识总结

概述

首先站在Tele软件工程师的角度对SIM卡提出下面3个问题:

  • 谈及SIM卡,我们普通用户对其认知是“电话卡”,那么除了可以用来打电话,它还有其他什么重要的作用呢?

  • SIM卡的物理结构是怎样的呢?是什么样的物理架构驱动下使SIM卡可以用来通信?

  • 在Android移动设备中应用程序对SIM卡的管理体系和相关名词的对应关系是什么呢?

SIM卡定义

SIM卡是 (Subscriber Identity Module:用户识别模块) 的缩写, 也称为用户身份识别卡,移动无线终端必须装上此卡方能使用。SIM卡是整个GSM系统中唯一确认用户身份的设备,它是向网络表明用户合法身份的重要工具。

SIM卡是完全由运营商掌握的用户端设备,通过对SIM卡的控制,实现对终端功能的控制。
SIM卡是手机终端功能的增强和补充,提升手机终端业务能力,降低在业务推广上的终端设备投入成本;
SIM卡可以通过预置或OTA方式部署应用,满足日益增长的行业应用需求;

SIM卡硬件

CPU: SIM卡中的CPU和电脑中CPU一样负责整个SIM卡的控制, 运算和操作.

ROM: 是SIM卡中存放整个片内操作系统的地方.

EPPROM: 相当于SIM卡中的硬盘存放着整个文件系统和任何需要应用程序读写的信息.

RAM: 和计算机RAM的一样,也是用来存放计算过程中的临时数据

SIM卡操作系统

Chip Operating System (COS) 就是片内操作系统, 它是SIM卡内的中央控制中心, 负责卡内所有的操作. 它是一个单任务单线程的监控程序.

卡内操作系统的功能模块按顺序主要有以下几个:

1.传送管理器——主要负责SIM卡和手机之数据的异步传输. 因为SIM卡上只有一个触点是用来进行数据传送的, 所以只能应用ISO 7816 T=0 协议(该协议是面向比特的).

2.安全管理器——负责加密, 解密和鉴别.

3.应用管理器——根据来自手机的指令对相应的文件发出读或写的指令并把响应返回给手机.

4.文件管理器——根据应用管理器的指令对某个文件进行读写.

SIM卡功能

PIN码保护

SIM卡本身是通过PIN码来保护的,PIN是一个4~8位的个人密码,只有当用户输入正确的PIN码时,SIM卡才能被启用,移动终端才能对SIM卡进行存取,也只有PIN认证通过后,用户才能上网通话。

用户身份鉴权

确认用户身份是否合法,鉴权过程是在是在网络和SIM卡之间进行的,而鉴权时间一般是在移动终端登记入网和呼叫时。鉴权开始时,网络产生一个128比特的随机数RAND,经无线电控制信道传送到移动台, SIM卡依据卡中的密钥Ki和算法A3,对接收到的RAND计算出应答信号SRES,并将结果发回网络端。而网络端在鉴权中心查明该用户的密钥Ki,用同样的RAND和算法A3算出SRES,并与收到的SRES进行比较,如一致,鉴权通过。

SIM卡中的保密算法及密钥

SIM卡中最敏感的数据是保密算法A3、A8、密钥Ki、PIN、PUK和Kc。A3、A8算法是在生产SIM卡时写入的,无法读出。PIN码可由用户在手机上自己设定,PUK码由运营者持有,Kc是在加密过程中由Ki导出的。

存储数据

SIM卡存储的数据可分为四类:

1.固定数据:这类数据在ME(Mobile Equipment)被出售之前由SIM卡中心写入,包括国际移动用户识别号(IMSI)、鉴权密钥(KI)等;

2.临时数据:指的是网络相关的的临时数据,如位置区域识别码(LAI)、移动用户暂时识别码(TMSI)、禁止接入的公共电话网代码等;

3.业务代码:如个人识别码(PIN)、解锁码(PUK)、计费费率等;

4.电话号码、短消息等用户记录。

SIM卡的文件系统如下:

contacts_detail

1.主文件:MF(Master File)——每一块SIM卡只有一个唯一的主文件, 其他所有文件都是它的子文件夹, 主文件只有文件头,里面存放着整个SIM卡的控制和管理信息,MF文件的ID为3F00

2.专用文件:DF(Dedicated File)——也是只有一个文件头, 里面存放着整个目录的管理控制信息, 专用文件相当于一个目录的根,常见的DF有:①DF-GSM:ID为7F20 ②DF-TELECOM:ID为7F10 ③ADF:Application DF,ID为7FFF

3.基本文件:EF(Elementary File)——既有文件头,也有文件体, 文件头存放该文件的位置和控制信息, 文件体存放真正的数据, 整个SIM卡中只有基本文件有文件体, 也只有基本文件才用来存放数据.

基本文件又分为三类:
透明EF:透明结构的 EF 由一个字节序列组成。简单理解为只有一条记录的文件。
线性固定EF:线性固定 EF 文件由一个记录长度固定的记录序列组成。第一个记录记录号是 1。 简单理解为记录多条记录的文件。
循环EF:循环文件用于以时间顺序存储的记录,当所有的记录空间都占用时,新的存储数据将覆盖最旧的信息。 如果线型固定EF的记录是一个数组的话,循环EF的记录就是一个循环链表。
注意:线性固定EF和循环EF最多只能存放255条记录

相关知识点链接:

UICC,SIM,USIM,UIM基础

USIM卡基础知识和常见问题

移动终端中的USIM、UICC及SIM

SIM卡基础知识

解读UICC,SIM,USIM,eSim卡的区别