电子ID身份鉴别技术--卡技术及其应用

发布时间:2003-11-26 作者:李晖Li Hui 阅读量:

文章编号:1009-6868(2001)05-0018-05 文献标识码:A 中图分类号:TN918.91

  在各种信息系统中,身份鉴别通常是获得系统服务所必需通过的第一道关卡。例如移动通信系统需要识别用户的身份进行计费;一个受控安全信息系统需要基于用户身份进行访问控制等等。因此,确保身份识别的安全性对系统的安全是至关重要的。

  目前常用的身份识别技术可以分为两大类:一类是基于密码技术的各种电子ID身份鉴别技术;另一类是基于生物特征识别的识别技术。本文主要讨论和介绍电子ID的身份鉴别技术。

  1 基于对称密码体制的身份鉴别

  采用密码的身份识别技术从根本上来说是基于用户所持有的一个秘密。所以,秘密必须和用户的身份绑定。

  (1)用户名/口令鉴别技术

  这种身份鉴别技术是最简单、目前应用最普遍的身份识别技术,比如Windows NT、各类Unix操作系统、信用卡等各类系统的操作员登录等等,大量使用的是用户名/口令识别技术。

  这种技术的主要特征是每个用户持有一个口令作为其身份的证明,在验证端,保存有一个数据库来实现用户名与口令的绑定。在用户身份识别时,用户必须同时提供用户名和口令。

  用户名/口令具有实现简单的优点,但存在以下安全方面的缺点:

  • 大多数系统的口令是明文传送到验证服务器的,容易被截获。某些系统在建立一个加密链路后再进行口令的传输以解决此问题,如配置链路加密机。招商银行的网上银行就是以SSL建立加密链路后再传输用户口令的。
  • 口令维护的成本较高。为保证安全性,口令应当经常更换。另外为避免对口令的字典攻击,口令应当保证一定的长度,并且尽量采用随机的字符。但是这样带来难于记忆、容易遗忘的缺点。
  • 口令容易在输入的时候被攻击者偷窥,而且用户无法及时发现。

  (2)动态口令技术

  为解决上述问题,在发明著名公钥算法RSA基础上建立起来的美国RSA公司在其一种产品SecurID中采用了动态口令技术。每个用户发有一个身份令牌,该令牌以每分钟一次的速度产生新的口令。验证服务器会跟踪每一个用户的ID令牌产生的口令相位,这是一种时间同步的动态口令系统。该系统解决了口令被截获和难于记忆的问题,在国外得到了广泛的使用。很多大公司使用SecurID,用于接入VPN和远程接入应用、网络操作系统、Intranets和Extranets、Web 服务器及应用,全球累计使用量达800万个。

  在使用时,SecurID与个人标识符(PIN)结合使用,也就是所谓的双因子认证。用户用其所知道的PIN和其所拥有的SecurID两个因子向服务器证明自己的身份,比单纯的用户名/口令识别技术有更高的安全性。

  (3)Challenge-Response鉴别技术

  Challenge-Response是最为安全的对称体制身份识别技术。它利用Hash函数,在不传输用户口令的情况下识别用户的身份。系统与用户事先共享一个秘密x。当用户要求登录系统时,系统产生一个随机数Random作为对用户的Challenge,用户计算Hash(Random, x)作为Response传给服务器。服务器从数据库中取得x,也计算Hash(Random, x),如果结果与用户传来的结果一致,说明用户持有x,从而验证了用户的身份。

  Challenge-Response技术已经得到广泛使用。Windows NT的用户认证就采用了这一技术。IPSec协议中的密钥交换(IKE)也采用了该识别技术。该技术的流程示意图如图1所示。


