北京邮电大学信息安全实验北京邮电大学信息安全中心版权所有第0页综合实验1-1CA系统的初始化配置(只读、无操作)一.实验目的本实验内容主要用于观摩一个CA系统的搭建与初始化过程,让学生初步理解一个实体的CA系统及其基本架构。重点在于熟读和理解实验原理部份,并在实验报告中做更多探索。二.实验原理2.1PKI基础PKI(PubicKeyInfrastructure)是一个用公钥密码学技术来实施和提供安全服务的安全基础设施,它是创建、管理、存储、分布和作废证书的一系列软件、硬件、人员、策略和过程的集合。PKI基于数字证书基础之上,使用户在虚拟的网络环境下能够验证相互之间的身份,并提供敏感信息传输的机密性、完整性和不可否认性,为电子商务交易的安全提供了基本保障。一个典型的PKI系统应包括如下组件:(1)安全策略安全策略建立和定义了组织或企业信息安全方面的指导方针,同时也定义了密码系统使用的处理方法和原则。(2)证书操作阐述CPS(CertificatePracticeStatement)一些PKI系统往往由商业证书发放机构(CCA)或者可信的第三方来对外提供服务,所以需要提供CPS给其使用者参考,以供其了解详细的运作机理。CPS是一些操作过程的详细文档,一般包括CA是如何建立和运作的,证书是如何发行、接收和废除的,密钥是如何产生、注册和认证的等内容。(3)证书认证机构CA(CertificateAuthority)CA系统是PKI的核心部分,因为它管理公钥的整个生命周期。CA的作用主要包括如下几个方面:发放证书,用数字签名绑定用户或系统的识别号和公钥。规定证书的有效期。通过发布证书废除列表(CRL)确保必要时可以废除证书。(4)注册机构RA(RegistrationAuthority)RA是CA的组成部分,是用户向CA申请服务的注册机构,它负责接收用户的证书申请,审核用户的身份,并为用户向CA提出证书请求,最后将申请的证书发放给用户。(5)证书分发系统CDS(CertificateDistributionSystem)证书通过证书分发系统对外公开发布,用户可在此获取其它用户的证书。证书的发布可以有多种途径,比如,用户可以自己发布,或是通过目录服务器向外发布。(6)基于PKI的应用接口北京邮电大学信息安全实验北京邮电大学信息安全中心版权所有第1页PKI是一个安全框架,它的价值在于使用户能够方便地使用加密、数字签名等安全服务,为此一个完整的PKI必须提供良好的应用接口,可以在此基础上提供多种安全应用服务。2.2数字证书数字证书相当于我们平常使用的身份证,身份证用于标明使用者的身份,数字证书是各类终端实体和最终用户在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都需验证对方数字证书的有效性,从而解决相互间的信任问题。数字证书是经证书认证机构数字签名的,包含用户身份信息、用户公开密钥信息的一个文件。由于证书是由证书认证机构颁发的,有证书认证机构的数字签名,所以证书的拥有者是被证书认证机构所信任的。如果可以信任证书认证机构,则完全可以信任证书的拥有者。所以通过证书,可以使证书的拥有者向系统中的其它实体证明自己的身份。数字证书的存储格式标准有多种,X.509是最基本的证书存储标准格式。X.509格式的数字证书结构如下图所示。证书的版本证书序列号签名算法标识证书签发机构名证书有效期证书持有者用户名证书用户公钥信息签发者唯一标识符证书持有者唯一标识符签名值图1X.509格式的数字证书结构各项具体内容包括:证书的版本号(Version):0表示X.509V1证书标准;1表示X.509V2证书标准;2表示X.509V3证书标准。证书序列号(SerialNumber):签发机构分配给证书的一个唯一标识号,同一机构签发的证书不会有相同的序列号。签名算法(Signature):包含算法标识和算法参数,标明证书签发机构用来对证书内容进行签名的算法。证书签发机构名(Issuer):用来标识签发证书的CA的名字,包括其国家、省市、地区、组织机构、单位部门和通用名。证书有效期(Validity):包含两个日期,一个是证书开始生效的日期,一个是证书有效的截止日期。当前日期在证书有效期之内时,证书的有效性验证才能通过。证书用户名(Subject):证书所有者的甄别名。包括国家、省市、地区、组织机构、单位部门和通用名,还可包含email地址。证书用户公钥信息(subjectPublicKeyInfo):包含用户公钥算法和公钥的值。签发者唯一标识符(IssuerUniqueIdentifier)。签发者唯一标识符在第2版加入证书定义中。此域用在当同一个X.500名字用于多个认证机构时,用一比特字符串来唯一标识签发者的X.500名字。该项可选。证书持有者唯一标识符(SubjectUniqueIdentifier)。持有证书者唯一标识符在第2版的标准中加入X.509证书定义。此域用在当同一个X.500名字用于多个证书北京邮电大学信息安全实验北京邮电大学信息安全中心版权所有第2页持有者时,用一比特字符串来唯一标识证书持有者的X.500名字。可选签名值(Issuer’sSignature)。证书签发机构对证书上述内容的签名值。除了X.509标准之外,数字证书的存储标准还有PKCS#7、PKCS#12等标准。其中,PKCS#7标准是用来传输签名数据的标准格式;PKCS#12标准是用来传输证书和私钥的标准格式。2.3CA系统如果将数字证书比喻为出差时能证明我们身份的“介绍信”,那么CA就好比开出“介绍信”的工作单位,它能证明证书持有者的身份。证书认证机构CA(CertificationAuthority)是PKI的核心部分,用于创建和发放数字证书。创建证书的时候,CA系统首先获取用户的请求信息,其中包括用户公钥(公钥一般可由用户端产生,如电子邮件程序或浏览器等)等。CA将根据用户的请求信息产生证书,并用自己的私钥对证书进行签名。证书在使用过程中,其他用户、应用程序或实体需下载安装CA根证书,使用CA根证书中的公钥对CA颁发的证书进行验证,如果对证书中CA的数字签名验证通过,则证明这个证书是CA签发的。进一步来说,如果一个CA系统是可信的,则此证书的拥有者也是可信的。1.CA系统的结构一个典型的CA系统包括安全服务器、登记中心RA服务器、CA服务器、LDAP目录服务器和数据库服务器等。(1)安全服务器安全服务器面向普通用户,用于提供证书申请、浏览、证书撤消列表以及证书下载等安全服务。安全服务器与用户的的通信采取安全信道方式(如SSL的方式,不需要对用户进行身份认证),从而保证了证书申请和传输过程中的信息安全性。(2)CA服务器CA服务器是整个证书机构的核心,负责证书的签发。CA服务器是整个结构中最为重要的部分,存有CA的私钥以及发行证书的脚本文件。出于安全的考虑,应将CA服务器与其他服务器隔离,所有通信采用人工干预的方式,确保认证中心的安全。(3)登记中心RA登记中心服务器面向登记中心操作员,在CA体系结构中起承上启下的作用,一方面向CA转发安全服务器传输过来的证书申请请求,另一方面向LDAP服务器和安全服务器转发CA颁发的数字证书和证书撤消列表。(4)LDAP服务器LDAP服务器提供目录浏览服务,其他用户通过访问LDAP服务器就能够得到其他用户的数字证书。(5)数据库服务器数据库服务器是认证机构中的核心部分,用于认证机构数据(如密钥和用户信息等)、日志和统计信息的存储和管理。2.CA系统的主要功能CA系统的主要功能是对证书进行管理,包括颁发证书、废除证书、更新证书、验证证书、管理密钥等。(1)颁发证书北京邮电大学信息安全实验北京邮电大学信息安全中心版权所有第3页从使用者角度来看,证书可以分为系统证书和用户证书,系统证书是指CA系统自身使用的证书,例如最高层的根CA自身的根证书等;用户证书按照应用的角度又可以分为个人用户证书、企业用户证书和服务器证书等。颁发证书的流程如下:首先用户到CA的注册机构RA或业务受理点或通过web网站等提交证书申请。如果用户自己产生公私钥对,证书申请中包含了个人信息和公钥;如果由CA产生公私钥,则证书申请中只包含个人信息。接着RA等机构对用户的信息进行审核,审核用户的相关关键资料和证书请求中是否一致,更高级别的证书需要CA进行进一步的审核。审核通过后,CA为审核此用户签发证书,证书可以灌制到证书介质中,发放给用户;或者将证书发布到LDAP服务器上,由用户下载并安装证书。(2)废除证书证书的废除是指证书在到达它的使用有效期之前将不再使用,废除证书的原因有多种,例如:证书用户身份信息的变更,CA签名私钥的泄漏,证书对应私钥的泄漏,证书本身遭到损坏,以及其他多种原因。废除证书的过程如下:用户到CA的业务受理点申请废除证书,CA审核用户的身份后,将证书吊销,并将吊销的证书加入到证书黑名单CRL(CertificateRevocationList)中,CRL是由CA认证中心定期发布的具有一定格式的数据文件,它包含了所有未到期的已被废除的证书(由CA认证中心发布)信息。CA会临时或者定期签发证书黑名单CRL,并将更新的CRL通过LDAP目录服务器在线发布,供用户查询和下载。(3)证书的更新当用户的私钥被泄漏或证书的有效期快到时,用户应该更新私钥。这时用户可以申请更新证书,以废除原来的证书,产生新的密钥对和新的证书。证书更新的操作步骤与申请颁发证书的类似。(4)证书验证证书验证的内容包括三部分:验证有效性,即证书是否在证书的有效使用期之内?证书有效性的验证是通过比较当前时间与证书截止时间来进行的。验证可用性,即证书是否已废除?证书可用性的验证是通过证书撤销机制来实现的。验证真实性,即证书是否为可信任的CA认证中心签发?证书真实性的验证是基于证书链验证机制的。例如对于级联模式的CA结构,如图7-130所示。它是按照主从CA关系建立的分级结构,类似于树形结构,根CA是最高级别的也是最可信任的CA,位于树的顶端,根CA的下一层是子CA,。通常根CA不直接为最终用户颁发证书,而只为子CA颁发证书。子CA为为最终用户颁发证书,子CA可以按照所颁发证书用途的不同有多个,子CA也可有更下层的子CA。最终用户在上述树形结构中处于树叶的位置。在这个级联模式的结构中,建立的是自上而下的信任链,下级CA信任上级CA,下级CA由上级CA颁发证书并认证,如果一个终端实体信任一个根CA,通过证书链传递信任,那么该实体可以信任根CA所属子CA中的最终用户。北京邮电大学信息安全实验北京邮电大学信息安全中心版权所有第4页图2级联模式的CA结构(5)管理密钥CA系统提供了基于密钥的管理功能,包括密钥的产生、密钥的备份和恢复,以及密钥的更新等。根据证书类型和应用的不同,密钥对的产生有不同的形式和方法。对普通证书和测试证书,一般由浏览器或固定的终端应用来产生,这样产生的密钥强度较小,不适合应用于比较重要的安全网络交易。而对于比较重要的证书,如商家证书和服务器证书等,密钥对一般由专用应用程序或CA中心直接产生,这样产生的密钥强度大,适合于重要的应用场合。在一个CA系统中,维护密钥对的备份至关重要,如果没有这种措施,当密钥丢失后,将意味着加密数据的完全丢失,对于一些重要数据,这将是灾难性的。所以,密钥的备份和恢复也是密钥管理中的重要一环。当用户密钥不慎丢失或者被破坏时,可以为用户及时恢复密钥。密钥的使用都有一定的期限,密钥到期后会自动失效,所以密钥应该定时更新。在密钥泄漏时,也需要及时更新密钥,以保证证书应用过程中的安全性。2.4SSL的原理SSL(SecureSocketLayer)称为安全套接层协议,是有Netscape公司开发的,被广泛应用于internet上的身份认证,以及Web服务器和用户端浏览器之间的安全数据通讯。SSL协议在TCP/IP协议之上,在HTTP等应用层协议之下,对基于TCP/IP协议的应用服务是完全透明的。它提供的安全服务有客