本书的封面第四章PKI和PMI认证技术本书的封面第四章PKI和PMI认证技术4.1数字证书4.2PKI系统4.3常用信任模型4.4基于PKI的服务4.5PKI与PMI的关系本书的封面4.1数字证书本节提示:4.1.1X.509数字证书4.1.2证书撤销列表本书的封面什么是PKI(1/3)PKI(PublicKeyInfrastructure,公钥基础设施)是一个采用非对称密码算法原理和技术来实现并提供安全服务的、具有通用性的安全基础设施,PKI技术采用证书管理公钥,通过第三方的可信任机构——认证中心(CertificateAuthority,CA)——把用户的公钥和用户的标识信息捆绑在一起,在Internet上验证用户的身份,提供安全可靠的信息处理。目前,通用的办法是采用建立在PKI基础之上的数字证书,通过把要传输的数字信息进行加密和签名,保证信息传输的机密性、真实性、完整性和不可否认性,从而保证信息的安全传输。本书的封面什么是PKI(2/3)PKI所提供的安全服务以一种对用户完全透明的方式完成所有与安全相关的工作,极大地简化了终端用户使用设备和应用程序的方式,而且简化了设备和应用程序的管理工作,保证了他们遵循同样的安全策略。PKI技术可以让人们随时随地方便地同任何人秘密通信。PKI技术是开放、快速变化的社会信息交换的必然要求,是电子商务、电子政务及远程教育正常开展的基础。本书的封面什么是PKI(3/3)PKI技术是公开密钥密码学完整的、标准化的、成熟的工程框架。它基于并且不断吸收公开密钥密码学丰硕的研究成果,按照软件工程的方法,采用成熟的各种算法和协议,遵循国际标准和RFC文档,如PKCS、SSL、X.509、LDAP,完整地提供网络和信息系统安全的解决方案。本书的封面4.1.1X.509数字证书基本概念证书证明了实体所声明的身份和其公钥绑定关系的一种电子文档,是将公钥和确定属于它的某些信息(比如该密钥对持有者的姓名、电子邮件或者密钥对的有效期等信息)相绑定的数字申明。数字证书由CA认证机构颁发。认证中心所颁发的数字证书均遵循X.509V3标准。数字证书的格式在ITU标准和X.509V3(RFC2459)里定义。X.509证书的结构如图4.1.1所示,其中证书和基本信息采用X.500的可辨别名DN来标记,它是一个复合域,通过一个子组件来定义。本书的封面X.509证书结构VersionnumberSerialnumberSignaturealgorithmIssuernameValidityperiodSubjectnameSubjectpublickeyIssueruniqueidentifierSubjectuniqueidentifierExtensionsSignaturealgorithmSignaturevalue证书版本号证书序列号签名算法标识证书颁发者X500名称证书有效期证书持有者X500名称证书持有者公钥证书颁发者可选唯一标识号证书持有者可选唯一标识号证书扩展部份CA签名算法标识CA签名V1fieldsV1fieldsV2fieldsV3fields本书的封面X.509证书包含内容版本号:该域定义了证书的版本号,这将最终影响证书中包含的信息的类型和格式,目前版本4已颁布,但在实际使用过程版本3还是占据主流。序列号:序列号是赋予证书的唯一整数值。它用于将本证书与同一CA颁发的其他证书区别开来。签名算法标识:该域中含有CA签发证书所使用的数字签名算法的算法标识符,如SHA1WithRSA。有CA的签名,便可保证证书拥有者身份的真实性,而且CA也不能否认其签名。颁发者X500名称:这是必选项,该域含有签发证书实体的唯一名称(DN),命名必须符合X.500格式,通常为某个CA。本书的封面X.509证书包含内容(续)证书有效期:证书仅仅在一个有限的时间段内有效。证书的有效期就是该证书的有效的时间段,该域表示两个日期的序列:证书的有效开始日期(notBefore),以及证书有效期结束的日期(notAfter)。证书持有者X500名称:必选项,证书拥有者的可识别名称,命名规则也采用X.500格式。证书持有者公钥:主体的公钥和它的算法标识符,这一项是必选的。证书颁发者唯一标识号:这是一个可选域。它含有颁发者的唯一标识符。证书持有者唯一标识号:证书拥有者的唯一标识符,也是可选项。证书扩展部份:证书扩展部份是V3版本在RFC2459中定义的。可供选择的标准和扩展包括证书颁发者的密钥标识、证书持有者密钥标识符、公钥用途、CRL发布点、证书策略、证书持有者别名、证书颁发者别名和主体目录属性等。本书的封面4.1.2证书撤销列表在CA系统中,由于密钥泄密、从属变更、证书终止使用以及CA本身私钥泄密等原因,需要对原来签发的证书进行撤销。X.509定义了证书的基本撤销方法:由CA周期性的发布一个CRL(CertificateRevocationList),即证书撤销列表,里面列出了所有未到期却被撤销的证书,终端实体通过LDAP的方式下载查询CRL。本书的封面CRL格式VersionnumberSignatureIssuerThisUpdateNextUpdateUserCertificateserialnumgerDateofrevocationRevocationreasonUserCertificateserialnumgerDateofrevocationRevocationreasonCRLextensionsCRL版本号用于CRL签名的算法标识CRL颁发者唯一名字本次颁发CRL的日期/时间下次颁发CRL的日期/时间证书的序列号撤消的日期/时间撤消的原因CRL扩展本书的封面证书撤销列表CA将某个证书撤销后,应使得系统内的用户尽可能及时地获知最新的情况,这对于维护PKI系统的可信性至关重要。所以CA如何发布CRL的机制是PKI系统中的一个重要问题。发布CRL的机制主要有以下几种:定期发布CRL的模式、分时发布CRL的模式、分时分段的CRL的模式、Delta-CRL的发布模式。本书的封面4.2PKI系统本节提示4.2.1系统的功能4.2.2系统的组成4.2.3PKI相关标准本书的封面4.2.1系统的功能(1/3)一个完整的PKI系统对于数字证书的操作通常包括证书颁发、证书更新、证书废除、证书和CRL的公布、证书状态的在线查询、证书认证等。本书的封面4.2.1系统的功能(2/3)(1)证书颁发申请者在CA的注册机构(RA)进行注册,申请证书。CA对申请者进行审核,审核通过则生成证书,颁发给申请者。(2)证书更新证书的更新包括证书的更换和证书的延期两种情况。证书的更换实际上是重新颁发证书,因此证书的更换的过程和证书的申请流程基本情况一致。证书的延期只是将证书有效期延长,其签名和加密信息的公私密钥没有改变。(3)证书废除证书持有者可以向CA申请废除证书。CA通过认证核实,即可履行废除证书职责,通知有关组织和个人,并写入黑名单CRL(CertificateRevocationList)。有些人(如证书持有者的上级或老板)也可申请废除证书持有者的证书。本书的封面4.2.1系统的功能(3/3)(4)证书和CRL的公布CA通过LDAP(LightweightDirectoryAcessProtocol)服务器维护用户证书和黑名单(CRL)。它向用户提供目录浏览服务,负责将新签发的证书或废除的证书加入到LDAP服务器上。这样用户通过访问LDAP服务器就能够得到他人的数字证书或能够访问黑名单。(5)证书状态的在线查询通常CRL签发为一日一次,CRL的状态同当前证书状态有一定的滞后,证书状态的在线查询向OCSP(OnlineCertificateStatusProtocol)服务器发送OCSP查询包,包含有待验证证书的序列号,验证时戳。OCSP服务器返回证书的当前状态并对返回结果加以签名。在线证书状态查询比CRL更具有时效性。(6)证书认证在进行网上交易双方的身份认证时,交易双方互相提供自己的证书和数字签名,由CA来对证书进行有效性和真实性的认证。在实际中,一个CA很难得到所有用户的信任并接受它所发行的所有公钥用户的证书,而且这个CA也很难对有关的所有潜在注册用户有足够全面的了解,这就需要多个CA。在多个CA系统中,令由特定CA发放证书的所有用户组成一个域。若一个持有由特定CA发证的公钥用户要与由另一个CA发放公钥证书的用户进行安全通信,需要解决跨域的公钥安全认证和递送。建立一个可信任的证书链或证书通路。高层CA称做根CA,它向低层CA发放公钥证书。本书的封面4.2.2系统的组成PKI公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。一个机构通过采用PKI框架管理密钥和证书可以建立一个安全的网络环境。PKI主要包括四个部份:X.509格式的证书和证书撤销列表CRL;CA/RA操作协议;CA管理协议;CA政策制定。本书的封面PKI系统的组成(1/3)一个典型、完整、有效的PKI应用系统至少包括以下部份:认证机构(CA,CertificateAuthority):证书的签发机构,它是PKI的核心,是PKI应用中权威的、可信任的、公正的第三方机构。认证机构是一个实体,它有权利签发并撤销证书,对证书的真实性负责。在整个系统中,CA由比它高一级的CA控制。根CA(RootCA):信任是任何认证系统的关键。因此,CA自己也要被另一些CA认证。每一个PKI都有一个单独的、可信任的根,从根处可取得所有认证证明。本书的封面PKI系统的组成(2/3)注册机构(RA,RegistrationAuthority):RA的用途是接受个人申请,核查其中信息并颁发证书。然而,在许多情况下,把证书的分发与签名过程分开是很有好处的。因为签名过程需要使用CA的签名私钥(私钥只有在离线状态下才能安全使用),但分发的过程要求在线进行。所以,PKI一般使用注册机构(RA)去实现整个过程。证书目录:用户可以把证书存放在共享目录中,而不需要在本地硬盘里保存证书。因为证书具有自我核实功能,所以这些目录不一定需要时刻被验证。万一目录被破坏,通过使用CA的证书链功能,证书还能恢复其有效性。本书的封面PKI系统的组成(3/3)管理协议:该协议用于管理证书的注册、生效、发布和撤销。PKI管理协议包括:证书管理协议(PKIXCMP,CertificateManagementProtocol);信息格式,如证书管理信息格式(CMMF,CertificateManagementMessageFormat);PKCS#10。操作协议:操作协议允许用户找回并修改证书,对目录或其他用户的证书撤销列表CRL进行修改。在大多数情况下,操作协议与现有协议(如FTP、HTTP、LDAP和邮件协议等)共同工作。个人安全环境:在这个环境下,用户个人的私人信息(如私钥或协议使用的缓存)被妥善保存和保护。一个实体的私钥对于所有公钥而言是保密的。为了保护私钥,客户软件要限制对个人安全环境的访问。本书的封面4.2.3PKI相关标准在PKI技术框架中,许多方面都经过严格的定义,如用户的注册流程、数字证书的格式、CRL的格式、证书的申请格式以及数字签名格式等。几个重要的协议国际电信联盟ITUX.509协议;PKCS(PublicKeyCryptographyStandard)系列标准;PKIX(PublicKeyInfrastructureforX.509)系列标准;本书的封面国际电信联盟ITUX.509协议国际电信联盟ITUX.509协议:PKI技术体系中应用最为广泛、也是最为基础的一个国际标准。它主要目的在于定义一个规范的数字证书格式,以便为基于X.500协议的目录服务提供一种强认证手段。但该标准并非要定义一个完整的、可互操作的PKI认证体系。在X.509规范中,一个用户有两把密钥:一把是用户的专用密钥,另一把是其他用户都可利用的公共密