图1 Challenge-Response鉴别示意图

  2 基于非对称密码体制的身份识别技术

  采用对称密码体制识别技术的主要特点是必须拥有一个密钥分配中心(KDC)或中心认证服务器,该服务器保存所有系统用户的秘密信息。这样对于一个比较方便进行集中控制的系统来说是一个较好的选择,当然,这种体制对于中心数据库的安全要求是很高的,因为一旦中心数据库被攻破,整个系统就将崩溃。

  随着网络应用的普及,对系统外用户的身份识别的要求不断增加。即某个用户没有在一个系统中注册,但也要求能够对其身份进行识别。尤其是在分布式系统中,这种要求格外突出。这种情况下,非对称体制密码技术就显示出了它独特的优越性。

  采用非对称体制每个用户被分配给一对密钥(也可由自己产生),称之为公开密钥和秘密密钥。其中秘密密钥由用户妥善保管,而公开密钥则向所有人公开。由于这一对密钥必须配对使用,因此,用户如果能够向验证方证实自己持有秘密密钥,就证明了自己的身份。

  非对称体制身份识别的关键是将用户身份与密钥绑定。CA(Certificate Authority)通过为用户发放数字证书(Certificate)来证明用户公钥与用户身份的对应关系。

  目前证书认证的通用国际标准是X.509。证书中包含的关键内容是用户的名称和用户公钥,以及该证书的有效期和发放证书的CA机构名称。所有内容由CA用其秘密密钥进行数字签名,由于CA是大家信任的权威机构,所以所有人可以利用CA的公开密钥验证其发放证书的有效性,进而确认证书中公开密钥与用户身份的绑定关系,随后可以用用户的公开密钥来证实其确实持有秘密密钥,从而证实用户的身份。

  采用数字证书进行身份识别的协议有很多,SSL(Secure Socket Layer)和SET(Secure Electronic Transaction)是其中的两个典型样例。他们向验证方证实自己身份的方式与图1类似,如图2所示。验证方向用户提供一随机数;用户以其私钥Kpri对随机数进行签名,将签名和自己的证书提交给验证方;验证方验证证书的有效性,从证书中获得用户公钥Kpub,以Kpub验证用户签名的随机数。


