已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
gb/t 山东省质量技术监督局 发布2009-实施2009-发布集成电路(ic)卡应用技术规范第1部分:卡片技术application technical specification for integrated circuit(ic) card一 part 1:integrated circuit card technology(送审稿)db37/t .12009ics . l 备案号:11200101527山东省地方标准db37/t xxx.1-2009目 次前言iiic卡应用技术规范1第1部分 卡片技术11范围12规范性引用文件13术语和定义14符号和缩略语35卡片技术要求45.1接触式ic卡45.2非接触式ic卡45.3双界面ic卡46cpu卡的数据元和文件结构46.1数据元46.2文件46.3文件结构46.4应用数据文件(adf)76.5应用基本文件(aef)76.6gb/t 16649.8文件结构中文件的映像76.7目录结构76.8文件查询76.9cpu卡文件结构76.10卡片安全机制107cpu卡的命令127.1命令及其响应的apdu的内容及格式127.2基本命令集127.3小额消费命令集287.4扩展小额消费命令集457.5 卡片初始化命令集547.6 签名认证命令588 psam卡专用指令618.1 mac1计算命令618.2 校验mac2命令629 sam卡通用指令639.1通用des计算初始化命令639.2通用des计算命令6410 逻辑加密卡6510.1 逻辑加密卡存储结构6510.2 逻辑加密卡命令6611安全机制及安全要求6911.1基本安全要求6911.2 密钥和个人密码的存放6911.3 安全报文传送6912 ic卡卡片选型及验收7512.1 卡片选型7512.2 卡片验收75i前 言db37/t xxx-2009集成电路(ic)卡应用技术规范分为三个部分: 第1部分:卡片技术;第2部分:卡应用;第3部分:终端。本部分为db37/t xxx-2009的第1部分。本标准为推荐性标准。本标准由山东省经济和信息化委员会提出。本标准起草单位:xxx、xxx。本标准主要起草人:xxx、xxx、xxx、xxx、xxx。集成电路(ic)卡应用技术规范第1部分 卡片技术1 范围db/txxx的本部分规定了“ic卡”技术要求、机电特性、逻辑接口、传输协议、数据元、命令、应用选择和安全机制等方面的内容。db/txxx的本部分适用于山东省内各地市发放给市民的、为市民提供公共服务的ic卡。使用对象主要是与ic卡应用相关的卡片设计、cos研发、卡片制造、管理发行以及应用系统的研制、开发、集成和维护等组织机构。2 规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。gb/t 14916 识别卡 物理特性gb/t 16649.1 识别卡 带触点的集成电路卡-第1部分:物理特性gb/t 16649.2 识别卡 带触点的集成电路卡-第2部分:触点的尺寸与位置gb/t 16649.3 识别卡 带触点的集成电路卡 第3部分:电信号和传输协议gb/t 16649.5 识别卡 带触点的集成电路卡 应用标识符的国家编号体系和注册规程gb/t 16649.8 识别卡 带触点的集成电路卡 第8部分:与安全相关的行业间命令cj/t 166-2006 建设事业集成电路 (ic)卡应用技术lb002-2000 社会保障(个人)卡规范jr/t 0025 中国金融集成电路(ic)卡规范iso/iec 7812-1 识别卡 发行者标识 第1部分:编号系统iso/iec 14443(所有部分) 识别卡 无触点集成电路卡 近程卡3 术语和定义下列术语和定义适用于本标准。3.1冷复位 cold reset当ic卡的电源电压和其它信号从静止状态中复苏且申请复位信号时,ic卡产生的复位。3.2热复位 warm reset在时钟(clk)和电源电压(vcc)处于激活状态的前提下,ic卡收到复位信号时产生的复位。3.3终端 terminal为完成ic卡相关交易而在交易点安装的设备,用于同ic卡的连接。它包括接口设备,也可包括其它部件和接口,例如与主机通讯的接口。3.4命令 command终端向ic卡发出的一条信息,该信息启动一个操作或请求一个应答。3.5连接 concatenation两个元素的连接是指将第二个元素附加到第一个元素的末尾。每个元素的字节在结果串中的排列顺序与其从ic卡发送到终端的顺序相同,即:高位字节先送。每个字节位按照从最高位到最低位的顺序排列。一组元素或对象可以通过最先两个相连的方式连接成一个新元素,即第一个与第二个相连,再与第三个相连,依次类推。 3.6响应 responseic卡处理完成收到的命令报文后,回送给终端的报文。3.7功能 function由一个或多个命令实现的处理过程,其操作结果用于完成全部或部分交易。3.8集成电路 integrated circuit(ic)设计用于完成处理和/或存储功能的电子器件。3.9集成电路卡(ic卡) integrated circuit card内部封装一个或多个集成电路的id1型卡(如iso7810、iso7811第1至第5部分、iso7812和iso7813中描述的)。3.10报文 message由终端向卡或卡向终端发出的,不含传输控制字符的字节串。3.11报文鉴别代码 message authentication code对交易数据及其相关参数进行运算后产生的代码。主要用于验证报文的完整性。3.12半字节 nibble一个字节的高四位或低四位。3.13明文 plaintext没有加密的信息。3.14密文 ciphertext通过密码系统产生的不可理解的文字或信号。3.15密钥 key控制加密转换操作的符号序列。3.16数字签名 digital signature一种非对称加密数据变换,它使得接收方能够验证数据的原始性和完整性,保护发送和接收的数据不被第三方伪造,同时对于发送方来说,还可用以防止接收方的伪造。3.17加密算法 cryptographic algorithm为了隐藏或揭露信息内容而变换数据的算法。3.18数据完整性 data integrity数据不受未经许可的方法变更或破坏的属性。3.19电子钱包 electronic purse一种为方便持卡人小额消费而设计的金融ic卡。它支持圈存、消费等交易。使用电子钱包进行的交易均记录明细,并支持超过一定限额需提交个人密码(pin)。3.20电子存折 electronic deposit一种为持卡人进行消费、取现等交易而设计的使用个人密码保护的金融ic卡应用。它支持圈存、圈提、消费、取现、修改透支限额及查询余额交易。3.21预扣消费 pre-buckle expense预扣消费将指定的金额从电子钱包中扣减冻结,冻结期间该金额不能被普通消费指令使用。当消费指令指定使用可用余额扣款时,ic卡首先扣减预扣金额,当预扣金额不足时再从钱包余额中扣减剩余部分。当预扣金额大于扣款金额时,多余预扣金额返回电子钱包。3.22预扣金额 pre-buckle amount通过预扣消费冻结的金额。3.23钱包余额 purse balance电子钱包内可用的余额。3.24可用余额 available balance钱包余额与预扣金额之和。3.25逻辑加密卡 logic encrpytion card带逻辑加密算法的集成电路卡。3.26cpu卡 central processing unit card一种具有微处理器芯片的ic卡。4 符号和缩略语下列符号和缩略语适用于db/txxx的本部分adf 应用数据文件(application definition file)aef 应用基本文件(application elementary file)aid 应用标识符(application identifier)apdu 应用协议数据单元(application protocol data unit)b 二进制(binary)cos 芯片操作系统(chip operating system)cpu 中央处理器(central processing unit)csn 卡片唯一号(card single number)ddf 目录数据文件(directory definition file)df 专用文件(dedicated file)dir 目录(directory) ef 基本文件(elementary file)ic 集成电路(integrated circuit)ip 网络协议(internet protocol)isam 充值安全存取模块(input secure access module)mac 报文鉴别代码(message authentication code)mf 主控文件(master file)pin个人密码(personal identification number)psa 支付系统应用(payment system application)psam 消费安全存取模块(purchase secure access module)pse 支付系统环境(payment system environment)sam 安全存取模块(secure access module)5 卡片技术要求5.1 接触式ic卡接触式ic卡的物理特性,逻辑接口与传输协议应符合gb/t16649系列标准。5.1.1 接触式ic卡物理特性接触式ic卡应符合gb/t 16649.1中有关物理特性的要求。5.1.2 接触式ic卡触点的尺寸和位置接触式ic卡每个触点的尺寸,触点的数量和位置,分配以及表面接触电阻等应符合gb/t 16649.2的要求。5.1.3 接触式ic卡的电信号和传输协议接触式ic卡触点的电特性,操作过程,复位应答,协议类型选择,t=0异步半双工字符传输协议,t=1异步半双工块传输协议应符合gb/t 16649.3的要求5.2 非接触式ic卡本标准所定义的非接触式ic卡的物理特性、初始化、防冲突及传输协议应符合iso/iec 14443系列标准。5.3 双界面ic卡本标准所定义的双界面ic卡是指卡中的芯片同时具有符合gb/t 16649接触式接口和符合iso/iec 14443非接触式接口两种接口方式。6 cpu卡的数据元和文件结构6.1 数据元ic卡中的每个应用都包括一系列信息项,在终端成功地完成应用选择后可以对这些信息进行访问。一个信息项称为一个数据元,数据元是信息的最小单位,它用名称、逻辑内容说明、格式及代码来标识。6.2 文件数据文件中的数据元以记录方式或二进制方式存储,文件结构及引用方式由文件的用途决定,并将在下面的段落中加以描述。除目录文件外,数据文件的内容和布局在应用规范中说明,也可由发卡方定义。6.3 文件结构6.3.1 文件结构说明本规范的文件结构符合gb/t 16649.8及jr/t0025。本条款描述了符合本规范的应用文件结构,这些应用被jr/t0025定义为支付系统应用(psa)。符合gb/t 16649.8及jr/t0025,但不符合本规范的其他应用也可以出现在ic卡上,并可以使用本规范中定义的命令进行操作。ic卡中psa的路径可以通过明确选择小额消费支付系统环境(pse)来激活。一个成功的pse选择能够对目录结构进行访问。从终端角度来看,psa相关的pse文件呈一种可通过目录结构访问的树形结构。树的每一分支是一个应用数据文件(adf),一个adf是一个或多个应用基本文件(aef)的入口点,一个adf及其相关数据文件处于树的同一分支上。在创建文件时,使用文件头定义所创建文件的类型、占用空间大小等参数。6.3.2 文件头定义所有文件头的结构都是16字节长。本文约定在16个字节的文件头和每个字节的8位中,采用的标记方法为:文件头格式见表1。表1 文件头格式说明相对地址号01234567890a0b0c0d0e0f字节名称b0b1b2b3b4b5b6b7b8b9b10b11b12b13b14b156.3.3 文件头数据域文件头中的数据域解释如下:a) 文件标志符(fid)b0和b1是fid,对于ef文件其b1的b4-b1为短文件标志符(sfi)。标识符是区别文件及其类型的唯一标志。mf的文件标志符为3f00h。由cos解释的内部数据元文件,如密码文件、密钥文件、钱包文件、存折文件等无fid。b) 文件类型说明(ftp)b2是ftp,具体定义见表2。表2 文件类型说明文件类型ftpmf00ddf40adf80pb0c adf88ef透明二进制c0线型定长记录d0线型变长记录e0环型定长记录f0密钥c5密码c4钱包c3存折c1c) 文件参数b3-b7这5个字节为文件的参数区,具体参数定义见表3。表3 文件参数说明文件类型b3b4b5b6b7mf保留保留保留保留ddfadfkf保留密钥总数sf01透明二进制文件空间长度线型变长记录线型定长记录记录长度记录总数环型定长记录d) 文件访问控制条件b8b12这5个字节是访问控制条件,每个字节的详细定义请参照6.10卡片安全机制,具体对应访问控制条件见表4。表4 文件访问控制条件说明文件类型12345mf/ddf/adf锁定解锁创建文件文件空间长度kf保留解锁写入保留sf保留解锁重装保留ed/ep圈存圈提读余额消费/取现更新ef保留保留读更新添加e) 保留数据b13b15这三个字节为保留数据与以上保留数据一样,由cos自动进行维护。6.3.4 文件头内容定义 主控文件(mf)文件头: a) b0b1: fid,(3f00);b)b2: ftp,(00);c)b3b7: fchr,由用户填写;d)b8b10: fac,由用户填写;e)b11b12: 指示mf的空间,由用户设置初值;f)b13b14b15: 保留(000000)。 专用文件(df)文件头:a)b0b1: fid,用户定义;b)b2: ftp,(80/88);c)b3b7: fchr,由用户填写;d)b8b10: fac,由用户填写;e)b11b12: 指示df的空间,由用户设置初值;f)b13b14b15: 保留(000000)。 kf/sf文件头:a)b0b1: 0000;b)b2: ftp;c)b3b7: fchr,由用户填写;d)b8b12: fac,由用户填写;e)b13b14b15: 保留(000000)。 基本文件(ef)文件头:a)b0b1: fid,用户定义;b)b2: ftp,用户定义;c)b3b7: fchr,由用户填写;d)b8b12: fac,由用户填写;e)b13b14b15: 保留(000000)。6.4 应用数据文件(adf)adf采用树形结构:a) 能够将数据文件与应用联系起来;b) 确保应用之间的独立性;c) 可以通过应用选择实现对其逻辑结构的访问。从终端角度看,adf是一个只包含其文件控制信息(fci)中纯数据对象的文件。6.5 应用基本文件(aef)一个aef包含有一个或多个原始基本编码规则标签、长度、值(bertlv)数据对象。但在选择了某一应用后,aef只能通过其短文件标识符(sfi)进行查询。6.6 gb/t 16649.8文件结构中文件的映像gb/t 16649.8中使用下列映象表:a) 包含一个fci的df被映象为adf,可以通过它来访问ef和df。在卡中处于最高层的df称为mf;b) 包含一组记录中的ef被映象为aef,ef不能作为进入另一个不同df文件的入口点。6.7 目录结构ic卡支持用于mf下各应用列表的目录结构,目录结构必备的文件是目录文件(dir文件)和一些可选的由目录数据文件(ddf)引用的附加目录。目录结构采用以其应用标识符(aid)的方式进入一个应用,或以aid的前n个字节作为 ddf名的方式进入一组应用。dir文件是一个aef(换句话说,是一个记录结构的ef),它包含gb/t 16649-5中定义的数据对象。注:本标准中描述的一个或多个应用模板(标签为61);可能在目录自由模板中出现的其他数据对象(标签为73),这些模板中包含的数据对象不在本标准中定义。在ic卡中的应用目录都是可选的,且不限制它们存在的数量。其中每个目录的位置由包括在每个df中的fci的目录sfi数据对象指定。6.8 文件查询6.8.1 文件查询方式依照其类型,文件可以通过文件名或sfi进行查询。6.8.2 通过文件名查询卡中的任何adf或ddf可通过其df名查询,adf的df名对应其aid,每个df名在给定的卡中应是唯一的。6.8.3 通过sfi查询sfi用于选择aef。对给定应用中的任何aef,可以通过sfi(5位代码,取值范围从130)查询。sfi的编码在每个用到它的命令中描述。在一个给定的应用中sfi应是唯一的,专用sfi的使用由应用决定。6.9 cpu卡文件结构本节给出了一个卡片内部结构示例见图1。mf(支付系统环境pse)密钥,主控密钥目录基本文件0001adf文件3f01密钥文件应用主控密钥消费子密钥(dpk)圈存子密钥(dlk)tac子密钥(dtk)pin解锁子密钥(dpuk)pin重装子密钥(drpk)圈提子密钥(dulk)修改透支限额子密钥(duk)pin公共应用基本文件0015持卡人基本文件0016交易明细文件0018钱包文件0002存折文件0001图1 cpu卡文件结构a) 主文件(mf)1) 文件标识符:3f00;2) 文件名称是1paysysddf01;3) 正确选择mf后,卡片返回相应的文件控制信息(fci),文件控制信息(fci)参照 jr/t0025-2005的相关内容。b) mf下的目录基本文件1) 目录基本文件是一个变长记录型文件,用值从1到10的短文件标识符(sfi)标识;该目录基本文件附属于ddf,目录的sfi包含在ddf文件控制信息中,目录可以使用read record命令进行读取目录中一个记录可以包含几个入口地址,但一个入口地址不能跨越多个记录存储;2) 本例中目录文件的短文件标识符=01;3) 本例中目录基本文件有一条记录:70 13 61 11 4f 09 a0 00 00 00 03 86 98 07 01 50 04 50 42 4f 43。c) 电子钱包应用1) 文件标识符:3f01;2) 文件名称:a00000000386980701;3) 正确选择此adf后,卡片返回相应的文件控制信息(fch)如下:6f 2e 84 09 a0 00 00 00 03 86 98 07 01 a5 21 9f 0c 1e 11 11 22 2233 33 00 06 03 01 00 06 19 98 08 17 00 00 00 30 19 98 08 15 19 98 12 15 55 66;d) 电子存折/电子钱包应用的基本数据文件见表5。表5 电子存折/电子钱包应用的基本数据文件文件标识符0015文件类型二进制文件文件主体空间1e读权限自由写权限需要安全信息(写二进制时应使用damk进行线路保护,如连续三次执行此命令失败,ic卡回送9303,即应用永久锁定)字节数据元长度1-8发卡方标识89应用类型标识110应用版本111-20应用序列号1021-24应用启动日期425-28应用有效日期429-30发卡方自定义文件控制信息数据2e) 电子存折/电子钱包应用的持卡人基本数据文件见表6。表6 电子存折/电子钱包应用的持卡人基本数据文件文件标识符0016文件类型a8(线路保护的二进制文件)文件主体空间27读权限fo(自由读取)写权限f0(写二进制时必须使用damk进行线路保护,如连续三次执行此命令失败,ic卡回送9303即应用永久锁定)字节数据元长度1卡类型标识12本行职工标识13-22持卡人姓名2023-40持卡人证件号码1841持卡人证件类型1f) 电子存折/电子钱包应用的交易明细文件见表7。表7 电子存折/电子钱包应用的交易明细文件文件标识符0018文件类型2e(循环文件)记录个数0b(该循环文件必须能够容纳至少十条消费,取现,圈存,圈提交易记录)记录长度17读权限f1(必须先验证口令)写权限ef(交易明细由ic卡维护,不允许外部对其修改)字节数据元长度1-2电子存折/电子钱包联机或脱机交易序号23-5透支限额36-9交易金额410交易类型标识111-16终端机编号617-20交易日期421-23交易时间3g) 电子存折说明:本标准中电子存折为可选项,但应符合jr/t 0025的要求。 cpu卡的命令 cpu卡的命令分为基本命令、小额消费专用命令、初始化命令和扩展命令四类。其中基本命令和小额消费专用命令作为本规范的基本要求。初始化命令和扩展小额消费命令作为本规范的扩展要求,在应用中视应用要求使用。 cpu卡的命令格式符合7.1节的要求。6.10 卡片安全机制6.10.1 概述卡片cos的安全机制是由密码和密钥组合构成的。mf和df都可以有独立的安全控制。卡片cos的df可以把安全委托给mf代理,每套安全控制中都可以包含pin安全控制和key控制安全。6.10.2 pin的维护机制mf/df下可以设置1个pin。如果mf/df使用独立的pin,则需要在mf/df下面创建一个pin文件。对pin的操作包括校验、重装、更改、解锁。在非金融df下,pin文件头中有2个fac字节设定重装、解锁的安全控制。在创建df时可以指定该df使用mf下的pin,df的上下文中,不允许对pin重装、更改、解锁。6.10.3 密钥的存储结构和维护机制 说明根据密钥的用途不同,把密钥划分为若干类型。其中最重要的两种类型是主控密钥、维护密钥,其它类型的密钥系统称为工作密钥。例如pboc应用中用的圈存密钥、消费密钥、圈提密钥等都属于工作密钥。对每个密钥,cos记录如下关键信息:类型、版本、算法标识、密钥值、索引等。 存储结构主控密钥、维护密钥被存储在mf/df的空间中,mf/df被创建后,cos就自动为这两个密钥分配了存储空间,可以立即用writekey命令写入这两个密钥。工作密钥被存储在密钥文件中,在安装工作密钥之前,必须创建密钥文件。密钥文件中密钥是无序集合。cos用类型、版本、索引这几个关键字来确定一个密钥。 维护机制密钥的维护工作是指密钥的添加和更新。密钥的添加和更新都通过writekey命令进行。该命令的数据域由一个密钥保护(加密并签名)。刚出厂的卡中没有文件结构,其中有一个缺省主控密钥(default control key),它由生产商设定。生产商通知用户缺省主控密钥的值(提供明文或载有密钥的密钥卡)。在创建mf后,用户可以在mf下添加主控密钥称为卡片主控密钥(card control key),过程由缺省主控密钥保护。除了mf,在任何df下都可以添加主控密钥称为应用主控密钥(application control key)。应用主控密钥负责保护该df下所有密钥(包括它自身)的添加和更新,此后用卡片主控密钥无法更新应用主控密钥。6.10.4 卡对外部的鉴别说明 外部鉴别的方式在选择应用后,在外部和卡的交易中,卡需要对外部进行密钥鉴别以判断交易是否允许进行,其鉴别方式可以分为如下类型。.1 显式通用外部鉴别一般用于控制对通用ef的访问控制。形式是通过external authentication指令,对某个密钥进行鉴别。命令执行完且鉴别成功后,受到此密钥控制的文件访问将被允许。本cos专门设计一种密钥类型外部鉴别密钥,只允许对外部鉴别密钥进行显示鉴别,禁止对维护密钥进行显示鉴别。.2 隐式通用外部鉴别一般用于控制对通用ef的访问控制。形式是通过指令中mac(一般是cla=04情况),对默认密钥(应用维护密钥)进行鉴别。.3 专用外部鉴别不用于对通用ef进行访问控制,只用于特定交易流程的安全控制,例如消费交易、圈存交易等。具体使用哪个密钥由交易类型决定。 显式通用外部鉴别的机制显式通用外部鉴别通过extern authentication命令实现,该命令的定义如下:cla = 00hins = 82hp1 = 密钥版本(如果为0则忽略版本参数)p2 = 密钥索引(如果为0则忽略索引参数)lc= 08data = 发卡方认证数据(8字节)认证数据的计算方法:命令报文数据域中包含8字节的加密数据,该数据是用指定密钥对此命令前一条命令“get challenge”命令获得的8个字节随机数做3des加密运算产生的。注:如果当前应用是pboc psam,则要求p1,p2必须都是0。 隐式通用外部鉴别的机制卡片在运行过程中维护一个临时外部鉴别寄存器,在计算验证了命令mac后,寄存器将根据验证的结果进行设置,以便进行卡片安全性检查。当命令执行成功后,此寄存器被恢复为初值。6.10.5 文件头中的fac含义卡片cos用文件头中的fac字节指定某种操作的安全条件。fac各位的含义如下:b7: 1表示操作前必须校验pin, 0 表示操作前无须校验pinb6: 1表示需要外部鉴别主控密钥b5:: 1表示操作使用维护密钥计算macb4-b0: 当b7b6b5 不全为1时,表示允许操作所需的密钥属性 当b7b6=11时,b5-b0全为1,则永远禁止操作;注:当fac=00时,操作无条件被允许;当希望禁止操作时使用ff。6.10.6 通用ef文件访问控制机制通用ef包括四种:透明、线形定长记录、线形变长记录、环型定长记录文件四种。通用文件访问安全条件由文件头中fac字节设定。它们的文件头中分别用若干个fac字节指定某种操作,文件访问控制条件说明详见表8。表8 文件访问控制条件说明文件类型12345mf/ddf/adf锁定解锁创建文件保留保留kf保留解锁写入保留保留sf保留解锁重装保留保留ed/ep圈存圈提读余额消费/取现更新ef保留保留读更新添加6.10.7 ed/ep金融交易的安全控制机制金融交易的安全机制主要由符合金融规范的交易指令的处理流程来控制,cos允许用户自主设定ed/ep文件头中的fac代码,以对类金融应用提供一定的灵活性支持。ed/ep文件头中的fac代码一般只使用最高位,其余位一般应该设置为0。fac最高位为1,表示该操作需要校验pin,否则不需要。ed文件头中定义了5个有效的fac代码,按照标准pboc的交易流程,fac应该如下设置: 圈存fac:80h 圈提fac:80h 读余额 fac:80h 消费/取现fac:80h 修改透支限额:80hep文件头中定义了3个有效的fac代码,按照标准pboc的交易流程,fac应该如下设置: 圈存fac:80h 保留fac:00h 读余额 fac:00h 消费/取现fac:00h 保留 fac:00h6.10.8 创建文件的安全控制机制df文件头中有1个fac字节,指示创建文件的安全条件。在psam应用下,创建文件需要认证主控密钥,即使用external authentication命令(p1,p2必须=0)认证主控密钥。6.10.9 df锁定和解锁的安全控制机制df文件头中有2个fac字节,分别指示df锁定和解锁的安全条件。7 cpu卡的命令7.1 命令及其响应的apdu的内容及格式命令的apdu的内容及格式见表9。表9 cpu卡命令apdu的内容及格式代码描述长度(byte)cla命令类别1ins指令代码1p1命令参数11p2命令参数21lc命令数据域中存在的字节数0或1data命令发送的数据位串(=lc)变长le响应数据域中期望的最大数据字节数0或1响应的apdu的内容及格式见表10。表10 cpu卡响应apdu的内容及格式代码描述长度(byte)data响应中接受的数据位串(=le)变长sw1命令处理状态1sw2命令处理限定17.2 基本命令集7.2.1 基本命令集表基本命令集见表11。基本命令集描述了卡片所应具有的共同的基本功能。表11 cpu卡基本命令集编号指令名称clains功能描述1application block841e应用锁定2application unblock8418应用解锁3external authenticate0082外部认证4internal authenticate0088内部认证5select file00a4选择文件6get response00c0取响应数据7get challenge0084取随机数8read binary00/04b0读二进制文件9read record00/04b2读记录文件10update binary00/04d6写二进制文件11update record00/04dc写记录文件12pin unblock80/8424个人密码解锁13reload/change pin805e重装/修改个人密码14verify pin00/0420验证口令15append record00/04e2添加记录7.2.2 应用锁定 功能:此命令用于锁定当前选择的应用,该锁定功能包括永久性锁定和临时性锁定两种方式。若应用被临时锁定,可以通过相应的“application unblock”命令解锁该应用,从而恢复对该应用的操作。锁定应用时,首先必须满足该应用指定的“应用锁定安全条件(block-fac)”,并根据该应用的“block-fac”中所指定的密钥计算mac或认证。若应用已被临时锁定,此命令仍可正常执行,且执行成功后卡片返回9000。若应用被永久锁定,用户将不能再继续使用该应用,且执行此命令时卡片将返回9303。命令报文格式见表12。表12 应用锁定命令报文代码值cla84ins1ep100p200(临时性锁定当前选择的应用)01(永久性锁定当前选择的应用)lc04datamacle无响应报文格式见表13。表13 应用锁定响应报文返回错误码说 明6e00cla不正确6a86参数p1 p2不正确6700lc不正确6982ac条件不满足6987mac丢失9403密钥索引不支持6984引用数据无效,随机数无效6983认证方法锁定(密钥被锁定)6581内存失败6988mac不正确9303应用已被永久锁定6a81功能不支持(卡片或应用被锁定)6901命令不接受,无效状态(mf不存在)6986命令执行条件不满足(卡片未解禁)7.2.3 应用解锁功能:此命令用于解锁当前选择的应用,该应用当前正处于临时性锁定状态。解锁应用时,应首先满足应用所指定的“应用解锁安全条件(unblock-fac)”,并根据该应用的“unblock-fac”中所指定的密钥计算mac或认证。若3次解锁应用失败,则该应用将被永久锁定。若应用被永久锁定,则该应用不能被解锁。当用户试图解锁一个未被锁定的应用或已被永久锁定的应用时,卡片将返回6985(命令使用条件不满足)。命令报文格式见表14。表14 应用解锁命令报文代码值cla84ins18p100p200lc04datamacle无响应报文格式见表15。表15 应用解锁响应报文返回错误码说 明6e00cla不正确6a86参数p1 p2不正确6700 lc不正确6982ac条件不满足6983认证方法被锁定(密钥被锁定)6984引用数据无效,随机数无效6985使用条件不满足6987mac丢失6988mac不正确6a81功能不支持(卡片或应用被锁定)9303应用已被永久锁定9403密要索引不支持6581内存失败6901命令不接受,无效状态(mf不存在)6986命令执行条件不满足(卡片未解禁)7.2.4 外部认证 功能:外部认证提供了利用卡片产生随机数,外部利用密钥设备对该数据进行计算,卡内完成对终端的认证功能,成功进行外部认证后,涉及到该密钥的安全条件才得以满足,当其它df被选择或者卡片被复位时进行卡片认证状态的复位操作。允许对一个被临时性锁定的应用进行外部认证。若外部鉴别失败,则该密钥的当前鉴别失败计数器被加一。当该值为最大值时,密钥被锁定,且不允许解锁。若鉴别成功,鉴别失败计数器被恢复为初值。外部鉴别命令报文见表16。表16 外部鉴别命令报文代码值cla00ins82p1密钥版本p2密钥索引lc08data外部认证数据le无外部认证的步骤如下:a) 外部程序用getchallenge命令从卡片取得8字节随机数;b) 外部程序计算认证数据,认证数据的长度为8个字节,认证密钥的长度为16个字节;认证数据 = 3des(卡片产生的随机数,认证密钥);c) 将认证数据通过“外部认证命令”送入卡内进行认证比对,解密认证数据得到随机数明文,进行随机数匹配对比,若相等,则外部认证成功。 注:p1,p2均为00时,表示认证主控密钥。外部鉴别响应报文格式见表17。表17 外部鉴别响应报文返回错误码说明6e00cla不正确6a86参数p1 p2不正确6700lc不正确6300鉴别失败9303应用被永久锁定9403密钥索引不支持6a81功能不支持(df被永久锁定)6a88引用数据未找到(外部认证数据接收错)6983认证方法锁定(该密钥已被锁定)6984随机数无效6300鉴别失败6581内存校验和错9303应用已被永久锁定6a81功能不支持(卡片或应用被锁定)6901命令不接受,无效状态6986命令执行条件不满足(卡片未解禁)7.2.5 内部认证 功能:内部认证提供了利用外部产生随机数,卡内利用密钥设备对该数据进行计算,外部程序完成对ic卡的认证功能,成功进行内部认证后,涉及到该密钥的安全条件才得以满足,当应用处于锁定状态时,不允许进行内部认证。内部认证的步骤如下:a) 终端产生一个8字节随机数送给外部程序,终端临时保存随机数;b) 外部程序把8字节随机数送给ic卡,用内部认证命令(internal authentication)将“外部随机数”发送给ic卡;c) ic卡用内部认证密钥计算认证数据,内部认证密钥的长度为16个字节,内部认证数据 = 3des(8个字节外部随机数,内部认证密钥);d) 外部程序对卡片返回的内部认证数据进行验证。命令格式格式见表18。表18 内部认证命令报文代码值cla00ins88p1密钥版本p2密钥索引lc08data外部产生的随机数(8字节)le08响应报文格式见表19。表19 内部认证响应报文返回错误码说 明6e00cla不正确6a86参数p1 p2不正确6700lc不正确9403密钥索引不支持6a88引用数据未找到(内部认证数据接收错)6983认证方法锁定(该密钥已被锁定)6581内存校验和错6901命令不接受,无效状态6986命令执行条件不满足(卡片未解禁)9303应用已被永久锁定6a81功能不支持(卡片或应用被临时锁定)61xx需发get response,取回实际长度为xx的数据7.2.6 取随机数命令 功能:此命令用于请求ic卡返回一个4或8字节的随机数,该随机数可用于与安全相关的操作流程。请求的随机数将保持有效直到以下情况发生:a) 再次发出取随机数命令;b) 执行了与随机数相关的操作流程;c) 选择df;d) 卡片被复位。命令报文见表20。表20 取随机数命令报文代码值cla00ins84p100p200lc无data无le04/08响应报文格式见表21。表21 取随机数响应报文返回错误码说明6e00cla不正确6a86参数p1 p2不正确6700le不正确6a81功能不支持(卡片被锁定)7.2.7 取响应命令功能:此命令用于在t=0协议中的命令模式4的状态下取得卡片中的返回数据。命令apdu包括以下4种模式。命令格式见表22。表22 命令apdu格式命令模式值1cla ins p1 p22cla ins p1 p2 le3cla ins p1 p2 lc data4cla ins p1 p2 lc data le命令报文格式见表23。表23 取响应命令报文代码值cla00insc0p100p200lc无data无le期望的响应数据长度响应报文格式见表24。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绿色营销 课件
- 西京学院《电工电子实训》2022-2023学年期末试卷
- 西华师范大学《中学历史教学论》2022-2023学年第一学期期末试卷
- 西华师范大学《知识产权法学》2023-2024学年期末试卷
- 西华师范大学《艺术采风》2023-2024学年第一学期期末试卷
- 2024-2025学年高中物理举一反三系列专题2.1 温度和温标(含答案)
- 西华师范大学《平面设计基础》2023-2024学年第一学期期末试卷
- 西华师范大学《个人理财实务》2021-2022学年第一学期期末试卷
- 西华师范大学《创业管理》2022-2023学年第一学期期末试卷
- 西昌学院《英汉笔译实践》2023-2024学年第一学期期末试卷
- 2022-2023学年福建省福州市福清市闽教版五年级上学期期中练习英语试卷(含听力音频)
- 生活区消防自查记录表
- 2024届广东省深圳市宝安区宝安中学物理九上期中质量跟踪监视模拟试题含解析
- 工业设计方法学
- GB/T 43218-2023煤炭测硫仪性能验收导则
- 创新方法大赛理论测试题库(2018、2019、经典题库)
- 湖北省武汉一初慧泉2023-2024+学年上学期9月同步练习Unit1-Unit+3九年级英语试卷
- 《中华商业文化》第五章
- 环境与健康及医院环境
- (完整版)华为虚拟化技术方案
- 直播培训合作协议
评论
0/150
提交评论