中国联通WCDMAUSIM卡JavaOTA平台技术规范.doc
-
资源ID:4137263
资源大小:4.97MB
全文页数:34页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
中国联通WCDMAUSIM卡JavaOTA平台技术规范.doc
中国联通公司发布××××-××-××实施××××-××-××发布中国联通WCDMA USIM卡Java OTA平台技术规范(V1.0)QB/CU ××2008中国联通公司企业标准目 次前 言III1 范围12 规范性引用文件13 缩略语14 业务概述与系统结构14.1 业务概念14.2 业务范围24.3 业务架构24.3.1 系统架构24.3.2 网络结构图25 Java OTA平台功能35.1 数据加载35.2 卡片管理45.3 应用管理45.3.1 应用下载45.3.2 应用锁定/解锁45.3.3 应用删除55.3.4 应用状态查询55.4 密钥管理55.5 并发处理55.6 重发处理56 业务流程56.1 通道控制56.2 应用下载66.3 应用删除76.4 应用锁定76.5 应用解锁86.6 应用状态查询97 接口要求97.1 安全数据97.1.1 命令安全头97.1.1.1 SPI107.1.1.2 KIC117.1.1.3 KID127.1.2 响应安全头127.1.2.1 状态字127.1.3 计数器管理137.2 BIP管理命令137.2.1 申请建立BIP通道137.2.2 申请建立CAT_TP通道137.2.3 命令编码137.2.4 数据参数147.2.4.1 用于打开BIP通道的数据参数147.2.4.2 用于打开CAT_TP通道的数据参数147.2.5 CAT_TP通道的关闭157.2.6 BIP通道的关闭157.3 应用管理命令157.3.1 DELETE157.3.2 SET STATUS157.3.3 INSTALL167.3.4 LOAD167.3.5 PUT KEY177.4 卡片资源管理命令187.4.1 GET STATUS187.4.2 GET DATA198 系统管理198.1 性能管理198.2 故障管理198.3 安全管理208.4 配置管理208.5 业务层管理209 设备要求219.1 USIM卡219.2 移动台219.3 Java OTA平台219.3.1 硬件要求219.3.1.1 硬件设备总体要求219.3.1.2 存储设备要求219.3.1.3 环境要求219.3.1.4 电源要求219.3.1.5 接地要求219.3.2 软件要求2210 系统性能要求22前 言本标准是中国联通WCDMA USIM卡Java OTA平台系列技术规范之一。该系列标准的名称及结构如下:本标准由中国联通提出本标准由中国联通技术部归口。本标准主要起草单位:本标准主要起草人: 本标准的修改和解释权属中国联通公司。中国联通WCDMA USIM卡Java OTA平台技术规范1 范围本规范主要定义中国联通WCDMA USIM卡Java OTA平台技术规范。本规范结合联通移动网络的发展情况和业务需要,规定了USIM卡的Java OTA业务,其中包括业务概述及业务架构、卡片管理、应用管理、密钥管理、业务流程、系统设备性能等要求,是中国联通WCDMA USIM卡Java OTA平台建设和维护的重要依据。2 规范性引用文件下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。1. 中国联通Java卡互操作性技术要求(V1.0)2. 中国联通Java卡互操作性测试规范(V1.0)3. 中国联通GSM/WCDMA数字蜂窝移动通信网UICC-终端(Cu)接口技术要求 第一部分:UICC4. 中国联通GSM/WCDMA数字蜂窝移动通信网UICC-终端(Cu)接口技术要求 第二部分:应用特性5. 中国联通GSM/WCDMA数字蜂窝移动通信网UICC-终端(Cu)接口技术要求 第三部分:USAT6. ETSI TS 102.127, Transport Protocol for CAT applications7. ETSI TS 102.221, Smart Cards; UICC-Terminal interface; Physical and logical characteristics, Release 68. ETSI TS 102.223, Card Application Toolkit (CAT), Release 79. ETSI TS102.225 Secured packet structure for UICC based applications V7.3.010. ETSI TS102.226 Remote APDU structure for UICC based applications V7.2.011. GlobalPlatform Card Specification v2.1.13 缩略语WCDMAWideband Code Division Multiple AccessHTTPHyper Text Transfer ProtocolOTAOver the AirBIPBearer Independent ProtocolCAT_TPTransport Protocol for CAT applications4 业务概述与系统结构4.1 业务概念Java OTA平台主要用于向已发放到用户手中的USIM卡进行Java卡应用程序的发行,同时实现对卡上应用的生命周期管理。4.2 业务范围中国联通手机Java OTA下载业务的用户群是联通WCDMA网的后付费和预付费用户。4.3 业务架构4.3.1 系统架构Java OTA平台的系统架构如图一所示:图一:Java OTA平台系统结构图4.3.2 网络结构图Java OTA平台网络结构如图所示。图二:Java OTA平台网络结构图Java OTA平台通过可通过卡商数据管理系统以及运营支撑系统获取卡片及用户数据,完成对卡片进行远程管理的数据准备。应用提供商系统与Java OTA平台相连接以提供供下载的Java卡应用。Java OTA平台通过移动通信网络的短消息网关、GPRS/PDSN网关与移动终端通信。5 Java OTA平台功能5.1 数据加载数据加载功能主要用于向Java OTA平台加载对卡片进行应用管理所必需的数据,这些数据包括卡片数据、用户数据及应用数据。Ø 卡片数据:Java OTA平台应提供接口给卡商或制定操作人员,用于上载已发行卡片的出厂属性,属性包括但不限于:l 卡片操作系统信息l 卡片芯片信息l 卡上文件信息l 卡片密钥信息l 已下载的应用AIDl 已下载的应用的状态(是否个人化)l 卡剩余空间(参考值)l IMSIl 卡商代码l Java版本号l 应用权限标识l 批次号Ø 用户数据主要包括:用户的MSISDN、IMSI数据Ø 应用数据:平台应提供接口允许应用开发商加载应用下载文件,文件以CAP方式上传。同时平台应允许应用提供商提供应用的安装参数文件,用于配置应用的下载参数。应用属性包括:l 应用安装文件l 应用AIDl 应用的类型l 应用的大小l 应用的下载参数平台应能够存储同一应用的多个版本,并维护应用与卡片的兼容关系,保证为卡片提供适当版本的应用进行下载。5.2 卡片管理Java OTA平台应具备卡片管理功能,负责卡片、卡片上应用通信的安全管理,同时也负责管理用户数据及卡片基本数据,并为应用管理提供相应支持。卡片管理的主要功能包括:Ø 提供用户信息: 卡片管理服务器能够根据给定的用户标识号(通常是用户手机号码),提供该用户的主要相关信息。Ø 更新用户信息: 卡片管理服务器能够根据对USIM卡的相应操作,例如:安全域的创建、应用的下载等,来更新它内部存储的用户信息。Ø 提供卡片信息:根据指定的用户及卡片标识,卡片管理服务器能够提供相应的卡片信息。Ø 备份卡片内容:卡片管理服务器会保留一份卡片内容的备份信息,此备份信息的目的是为了使得系统管理人员可以在任何时候都能够清楚地了解卡片的内容及状态。Ø 卡片生命周期管理:卡片管理对卡片的整个生命周期也可实现终身的管理,包括对卡片的锁定及解锁,并且记录变更情况。Ø 操作权限控制: 卡片管理服务器同时也控制所有对USIM卡的内容变更操作(例如应用下载和个人化操作等)。Ø 卡片的批次管理:对各个批次的版本信息进行管理,并且能够对卡片的各个模块进行升级和管理。5.3 应用管理应用管理主要负责应用数据及用户卡上应用的管理:Ø 应用生命周期管理:应用管理服务器负责下载应用到相应的安全域,对应用的整个生命周期也可实现终身的管理,其中包括启用,禁用,暂停,删除,修改,对应用状态进行跟踪,并控制应用的状态变化,保证应用按照应用提供者的要求运行于相应的状态。Ø 应用供应商管理:应用服务器负责管理所有应用供应商的信息,要求各应用代理商以安全的方式上载应用,以保证应用的合法性及安全性。应用提供商反馈相关应用的修改信息给发行商,并按照发行商的要求对应用的状态进行修改。Ø 应用状态管理:对用户的应用状态能够进行总体的记录和管理,并且提供相关信息给应用下载系统及相关系统。5.3.1 应用下载应用下载功能是Java OTA平台的主要功能,Java OTA平台通过相应的下载指令将应用安装文件下载到用户卡片上并完成相应的安装过程。应用的安装通过短消息或IP通道进行。5.3.2 应用锁定/解锁对于临时需要进行禁用的应用,可以通过Java OTA平台对应用进行锁定或解锁操作。在应用被锁定后,终端用户将被临时禁止使用此应用,但是相关的个人数据不会被删除;在应用被解锁后,终端用户可继续使用此应用。5.3.3 应用删除对于已经失效的应用,可以通过Java OTA平台从卡片上删除应用,释放卡片空间以供其他应用使用。在应用删除时,相关的个人化数据也会被删除。5.3.4 应用状态查询Java OTA平台可以远程查询卡片上应用的状态,以确认操作结果。5.4 密钥管理为保证远程操作的安全性,卡片需要对所有OTA操作进行验证。操作的验证通过相应的签名数据来保证,因此Java OTA平台需要管理卡片上的密钥信息,并根据这些密钥的属性在进行远程OTA操作时生成相应的签名数据,对敏感数据进行加密。密钥管理系统具备以下主要的功能:Ø 保证会话安全:密钥管理系统可以为一个新创建的会话生成一个临时的会话密钥,以保证整个会话的安全性。Ø 数据加密:使用同一个会话密钥对同一会话中的一系列命令数据进行加密,保证数据能够被安全地传送到目标用户。Ø 数据解密:将从用户卡片发回的响应数据进行解密。Ø 密钥导入:密钥管理系统允许第三方进行密钥的导入操作。当新的卡片被提交给用户后,如果这些卡片的密钥不是通过对一个给定的主密钥的分散操作后获取的话。系统允许用户直接为这些卡片导入一组全新的密钥。5.4.1 密钥生成算法密钥长度16字节,主密钥有5个,随机选取一个主密钥,分散因子为“00+ICCID后14位”,算法为PBOC。参照中国联通OTA卡技术规范第二部分7.2.1.3 密钥分散算法。5.4.2 密钥存储要求主密钥存储于加密机中,由加密机完成相关密钥的算法。5.5 并发处理USIM卡和Java OTA平台要求只支持1个BIP通道。Java OTA平台在无确认要求时,不对下行数据的并发做控制。在有确认要求时,需要等接收到每条指令的确认后时才下发后一条命令。5.6 重发处理对于应用下载未成功的情况,Java OTA平台应支持重发,重发的最大次数为3次。重发时下行计数器与之前的一致。6 业务流程6.1 通道控制通道控制主要用于建立卡片与Java OTA平台之间的安全通道,可用的通道有三种:Ø 短消息Ø BIPØ 读卡器在使用短消息及读卡器实现平台与卡片的通信时,无须进行通道的初始化,由平台直接将业务指令发送给卡片,卡片在执行完指定操作后将操作结果以短信的方式返回给平台。读卡器采用标准的PCSC读卡器。在使用BIP通道时,平台在发送真正的业务指令之前必须进行通道的初始化。通道的初始化指令由平台发起并通过短消息进行发送。BIP通道的初始化过程如下: 图三:通道控制流程1) Java OTA平台查找用户卡片属性确定用户是否支持BIP通道;2) Java OTA平台生成BIP通道初始化指令:PUSH;3) Java OTA平台利用短消息将PUSH指令发送到卡片,并等待IP连接;4) 卡片收到PUSH指令后,向手机发起与平台建立连接的请求;5) 手机发起GPRS连接到Java OTA平台;6) 连接建立完成后,卡片发送卡片标识号(ICCID)到平台;7) Java OTA平台开始发送业务指令,进入业务流程。6.2 应用下载Java OTA平台可以将一个新的应用下载到卡片上并进行安装。根据网络条件,应用的下载可以选择短信下载或基于TCP/IP连接的高速下载。图四:应用下载流程1) 用户申请下载指定应用;2) Java OTA平台查找用户的卡片属性;3) Java OTA平台根据用户属性查找与用户卡片兼容的应用下载文件;4) Java OTA平台根据用户卡片属性生成相应的应用下载指令;5) Java OTA平台向卡片发送下载指令;6) 卡片完成安装过程并将执行结果返回给Java OTA平台;7) Java OTA平台更新卡片属性。6.3 应用删除在应用的生命周期结束后,Java OTA平台可以删除应用并释放空间供其他应用使用。应用的删除同时会删除与应用相关的任何个人化信息。图五:应用删除流程1) 用户申请删除指定应用;2) Java OTA平台查找用户的卡片属性;3) Java OTA平台根据用户卡片属性生成相应的删除指令;4) Java OTA平台向卡片发送删除指令;5) 卡片完成删除过程并将执行结果返回给Java OTA平台;6) Java OTA平台更新卡片属性。6.4 应用锁定如果用户希望暂时关闭应用的交互功能,则仅需要修改应用状态即可达到目标,此时用户的个人信息仍然保留在卡片中,但是应用已经不能被选择并对相应的通信指令做出响应。图六:应用锁定流程1) 用户申请锁定指定应用;2) Java OTA平台查找用户的卡片属性;3) Java OTA平台根据用户卡片属性生成相应的锁定指令;4) Java OTA平台向卡片发送锁定指令;5) 卡片完成锁定过程并将执行结果返回给Java OTA平台;6) Java OTA平台更新用户卡片属性中的应用状态。6.5 应用解锁如果用户希望暂时恢复被暂停的应用的交互功能,则可以通过解锁应用来达到目标,此时保留在卡片中的用户个人信息仍然有效,应用可以被选择并对相应的通信指令做出响应。图七:应用解锁流程1) 用户申请锁定指定应用;2) Java OTA平台查找用户的卡片属性;3) Java OTA平台根据用户卡片属性生成相应的解锁指令;4) Java OTA平台向卡片发送解锁指令;5) 卡片完成解锁过程并将执行结果返回给Java OTA平台;6) Java OTA平台更新用户卡片属性中的应用状态。6.6 应用状态查询Java OTA平台可以主动发起指令查询卡片上的应用的状态,用于确定应用是否可以接受某个特定操作。图八:应用状态查询流程1) Java OTA平台根据用户卡片属性生成相应的应用状态查询指令;2) Java OTA平台向卡片发送应用状态查询指令;3) 卡片获取应用状态信息并发送给Java OTA平台;4) Java OTA平台比较用户卡片属性中的应用状态并更新。7 接口要求7.1 安全数据空中安全机制建议采用TS102.2259(ETSI)或03.48(3GPP)所定义的安全机制,此安全机制在GP2.2规范中也得到支持(SCP=80)。每一个命令及响应头必须包含相应的安全头数据。7.1.1 命令安全头命令数据指由服务器主动发送到USIM卡片的各种指令。其安全头格式如下:项目名称长度(字节)值说明TPDU_Head XHEXTP-UDHI为1UDL1(基于短信)2(基于BIP)HEX后续数据的长度安全应用数据UDHL10X02Iela1CPI=0X70IEIDLa10X00CPL2HEX后续数据总长度CHL10X11从SPI到CC的数据长度SPI20XxxxxKIC10XxxKID10XxxTAR3HEXToolkit Application Reference,参照TS102.220中的定义CNTR5HEX与密钥集相关的计数器,用于重发检测以及完整性检查PCNTR10X00填充比特数。用于表示在加密过程中在用户数据之后填充的比特的个数。CC0-8HEXMAC值。针对DES/TDES算法用户数据包含用户数据以及为加密而填充的比特CC的计算应包含CPL,CHL,SPI,KIC,KID,TAR,CNTR,PCNTR以及用户数据。如果同时需要进行加密,应首先计算出加密时需要的PCNTR的值,再进行CC的计算。要求加密时,应首先计算CC的值,然后进行加密,需要被加密的数据域包括:CNTR,PCNTR,CC,用户数据以及相应的填充比特。如果SPI指定某些域没有被用到,这这些域的内容应设为0。卡片应忽略这些域。如果SPI指定不需要CC,则CC的长度应设为0。7.1.1.1 SPISPI用于指定命令数据所使用的安全级别,由两个字节组成,低字节位按照如下格式编码:为保证足够的安全性,不建议使用CRC安全校验。高字节按如下格式编码:7.1.1.2 KICKIC用于指定加密所使用的密钥以及算法,按照如下格式编码7.1.1.3 KIDKID指定用于计算MAC的密钥以及算法。在使用CRC冗余校验和使用加密算法进行计算时,KID的编码方式有所不同,本文档仅指定使用加密算法计算MAC时KID的编码方式,具体内容请参考TS 102.2259。当SPI低字节的b1b2设为10时,KID按照如下格式编码:7.1.2 响应安全头响应安全头用于传输卡片向服务器发送的命令执行结果。其安全头如下表:项目名称长度(字节)值说明TPDU_Head XHEXTP-UDHI为1UDL1(基于短信)2(基于BIP)HEX后续数据的长度安全应用数据UDHL10X02Iela1CPI=0X71IEIDLa10X00RPL2HEX后续数据总长度RHL10X11从SPI到CC的数据长度TAR3HEXToolkit Application Reference,参照TS102.220中的定义CNTR5HEXPCNTR10X00Status Code1CC8HEX响应数据7.1.2.1 状态字状态字用于表示命令执行的结果,取值如下表:状态码(Hex)描述00执行成功01MAC错误02计数器值过小03计数器值过大04计数器被锁定05加密错误06不支持安全头。当卡片无法识别安全头时返回此状态码。07内存不足08卡片忙,需要等待09未知的TAR值0A安全级别过低0B-FF保留7.1.3 计数器管理如果SPI低字节的b4b5=00 (不检查计数器),则卡片将不会检查安全头中的计数器,也不会更新计数器。如果SPI低字节的b5设为1,为防止重传攻击并保证计数器的同步,卡片应按照如下规则管理计数器:ü 服务器应在安全头中加入计数器的值,并且计数器值只能递增ü 在接收到命令并完成安全校验之后,卡片应更新卡上的计数器ü 卡片应使用在命令数据安全头中所设定的计数器值来更新卡片上的计数器ü 当计数器值达到最大值时,计数器应当被锁定如果有多个服务器需要向卡片发送安全数据,必须能够保证计数器值在多个服务器之间的同步。7.2 BIP管理命令BIP指令用于实现Java OTA平台与USIM卡之间的IP通道的管理。Java OTA平台通过此命令通知卡片建立数据通道。可参考TS102.22610中的定义。7.2.1 申请建立BIP通道Java OTA平台通过此命令要求USIM卡片打开一个到手机的BIP通道,卡片在接收到此命令后,应向手机发送OPEN CAHNNEL命令(参照TS102.2238)打开BIP通道,然后手机通过GSM/GPRS或者UMTS/Packets与服务器建立数据通道。当卡片接收到手机返回的响应信息,此命令的执行结束。7.2.2 申请建立CAT_TP通道在BIP通道已经建立的情况下,CAT_TP连接的建立有主动模式和被动模式两种。在Java OTA平台主动发起连接请求的情况下,卡片工作在被动模式,在被动模式下卡片处于LISTEN状态,监听从服务器发来的连接请求。Java OTA平台通过发送连接请求命令要求USIM卡片打开一个到Java OTA平台的CAT_TP通道。 当CAT_TP链接的状态为OPEN或者链接由于错误而关闭时,此命令的执行结束。7.2.3 命令编码PUSH命令按照如下格式编码:代码值CLA80INSECP10108保留为应用自定义P201请求打开BIP通道02请求建立CAT_TP通道Lc数据长度Data数据参数注意:本表中数据值仅适用于P1为01的情况7.2.4 数据参数7.2.4.1 用于打开BIP通道的数据参数在TS 102.2238中为OPEN CHANNEL命令所定义的任何COMPREHENSION-TLV数据都可以包含在PUSH命令的数据参数中。卡片在接收到这些数据后根据参数构造OPEN CHANNEL命令并提交到手机。对于OPEN CHANNEL指令,必须遵守与传输通道相关的两个规则:ü “Other address (local address)”参数不应当包含在参数中ü “Login”和“Parameter”两个参数要么同时存在,要么同时不存在如果这两个条件不符合的话,卡片应当拒绝执行PUSH命令并返回错误代码“6A 80”。7.2.4.2 用于打开CAT_TP通道的数据参数关于CAT_TP的具体使用,请参照TS102.1276。用于打开CAT_TP通道时,PUSH命令需包含以下参数,这些参数对应于TS102.2238中所定义的参数格式:参数名对应的TS102.2238格式是否必选CAT_TP目的端口号UICC/terminal interface transport Level必选最大SDU大小Buffer size必选标识数据Channel Data可选Alpha identifier可选Bearer description必选Data destination address对于CAT_TP而言,目的端口号参数中所包含的协议类型不重要,应当设置为0;端口号为Java OTA平台的CAT_TP端口号。如果在PUSH命令中设定了最大SDU的大小,而且卡片支持这个值,则卡片应使用PUSH命令中所制定的值;如果PUSH命令未设定最大SDU的大小或者卡片不支持设定值,则卡片应另选择一个适当的大小值。PUSH命令参数中的标识数据用于设定由USIM发出的SYN PDU中的标识数据。如果在PUSH命令中标识数据的长度为0,则在卡片上发的SYNPDU中的标识数据的长度也必须设定为0。如果在PUSH命令中未设定此值,则卡片上发的SYN PDU中的标识数据应使用卡片的ICCID。从Java OTA平台发送到卡片的SYN/ACK PDU中的数据标识应设为空。Bearer description用来设定是通过GPRS 还是UMTS.Data destination address用来设定Java OTA平台的IP地址,可能还包括login/password如果CAT_TP链接建立成功,状态为OPEN,PUSH命令的发挥状态字应设为“90 00”。如果链接建立失败,PUSH命令应认为执行失败,状态字应设为“6F 00”,响应数据中应同时包含下列的额外响应数据:ü 01:SYN发送失败ü 02:未收到SYN/ACKü 03:ACK发送失败(第一个ACK)如果命令执行成功,PUSH命令返回的状态字应该是“90 00”;如果执行错误,状态字应为“6F 00”。7.2.5 CAT_TP通道的关闭主动要求关闭CAT_TP连接的一方发送RST PDU到连接的对端,然后自身进入CLOSE-WAIT状态,然后保持一段时间(time-out period),在CLOSE-WAIT期间,不会接受连接对端过来的PDU.当CLOSE-WAIT 的时间达到time-out的数值后,连接中止。7.2.6 BIP通道的关闭Java OTA平台无需发送显式指令来关闭BIP通道。当使用此BIP通道的唯一一个或最后一个链接关闭之后,卡片应发送在TS102.2238中的CLOSE CHANNEL指令来关闭BIP通道。7.3 应用管理命令应用管理命令用于完成以下操作:ü 下载应用到卡片ü 删除卡片上的应用ü 更新卡片密钥文件ü 更改卡上应用的状态本规范主要列出命令的主要功能及编码格式,具体内容可参考TS102.6 8及Global platform card specification 2.1.111规范。7.3.1 DELETEDELETE命令用于删除卡片上已加载的应用下载文件、已安装的应用。要删除某个应用,此应用必须在卡上可以被选定的应用、安全域或者发卡者安全域所唯一标识。删除指令按照下表进行编码:代码值描述CLA80 或者 84INSE4DELETEP100Reference control parameter P1P2xxReference control parameter P200仅删除Data域中指定的应用80删除Data域中指定的应用及其相关的应用LcxxData域的长度DataxxxxxxTLV结构数据(根据安全要求,可能包含MAC)Le00Data域中包含的是用于标识被删除卡内实体信息的TLV结构数据。对于应用删除而言,数据必须按照下表进行编码:项目值描述Tag4FAID的标签LcxxAID的长度Valuexxxx被删除应用的AID值7.3.2 SET STATUSSET STATUS命令用于更改卡片或卡片上应用的生命周期状态。SET STATUS按照下表格式进行编码:代码值描述CLA80 或者 84INSF0SET STATUSP1xxStatus type80 更改ISD的状态40 更改辅助安全域或者应用的状态P2xxState Control参照Global Platform Card specification 2.1.111LcxxData域的长度Dataxxxxxx应用的AID(根据安全要求,可能包含MAC)Le不存在7.3.3 INSTALLINSTALL指令用于通过安全域在卡上增加一个新的应用。INSTALL命令的编码格式如下:代码值描述CLA80 或者 84INSE6INSTALLP1xxReference control parameter P1P200Reference control parameter P2LcxxData域的长度Dataxxxxxx安装数据(根据安全要求,可能包含MAC)Le00参数P1的编码:P1主要说明此INSTALL命令的目的,按照如下格式进行编码:b8b7b6b5b4b3b2b1描述100000For personalization 个人化010000For extradition 应用迁移001X00For make selectable 应用可选00X100For install 应用安装000010For load 应用安装文件加载XXRFUData域取值:数据域中包含的是LV类型的数据结构,对于不同的P1参数,数据域的内容也不相同。具体请参照TS102.22610及Global platform card specification 2.1.111中的定义。7.3.4 LOADLOAD命令用于将一个应用安装文件加载到USIM卡中,本文档仅描述LOAD命令的结构及参数,卡片内部的内存管理不包括在本文档中。一个应用安装文件可能需要多个LOAD指令进行传输,加载文件被分割成多个块由不同的LOAD指令进行传输,并在卡端进行重组。传输同一个加载文件的多个LOAD指令需要从00开始顺序编号,当最后一个LOAD指令被卡片接收到时,卡片应开始按照自有流程进行文件的组装及存放。LOAD命令的编码格式如下表所示:代码值描述CLA80 或者 84INSE8LOADP1xx00 还有后续数据块需要接受80 最后一个数据块P2xxBlock number 从零开始编码,取值范围为00FFLcxxData域的长度Dataxxxxxx加载数据(根据安全要求,可能包含MAC)Le00Data域取值:Data域包含着应用下载文件的一部分,关于Data域的完整表述,请参考Global Platform Card specification V2.1.111代码值描述CLA80 或者 84INSE8LOADP1xx00 还有后续数据块需要接受80 最后一个数据块P2xxBlock number 从零开始编码,取值范围为00FFLcxxData域的长度Dataxxxxxx加载数据(根据安全要求,可能包含MAC)Le不存在7.3.5 PUT KEYPUT KEY指令用于以下几个主要操作:ü 更新卡片上某一密钥的值ü 增加新的密钥PUT KEY命令编码格式如下:代码值描述CLA80 或者 84INSD8PUT KEYP1xxReference control parameter P1P2xxReference control parameter P2LcxxData域的长度Dataxxxxxx密钥数据(根据安全要求,可能包含MAC)Le00其中P1的取值:P1用于定义密钥的版本号以及是否在此PUT KEY命令之后还有后续的PUT KEY指令。密钥版本号用于标识已经存在于卡片上的一个或一组密钥。如果密钥版本号设为00,表示此密钥或密钥组是需要增加到卡片上的新密钥(新密钥或密钥组的版本号包含在Data域中)。 密钥版本号的取值范围为 01 7F。P1的b8为0时表示此PUT KEY指令没有后续的PUT KEY指令;b8为1时表示后续有更多的PUT KEY指令。P2的取值:P2参数定义密钥的ID,并说明在Data域中是包含有一个密钥还是多个密钥。当Data域仅仅包含一个密钥时,P2指定此密钥的ID;当Data域包含有多个密钥时,P2指定第一个密钥的ID,后续其他密钥的ID依次加1。密钥ID的取值范围为007F。P2的b8为0时,表示Data域仅包含单个密钥;b8为1时,表示Data域包含多个密钥。Data域的取值:对于增加新密钥和更新旧密钥时,Data域的格式及处理方式请参照Global Platform Card Specification V2.1.111。7.4 卡片资源管理命令卡片资源管理命令主要用于获取卡片及卡上应用的当前状态及资源使用状况。7.4.1 GET STATUSGET STATUS命令用于根据给定的查