图2 基于证书的鉴别过程示意图

  3 基于IC卡的电子ID令牌的主要标准

  IC卡可以向各种用户针对不同应用(如密钥、数字证书和口令)提供一个安全的存储和计算环境,而且由于IC卡的便携性,人们认识到IC卡在各种信息系统和电子商务应用中的安全用户身份识别方面有很大的优势和潜力,因此很多电子ID令牌均采用IC卡。

  但是,不同的系统采用不同IC卡认证身份在互操作性上存在很大的障碍。由于缺乏统一的标准,不同IC卡内存贮格式和计算方式是不同的,这样用户在有多个应用同时进行的时候,需要多个IC卡。这会带来使用上很大的不便,特别是在Web应用上。

  针对这个问题,很多机构都在致力于进行smart卡应用的标准化工作,其核心是保证各种smart卡的互操作性。相关的工作主要包括:

  • ISO/IEC 7816
      此标准是ISO针对IC卡制订的一系列标准,目前已经包括9个部分。ISO7816-1到ISO7816-9标准定义了卡的外形、接口、通信格式以及相关的安全标准。

  • DC/SC
      这是Digital Certificates on Smart Cards的缩写,主要由CertCo、 Litronics 和GemPlus协作完成,目的在于保证在IC卡中使用存储的数字证书的互操作性。该解决方案在卡操作系统(COS)的根目录下增加一个EF文件,而应用在该文件中读写卡上已知证书的信息。DC/SC 的工作后来并入了SEIS。

  • SEIS
      社会安全电子信息(SEIS),是一个总部位于瑞典的非盈利机构。SEIS的一个最重要的计划就是采用电子身份IC卡用于电子ID应用,其中包括安全的持卡人电子认证、产生合法的数字签名并支持会话密钥的交换。到目前为止,已制订出两个标准??SEIS S1 和SEIS S4。 SEIS S1 详细定义了电子身份卡的应用,定义了在兼容的IC卡上存贮数字证书、密钥和PINs的位置和方法。SEIS S4 对使用的密钥格式和大小作出进一步的规定。
      SEIS S1 和S4针对的是基于公钥技术的电子身份应用,不支持RSA密钥以外的应用,而且只支持X.509格式证书。

  • WAP 联盟
      无线应用协议(WAP)论坛, 是由在数字移动电话和其他无线终端上提供无线信息和电话服务的一些大公司组成的联盟,其中一部分工作是对申请这些服务的用户进行身份识别。为达到此目的,向用户发放IC卡(SIM卡,即用户身份模块), 为此制订了WAP 识别模块标准(WIM)。

  • PC/SC 规范
      即IC卡和个人计算机系统互操作性标准(PC/SC),是一个由诸如GemPlus、Schlumberger 和Microsoft等业界领先的IC卡制造商和PC制造商组成的一个工作组,目的在于制订一个标准来使得在计算机环境中满足使用IC卡的互操作性需求,而且可以支持已经存在的和未来的基于IC卡的应用。
      该规范的第8部分规定了IC卡的安全和机密性建议, 涉及了几种信息处理格式。该规范的主要思想是对每个厂商的IC卡和IC卡读写设备提供一个service provider,这些service provider对应用程序的接口是一致的。因此在更换不同厂商的IC卡时,不需要更换应用程序。

  • OCF
      开放式IC卡框架(OCF)为IC卡读写设备和IC卡上应用提供一个公共编程接口。体系结构基于Java技术,目的在于获得增强的便携性和互操作性。1.1版本规范允许通过一个适配层和现存的支持PC/SC 1.0读写设备实现互通。

  • Java卡规范
      Sun微系统公司提出Java卡规范,定义了一个应用IC卡和其他嵌入式系统的Java语言的子集。其目的在于向卡端应用的开发人员提供一个熟悉的高级语言编程接口来简化卡应用的开发。

  4 PKCS#15密码令牌信息格式标准

  PKCS#15是RSA公司提出的一系列公钥加密标准中的一个,主要用于对认证令牌中的信息格式进行定义。这些令牌可以是IC卡或其他具有存贮和计算能力的器件。PKCS#15的设计目标如下:

  (1)支持多种令牌

  • 不限于支持某种特定的IC卡,PKCS #15 可以在任何符合ISO7816标准的卡上实现。例如除ISO/IEC 7816-4 中定义的命令以外没有其他任何假设,而且PKCS#15甚至可以在存储卡和软件令牌上实现。
  • 为支持存储卡以及没有加密功能的令牌,PKCS#15规定了存储对象加密和完整性保护方法。
  • 最后,为支持没有文件概念的令牌, PKCS #15允许所有信息以连续的块形式存放。

  (2) 标准兼容

  • 为了能够与ISO/IEC 7816-5 和 ISO/IEC 7816-6 一致, 信息格式以ASN.1的形式定义。
  • 采用面向对象的方法,将密钥、证书和其他数据作为带有属性和数值的对象来对待。

  (3)自完备性

  • 给定一个在芯片上包含 PKCS #15应用的IC卡,为使该IC卡可以用于安全鉴别,主机端应用必须知道卡上现有的算法、密钥和证书。因此卡上包含令牌信息(TokenInfo)文件和对象目录(Object Directory)文件。
  • 应用必须知道对象是如何保护的,而且知道如何访问。应用还必须知道对象是否可以更新。通过引入适当的安全属性和认证对象可以满足此要求。认证对象存储在认证对象目录(Authentication Object Directory)文件当中。

  (4)灵活的模块化结构

  • 不要求一个PKCS#15应用保存所有的 PKCS #15相关对象。其应用可以从其他指定的文件获取类似与证书的对象。
  • 文件结构是面向记录和模块化的,以使意外拔卡所带来的异常操作中断带来的影响最小。

  4.1 PKCS#15文件结构

  PKCS #15 DF的内容依赖于IC卡类型和用途(参见图3),但下列文件结构是最常采用的结构,特别在用于鉴别和认证的目的时。


