1、 一个认证中心的设计与实现一 引言随着 Internet 的不断发展,使用电子邮件、Web 浏览的用户越来越多,人们在网络上传递着各种信息,其中包括敏感的政治、商业信息。在 Internet 上进行通信时,如何保证通信双方身份的真实性、内容的安全性是一个现实而又重要的问题。PKI(Public Key Infrastructure,公开密钥体制)是目前比较成熟的安全解决方案,涉及对称密钥加密、数字签名、数字信封等技术,具有很好的安全效果。CA(Certificate Authority,认证中心)是PKI 中不可缺少的一部分,本文将首先阐述与认证中心相关的一些基本概念,然后着重介绍一个认证中心
2、的设计与实现。二 基本概念21 数字证书(Certificate)数字证书是一种数字标识,可以说是 Internet 上的安全护照。当你到其他国家旅行时,你的护照可以证实你的身份,并被获准进入这个国家。数字证书提供的是网络上的身份证明。数字证书拥有者可以将其证书提供给其他人、Web 站点及网络资源,以证实他的合法身份,并且与对方建立加密的、可信的通信。比如用户可以通过浏览器使用证书与 Web 服务器建立 SSL 会话,使浏览器与服务器之间相互验证身份,另外用户也可以使用数字证书发送加密和签名的电子邮件。22 认证中心认证中心作为受信任的第三方,负责产生、分配并管理用户的数字证书,承担着 PKI
3、中公钥合法性检验的责任。认证中心为用户发放一个数字证书,并且对证书进行数字签名,使得攻击者不能伪造和篡改证书。三 认证中心的设计31 总体构架 图 3.1 认证中心的结构认证中心中的服务器包括安全服务器、登记中心服务器、CA 服务器以及LDAP(Lightweight Directory Access Protocol)服务器,人员包括用户、登记中心操作员以及 CA 操作员。 32 组成部分321 用户用户使用浏览器访问安全服务器,申请数字证书,之后到登记中心注册,出示有效证件。认证中心为用户发行证书以后,用户根据登记中心发来的邮件到安全服务器上下载自己的数字证书。322 服务器CA 服务器:
4、CA 服务器需要最先设置,CA 首先产生自身的私钥和公钥(密钥长度至少为 1024 位) ,然后生成数字证书,并且将数字证书传输给安全服务器。CA 还负责为操作员、安全服务器以及登记中心服务器生成数字证书。操作员的数字证书需要转化成.p12 的格式,通过硬拷贝的方式嵌入到登记中心操作员的浏览器中。安全服务器的数字证书和私钥也需要传输给安全服务器。CA 服务器是整个结构中最为重要的部分,存有 CA 的私钥以及发行证书的脚本文件,我们出于安全的考虑,将 CA 服务器与其他服务器隔离,Internet 中 LDAP中中中 SL中中中中 CA中中中中CA中中任何通信采用人工干预的方式,确保认证中心的安
5、全。安全服务器:安全服务器面向普通用户,负责提供证书申请、浏览、证书撤消列表以及证书下载(包括用户、CA)等服务。安全服务器与用户的的通信采取 SSL 的方式(不需要对用户进行身份认证) ,用户首先得到安全服务器的证书(该证书由 CA 颁发) ,然后用户与服务器之间的所有通信,包括用户填写的申请信息以及浏览器生成的公钥均以安全服务器的密钥进行加密传输,只有安全服务器利用自己的私钥解密才能得到明文,这样可以防止其他人通过窃听得到明文。登记中心服务器:登记中心服务器面向登记中心操作员,在 CA 体系结构中起承上启下的作用,一方面向 CA 转发安全服务器传输过来的证书申请请求,另一方面向LDAP 服
6、务器和安全服务器转发 CA 颁发的数字证书和证书撤消列表。LDAP 服务器:LDAP 服务器提供目录浏览服务,负责将登记中心服务器传输过来的用户信息以及数字证书加入到服务器上。这样其他用户通过访问 LDAP 服务器就能够得到他人的数字证书。 323 操作员登记中心操作员使用浏览器访问登记中心服务器,服务器需要对操作员进行身份认证,操作员向服务器出示 CA 颁发的.p12 格式的证书,服务器根据配置文件检查操作员的数字证书,如果证书合法,则与对方建立 SSL 通信。操作员的人数可以根据实际情况而定。CA 操作员负责颁发用户的数字证书以及撤消证书。CA 操作员的身份特别,是整个系统的核心,必须是最
7、可信的人才能担任。33 设计思路331 证书申请流程用户使用浏览器通过 Internet 访问安全服务器,下载 CA 的数字证书,申请数字证书。然后登记中心对用户进行身份检查,认可后便批准用户的证书申请,然后操作员对证书申请表进行数字签名,并将申请及其签名一起提交给 CA 服务器。CA 操作员获得登记中心操作员签发的证书申请,发行证书或者拒绝发行证书,然后将证书通过硬拷贝的方式传输给登记中心服务器。登记中心服务器得到用户的证书以后将用户的一些公开信息和证书放到 LDAP 服务器上提供目录浏览服务,并且通过电子邮件的方式通知用户从安全服务器上下载证书。用户根据邮件的提示到指定的网址下载自己的数字
8、证书,而其他用户可以通过 LDAP 服务器获得他的数字证书。332 CRL(Certificate Revocation List,证书撤消列表)的管理用户向特定的操作员(仅负责 CRL 的管理)发一份加密签名的邮件,申明自己希望撤消证书。操作员打开邮件,填写 CRL 注册表,并且进行数字签名,提交给 CA,CA 操作员验证登记中心操作员的数字签名,批准用户撤消证书,并且更新 CRL,然后 CA 将不同格式的 CRL 输出给登记中心,公布到安全服务器上,这样其他人可以通过访问服务器得到CRL。四 认证中心的实现41 证书的申请1、用户申请用户首先下载 CA 的证书,然后在证书的申请过程中使用
9、SSL 的方式与服务器建立连接,用户填写个人信息,浏览器生成私钥和公钥对,将私钥保存客户端特定文件中,并且要求用口令保护私钥,同时将公钥和个人信息提交给安全服务器。安全服务器将用户的申请信息传送给登记中心服务器。 2、登记中心同意申请用户与登记中心人员联系,证明自己的真实身份,或者请求代理人与登记中心联系。 登记中心操作员利用自己的浏览器与登记中心服务器建立 SSL 安全通信,该服务器需要对操作员进行严格的身份认证,包括操作员的数字证书、IP 地址,为了进一步保证安全性,可以设置固定的访问时间。操作员首先查看目前系统中的申请人员,从列表中找出相应的用户,点击用户名,核对用户信息,并且可以进行适
10、当的修改,如果操作员同意用户申请证书请求,必须对证书申请信息进行数字签名。操作员也有权利拒绝用户的申请。操作员与服务器之间的所有通信都采用加密和签名,具有安全性、抗否认性,保证了系统的安全性和有效性。3、CA 发行证书登记中心通过硬拷贝的方式向 CA 传输用户的证书申请与操作员的数字签名,CA 操作员查看用户的详细信息,并且验证操作员的数字签名,如果签名验证通过,则同意用户的证书请求,颁发证书。然后 CA 将证书输出。如果 CA 操作员发现签名不正确,则拒绝证书申请,CA 颁发的数字证书中包含关于用户及 CA 自身的各种信息,如:能唯一标识用户的姓名及其他标识信息,如个人的 email 地址;
11、证书持有者的公钥。公钥用于为证书持有者加密敏感信息;签发个人证书的认证机构的名称;个人证书的序列号;个人证书的有效期(证书有效起止日期) ;提示。 4、登记中心转发证书登记中心操作员从 CA 处得到新的证书,首先将证书输出到 LDAP 服务器以提供目录浏览服务,最后操作员向用户发送一封电子邮件,通知用户证书已经发行成功,并且把用户的证书序列号告诉用户到指定的网址去下载自己的数字证书。并且告诉用户如何使用安全服务器上的 LDAP 配置,让用户修改浏览器的客户端配置文件以便访问 LDAP 服务器,获得他人的数字证书。5、用户获取数字证书用户使用证书申请时的浏览器到指定的网址,键入自己的证书序列号,
12、服务器要求用户必须使用申请证书时的浏览器,因为浏览器需要用该证书相应的私钥去验证数字证书。只有保存了相应私钥的浏览器才能成功下载用户的数字证书。这时用户打开浏览器的安全属性,就可以发现自己已经拥有了 CA 颁发的数字证书,可以利用该数字证书与其他人以及 web 服务器(拥有相同 CA 颁发的证书)使用加密、数字签名进行通信。42 证书的撤消过程1、由用户提出申请 用户向登记中心操作员 CRLManager 发送一封签名加密的邮件,声明自己自愿撤消证书。2、登记中心同意证书撤消操作员键入用户的序列号,对请求进行数字签名。3、CA 撤消证书CA 查询证书撤消请求列表,选出其中的一个,验证操作员的数
13、字签名,如果正确的话,则同意用户的证书撤消申请,同时更新 CRL 列表,然后将 CRL 以多种格式输出。4、 登记中心转发证书撤消列表操作员导入 CRL,以多种不同的格式将 CRL 公布于众。5、其他用户得到 CRL 用户浏览安全服务器,下载或浏览 CRL。五 应用前景政府机构和企业的通讯安全是至关重要的问题之一,许多重要信息大量地存在于内部计算机中,并传输于网络上。如何判定内部网登录者的身份、实现服务器访问控制、保证内部网之间的通信秘密性和可靠性等问题时常困绕着政府机构和企业。数字证书可以用来进行身份认证,确保网络通信的安全。另外,随着 Internet 的不断蓬勃发展,出现了今天被公认为是
14、未来 IT 业最具有潜力的新的增长点的电子商务。电子商务建立在开放的 Internet 之上,安全问题成为首要考虑的因素:要防止泄露顾客的敏感信息,要防止交易过程中的欺骗和抵赖行为,要考虑到电子货物的安全传送等等。而利用 CA 为每一个参与交易的客体颁发数字证书可以保证信息的安全性以及抗否认性,实现安全的的电子商务。参考文献RFC1421 Privacy Enhancement for Internet Electronic Mail:Part I: Message Encryption and Authentication ProceduresRFC1422 Privacy Enhancem
15、ent for Internet Electronic Mail:Part II: Certificate-Based Key ManagementRFC1423 Privacy Enhancement for Internet Electronic Mail:Part III: Algorithms, Modes, and IdentifiersRFC1424 Privacy Enhancement for Internet Electronic Mail:Part IV: Key Certification and Related ServicesRFC2307 An Approach for using LDAP as a Network Information ServiceSHECA http:/ http:/