文章编号:1009-6868(2001)05-0018-05 文献标识码:A 中图分类号:TN918.91
在各种信息系统中,身份鉴别通常是获得系统服务所必需通过的第一道关卡。例如移动通信系统需要识别用户的身份进行计费;一个受控安全信息系统需要基于用户身份进行访问控制等等。因此,确保身份识别的安全性对系统的安全是至关重要的。
目前常用的身份识别技术可以分为两大类:一类是基于密码技术的各种电子ID身份鉴别技术;另一类是基于生物特征识别的识别技术。本文主要讨论和介绍电子ID的身份鉴别技术。
1 基于对称密码体制的身份鉴别
采用密码的身份识别技术从根本上来说是基于用户所持有的一个秘密。所以,秘密必须和用户的身份绑定。
(1)用户名/口令鉴别技术
这种身份鉴别技术是最简单、目前应用最普遍的身份识别技术,比如Windows NT、各类Unix操作系统、信用卡等各类系统的操作员登录等等,大量使用的是用户名/口令识别技术。
这种技术的主要特征是每个用户持有一个口令作为其身份的证明,在验证端,保存有一个数据库来实现用户名与口令的绑定。在用户身份识别时,用户必须同时提供用户名和口令。
用户名/口令具有实现简单的优点,但存在以下安全方面的缺点:
(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卡的互操作性。相关的工作主要包括:
4 PKCS#15密码令牌信息格式标准
PKCS#15是RSA公司提出的一系列公钥加密标准中的一个,主要用于对认证令牌中的信息格式进行定义。这些令牌可以是IC卡或其他具有存贮和计算能力的器件。PKCS#15的设计目标如下:
(1)支持多种令牌
(2) 标准兼容
(3)自完备性
(4)灵活的模块化结构
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