SIM通信协议-传输协议

概述

1.SIM卡传输协议架构类似与TCP/IP的OSI模型。分为5层

  • 物理层
  • 数据链路层
  • 传输层
  • USAT层
  • 应用层

1.1物理层

通过IO口传输二进制数据。

1.2数据链路层

定义字符交换的时序和差错处理。数据链路层定义了T=0和T=1两种传输方式。他们都是半双工传输,T=0是基于字节传输。T=1是基于块传输。

1.21 T=0传输方式(面向字节)

传输从一个命令头开始,该命令头由CLA,INS,P1,P2,P3组成。终端向UICC(智能卡)发送字节头,UICC就会响应一个字节的结果给终端。该结果有以下几种定义。

  1. 如果该字节等于命令头的INS,那么终端从UICC获取剩余的数据,或者UICC从终端获取剩余的数据。
  2. 如果该字节等于命令头的补码,那么终端从UICC读取另一次数据,或者UICC从终端读取另一次数据。
  3. 如果该字节等于‘60’,没有额外的数据需要传输,终端只能等待传输过程字节。
  4. 如果该字节等于‘61’,终端要等待第二个过程字节,并且发送P3为最大长度的GET RESPONSE 头给UICC。
  5. 如果该字节等于‘6C’,终端需要等待第二个过程字节,并且发送P3位最大长度的与之前相同的头给UICC。

命令结束过,UICC返回给终端一个2个字节的状态SW1和SW2.(详细常考GSM手册。)

1.22 T=1传输方式(面向块)

一个块的架构如下图所示。

NAD:块地址字节(必须)

PCB:控制协议字节(必须)

INF:  0~256bit的信息字节(可选)

T=0协议定义了三种类型的块

  1. I-Bolck:在应用层传输数据,还包含该数据是否需要响应的标志。
  2. R-Block:用于传输响应。
  3. S-Block:用于传输控制信息。

1.3 传输层

该层协议协定了APDU到TPDU的映射关系,以及TPDU与卡如何完成数据交互。终端要与UICC进行通信,那么必须将应用协议数据单元APDU映射为传输协议数据单元TPDU。

1.31 APDU COMMAND

APDUCOMMAND由Command header 和 Command body两部分组成。其中CLA INS P1 P2 和之前介绍的一样。只是P3变为了可变长度的Command body,Command 的Lc(期望发送的数据长度)和Le(期望接收的数据长度)两个域是可选的,于是乎我们的APDU COMMAND就有以下几种组合方式。

1.32 APDU COMMAND的编码

以上为APDU的编码。我们根据Case 1-Case 4来分别分析这四种组合的编码。

  • Case 1 编码:包括Command header。
  • Case 2 编码:包括Command header 和Le,这里Le编码可以为一个字节和三个字节

    •   当Le为一个字节时,所希望接收字节是 1到256
    • 当Le为三个字节时,那么第一个字节为‘00’,后面两个字节所指示的所希望接收字节范围是1-65536
  • Case 3 编码:包括Command header Lc data,Lc和上面的Le编码和意义差不多表示期望发送的字节。
  • Case 4 编码:包括Command header Lc data Le。

1.33 APDU COMMAND 到TPDU COMMAND映射

这里映射也分为4种情况

  1. Case 1:
  2. Case 2: 
  3. Case 3:
  4. Case 4:

1.4 USAT层

USAT层使用应用状态字来指示

  • 终端主动命令的可用性‘91XX’。
  • 用于响应终端Envelope命令的可用数据(‘9000’,‘62XX’,‘63XX’)。
  • 暂时无法使用USAT去处理Envelope(‘9300’)。

1.41 主动命令

当状态字SW1-SW2 为‘9000’,这卡可以通过回复‘91XX’来指示接下来有主动命令要发送。终端通过FETCH-APDU来获取卡的主动命令。终端通过TERMINAL RESPONSE来回复卡。

1.42 ENVELOPE 命令

该命令用于传输数据到USAT。

1.5 应用层

应用层则包括UICC的文件系统,以及UICC的安全机制,应用交互机制。

  

时间: 2025-01-17 13:17:52

SIM通信协议-传输协议的相关文章

