实验二PKI一、实验目的1、加深对CA认证原理及其结构的理解;2、掌握在Windows2003Server环境下独立根CA的安装和使用;3、掌握证书服务的管理;4.、掌握基于Web的SSL连接设置,加深对SSL的理解。二、实验预习提示1、PKI概述公钥基础设施PKI(PublicKeyInfrastructure)是基于公开密钥体制理论和技术建立起来的安全体系,是提供信息安全服务的具有普适性的安全基础设施,它利用加密、数字签名、数字证书来保护应用、通信、事务处理的安全。其核心是解决网络空间中的信任问题,确定网络空间中重要信息的机密性和完整性,以及各行为主体身份的真实性、唯一性和不可否认性。PKI是目前网络安全建设的基础和核心,是实施电子商务、电子政务等的安全基本保障。PKI的基本思路是信任关系的管理和实现信任关系的传递,这主要是通过可信第三方来实现的,在PKI中可信第三方称为认证中心CA(CertificateAuthority)。PKI采用证书进行公钥管理,通过可信第三方即CA把用户的公钥和用户的其他标识信息捆绑在一起,作为可信第三方出示的证明,从而达到传递信任的目的。表2.8.1将现实世界和网络世界对安全的相关需求进行了对比。表2.8.1现实世界和网络世界的安全需求对比信任类型现实世界网络世界真实性身份证、护照、信用卡、驾照数字证书、数字签名完整性签名、支票、第三方证明数字签名保密性保险箱、信封、警卫、密藏加密不可否认性签名、挂号信、公证、邮戳数字签名、时间戳从上表可以看出,PKI技术能够提供真实性(身份认证)、完整性、保密性(机密性)和不可否认性4种基本的信息安全服务,因而能够满足人们对网络通信中信息安全保障的需求。PKI提供的4种主要基本信息安全服务概述如下:(1)真实性(身份认证)服务:为对付假冒攻击而提供对通信实体身份的真实性认证,实现有效鉴别通信双方的身份。(2)完整性服务:防止信息在传输过程中被非法的第三方恶意篡改或者其他传输中的信息失真。(3)保密性(机密性)服务:保证信息不泄露或不暴露给未授权实体;保证通信双方的信息保密;在信息交换过程中没有被窃听的危险;或者即使被窃听也无法得到原始信息的真实含义。(4)不可否认性服务:防止实体对其行为的抵赖,从而保证实体对其行为的诚实性。2、PKI的组成PKI实际上是一套软/硬件行系统和安全策略的集合,它提供了一整套以证书为基础,通过信任关系传递来保证安全通信和电子商务交易的服务。数字证书是一个由可信的证书认证中心(CA)颁发并且CA数字签名的包含用户身份信息、用户公钥信息的数据文件。拥有者拥有证书公钥对应的私钥。由认证中心(CA)负责验证数字证书的有效性,以实现对用户身份的认证。数字证书认证技术采用加密传输和数字签名技术,可以较好地保障网上信息安全。可以把数字证书理解为网络世界的电子身份证,与现实世界的身份证类似,它能够证明个人、团体或设备的身份;除了包含所有者的公钥,还包含姓名、地址、公司、电话号码、Email地址等相关信息。一个典型的PKI系统包括安全策略、PKI终端实体、PKI管理实体(认证机构CA和注册机构RA)、证书发布系统(存放数字证书和证书撤销列表的存储库)以及基于PKI的应用接口。PKI是一种以CA系统为核心,担负证书的创建、管理、存储、发布和撤销的一系列硬件、软件、人员、策略和过程的集合。(1)PKI安全策略:PKI安全策略定义了组织机构在信息安全应用方面的指导方针和使用的方法和原则。一般有两种类型的策略:一种是证书/认证策略CP(CertificationPractice),主要用于管理证书的使用,也定义了一个用户对其它用户数字证书信任的程度;另一种是证书实践上的声明/认证操作管理规范CPS(CertificatePracticeStatement),这是证书发放机构需要的一个详细的文档,包含在实践中增强和支持安全策略的一些操作过程。(2)认证机构CA:CA(CertificateAuthority)是一个可信的第三方,是PKI系统的核心组成部分,同时也是PKI系统的信任基础,它管理着公钥的整个生命周期。CA的主要功能包括:发放证书,用数字签名绑定用户或系统的识别号和公钥;规定证书的有效期;通过发布证书废除列表(CRL)确保必要时可以废除证书等。(3)注册机构RA:RA(RegistrationAuthority)是CA委托的审核授权部门,提供了用户和CA之间的一个接口。RA的主要功能是负责受理证书的申请和注销,对用户提交的相关数据进行审核,并将审核通过后的数据传送到证书管理中心,进行证书签发、注销等作业。可以有多种不同的注册方式,比如面对面的,或者是通过电子邮件、浏览器等远程方式。引入RA可以增强CA的安全性、提高CA的效率和提高PKI系统的灵活性。(4)证书发布系统:证书发布系统负责证书的发放,其核心是存放数字证书和证书撤销列表CRL的存储库。根据PKI环境的结构,证书的发布可以有多种途径,一般是通过目录服务器实现的。所谓目录是网络系统中各种资源的清单,保存了网络中用户、服务器、客户机、交换机、打印机等资源的详细信息,同时还收集了这些资源之间各种复杂的相互关联关系。X.500、LDAP服务器、Web服务器、FTP服务器、DNS服务器以及数据库等都可以作为数字证书和CRL的存储库,PKI系统推荐采用轻量级目录访问协议的目录系统。(5)PKI应用接口系统:PKI应用接口系统是PKI内部服务和用户之间的桥梁,为各种应用提供安全、一致、可信任的方式与PKI交互,确保所建立起来的网络环境安全可靠,并降低管理成本。3、PKI的运作流程PKI的运作流程可以分为初始化、使用和撤销三个阶段。(1)初始化阶段1)终端实体注册申请:终端实体通过在线或离线方式向CA(或RA)注册申请证书,其中在线方式一般用于申请普通用户证书或测试证书,而离线方式一般用于服务器证书和商家证书等比较重要的场合。2)注册机构审核:RA操作员对证书请求用户信息进行核对,认可后批准用户的证书请求(对证书申请作数字签名)。3)证书创建和签发:CA操作员查看申请用户的详细信息,并验证RA操作员的数字签名。如果签名验证通过,则同意用户的证书请求,颁发证书;否则,拒绝证书请求。4)用户证书获取:用户使用证书申请时所使用的浏览器(只有保存了证书相应的私钥的浏览器才可以成功下载到用户的数字证书)到指定的网址,输入自己的证书序列号,获取其数字证书。(2)使用阶段在PKI中,终端实体可以通过LDAP协议从目录服务器查询并下载证书,并对证书的有效性、真实性和可用性等进行验证。(3)撤销阶段数字证书在使用过程中,实体的私钥可能发生泄密或者实体的身份发生改变时,必须通告系统内其他实体不再使用该实体的公钥进行加密或验证签名。当证书撤销后,它将从证书目录中删除,然而签发此证书的CA仍保留此证书的副本,以备日后解决可能引起的纠纷。当CA的私钥怀疑被泄密时,不仅需要撤销CA证书,而且所有由CA私钥签名的实体证书都应该被撤销。4、PKI相关标准PKI技术的相关标准详细定义了使用的证书格式、消息格式、管理协议以及认证规范等内容,以便于实现PKI系统之间的互操作。PKI相关标准可以分为两类:一类是专门定义PKI的,另一类是依赖于PKI的。(1)专门定义PKI的标准1)X.509标准:X.509是ISO(国际标准化组织)和CCITT/ITU-T(国际电话电报咨询委员会/国际电信联盟下属分会)的X.500标准系列的一部分。X.509标准是最基本、获得最广泛支持的PKI标准之一。2)PKCS标准:公开密码学标准PKCS是RSA数据安全公司及其合作伙伴为公钥密码学提供的一组工业标准接口。3)PKIX标准:PKIX标准是由Internet工程任务组(IETF)根据X.509和PKCS两个标准制定的一系列RFC文档。(2)依赖于PKI的标准1)LDAP标准:LDAP简化了X.500的一些操作,并且去掉了一些不为人们熟悉的功能。LDAP定义了目录服务客户端和服务器端的通讯协议,但是没有定义客户端的编程接口。2)IPSec标准:IPSec是IETF制定的IP层安全协议集,PKI技术为其提供了加密和认证过程的密钥管理功能。3)SSL/TLS标准:SSL/TLS是Internet中访问Web服务器最重要的协议,也可应用于基于C/S的非Web类型的应用系统。SSL/TLS利用PKI的数字证书来认证客户和服务器的身份。4)S/MIME标准:S/MIME是一个用于发送安全报文的IETF标准,它采用了PKI数字签名技术并支持消息和附件的加密,无须收发双方共享相同密钥。S/MIME委员会采用PKI技术标准来实现S/MIME,并适当扩展了PKI的功能。5、PKI的典型应用(1)安全电子邮件S/MIME协议的实现需要依赖PKI技术,利用PKI的数字证书和私有密钥,用户可以对其发送的邮件进行数字签名,获得安全电子邮件的身份认证、完整性和不可否认性安全需求。如实验7中的PGP在电子邮件通信中已得到一定范围的应用。Microsoft公司的Outlook和OutlookExpress、Netscape公司的电子邮件软件以及IBM公司的Lotus等软件都支持S/MIME协议,提供加密和带有数字签名邮件的发送和接收。(2)Web服务安全PKI技术可以很好地解决Web服务中的安全问题,现有几乎所有的服务器软件和浏览器软件都直接通过TLS或SSL支持PKI,如Microsoft公司的IISWeb服务器软件、InternetExplorer软件,Netscape公司的NetscapeNavigator软件都都前面支持PKI。利用PKI技术,SSL协议实现了浏览器和服务器之间对应用层透明的安全通信。浏览器和服务器可以进行加密通信,并且服务器和浏览器在通信时可以通过数字证书来确认对方的身份,因此PKI技术可以保证Web交易多方面的安全需求。(3)VPN应用利用PKI,VPN的管理和维护变得更加简单和容易。VPN的基本思想是采用秘密通信通道,通过PKI的认证后,用加密的方法来实现保密和完整的通信。基于PKI技术的IPSec协议现已成为架构VPN的基础。IPSec在IP层提供了IP数据报文的机密性、完整性、IP数据报文源地址认证以及有限的抗重放攻击能力。IPSec可以保护在所有支持IP的传输介质上的通信,保护所有运行于IP层上的所有协议在主机间进行安全传输。本实验通过实际操作,了解PKI系统的工作原理,掌握Windows2003Server环境下CA的使用、证书服务的管理和PKI技术在Web服务安全中的应用。三、实验过程和指导(一)实验要求基于在Windows2003Server环境下安装的独立根CA,完成以下操作:1、CA的使用:(1)客户端通过Web页面申请证书;(2)服务器端颁发证书;(3)客户端证书的下载与安装。2、证书服务的管理:(1)停止/启动证书服务;(2)CA备份/还原;(3)证书废除;(4)证书吊销列表的创建与查看。3、基于Web的SSL连接设置:(1)为Web服务器申请证书并安装;(2)在Web服务器端配置SSL连接;(3)客户端通过SSL与服务器端建立连接。(二)实验准备1、阅读教材有关章节,理解PKI的基本概念、组成、工作流程、密钥/证书的生命周期等相关原理。2、阅读相关资料,熟悉Windows2003Server环境下CA的安装、证书管理及服务器安全配置等操作步骤。(三)上机实验1、CA的安装Step1:在Windows2003Server的“添加和删除程序”中选择“添加和删除Windows组件”,随后在“组件”列表框中选择“证书服务”,如图2.8.1所示。Step2:单击“下一步”按钮,在随后出现的如图2.8.2所示的CA类型选择界面中设置CA类型为独立根。Step3:单击“下一步”按钮,在随后出现的如图2.8.3所示的CA设置界面中设置CA服务器的名字(如CA-Server),设置证书的有效期限(默认值为5年)。Step4:单击“下一步”按钮