sim卡文件系统

### 5.2 初始通信建立程序
初始通信建立程序应遵循3GPP TS 31.101 [55]的规定,但有以下限制:
- 对于3V及以下的SIM卡,最大时钟频率为4MHz,因此必须遵守3GPP TS 31.101 [55]中规定的相应功耗限制。
- ATR内容:如果SIM在TC1中指示的值不是0或255,ME应调用3GPP TS 31.101 [55]中定义的错误处理程序。
- T=15全局接口参数是可选的。历史字节的编码可能不遵循3GPP TS 31.101 [55],且ME无需解释。
- PPS程序:SIM的速率增强是可选的。但如果实施了速率增强,至少应支持F=512和D=8。
- 重置程序:SIM应表现得像“类型1 UICC”。
- 时钟停止模式:只有在文件特性中指定的条件下,才能关闭时钟(参见第9.2.1节)。对于在3GPP TS 31.101 [55]中定义的Class B或C操作条件下运行的SIM,支持时钟停止模式是强制性的。

#### 5.2.1 速率增强的错误处理
- 如果SIM在初始等待时间内未回答PPS请求,ME应重置SIM。
- 经过两次使用F=512和D=8或TA1中指示的值失败的PPS尝试后(SIM无PPS响应),ME应使用默认值启动PPS程序。如果这也失败(SIM无PPS响应),ME可以继续使用默认值,无需请求PPS。
- 如果SIM不支持ME请求的值,SIM应响应PPS请求,指示使用默认值。

#### 5.3 传输协议
传输协议的物理层和数据链路层应遵循3GPP TS 31.101 [55]的规定,但有以下限制:
- 对于ME和SIM,传输协议T=0的支持是强制性的。其他协议是可选的。本文件未定义使用除T=0以外的其他协议。
- 除了3GPP TS 31.101 [55]中指定的要求外,符合本文件的SIM卡和终端必须准备好在发起的任何传输的最后一个出站字符的起始位前沿之后不超过12个etu(时间单位)接收数据。对于本文件的目的,SIM卡和终端只需在接收到的最后一个字符的起始位前沿之后等待12个etu即可发送数据。
- 对于GSM命令,不得使用过程字节'61'和'6C'。SIM返回状态字节'9F'以控制终端传输层和SIM之间的交换。

在文档6.1 SIM Application structure中,描述了SIM应用的结构,具体如下:

- **文件组织**:SIM中的文件是按照层次结构组织的,可以是行政管理或应用特定的文件。这种结构允许操作系统访问存储在不同文件中的数据。

- **文件类型**:SIM支持的文件类型包括专用文件(Dedicated File, DF)和基本文件(Elementary File, EF)。DF可以包含访问条件和可选的EF或其他DF,而EF则包含访问条件和数据,不包含其他文件。

- **文件头和文件体**:每个文件由一个头和可选的文件体组成。文件头包含与文件结构和属性相关的信息,可以通过使用GET RESPONSE或STATUS命令获取。这些信息在管理阶段是固定的。文件体包含文件的数据。

- **文件选择**:在回答到复位(ATR)之后,主文件(Master File, MF)被隐式选择并成为当前目录。之后,每个文件可以通过使用3GPP TS 31.101 [55]中指定的SELECT功能来选择,但有一个例外:只支持通过文件ID引用和文档中指定的命令参数进行选择。

### 7.3 文件访问条件

文件访问条件定义了对SIM卡中每个文件执行特定操作所需的权限。以下是不同访问条件级别的定义:

- **ALWAYS (0)**: 行动可以无任何限制地执行。
- **CHV1 (1)**: 行动仅在以下任一条件满足时才能执行:
  - 在当前会话中已向SIM提供正确的CHV1值;
  - CHV1启用/禁用指示器设置为“禁用”;
  - 在当前会话中已成功执行UNBLOCK CHV1。
- **CHV2 (2)**: 行动仅在以下任一条件满足时才能执行:
  - 在当前会话中已向SIM提供正确的CHV2值;
  - 在当前会话中已成功执行UNBLOCK CHV2。
- **ADM**: 这些级别的分配和满足要求的责任在于适当的行政机构。
- **NEVER (3)**: 行动不能在SIM/ME接口上执行。SIM可以在内部执行该行动。

访问条件级别不是层次化的。例如,正确提供CHV2并不允许执行需要CHV1的行动。一个满足的CHV条件级别在GSM会话结束前一直有效,只要相应的秘密代码未被封锁。如果连续三次错误尝试(不必然在同一会话中),之前由该秘密代码授予的访问权限将立即丢失。