1、AJAX里面status的值代表什么 2、get post 的区别 3、怎样把对象转化成字符串 4、闭包、继承、原型、原型链 5 、http传输协议 6、arguments是什么

1.AJAX里面status的值代表什么     在JavaScript里面写AJax的时,最关键的一步是对XMLHttpRequest对象建立监听,即使用"onreadystatechange"方法.监听的时候,要对XMLHttpRequest对象的请求状态进行判断,通常是判断readyState的值为4且status的值为200或者304时执行我们需要的操作.以下记录了一些常用readState以及status的值及其含义 readyState 属性表示Ajax请求的当前状态.它的

文件传输协议FTP、SFTP和SCP

网络通信协议分层 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(Domain Name System) FTP(File Transfer Protocol) SFTP(SSH File Transfer Protocol,和FTP不一样) SCP(Secure copy,based on SSH) SSH (Secure Shell) 通信层: TCP(Transmission Control Protocol 三次握手传输协议

http 超文本传输协议

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必须遵守这个标准.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.1960年美国人Ted Nelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基.Ted Nelson组织协调万维网协会(World Wide Web Consortium)和互联网工程工作小组(

Servlet - HTTP超文本传输协议

HTTP (超文本传输协议) 超文本传输协议(HTTP)是用于协作.分布式.超媒体信息系统的应用级协议.它是用于建立客户端和服务器之间通信的数据通信协议. HTTP协议是基于TCP/IP的通信协议,用于在万维网(WWW)上传输图像文件.查询结果.HTML文件等数据,默认端口是TCP 80,为计算机提供了标准化的方法相互沟通. HTTP(超文本传输协议)的基本特点: 1.允许网络服务器和浏览器之间通过网络交换数据 2.请求/响应的协议 3.在TCP 80端口上默认使用可靠的TCP连接 4.是一种无

http超文本传输协议,get与post区别

一:什么是http? http:超文本传输协议(HTTP,HyperText Transfer Protocol),是一个客户端和服务器端传输的标准,是应用层通信协议.客户端是中端用户,服务器端是网站,服务器上存放着很多资源文件. 通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接.HTTP服务器则在那个端口监听客户端发送过来的请求.一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息. 通常H

文件传输协议(FTP、TFTP)

FTP <1>FTP协议是互联网上广泛使用的文件传输协议. <2>客户端/服务器模式基于TCP(Transmission Control Protocol 传输控制协议,面向连接的.可靠的.基于字节流的传输层通信协议) <3>FTP采用双TCP连接方式 控制连接使用TCP端口号21(控制连接在整个FTP回话期间一直保持打开) 数据连接使用TCP端口号20(数据上传.下载.文件列表发送等.数据传输结束后数据连接将终止) <4>FTP有两种文件传输模式 ASCI

HTTP协议(HyperText Transfer Protocol,超文本传输协议)

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准.HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等).:::::::::::::::::::::::::::::::::::::::::::::::::::::HTTP 简介http:/ /www.iis7.com/b/plc/HTTP协议是Hyper Text Transfer Protoco

新一代互联网传输协议QUIC

QUIC(Quick UDP Internet Connections,快速UDP互联网连接)是Google提出的一种基于UDP改进的通信协议,其目的是降低网络通信的延迟,提供更好的用户互动体验. QUIC的主要特点包括:具有SPDY(SPDY是谷歌研制的提升HTTP速度的协议,是HTTP/2.0的基础)所有的优点:0-RTT连接:减少丢包:前向纠错,减少重传时延:自适应拥塞控制, 减少重新连接:相当于TLS加密. 1.重传与恢复 与TCP类似,QUIC每发送一个包后,都会等待回复一个确认包.当

TCP传输协议

1.TCP中一些名词解释 (1)MSS(maximum segment size) TCP的最大报文段大小,在TCP报文段中有一个16位的部分用于放置该值,因此最大为65535,可以利用setsockopt() 和getsockopt设置和获取TCP_MAXSEG来影响MSS: (2)MSL(maximum segment lifetime) IP报文段能在网络中存在的最长时间,这个是系统级的参数,没有接口修改,windows上可以通过注册表修改,通常为2分钟,最低为30秒,linux上面没法修