ic行业规范参考

发布时间 : 星期二 文章ic行业规范参考更新完毕开始阅读

标 记 ‘9A’, ‘BA’ ‘9E’

5.6.4 保密性的数据对象

值 数字签名输入数据 数字签名 保密性数据对象预期用于运载密码,其普通值由下列三种情况之一组成: ——BER—TLV,包含SM相关的数据对象; ——BER—TLV,不包含SM相关的数据对象; ——不是BER—TLV编码的数据。

当普通值不是由BER—TLV编码数据组成时,则必须指示填充。当填充被应用但未被指示时,则本部分规范5.6.3.1定义的规则可应用。

表22示出了保密性的数据对象。

表22 保密性的数据对象

标 记 ‘82’,‘83’ ‘84’,‘85’ ‘86’,‘87’

保密性的每一个数据对象可以使用任何密码算法以及任何操作方式,归用于适合的算

法引用(见本部分规范5.6.5.1)。在不存在算法引用的情况下以及当没有机制可隐式地被选择用于保密性时,一种默认机制可应用。

对于密码的计算,该密码之前是填充指示符时,默认机制就是使用“电子密码本”的块密码法(见ISO10116)。使用块密码可以包含填充。保密性的填充对传输有影响,因为密码(一个或多个块)大于明文。

表23示出了填充指示符字节

表23 填充指示符字节

值 含 义 ‘00’ —没有进一步的指示 ‘01’ —按本部分规范5.6.3.1定义进行填充 ‘02’ —没有填充 ‘80”~‘8E” —专有的其他值为RFU 对于密码的计算,该密码之前不是填充指示符字节时,默认机制就是使用“异或”运算的流密码。在这种情况下,密码是被伪装的数据字节串与伪装的相同长度串进行“异或”运算的结果。因此,伪装要求在由相同操作所恢复的值字段中没有填充及被伪装的数据对象。 5.6.5 辅助安全数据对象

算法、密钥和可能的初始数据可以被选择用于每种安全机制。

——显示地,即,发布命令之前已知;

——显示地,通过控制引用嵌套在控制引用样板中。

每个命令报文可以运载响应描述符样板,该样板安排了在响应中所要求的数据对象。在响应描述符内,安全机制仍不被应用;接收实体应将该机制应用到构造响应中。 5.6.5.1 控制引用

表24示出了控制引用样板。

表24 控制引用样板

值 密码,简明值由下列内容组成: —BER—TLV,包含SM相关数据对象 —BER—TLV,但不是SM相关的数据对象 填充指示符字节(见表23)后随密码(普通值不在BER—TLA中编码)

标 记 ‘B4’,‘B5’ ‘B6’,‘B7’ ‘B8’,‘B9’

含 义 —对密码“校验和”有效的样板 —对数字签名有效的样板 —对保密性有效的样板 控制引用样板的最后可能位置正好在被引用机制使用的第1个数据对象之前。例如,密码“校验和”用的样板的最后可能位置正好在被集成到计算中的第1个数据对象之前。 每个控制引用保持有效,直到新的控制被提供用于相同机制。例如,一个命令可以为下一个命令安排控制引用。

每个控制引用样板预期用于运载控制引用数据对象(见表25):算法引用,文件引用,密钥引用,初始数据引用,并且仅在保密性的控制引用样板中,密码内容引用。

算法引用安排了算法及其操作方式(见ISO9979和10116)。算法引用的结构和编码不在本规范本部分中定义。

文件引用表示了密钥引用有效文件。如果没有文件引用呈现,则密钥引用在当前DF中有效。

密钥引用标识了被使用的密钥。

当初始数据引用被应用到密码“校验和”时,该初始数据引用安排了初始校验块。如果没有初始数据引用呈现,并且没有初始校验块显式地被选择,则空块应被使用。此外,在发送保密性的第1个数据对象之前,使用一种流密码时,保密性用的样板应为伪装字节串的计算提供辅助数据。

密码内部引用规范了密码的内容(例如,秘密密钥、初始口令、控制字)。值字段的第1个字节是已命名的密码描述符字节,并且是强制性的。范围‘00’至‘7F’为RFU。范围‘80’至‘FF’为专有的。 标 记 ‘80’ ‘81’ ‘82’ ‘83’ ‘84’ ‘85’ ‘86’ ‘87’ ‘88’ ‘89’到 ‘8D’ ‘8E’ 5.6.5.2 响应描述符 表25 控制引用数据对象

值 算法引用 文件引用 —文件标识符或路径 —DF名称 密钥引用 —对于直接使用 —对于计算会话密钥 初始数据引用 *初始校验块 —L=0,空块 —L=0,链接块 —L=0,先前的初始值块加1 L=k,初始值块 *辅助数据 —L=0,先前交换的询问加1 L≠0,没有进一步的指示 —L=0,专用数据元的索引 L≠0,专用数据元的值 密码内部引用 如果在命令APDU的数据字段中呈现响应描述符样板,则它应安排相应响应的结构。空数据对象应列出产生响应所需要的全部数据。

