智能卡的数据结构智能卡的数据结构
密码学已经成为相当重要的应用领域,ASN.1数据元比起原来使用的硬性结构来说,可用灵活的技术和选项来处
理。 ASN.1的基本编码规则BER(Basic Encoding Rules)是在ISO/IEC 8825标准中规定的,按照这些规
则建立的数据元被称作BER-TLV编码数据元。一个BER编码的数据元有一个标志(称为“标记”),一定长度字
段和真正的数据部分,以及一个可选的结束记号。在标记中的这些位是由编码规则预先规定的,真正的结构如
图4,1所示,特异的编码规则DER(DistinguishedEncoding Rules)形成了BER的子集。在其他情况下,这些
规定了长度编码的信息可以是1
密码学已经成为相当重要的应用领域,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则覆盖了智能卡金融交易领
域。
评论0
最新资源