图3 DF的内容(PKCS#15)

  PKCS #15目录中主要的基本文件(EF) 的内容及目的如下:

  (1)对象目录文件(ODF)

  必须具备的基本文件ODF(Object Directory File)中存有指向其他基本文件(PrKDFs、PuKDFs、SKDFs、CDFs、 DODFs 和AODFs)的指针, 每一个指针包含了一类特定PKCS#15对象的目录。因此ODF是面向记录的结构,每一个记录是一个指向其他目录文件的指针。

  (2)密码密钥目录文件(PrKDFs、SKDFs 和 PuKDFs)

  这些基本文件可以看作是PKCS#15应用知道的密钥目录。PrKDFs 包含私钥信息, PuKDFs 包含公钥信息,SKDFs包含对称密钥信息。他们都是可选的,但是至少有一个文件存在。文件中包含一般密钥属性如标号、密钥应用限制、识别符、算法类型、密钥大小等等,以及指向密钥本身的指针。

  (3)证书目录文件(CDFs)

  这些EF文件是PKCS#15应用需要知道的证书目录。他们是可选的,但是IC卡上必须至少有一个包含证书或指向证书的CDF。其存储内容包括证书通用属性如标记、识别符和证书类型,另外还包括指向证书本身的指针。当证书中含有PKCS#15应用知道的私钥所对应的公钥时,证书和私钥共享一个公共的识别符,以简化给定证书查找私钥或给定私钥查找证书的过程。

  (4)可信任证书目录文件

  这些EF文件与普通的CDFs有相同的格式,但是只包含可信任的证书。在PKCS#15上下文中,可信任证书是CA的证书,并且不能被持卡人证书所替代。

  (5)认证对象目录文件(AODFs)

  这些EF文件是PKCS#15应用需要知道的认证对象(如PIN)目录。他们是可选的,但IC卡上必须至少存在一个AODF,其中保存有PKCS#15对象访问控制的认证对象。认证对象通常包含的认证对象属性如允许的字符、PIN长度、PIN填充字符等等,另外还包含指向认证对象本身的指针。认证对象用于对诸如密钥等PKCS#15对象进行访问控制。文件中的每一个对象有唯一的索引号,用于将诸如密钥等对象与认证对象的互相索引。

  (6)数据对象目录文件(DODFs)

  这些文件是PKCS#15应用知道的数据对象(密钥和证书以外)目录。他们也是可选的,但是IC卡上至少有一个 DODF。其中包含数据对象属性如数据对象所属的应用识别,是私有的还是公共的等等,另外还包含指向数据对象的指针。

  (7)令牌信息文件

  令牌信息文件是必须具有的EF文件,其中包含了令牌的基本信息和能力,如支持的算法、令牌序列号等等。为了节省存储空间,还规定了从PrKDFs、PuKDFs 和到此文件的互索引算法信息。

  4.2 应用举例

  PKCS #15´v1.0 包含了用于电子鉴别的信息格式框架,如图4所示。该框架使用两个秘密密钥,两个用户证书和两个PINs。每个私钥用单独的PIN保护并且连接到相应的证书,目的在于持卡人用一个密钥用于认证和密钥交换,另一个密钥严格的用户不可抵赖(或者是数字签名)。


图4 PKCS #15´电子ID框架的文件结构

  在包含PKCS#15电子ID框架的令牌上可以增加第3方应用数据,令牌不仅可以用于一般的认证,还可以用于第3方应用。WIM定义了一个应用使得令牌不仅作为蜂窝电话卡,也可用于支持PKCS#15应用的Internet接入。PKCS#15同样可以用于网上银行和安全信用卡等方面应用。

  综上所述,目前电子ID令牌的使用越来越普及,而且渐渐的与生物识别技术互相融合。比如以指纹作为取代PINs作为PKCS#15的对象认证条件。随着技术的不断发展,电子ID本身在不断推广应用的同时也将不断的发展和完善,将变得易用并为广大用户所接受。

  参考文献

1 DC/SC.Interoperability Specification for Digital Certificates - Storage of Digital Certificates on ICCs.Draft Version 0.2.Digital Certificates on Smart Cards Working Group, 1998
2 Elliot S,Loebbecke C.Smart Card Based Electronic Commerce: Characteristics and Roles.Proceedings of the 31st Hawaii International Conference on System Sciences (HICSS´98) (IEEE), 1998
3 S Guthery S,Jurgensen T.Smart Card Developer´s Kit, Macmillian Technical Publishing, 1998
4 ISO/IECC 7816-4.Information Technology - Identification Cards - Integrated Circuit(s) Cards with Contacts - Part 4: Interindustry Commands for Interchange.International Organization for Standardization, 1995
5 ISO/IEC 7816-5.Information Technology - Identification Cards - Integrated Circuit(s) Cards with Contacts - Part 5: Numbering Systems and Registration Procedure for Application Identifiers.International Organization for Standardization, 1994
6 ISO/IEC 7816-6.Information Technology - Identification Cards - Integrated Circuit(s) Cards with Contacts-Part 6: Interindustry Data Elements. International Organization for Standardization, 1996
7 ISO/IEC 7816-8 Final Committee Draft.Information Technology - Identification Cards - Integrated Circuit(s) Cards with Contacts - Part 8: Security Related Interindustry Commands.International Organization for Standardization, 1998
8 ISO/IEC 7816-9 Committee Draft.Information Technology - Identification Cards - Integrated Circuit(s) Cards with Contacts - Part 9: Additional Interindustry Commands and Security Attributes.International Organization for Standardization, 1998
9 ISO/IEC 8824-1.Information Technology - Abstract Syntax Notation One (ASN.1):Specification of Basic Notation.International Organization for Standardization,1997
10 ISO/IEC 9594-8.Information Technology - Open Systems Interconnection - The Directory: Authentication Framework.International Organization for Standardization, 1997
11 ISO/IEC JTC1/SC17.Report of the 11th Plenary Meeting of ISO/IEC JTC1/SC17.Document N1429. International Organization for Standardization, Berlin, Germany, October 1998
12 King P.The Wireless Application Protocol (WAP). Proceedings of RSA Data Security Conference ´99, San Jose, USA, 1999
13 Kingdon H. MULTOS-The Card for Every Lifestyle. Proceedings of CardTech/SecurTech ´98 West, San Jose, USA, 1998
14 Monk T,Dreifus H.Smart Cards: A Guide to Building and Managing Smart Card Applications, John Wiley & Sons, 1997
15 PC/SC.Interoperability Specification for ICCs and Personal Computer Systems - Part 8: Recommendations for ICC Security and Privacy Devices.The PC/SC Workgroup, December 1997(Available from http://www.smartcardsys.com)
16 Rankl W, Effing W.Smart Card Handbook, John Wiley & Sons, June 1997
17 RSA Laboratories.PKCS #11: Cryptographic Token Interface Standard.Version 2.01, December 1997(Available from ftp://ftp.rsa.com/pub/pkcs/pkcs-11)
18 RSA Laboratories.PKCS #15: Cryptographic Token Information Format Standard.Version 1.0, April 1999(Available from ftp://ftp.rsa.com/pub/pkcs/pkcs-15)
19 Sarlin P.PC/SC Technical Overview.Proceedings of CardTech/SecurTech West, San Jose, USA, 1996
20 SEIS.SEIS Cards - Electronic ID Application V2.0. The Association for Secured Electronic Information in Society, 1998(Available from http://www.seis.se)
21 Sun Microsystems, Inc.The Java Card 2.1 Platform Specifications.Sun Microsystems, 1999(Available from http://java.sun.com/products/javacard)
22 Turban E, McElroy D.Using Smart Cards in Electronic Commerce.Proceedings of the 31st Hawaii International Conference on System Sciences (HICSS´98) (IEEE), 1998
23 WAP.Wireless Application Protocol - Identity Module Specification-Part: Security.Draft V0.7, Wireless Application Protocol Forum, 1999
24 RSA Laboratories.PKCS#15 V1.1-Cryptographic Token Information Syntax Standard.RSA Laboratories, Nov 2000

[摘要] 文章介绍了电子ID身份鉴别的主要密码技术,并简要介绍了有关基于IC卡的电子令牌应用规范,并描述了PKCS#15电子令牌信息格式。

[关键词] 电子ID 身份鉴别 数字证书 IC卡

[Abstract] This paper discusses some major cryptography techniques for electronic identity authentication, and briefly introduces some IC card specifications. The PKCS#15 Cryptographic token information syntax standard is also described.

[Keywords] Electronic ID Identity authentication Digital certificate IC card