### 条件级别不是层次化的

- **非层次化条件**:文件访问条件级别不是按层次结构排列的。例如,即使正确提供了CHV2(卡片持有人验证2),也不能执行需要CHV1(卡片持有人验证1)的操作。这意味着每个条件级别都是独立的,满足一个条件级别并不意味着可以执行需要更高权限级别的操作。

- **条件级别有效期**:一旦满足某个条件级别,它将一直有效,直到GSM会话结束,前提是相应的秘密代码(如CHV)未被封锁。如果在连续三次错误尝试后(不一定在同一卡片会话中),之前由该秘密代码授予的访问权限将立即失效。

- **CHV条件级别适用范围**:满足的CHV条件级别适用于DFGSM(GSM应用专用文件)和DFTELECOM(电信专用文件)。

- **ME对CHV2可用性的判断**:移动设备(ME)应使用STATUS命令的响应来确定CHV2是否可用。如果CHV2未初始化,则无法执行CHV2相关的命令,例如VERIFY CHV2。

这些规定确保了SIM卡的安全性,防止在多次错误尝试后未授权访问敏感数据或执行敏感操作。

 

### 9. 命令描述

文档详细描述了一系列用于与SIM卡交互的命令,这些命令是GSM网络中SIM卡与移动设备(ME)接口的一部分。以下是命令的中文概述:

1. **SELECT(选择)**:通过文件标识符选择文件。响应包括文件大小、类型和状态等信息。

2. **STATUS(状态)**:提供SIM卡的状态信息,包括选定文件的相关信息。

3. **READ BINARY(读取二进制)**:从文件中检索二进制数据。

4. **UPDATE BINARY(更新二进制)**:向文件写入二进制数据。

5. **READ RECORD(读取记录)**:从文件中检索特定记录。

6. **UPDATE RECORD(更新记录)**:向文件中的特定记录写入数据。

7. **SEEK(查找)**:在文件中搜索与给定模式匹配的记录。

8. **INCREASE(增加)**:按指定数量增加文件的值。

9. **VERIFY CHV(验证CHV)**:验证卡持有人验证(CHV)值。

10. **CHANGE CHV(更改CHV)**:更改CHV值。

11. **DISABLE CHV(禁用CHV)**:禁用CHV功能。

12. **ENABLE CHV(启用CHV)**:启用CHV功能。

13. **UNBLOCK CHV(解锁CHV)**:解锁CHV。

14. **INVALIDATE(使无效)**:使文件无效。

15. **REHABILITATE(重新启用)**:重新启用文件。

16. **RUN GSM ALGORITHM(运行GSM算法)**:执行GSM算法。

17. **SLEEP(休眠)**:使SIM卡进入休眠模式。

18. **GET RESPONSE(获取响应)**:获取命令的响应数据。

19. **TERMINAL PROFILE(终端配置文件)**:获取终端配置文件。

20. **ENVELOPE(信封)**:用于封装数据。

21. **FETCH(获取)**:从SIM卡获取数据。

22. **TERMINAL RESPONSE(终端响应)**:终端对SIM卡命令的响应。

每个命令都有其特定的编码和参数,以及可能的响应状态。这些命令用于执行各种操作,如文件选择、数据读写、安全验证等,以确保SIM卡与移动设备之间的有效通信和数据管理。

### 9. 命令描述

#### 9.1 映射原则

- **协议T=0的映射**:与TPDU层的映射遵循3GPP TS 31.101 [55]的规定,但有以下例外:
  - 对于3GPP TS 31.101 [55]中定义的Case 2命令,使用过程字节'6C'的做法将被替换为使用'9F',如下面的case 2b所述。根据本文件,状态字节'9F'会触发GET RESPONSE命令,而3GPP TS 31.101 [55]中的过程字节'6C'会触发重新发出相同的命令。
  - 对于3GPP TS 31.101 [55]中定义的Case 4命令,使用过程字节'61'的做法将被替换为使用'9F',如下面的case 4所述。根据本文件,状态字节'9F'会触发一个GET RESPONSE命令,该命令对ME是可选的,而3GPP TS 31.101 [55]中的过程字节'61'会根据GET RESPONSE命令后跟随的过程字节触发一个或多个GET RESPONSE命令。

