摘要:本文针对通信安全的问题,首先介绍了PKI产生的背景及概念,在此基础上,详细阐述了在Windows2000Server平台上PKI实施的具体方案,最后对PKI进行安全分析,并提出了PKI实施应该注意的问题。通过实践证明,对开展安全电子商务有一定的参考价值。
关键字:PKI;通信安全;数字证书;认证
一、引言
随着计算机及通信技术的发展、网络基础设施的建设和完善,以电子商务为代表的新的知识经济,逐渐为人们所认识,并且其应用也不断向纵深发展。但是无庸讳言,通信的安全问题越来越成为困扰这种新的经济模式健康发展的一个顽疾,迫使人们必须正视这个问题,同时更要想方设法地去解决它。
实际应用中,通信安全是一项系统工程,其中安全特性包括网络的可用与可靠性、用户身份的真实性、用户访问的可控性、网络的可监控性、数据的完整性与网络操纵的机密性、可追溯性、抵御攻击能力、安全审计,等等。代写论文网
在此,本文并不对网络环境下的电子商务安全所涉及的方方面面进行阐述,而是针对通信过程中的关键环节――认证及其解决方案PKI(PublicKeyInfrastructure,公开密钥基础设施)的实施进行深入探讨。
二、PKI的产生背景及概念
为了保证通信的安全性,加密技术应运而生。该技术是实现安全通信的重要保证,并且也是所有网络上通信安全所依赖的基本技术。目前,应用普遍的有私有密钥加密技术和公开密钥加密技术。
私有密钥加密机制,加密和解密使用相同的密钥,所以又称为对称密码体制或单密钥体制。该机制由于加密和解密的密钥相同,所以密钥不能公开,所以又称为私有密钥密码体制。最有影响的私有密钥密码体制是1977年美国国家标准局颁布的DES(DataEncryptionStandard)算法(目前,在其基础上又扩展成为3-DES)。这种机制,加密速度快,但密钥的管理是个另人头疼问题,当n(较大时)个人相互通信时需要n(n-1)/2个密钥,数值之大而无法有效管理。
针对私有密钥机制的密钥管理问题更需要公开加密密钥机制。该机制用作加密的密钥不同于用作解密的密钥,而且解密密钥不能根据加密密钥计算出来(至少在合理假定的长时间内)。加密密钥叫做公开密钥(简称公钥),解密密钥叫做私人密钥(简称私钥)。这种机制,是在试图解决私有密钥机制面临的两个最突出的难题(一是密钥分配的问题;二是对数字签名的需求)的过程中发展起来的。而这方面的杰出代表是RSA算法,该算法对于保密通信、密钥分配和鉴别等领域都有着深远的影响。在实际应用中,公钥可以用来加密和验证数字签名,而私钥可以用来解密和数字签名。每个通信方公开自己的公钥,关键保护好自己的私钥即可。
接下来的问题是,如何获得通信对方的公钥并且相信此公钥是真实的,这就需要数字证书。数字证书是网络上的身份证明,并且由通信双方共同信任的第三方――认证中心(CA)颁布的,证书最起码包括某人身份信息,公钥和CA的数字签名。任何一个信任CA的通信一方,都能够通过验证对方数字证书上的CA数字签名来建立起与对方的信任关系,同时获得了对方的公钥备用。
这样,在加密和数字证书等技术发展的基础上,PKI应运而生。顾名思义,PKI是基于公开密钥理论的安全体系,同时又是提供信息安全服务的基础设施。能够为各种网络应用透明地提供采用加密和数字签名等安全服务所必需的密钥和证书管理,从而达到保证网上传递信息的认证、安全、真实、完整和不可抵赖的目的。在这个结构中,公开密钥密码算法居于中心地位,称其为PKI。利用PKI,人们方便地建立和维护一个可信的、大规模网络计算环境,并且能够确认彼此的身份,安全地进行信息交换。这当然是进行电子商务的基础。
实践中,PKI是创建、管理、存储、分发和取消基于公钥加密的数字证书所需要的一套硬件、软件、人员、策略和过程的集合,是一个内容丰富的宽泛概念。PKI框架中的核心元素是数字证书;PKI的核心实施者是CA。
PKI很好地解决了大规模网络环境中的信任这一难题,从而保证了验证、机密性、完整性和非否认的有效实施。验证、机密性、完整性和非否认都是电子商务所必需的安全服务。
三、PKI的实施
PKI的实施有多种方案,并且各有优势所在,本文以常见的微软Windows2000Server的PKI体系为例进行阐述。
微软Windows2000将一个综合的PKI引入到Windows平台,作为其安全机制,并且提供了一整套服务和管理工具,以创建、部署和管理基于PKI的应用系统。同时,企业还因此能够基于统一工具和策略机制,来管理该环境和应用系统。
(一)准备工作
1、PKI标准
近年来,PKI技术无论在理论上还是应用上以及开发各种配套产品上,都逐渐走向成熟,以PKI技术为基础的一系列相应的安全标准已经由Internet特别工作组(IETF)、国际标准化组织(ISO)和国际电信联盟(ITU)等国际权威机构批准颁发实施。这些主要标准包括:
LDAP(轻型目录访问协议)支持对数字密钥鉴别的访问
S/MIME(安全电子邮件协议)
TLC(传输层安全套接层传输协议)
CAT(通用认证技术,CommonAuthenticationTechnology)
GSS-API(通用安全服务接口)
X.509(数字证书格式标准)。
2、PKI技术
Windows2000系列及其后续操作系统实现了对上述PKI标准的全面支持,集成了强大的Web服务和数字证书服务,能够作为建立CA的技术方案,其内置了一整套证书颁发和证书管理的基础功能和相应的安全策略,可以保证PKI服务的顺利实施。PKI在提供高强度安全性的同时,还与操作系统进行了紧密集成,并作为操作系统的一项基本服务而存在,避免了购买第三方PKI所带来的额外开销,同时也保证了系统兼容性。
图1给出了组成Windows2000PKI体系的基本逻辑组件,其中核心的为微软加密服务(为应用程序的开发提供了加密API接口,即CryptAPI)和证书服务系统(MicrosoftCertificateServices),它允许用户配置一个或多个企业CA,这些CA与活动目录和安全策略配合,实现对数字证书的颁发和管理。
图1Windows2000PKI体系结构图
Windows2000中的数字证书都是基于X.509V3协议的,可以让用户通过Internet/Extranet/Intranet安全地交互敏感信息。为了安全地保管私钥和数字证书,在Windows2000中,微软为用户还提供了一套智能卡服务,智能卡因其高安全性和轻便的可移动性,有望发展成为类似鼠标/键盘的标准计算机外设。
MicrosoftCryptoAPI是这些服务的基石。它为可安装的加密服务提供程序(CSP)的加密功能提供了一个标准接口。这些CSP可能是基于软件的,或利用加密硬件设备的程序,它们能够支持各种算法和密钥强度。
(二)实施
1、建立CA
CA提供一系列数字证书服务,该服务是通过内置的证书管理单元来实现的。CA可以接收证书请求、验证请求信息和请求者身份,然后为用户颁发各种数字证书,以提供对用户身份的证明。另外,CA还负责撤销证书,以及发布证书废除列表CRL(CertificateRevocationList)。
Windows2000PKI采用层次结构的CA模型。其优点是:具有可扩展性,管理方便,并且与很多商业和第三方CA产品有一致性。最简单的形式是,CA层次结构仅由一个CA组成;但通常一个层次结构会包含多个CA,并明确定义了父子关系。
在Windows2000Server中建立CA的具体步骤如下:
①以管理员(或域管理员)身份登录到系统
②安装“证书服务”组件。
通过“控制面板”添加“证书服务”组件。
③选择CA的类型
主要包括企业根CA、企业从属CA、独立根CA和独立从属CA。
需要特别强调的是:由于证书颁发机构的设置是很重要的,这里需要特殊说明,企业根CA和独立根CA都是证书颁发体系中最受信任的证书颁发机构,可以独立地颁发证书。企业根CA需要ActiveDirectory支持,而独立根CA不需要。从属级的CA由于只能从另一证书颁发机构获取证书,所以一般不被选择。在Windows2000Server中,企业根CA使用ActiveDirectory来确定申请人的身份,确定申请人是否具有申请他们所指定的证书类型的安全权限,并由此自动确定是否立即颁发证书或拒绝申请,这种策略设置不能被更改。
独立根CA可以选择在收到申请时自动颁发证书或将申请保持为搁置状态,由管理员验证证书申请者的真实性及合法性,决定是否颁发证书。
因此,可以根据需求选择合适的证书颁发类型。
联系QQ:904272800
联系信箱:904272800@qq.com