处理命令报文的数据字段所使用的安全项目(算法、密钥及初始数据)可以不同于产

生后续响应报文的数据字段所使用的那些安全项目。

下列规则应该使用。

——卡应填充每个空的原始数据对象。

——呈现在响应描术符中的每个控制引用样板对于算法、文件和密钥而言应该在带有相同控制引用的相同位置上呈现在响应中。如果响应描述符提供了辅助数据,则在响应中数据对象应为空。如果辅助数据的空引用数据对象呈现在响应描述符中,则在响应中它应为空。 ——通过相关的安全机制,使用选择的安全项目时,卡应产生所有请求的安全机制数据对象。表26示出了响应描述符样板。

表26 响应描述符样板

标记 值 ‘BA’ ‘BB’ 响应描述符 5.6.6 SM状态条件 在使用安全报文交换的任何命令中,下列特定差错条件可能发生。

——SW1=‘69’,同时SW2= ·‘87’:期望的SM数据对象失踪。 ·‘88’:SM数据对象不正确。

6 基本的行业间命令

对于遵循本规范本部分的所有卡而言,应该不强制要求支持本部分描述的所有命令或支持命令的所有选项。

当进行国际交换时,卡系统服务及相关命令和选项的集合应按照第9章的定义加以使用。表11提供了本规范本部分定义的命令概要。

安全报文交换(见本部分规范5.6)对报文结构的影响不在本章中描述。

在6.X.5的每一条中所给出的差错和报警条件的列表不是穷举的(见本规范本部分5.4.5)。

6.1 READ BINARY命令 6.1.1 定义和范围

READ BINARY响应报文给出了带有透明结构的EF内容的一部分。 6.1.2 使用与安全的条件

当命令包含了有效的短EF标识符时,它将文件置位为当前EF。

根据当前选择的EF来处理该命令。仅当安全状态满足了用于该功能的为该EF而定义的安全属性时,才能执行该命令。

如果命令被应用到不带有透明结构的EF,则应放弃该命令。 6.1.3 命令报文

表27 READ BINARY命令APDU CLA 按5.4.1定义的 INS ‘BO’ P1—P2 见以下文本 Lc字段 空 数据字段 空 Le字段 待读的字节数 如果在P1中b8=1,则P1的b7和b6置为0(RFU若干位),P1的b5至b1是短EF标识符,并且P2是在从文件开始的数据单元中被读的第1个字节的偏移。

如果在P1中b8=0,则P1‖P2是在从文件开始的数据单元中被读的第1个字节的偏移。 6.1.4 响应报文(标称情况) 如Le字段仅包含若干“0”,则对于短的长度在不超过256的范围内或者对扩充长度在不超过65536的范围内,所有字节(直到文件结束为止)应被读出。

表28 READ BINARY响应APDU

数据字段 SW1—SW2 读的数据(Le字节) 状态字节 6.1.5 状态条件

下列特定报警条件可能发生。 ——SW1=‘62’,同时SW2= ·‘81’:被返回数据的一部分可以被损坏。

·‘82’:读Le字节之前达到的文件结束。 下列特定差错条件可能发生。 ——SW1=‘67’,同时SW2= ·‘00’:错误的长度(错误的Le字段)。 ——SW1=‘69’,同时SW2= ·‘81”:命令与文件结构不兼容。 ·‘82’:安全状态不被满足。

·‘86”:命令不被允许(没有当前EF)。 SW1=‘64’,同时SW2= ·‘81’:功能不被支持。 ·‘82’:文件未被找到。 ——SW1=‘6B’,同时SW2=

·‘00’:错误的参数(偏移超出EF)。 ——SW1=‘6C’,同时SW2=

‘XX’:错误的长度(错误的Le字段;‘XX’表示正确长度)。 6.2 WRITE BINARY命令 6.2.1 定义和范围

WRITE BINARY命令报文启动将二进制值写入EF。

根据文件属性,命令应执行下列操作之一:

——早已存在卡内的位与在命令APDU中给出的位进行逻辑“或”运算(该文件位的逻辑擦除状态为“O”)。

——对早已存在卡内的位与在命令APDU中给出的位进行逻辑“与”运算(该文件位的逻辑擦除状态为“1”)。

——将命令APDU中给出的位一次写入卡的操作。

当在数据编码字节中未给出指示(见表86)时,则逻辑“或”行为应该适用。 6.2.2 使用与安全的条件

当命令包含了有效的短EF标识符时,它将文件置位为当前EF。 根据当前选择的EF来处理该命令。仅当安全状态满足了用于写功能的安全属性时,才能执行该命令。

一旦WRITE BINARY已经被应用到一次写EF的数据单元,如果数据单元的内容或被连接到该数据单元的逻辑擦除状态指示符(如果有)不同于逻辑擦除状态,则涉及该数据单元的任何进一步的写操作将被放弃。

如果命令被施加到不带有透明结构的EF,则应放弃该命令。 6.2.3 命令报文

联系合同范文客服:xxxxx#qq.com(#替换为@)