- **GET RESPONSE命令的使用**:对于一些命令,T=0协议需要使用补充传输服务命令(GET RESPONSE)来获取输出数据。例如,SELECT功能需要以下两个命令:
  - 第一个命令(SELECT)带有参数和作为功能输入的数据;
  - 第二个命令(GET RESPONSE)带有指示返回数据长度的参数。
  
如果响应数据的长度事先未知,可以通过应用第一个命令并解释状态字来获得其正确的长度。SW1应为'9F',SW2应给出数据的总长度。在出现错误的情况下,可能会出现其他状态字。

#### 9.2 命令编码

- **CLA、INS和参数字节的编码**:遵循3GPP TS 31.101 [55]的规定,但本文件中的命令描述中有所限制。
- **命令的使用**:包括SELECT、STATUS、READ BINARY、UPDATE BINARY、READ RECORD、UPDATE RECORD、SEEK、INCREASE、VERIFY CHV、CHANGE CHV、DISABLE CHV、ENABLE CHV、UNBLOCK CHV、INVALIDATE、REHABILITATE、RUN GSM ALGORITHM、SLEEP、GET RESPONSE、TERMINAL PROFILE、ENVELOPE、FETCH和TERMINAL RESPONSE等。

#### 9.3 定义和编码

- **文件状态编码**:b8=0表示无效,b8=1表示未被无效。
- **访问条件编码**:包括ALWAYS、CHV1、CHV2、RFU、ADM、NEVER等状态。
- **文件类型编码**:'00'表示RFU,'01'表示MF,'02'表示DF,'04'表示EF。
- **CHV和UNBLOCK CHV的编码**:每个CHV使用8字节编码,仅使用十进制数字(0-9),最高位(bit 8)设置为零。

#### 9.4 命令与可能的状态响应

- **响应代码**:包括SW1和SW2,用于指示命令执行的结果,如正常结束('90' '00')、正常结束但有额外信息('91' 'XX')、命令被推迟('93' '00')、内存管理错误('92' 'XX')、引用管理错误('94' 'XX')、安全管理错误('98' 'XX')和应用程序独立错误('67' 'XX'、'6B' 'XX'、'6D' 'XX'、'6E' 'XX'、'6F' 'XX')。

这些原则和编码规则确保了SIM卡与移动设备之间的有效通信和数据交换。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/448354.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++调试方法(Vscode)(二) ——本地调试(ROS版)

初学者在调试一段代码的时候,经常出于不明原因,写出bug,导致程序崩溃。但是定位崩溃的地方时,往往采用简单而朴素的方法:即采用cout或者printf进行输出。这种方式既原始,又低效。一个合格的工程师应该是通过…

NeRS: Neural Reflectance Surfaces for Sparse-view 3D Reconstruction in the Wild

阅读记录: 1. 2.优点1:我们的方法仅依赖于近似的相机位姿估计和粗略的类别级形状模板。 3.我们的关键见解是,我们可以强制执行基于表面的 3D 表示,而不是允许广泛用于体积表示的无约束密度。重要的是,这允许依赖于视…

C# 图像镜像

测试页面: 图像镜像是图像旋转变换的一种特殊情况,通常包括垂直方向和水平方向的镜像。水平镜像通常是以原图像的垂直中轴为中心,将图像分为左右两部分进行堆成变换。如下: 垂直镜像通常是以原图像的水平中轴线为中心,…

【NLP自然语言处理】03 - 使用Anaconda创建新的环境/pycharm切换环境

NLP基础阶段:创建新的虚拟环境 第一步:查看有多少个虚拟环境 conda env list 第二步:创建一个新的虚拟环境,起个名字:nlpbase 打开anconda prompt终端,输入命令: conda create -n nlpbase python3.10 第三步…

React Agent 自定义实现

目录 背景 langchin 中的 agent langchin 中 agent 的问题 langchain 的 agent 案例 自定义 React Agent 大模型 工具定义 问题设定 问题改写,挖掘潜在意图 React Prompt 下一步规划 问题总结 代码 背景 之前使用过 langchian 中的 agent 去实现过一些…

高级算法设计与分析 学习笔记12 贪心算法

首先我们来解决一个经典的活动选择问题: s代表开始时间,f代表结束时间 可以看到这是一个动态规划的算法 现在,我们要把这个解决办法转换成一个贪心算法 直觉上讲,每次都选最先结束的可以留下最多的资源 当然开始之前先要把所有时…

[Python学习日记-43] Python 中的迭代器

