吴 颖 刘 凡
(武汉职业技术学院艺术设计学院,湖北武汉 430074)
在现实生活中,经常需要验证各种凭据,从文凭、工商注册、车辆记录到设备、药品目录等。人们关心的主要问题是凭据的真实性,即是否由权威机构发放;其次需要方便快捷的检索,如果相关机构在Internet上公布这些凭据,还可以很方便的通过浏览器检索。现有一些凭据管理与检索系统一般是基于关系数据库,实际使用起来受到很多限制,如:分级管理难于实现,无法自然反映组织机构内在的层次结构;安全性实现起来比较复杂,也没有一个通行的安全标准;数据缺乏统一的、系统的表示,使兼容性和扩展性受到限制等。因此,需要寻求一种更安全、高效、便捷的管理和检索方法。
近几年,电子商务发展很快,随之产生的很多技术也可以推广应用到其他领域,如数据安全技术。很显然,可以用数字证书来表示现实中的各类凭据,由数字证书提供所需要的真实性、可验证性、完整性;而且对于数字证书,可以用X.500目录服务管理,用LDAP协议检索,用XML表示检索结果等。在此思路下,本文试分析这类基于目录的数字证书检索系统的关键技术及实现方案。
Internet上的安全解决方案广泛采用PKI(公开密钥基础设施)体系,PKI体系采用数字证书管理公钥,利用证书机制较好地解决了公钥系统的密钥管理问题,保证网上数据的真实性、完整性、机密性。X.509是已经实施的PKI系统,SET协议采用第3版的X.509标准。
数字证书是各类实体(个人/持卡人、商户/企业、网关/银行等)在网上进行信息交流及商务活动的身份证明,在相互通信的各个环节,通信双方都需验证对方证书的有效性,从而解决相互间的信任问题,数字证书具有权威性和唯一性。简单地说,数字证书是一段包含用户身份信息、用户公钥信息以及身份验证机构数字签名的数据,身份验证机构CA的数字签名可以确保证书信息的真实性。
证书依据所包含的信息分为两种,一种是类似身份证书,提供了认证、数据完整性和保密性,电子商务中最常提及的是此类证书;另一种是凭据证书,是包含了实体属性的证书,一个主体可有多个凭据证书。数字证书格式及内容遵循X.509国际标准。
使用证书机制的前提是建立CA中心(Certification Authority-数字证书认证中心)。CA中心作为电子商务交易中权威的、公正的、可信赖的第三方,其作用至关重要。CA的主要功能是证书发放、证书更新、证书撤销和证书验证等。CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户名称与证书中列出的公开密钥相对应,CA中心对证书做的数字签名使得攻击者不能伪造和篡改数字证书。各级CA认证机构的存在组成一条信任链,通过这条 “签字链”来验证证书的有效性。基于CA牢固的安全机制,CA应用可扩大到一切有安全要求的网络服务。
CA认证中心主要由以下部分组成:
(1)证书申请受理和审核机构:负责证书的申请和审核。
(2)注册服务器:接受用户网上申请的 Web站点。
(3)认证中心服务器:提供证书的生成、发放、管理、证书废止列表(CRL)的生成和处理等服务。
(4)证书库:存放CA已签发证书和已撤销证书列表,通过目录技术提供服务。
目录是网络中的资源清单,是一种特殊的数据库,提供以目录检索为主要服务的服务器称为目录服务器,X.500是目录服务的国际标准。与关系型数据库相比,目录数据库有以下几个的特性:
(1)分布性,即保证目录信息总体结构的一致,又可满足分级管理的需要。
(2)检索功能强大,增、删、改等数据库更新功能则较弱。
(3)简化数据操作,无事务处理和完整性约束,数据更新较少时很有性能优势。
(4)X.500定义的Search操作取代SQL查询接口,提供灵活的可扩充的查询。
(5)X.500规定了总体命名方式,各种类型的对象的名字结构都是相同的。
目录服务的应用领域集中于以检索而非以更新为主的数据库服务,如黄页检索、白页检索、E-mail地址检索等,这些数据在物理上是分布的、在逻辑上是集中的。安全系统中的目录服务可用于存放和管理用户公钥。
基于TCP/IP的LDAP协议是Internet上目录服务的通用访问协议,在X.509公钥体系中,建议CA提供的服务都基于LDAP。证书库的访问很适合使用LDAP,如从证书库中检索交易对象的证书、验证证书的真伪、或查询证书的状态。目前主流PKI厂商都支持LDAP协议。
系统级目录服务主要有Novell的NDS与Microsoft的ADS,都符合LDAP标准。ADS公布了目录服务开发程序接口(ADSI),使第三方可在ADS等各种LDAP目录服务上开发应用,IIS中还内置了一个证书服务器。NDS?最早达到LDAP V3标准,能处理10亿个以上对象,做到跨平台系统级核心集成,NDS也支持ADSI。
XML(Extensible Markup Language)语言是对HTML的扩展,XML提供在应用程序和系统之间传输和交换结构化数据的方法。它的另一突出优点是将数据和表示(XSL)分开,同样的数据集根据XSL定义的不同样式显示。XML具有开放的互操作性,可作为Internet应用尤其是电子商务的主要数据存储和传输机制。
目录服务方面,IBM、Microsoft、Netscape、Novell等厂商已就目录服务标记语言(Directory Service Markup Language)达成了一致,目录服务标记语言是XML的一种扩展,它建立一种目录之间相互告诉对方自己保存数据的标准方式。
综合运用上述技术,实现一个数字证书查询系统并不困难。
根据实际应用的情况设计证书管理结构,形成合适的证书有效性验证路径。以高教文凭检索为例来说明,可以参照现实系统运行机制,建立三级CA结构,如图1所示。根CA是国家教育部,第二级CA(地理策略CA-GCA)是省级教育厅局,最下面一级是高校。具体证书(文凭)的发放由最底层的高校CA直接进行,而注册审批主要由第二级CA来完成。
图1 CA层次结构图
最终实体的证书遵循X.509.3证书的标准格式,相关数据和现实情况保持一致,例如文凭,相应的数字证书也包括姓名、学号、专业等信息,不同的是学校盖章在数字证书中用CA的签名替代了。
X.509证书基本数据区定义如图2所示,其中:版本字段用于识别证书格式,总是用3,表示第3版;紧接是由发证CA指定的唯一序列号;接下来的字段标识了用来对证书签名的算法及算法所需的参数;发行者为CA的主体名称;有效期是一对日期,证书在这段日期之内有效;主体为实体的X.500名字;主体的公开密钥信息包括算法名称、需要的参数和公开密钥;最后一个字段为CA的签名。
图2 证书基本数据区
最终实体证书的Issuer Name数据区和CA自身证书的Subject Name部分一致。这条证书链可一直追溯到根CA。
在指定有关算法和参数后,具体应用中主要涉及的是Subject Name数据区,以高教文凭为例,本数据区格式如图3所示。
采用X.500标准的目录数据库作证书库非常合适,目录结构是对现实中组织逻辑结构的模拟。和CA的层次结构类似,可以建立一棵相应的目录树,树根和根CA对应,实体的证书对应叶子节点对象,在叶对象和根之间有由各级组织单元形成的一条路径。
图3 Subject Name数据区
系统级目录服务可以选择NDS或ADS平台,开发LDAP目录服务应用比较好的选择是采用ADSI接口。
检索系统采用基于浏览器的界面,建议使用SSL协议访问。检索结果的表示有两种实现方式:
(1)模板技术,检索引擎是其中的核心,检索引擎发出消息要求LDAP存取客户从系统目录数据库取得数据,然后通过模板按照一定的格式显示LDAP存取客户返回的数据,再发送给Web服务器,最后显示在客户浏览器。
(2)XML技术,使用上与模板技术类似,区别在于从LDAP存取客户返回的是转换为XML格式的数据,检索引擎简单的在XML数据上套用XSL就可以显示。如果目录数据库用目录服务标记语言,那么LDAP存取客户会变得极其简单。
检索系统框架图如图4所示。
此外,系统提供在两种数据库模型间双向转换的工具,即X.500-RDMS转换器。很多基本的管理操作用关系数据库处理,处理完后通过转换器转入X.500数据库中,这种目录系统和数据库管理系统的有机结合,可以在保持和现有系统兼容性的前提下将管理系统推向更深更广。
图4 检索系统框架图
本系统的设计中用到了目前Internet和电子商务中众多热门的技术,这些技术可以推广应用到任何涉及身份验证和信任机制的领域,也从另一个侧面说明数据安全技术是Internet时代的基础技术。现实中,由于商业领域以外很少建立数字的“信用机制”,具体实施起来会有一些约束,但建立“数字信用”是Internet时代的一个必然趋势。
目录系统内在的树型结构客观上与现实中的组织结构形式一致,容易在计算机系统中体现实际运作的组织规则,方便地将组织与外界联结在一起。目录服务是系统级基础软件,也是现代信息安全网络的基础。正如曾任Novell CEO的埃里克·施密特所说:“目录与身份是Internet上一个硬币的两面。”身份是网络安全、基于政策的管理、控制用户使用资源的基础。目录服务在Internet中的新作用是管理用户身份,支持身份应用软件。借助目录服务,可以为基于用户身份的Internet服务提供基础,将目录和身份结合在一起,将成为Internet上计算的重要模式。
1 Bruce Schneier.应用密码学:协议,算法和C源程序[M].北京:机械工业出版社,1999.
2 卢开澄.计算机密码学[M].北京:清华大学出版社,1998.
3 梁晋.电子商务技术-安全电子交易的理论与设计[M].西安:西安电子科技大学出版社,2000.
4 Novell公司.NDS开发指南[M].北京:电子工业出版社,1999.
5 Micro Modeling Associates公司.微软电子商务解决方案[M].北京:人民邮电出版社,1999.
6 刘超.可视化对象建模技术[M].北京:航空航天大学出版社,1999.