位置:51电子网 » 技术资料 » 其它综合

智能卡的数据结构

发布时间:2008/11/22 0:00:00 访问次数:1047

  密码学已经成为相当重要的应用领域,asn.1数据元比起原来使用的硬性结构来说,可用灵活的技术和选项来处理。

  asn.1的基本编码规则ber(basic encoding rules)是在iso/iec 8825标准中规定的,按照这些规则建立的数据元被称作ber-tlv编码数据元。一个ber编码的数据元有一个标志(称为“标记”),一定长度字段和真正的数据部分,以及一个可选的结束记号。在标记中的这些位是由编码规则预先规定的,真正的结构如图4,1所示,特异的编码规则der(distinguishedencoding rules)形成了ber的子集。在其他情况下,这些规定了长度编码的信息可以是1、2或3字节(byte),ber和der的基本小结可在burton kaliski的书[kaliski 93]中找到。

  asno1数据元的编码是按11v的经典结构进行的,其中标记“t”(tag)表示数据元的标志;长度“l”(length)指的是其长度;而值“v”(value)是真正的数据。

  tlv结构的第1个字段是在接着的v字段中的数据元的标志,为了避免每个用户定义自己的标志,从而开放了不兼容性的大门,于是在标准中规定了不同的,常用的数据元的标记。例如,iso/iec 7816-6规定了在一般行业应用中的数据元的标记,而iso/iec 7816-4则规定了安全报文的标记,至于emv还规定的更多些。这决不是说一个给定的标记总是用于同一数据元素,一种统一化的处理正在发展中。

  图1 遵照anso1的基于ber的tlv编码法则

  图中标记的最高两位为该数据元所属之类别的编码。类别表示数据元的一般类型,通用类标明一般的数据元,如一个整数或字符串,应用类指示数据元属于一特殊的应用或标准(如iso/iec 7816-6)。另外两类,专门语境(context-specific)类和专用类,则被归入头标为非标准的应用中。

  表1 asn.1标记编码

  接着两个类别中的1位表示被标记的数据元是不是由其他数据元构造成的,下余5个最低位才是真正的标志。由于受地址空间的限制,它只能具有0~30之值,把所有的5位均设定为1,则可用来指示跟随的字节。在第2字节中,所有从31~127的值均可使用,第2字节的第8位则指示未来的应用,目前不能设定。

  表1中给出了长度所需之字节数。标准还规定了“模板”(template)一词。模板是一个数据元,它适于充当其他数据元的容器,iso/iec 7816-6规定了智能卡在全行业应用领域内的可能的数据元的标记。iso 9992-2则覆盖了智能卡金融交易领域。

  表2 asn.1中的长度字节数

  在智能卡领域中这种数据编码方法有几个特别有利的特点,由于可用的存储空间永远不够用,采用基于asn.1的数据元能明显地节约空间,tlv编码能传输或存储可变长度的数据,没有其他的复杂因素,能非常节省地使用存储器。图2中给出一个例子来说明这一点,它表示对一个名字的tlv编码。

  图2 名字“wolfgang”的tlv编码

  用asno1很容易扩充数据结构,仅在已有的数据结构中插人另外一个tlv编码的数据元就可以了,只要先前的tlv数据元不被删除,对老形式的完全兼容性就被保持着。对于新形式的数据结构来说相对于先前的编码已经做出了改变,它仅仅是改变直接所需要的标记。对于同样数据的不同编码,它的表示也同样是简单的。总之,这些好处就是基于asn.1的tlv编码语法为什么在智能卡行业特别流行的原因。

  asn。1数据元的主要缺点是若用户数据很小时,则管理数据的成本比较高。例如,如用户数据只是一字节,则仍需要用两个字节(标记和长度)来管理数据。可见用户数据越长,也就越有利。德国健康保障卡的asn.1结构的数据就是一个很好的例子,用户数据在70~212字节之间,而管理数据为36字节,这就是说管理数据量占数据的17%~51%。

  我们用一个例子来概括上述情况,假定在一个透明的数据结构文件中去存储姓氏、教名和头衔,遵照准确的asn△描述,则tlv编码的数据结构如图4所示,例中所用标记是任选的,因此和任何有关标准都不相对应。

  当处理这种数据结构时,计算机先将第1个标记与所有已知标记相比较,找到了1个一致的,即识别出第1个数据元应为一个教名,再从依次的字节中读出这个数据元的长度,后面跟随的字节就是真正的数据元,即教名。接着去处理下一个tlv数据元,它的第1个字节为姓氏的标记,计算机用和第1个数据元完全相同的方法去识别它。

  图3 从几个tlv编

  密码学已经成为相当重要的应用领域,asn.1数据元比起原来使用的硬性结构来说,可用灵活的技术和选项来处理。

  asn.1的基本编码规则ber(basic encoding rules)是在iso/iec 8825标准中规定的,按照这些规则建立的数据元被称作ber-tlv编码数据元。一个ber编码的数据元有一个标志(称为“标记”),一定长度字段和真正的数据部分,以及一个可选的结束记号。在标记中的这些位是由编码规则预先规定的,真正的结构如图4,1所示,特异的编码规则der(distinguishedencoding rules)形成了ber的子集。在其他情况下,这些规定了长度编码的信息可以是1、2或3字节(byte),ber和der的基本小结可在burton kaliski的书[kaliski 93]中找到。

  asno1数据元的编码是按11v的经典结构进行的,其中标记“t”(tag)表示数据元的标志;长度“l”(length)指的是其长度;而值“v”(value)是真正的数据。

  tlv结构的第1个字段是在接着的v字段中的数据元的标志,为了避免每个用户定义自己的标志,从而开放了不兼容性的大门,于是在标准中规定了不同的,常用的数据元的标记。例如,iso/iec 7816-6规定了在一般行业应用中的数据元的标记,而iso/iec 7816-4则规定了安全报文的标记,至于emv还规定的更多些。这决不是说一个给定的标记总是用于同一数据元素,一种统一化的处理正在发展中。

  图1 遵照anso1的基于ber的tlv编码法则

  图中标记的最高两位为该数据元所属之类别的编码。类别表示数据元的一般类型,通用类标明一般的数据元,如一个整数或字符串,应用类指示数据元属于一特殊的应用或标准(如iso/iec 7816-6)。另外两类,专门语境(context-specific)类和专用类,则被归入头标为非标准的应用中。

  表1 asn.1标记编码

  接着两个类别中的1位表示被标记的数据元是不是由其他数据元构造成的,下余5个最低位才是真正的标志。由于受地址空间的限制,它只能具有0~30之值,把所有的5位均设定为1,则可用来指示跟随的字节。在第2字节中,所有从31~127的值均可使用,第2字节的第8位则指示未来的应用,目前不能设定。

  表1中给出了长度所需之字节数。标准还规定了“模板”(template)一词。模板是一个数据元,它适于充当其他数据元的容器,iso/iec 7816-6规定了智能卡在全行业应用领域内的可能的数据元的标记。iso 9992-2则覆盖了智能卡金融交易领域。

  表2 asn.1中的长度字节数

  在智能卡领域中这种数据编码方法有几个特别有利的特点,由于可用的存储空间永远不够用,采用基于asn.1的数据元能明显地节约空间,tlv编码能传输或存储可变长度的数据,没有其他的复杂因素,能非常节省地使用存储器。图2中给出一个例子来说明这一点,它表示对一个名字的tlv编码。

  图2 名字“wolfgang”的tlv编码

  用asno1很容易扩充数据结构,仅在已有的数据结构中插人另外一个tlv编码的数据元就可以了,只要先前的tlv数据元不被删除,对老形式的完全兼容性就被保持着。对于新形式的数据结构来说相对于先前的编码已经做出了改变,它仅仅是改变直接所需要的标记。对于同样数据的不同编码,它的表示也同样是简单的。总之,这些好处就是基于asn.1的tlv编码语法为什么在智能卡行业特别流行的原因。

  asn。1数据元的主要缺点是若用户数据很小时,则管理数据的成本比较高。例如,如用户数据只是一字节,则仍需要用两个字节(标记和长度)来管理数据。可见用户数据越长,也就越有利。德国健康保障卡的asn.1结构的数据就是一个很好的例子,用户数据在70~212字节之间,而管理数据为36字节,这就是说管理数据量占数据的17%~51%。

  我们用一个例子来概括上述情况,假定在一个透明的数据结构文件中去存储姓氏、教名和头衔,遵照准确的asn△描述,则tlv编码的数据结构如图4所示,例中所用标记是任选的,因此和任何有关标准都不相对应。

  当处理这种数据结构时,计算机先将第1个标记与所有已知标记相比较,找到了1个一致的,即识别出第1个数据元应为一个教名,再从依次的字节中读出这个数据元的长度,后面跟随的字节就是真正的数据元,即教名。接着去处理下一个tlv数据元,它的第1个字节为姓氏的标记,计算机用和第1个数据元完全相同的方法去识别它。

  图3 从几个tlv编

相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!