SIM卡基础知识

  • 格式:pptx
  • 大小:425.67 KB
  • 文档页数:35

下载文档原格式

  / 35
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

特别话题
• 如何判断SIM卡的类型
– Class 级别 – 特定File是否存在、内容为何?
• STK的流程释疑
– 哪些是Terminal可控的操作,哪些是不可控的 – STK的常见问题
SIM卡基础知识
入门级
什么是SIM卡
• SIM卡是一种智能卡(ICC Card)
– SIM卡内含处理器、存储单元(静态、动态) – SIM卡上跑着一个或者多个应用程序 (Application) – SIM卡和Modem通过串口通信
• SIM卡不是内存卡 • SIM卡不是磁条卡
基本概念
• Application: set of security mechanisms, files, Application: data and protocols (excluding transmission protocols)
• EXAMPLE: A USIM application.
• second level application: application which can only be activated during the session of a first level application
• NOTE: A second level application may have an AID. This AID is not to be stored in EF(DIR) unless it is also a first level application.
– 等待SW = “91 XX”,然后FETCH一个Proactive Command – Terminal执行该Command,并根据需要发送 Terminal Response
• ENVELOPE
– Terminal也可以主动发起ENVELOPE,来向SIM卡发 送命令 – 等待SIM卡的进一步动作(Proactive Command)
Response Status的含义 Cont.
SIM文件访问
• MF、DF、EF的概念
– MF = Master File = 根目录 – DF = Dedicated File = 子目录 – ADF = Application Dedicated File = 应用专 用目录 – EF = Elementary File = 文件
SIM文件结构示意图
RUIM常见的文件结构
SIM文件操作
• SELECT by File IDentifier referencing • SELECT by path referencing • Short File Identifier (SFI)
– – – – – – – – READ BINARY UPDATE BINARY READ RECORD UPDATE RECORD INCREASE SEARCH RECORD RETRIEVE DATA SET DATA
SIM文件其他操作
• Get Response
– 获取Select的返回结果(文件信息)
• Status
– 获取文件的信息
常用的SIM文件
• • • • • • • EFDIR EFICCID EFIMSI EFSST/EFUST/EFCST EFADN EFFDN EFSMS
关于STK
• STK是SIM卡与Terminal交互的途径 • STK是双向的(SIM <-> Terminal)
• NOTE: An application can be a first level application and/or a second level application.
• first level application: selectable application that is indicated in EFDIR under the MF
– 相对于其他操作的单向(Terminal -> SIM)而言
• STK采用轮询机制来检查SIM卡是否有请求
– 轮询时间间隔28秒,针对QC平台
STK的基本流程
• Profile Download/Terminal Profile
– Terminal通知SIM卡其Capability
• Proactive Command
Response APDU structure
Code Data SW1 SW2 Length Lr 1 1 Description Response data string Status byte 1 Status byte 2
Response Status的含义
• 参见ESTI TS 102.221—10.2.1 Status conditions returned by the UICC • 常见的返回码
一些SIM相关的名词概念
• • • • • • ICC、UICC、SIM、USIM、UIM、RUIM CAT、SAT、STK、SATK、UTK、UCAT、CCAT PDU、APDU、C-APDU、R-APDU PIN、PUK、CHV1、CHV2、ADM CLASS A、CLASS B、CLASS C MF、DF、EF
SIM卡的类型
• • • • • • SIM卡(GSM) USIM卡(GSM/UMTS) CSIM卡(CDMA) UIM卡/RUIM卡(CDMA/EVDO) Micro SIM卡/Mini UICC(GSM/UMTS) 双模卡/多模卡
SIM的安全
• • • • PIN = CHV1 PIN2 = CHV2 PIN Lock/Unlock(PIN码) PIN Block/Unblock(PUK码)
• 运行时信息
– 通话时间统计 – 上次注册的PLMN – 其他
SIM卡的作用——增值业务
• 运营商内置在SIM卡中的一些应用,主要以 STK的形式提供
SIM相关协议
• • • • • ETSI TS 102 221 ETSI TS 102 223 3GPP TS 31.XXX 3GPP TS 51.011 3GPP2 C.S0023-D
SIM与Modem的通信
• 命令/应答机制 • 通信的媒介——APDU
– 命令为C-APDU – 应答为R-APDU
• 通信的协议
SIM与Modem的通信 cont.
• 通信的协议
– 我们的分析从Transport Layer开始,Data Link Layer以下的部分不再关心
通信过程 Case 1
支持的Instruction Code
• 参见ESTI TS 102.221 — Table 10.5: Coding of Instruction Byte of the Commands for a telecom application • 常用的命令
– SELECT FILE – STATUS/GET RESPONSE – READ/UPDATE BINARY/RECORD – CHANGE/ENABLE/DISABLE/UNBLOCK PIN
PIN的种类ቤተ መጻሕፍቲ ባይዱ
• Universal PIN
– 多个Application共用一个PIN
• Application PIN
– Application自己的PIN
• Local PIN
– 某个DF特有的PIN
SIM卡在通信系统中的作用
• • • • • 接入鉴权 身份标识 预置参数 信息存储 增值服务
SIM卡的作用——鉴权
• 原理
– SIM卡中内置加密算法和加密密钥,根据网络下 发的公钥计算加密值,再由手机上报给网络, 进行鉴权
• 目的
– 确认SIM卡的使用者是否为合法用户 – 识别SIM卡的使用者身份,并确定计费对象
SIM卡的作用——身份标识
• SIM卡的标识主要是ICCID和IMSI
– ICCID:是卡本身的标识 – IMSI:是卡在运营商内的编号 – 两者理论上都是唯一的
通信过程 Case 2
通信过程 Case 3
通信过程 Case 4
Command APDU structure
Code CLA INS P1 P2 Lc Data Le Lengt h 1 1 1 1 0 or 1 Lc 0 or 1 Description Class of instruction Instruction code Instruction parameter 1 Instruction parameter 2 Number of bytes in the command data field Command data string Body Maximum number of data bytes expected in response of the command Body Grouping Header
SIM卡的作用——预置参数
• 运营商会根据自身的网络配置和业务需求 设置一些参数,写到SIM卡中。用户的手机 会读取这些参数。比如
– 运营商名字(SPN、OPL等等) – 网络配置(HPLMN、EHPLMN、PRL等等) – 其他
SIM卡的作用——信息存储
• 用户的信息
– Contacts – SMS
• selectable application: application that is selectable by an AID according to the process described in ISO/IEC 7816-4 [12] over the terminal-UICC interface