[Python学习日记-43] Python 中的迭代器 简介 可迭代对象 迭代器 总结 简介 前面我们学习了各种各样的数据类型,在使用它们的时候我们也时不时会听到可迭代对象这一个名词,而本篇我们将讲述的迭代器感觉和我们之前学的可迭代对象挺相关的&#xff0c…

URDF统一机器人建模语言

统一机器人建模语言 URDF(Unified Robot Description Format)统一机器人描述格式,URDF使用XML格式描述机器人文件。 我们从下面四个方面介绍URDF: URDF的组成介绍 URDF-Link介绍 URDF-Joint介绍 创建一个简单的URDF…

五年以上倾斜摄影osgb模型转3dtiles如何在mars3d加载

方案一: // 兼容1.50 (2018-10-01)版本更改了名称,造成部分3dtiles可能会出现加载不上导致渲染停止的错误。 // 错误说明为:RuntimeError: Unsupported glTF Extension: KHR_technique_webgl // 原因:KHR_technique_w…

Java基础常见面试题总结(上)

基础概念与常识 Java 语言有哪些特点? 简单易学(语法简单,上手容易);面向对象(封装,继承,多态);平台无关性( Java 虚拟机实现平台无关性)&…

【9724】基于springboot+vue的篮球竞赛预约平台

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 项目描述 本次设计任务是要设计一个篮球竞赛预约平台&#xff0c…

软件架构师 PV

PV操作与生产者消费者问题是操作系统中进程管理和同步机制的重要概念。以下是对PV操作以及生产者消费者问题的详细解释: 一、PV操作 PV操作由P操作原语和V操作原语组成,这两个原语是不可中断的过程,它们对信号量进行操作。 P操作&#xff…

泰克MDO3054示波器特性和规格Tektronix MSO3054 500M 四通道

Tektronix MDO3054 示波器,混合域,500 MHz,4 通道,5 GS/s 泰克 MDO3054 混合域示波器是终极 6 合 1 集成示波器,包括可选的集成频谱分析仪、任意函数发生器、逻辑分析仪、协议分析仪和数字电压表/计数器。泰克 MDO305…

(25)QPSK信号在AWGN和Rayleigh衰落信道下的性能仿真

文章目录 前言一、MATLAB仿真代码二、仿真结果 前言 QPSK信号在AWGN和Rayleigh衰落信道下的性能仿真MATLAB代码。 一、MATLAB仿真代码 代码如下: nSamp 8; % 矩形脉冲的采样点数 nSymbol 1000000; % 传输的符号…

霍夫圆型硬币检测Matlab程序

1. 图像读取和预处理 使用MATLAB的uigetfile函数读取图像,可以从文件系统中选择图像文件。读取的图像随后经过灰度化处理,将彩色图像转换为灰度图像,以降低计算复杂度并去除不必要的颜色信息。 2. 中值滤波 在图像预处理过程中,…

uni-app 打包成app时 限制web-view大小

今天对接一个uni-app的app 内置对方h5 web-view的形式 需要对方在web-view顶部加点东西 对方打的app的web-view始终是全屏的状态,对方表示做不到我要的效果 emmmmmm。。。。。。 于是乎 自己搭了个demo 本地h5跑起来审查了下代码,发现web-view是给绝对定…

EasyOCR——超强超便捷的OCR开源算法介绍与文本检测模型CRAFT微调方法

背景 最近在实际操作阿拉伯文小语种OCR功能的时候,尝试了诸多开源算法,但效果均不尽如人意。 说实在的,针对阿拉伯文的OCR开源算法,若仅仅是效果没那么优秀,比如识别率能有个70%80%,我还能微调微调&#…

例行性工作(at,crontab)

(一)单一执行的例行性工作: ----at (1)原理:仅处理执行一次就结束了 (2)命令及其解释: (2.1)at命令格式:at [参数] [执行时间] &am…

C++ Builder XE12关于KonopkaControls与TMS VCL UI Pack组件的安装

1、先打开open project,选中安装的组件工程,并打开。 2、在option中设置 3、点击编译并进行安装install

【SpringAI】(一)从实际场景入门大模型——适合Java宝宝的大模型应用开发

一、简单场景介绍 假设你需要为一个商城项目接入一个基于SpringAI的智能客服系统,现在我们来基本模拟一下: 当我通过系统提问,大模型会针对我的问题进行回答。 当我们通过程序提问时,SpringAI会将我们的提问封装成Prompts&#x…