Files
Knowledge/sunyard/标准/PKI技术规范/PKI+CA与KMC.md
T

83 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**1.CA最初目的是签发数字证书**
为解决数字证书的签发问题,PKI引入CA.用于对数字证书进行集中签发。CA是Certificate Authority昀缩写,字面含义是证书权威,也称作CA中心、认证中心。CA中心拥有自己的公钥和私钥,使用其私钥给用户(包含CA巾心自己)签发数字证书,具体签发过程如下:
(1)将用户身份信息和用户公钥信息,按照特定格式组成数据D。
(2)选择摘要算法对数据D进行计算得到摘要H。
(3)使用CA私钥对摘要H进行加密得到数字签名S。
(4)将用户身份信息、用户公钥信息和数字签名S,按照特定格式就可组成数字证书。
**2.CA应对数字证书的全生命周期进行管理**
CA实际是一种特殊的公钥管理中心,为实现数字证书的安全性,应对数字证书的全生命周期进行管理,主要包括:
(1)数字证书的签发和更新。证书签发主要针对新用户;证书更新主要针对已有证书用户,更新时公钥可以改变,也可以不变。
(2)数字证书的作废(注销、撤销或吊销)。证书作废后将成无效证书,永远不能使用。
(3)数字证书的冻结(挂失)和解冻。证书冻结后将成无效证书,但可以通过解冻恢复成有效状态。
(4)数字证书的查询或下载。应提供公开服务方式,允许用户根据条件随时查询证书并下载。常用服务方式有HTTP和LDAP。
(5)数字证书状态查询。应提供公开服务方式,允许用户随时查询证书状态,以便判断该证书是否处于有效状态。常用服务方式有CRL和OCSP。
**3.KMC用于管理私钥**
如果使用公钥(数字证书)对数据进行加密,则只有与公钥对应的私钥才能进行解密,从而可实现用户数据的保密性。当私钥丢失时,如果没有备份和恢复机制,将导致公钥加密的所有数据都无法解密,可能给用户带来损失。
为解决私钥的备份与恢复问题,PKI引入了KMC,用于对私钥的全生命周期进行管理。KMC是Key Management Center的缩写。
用户公私钥对可由KMC产生,提交CA签发数字证书后,将私钥和数字证书同时安全移交给用户,而KMC将私钥留作备份,可按需要给用户恢复。用户公私钥对也可由用户自己产生(使用软件或密码设备),在向CA中心申请数字证书时,可将私钥安全提交KMC留作备份。
**4.双证书机制**
为防止用户身份被冒用,应保证用户私钥的唯一性,不允许备份恢复。为防止公钥加密后的数据无法解密,应提供用户私钥的备份恢复机制。
为解决这两种矛盾的应用需求,PKI引入双证书机制:签名证书和加密证书。
签名证书及私钥只用于签名验签,不能用于加密解密;为保证签名私钥的唯一性,该公私钥对必须由用户自己产生,同时采用硬件技术(如只允许在硬件密码设备内产生公私钥对、私钥不允许导出等)保证无法复制,在证书签发过程中CA中心并不知道该私钥,只对其公钥进行操作。该私钥没有备份,因此永远不能恢复。
加密证书及私钥只用于加密解密,不能用于签名验签。为实现解密私钥的备份恢复机制,该公私钥对必须由KMC产生,由CA签发完数字证书后安全移交给用户,用户应采用硬件技术保证该私钥的安全性。KMC可根据需要恢复该私钥。
**5.LDAP**
CA中心存储着所有数字证书,并通过公开服务形式供用户随时查询或下载。为解决数字证书查询或下载的性能问题,避免CA中心成为性能瓶颈,PKI引入了LDAP技术,通过LDAP方式对外提供高速证书查询或下载服务。
专业的关系型数据库管理系统(如Oracle、DB2等)专门对结构化数据进行管理,应用系统只需通过SQL语句(报文协议)发送各种数据管理指令,而具体管理工作完全由数据库管理系统负责。尽管这种数据管理方式大大简化了应用系统的复杂度,但由于其读写功能相对均衡,很难满足高性能的查询服务。为获得高性能的查询服务,需要对数据管理的读取功能进行特殊优化,于是出现了目录服务技术(DAP,Directory Access Protocol)。目录服务技术对查询功能进行优化,比修改操作快10倍以上,适合快速响应和大容量查询服务。DAP技术通过目录树方式对数据进行管理,应用系统只需通过x.500协议就能对数据进行快速查询。
由于X.500协议过于复杂,实现成本很高,于是国际组织对X.500进行了简化,形成LDAP标准,而且LDAP支持TCP/IP协议,更适合于互联网领域使用。LDAP为轻量目录访问协议,是Light-weight Directory Access Protocol的缩写。
由于数字证书是可以公开的,CA中心也可以将其签发的数字证书存储到其他地方,供用户查询或下载。
**6.CRL和OCSP**
当用户私钥泄露后,CA中心有责任将该用户的证书标记为失效。但用户如何获得对方证书足否失效的状态呢?为方便用户获得证书状态,PKI引入了CRL和OCSP技术。
(1) CRL(Certificate Revocation List)
CRL为证书作废列表,是Certificate Revocation List的缩写,也称作证书黑名单,是一种特殊的文件格式,包含所有失效的证书清单、下次CRL生成时间和CA中心私钥的签名。
CA中心定期生成CRL.并将下次生成时问写入CRL中,方便用户按时定期下载CRL。跟数字证书类似,CRL也是通过CA中心私钥的签名来保证CRL无法被篡改的。用户只需定期获取CRL后,就可在本地脱机验证证书是否失效,在下次CRL生成时间之前无需联系CA中心。
由于CRL是可以公开的,CA中心也可以将其链发的CRL存储到其他地方,供用户查询或下载。CRL也可以发布到LDAP中,提供高速下载服务。
(2) OCSP (Online Certificate Status Protocol)
当CA中心将私钥已泄露的用户证书标记为失效后,如果还未到下次CRL生成时间,此时其他用户通过最新CRL并不知道该用户证书已经失效,依然将该用户当作有效用户继续进行各种保密通信和合法交易,因此可能会造成一定的损失。
为解决CRL滞后的缺陷,避免给高实时性或高风险交易造成重大损失,PKI引入了OCSP,对用户提供实时的证书状态查询服务。OCSP为在线证书状态协议,是Online Certificate Status Protocol的缩写。当用户需要实时查询对方证书是否有效时,可通过OCSP协议实时访问CA中心获得对方证书的当前状态。
**7.RA**
在保证CA系统安全性的前提下,为方便证书业务远程办理、方便证书管理流程与应用系统结合,PKI引入了RA,专门用于对用户提供面对面的证书业务服务,负责用户证书办理/作废申请、用户身份审核、制作证书并移交用户等功能,而涉及证书签发时则提交CA系统集中处理。RA是Registry Authority的缩写,又称作RA中心、注册中心。有时候,证书管理流程会与应用业务流程结合,并不单独体现出来,如对于网上银行,证书管理流程就会融合到网银业务流程中。
RA可以部署多个,既可以单独部署,也可以与应用系统集成。
CA主要模块组成如下图所示。
![http://scanywhere.com/images/technology/PKI-CA-KMC.jpg](http://scanywhere.com/images/technology/PKI-CA-KMC.jpg)