山东省数字证书认证管理有限公司CA基础知识讲座二00二年十月二十二日RA分中心培训什么是CA什么是对称加密体系什么是RSA密钥对、数字证书和CA“X.509标准”是什么X.509证书的格式什么是LDAP什么是OCSP主要内容:什么是CA:CA(CertificateAuthority)是数字证书认证中心的简称,是指发放、管理、废除数字证书的机构。CA的作用是检查证书持有者身份的合法性,并签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理。CA是基于非对称加密体系建立的电子商务安全认证机构。对称加密体系:CACACACACACACACACA我们先来看一下什么是对称加密:对称加密采用的是对称算法,也是传统常用的算法。其主要特点是:加解密双方在加解密过程中要使用完全相同的一个密钥。它最广泛使用的是DES算法。DES(DataEncryptionStandard)算法是美国政府机关为了保护信息处理中的计算机数据而使用的一种加密方式,是一种常规密码体制的密码算法,目前已广泛用于电子商务系统中。64位DES的算法详细情况已在美国联邦信息处理标准(FIPSPUB46)上发表。该算法输入的是64比特的明文,在64比特密钥的控制下产生64比特的密文;反之输入64比特的密文,输出64比特的明文。64比特的密钥中含有8个比特的奇偶校验位,所以实际有效密钥长度为56比特。随着研究的发展,DES算法在基本不改变加密强度的条件下,发展了许多变形DES。Triple-DES是DES算法扩展其密钥长度的一种方法,可使加密密钥长度扩展到128比特(112比特有效)或192比特(168比特有效)。其基本原理是将128比特的密钥分为64比特的两组,对明文多次进行普通的DES加解密操作,从而增强加密强度。对称算法最主要的问题是:由于加解密双方都要使用相同的密钥,因此在发送、接收数据之前,必须完成密钥的分发。因而,密钥的分发便成了该加密体系中的最薄弱因而风险最大的环节。各种基本的手段均很难保障安全地完成此项工作。从而,使密钥更新的周期加长,给他人破译密钥提供了机会。在对称算法中,尽管由于密钥强度增强,跟踪找出规律破获密钥的机会大大减小了,但密钥分发的困难问题几乎无法解决。如,设有n方参与通信,若n方都采用同一个对称密钥,一旦密钥被破解,整个体系就会崩溃;若采用不同的对称密钥则需n(n-1)个密钥,密钥数与参与通信人数的平方数成正比。这便使大系统密钥的管理几乎成为不可能。对称加密体系:什么是RSA:RSA是一种公开密钥加密体系,RSA算法最初是为了解决DES算法密钥的工发难题。它的应用原理是:先由密钥管理中心产生一对公钥(public-key)和私钥(Private-key),称为密钥对。方法如下:在离线方式下,先产生两个足够大的强质数p、q。可得p与q的乘积为n=p×q。再由p和q算出另一个数z=(p-1)×(q-1),然后再选取一个与z互素的奇数e,称e为公开指数;从这个e值可以找出另一个值d,并能满足e×d=1mod(z)条件。由此而得到的两组数(n,e)和(n,d)分别被称为公开密钥和秘密密钥,或简称公钥和私钥。对于明文M,用公钥(n,e)加密可得到密文C。C=Mmod(n)对于密文C,用私钥(n,d)解密可得到明文M。M=Cmod(n)同法,也可定义用私钥(n,d)先进行解密后,然后用公钥(n,e)进行加密(用于签名)。什么是RSA:p、q、z由密钥管理中心负责保密。在密钥对一经产生便自动将其销毁或者为了以后密钥恢复的需要将其存入离线的安全黑库里面;如密钥对是用户自己离线产生的,则p、q、z的保密或及时销毁由用户自己负责。在本系统中,这些工作均由程序自动完成。在密钥对产生好后,公钥则通过签证机关CA以证书的形式向用户分发;经加密后的密态私钥用PIN卡携带分发至用户本人。基于RSA算法上建构的体系称为非对称加密体系,用非对称加密体系,可建立起一套优秀的安全体系结构--称为公钥体系结构。以下介绍公钥体系结构中的一些基本概念与结构组成密钥对、数字证书和CA:在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则需要公布于众。为了使基于公钥体系的业务能够广泛应用,一个基础性关键的问题就是公钥的分发与管理。公钥本身并没有什么标记,仅从公钥本身不能判别公钥的主人是谁。在很小的范围内,比如A和B这样的两人小集体,他们之间相互信任,交换公钥,在互联网上通讯,没有什么问题。这个集体再稍大一点,也许彼此信任也不成问题,但从法律角度讲这种信任也是有问题的。如再大一点,信任问题就成了一个大问题。密钥对数字证书互联网络的用户群决不是几个人互相信任的小集体,在这个用户群中,从法律角度讲用户彼此之间都不能轻易信任。所以公钥加密体系采取了另一个办法,将公钥和公钥的主人名字联系在一起,再请一个大家都信得过有信誉的公正、权威机构确认,并加上这个权威机构的签名,这就形成了证书。数字证书实际上是存于计算机上的一个记录,是由CA签发的一个声明,证明证书主体(“证书申请者”拥有了证书后即成为“证书主体”)与证书中所包含的公钥的唯一对应关系。证书包括证书申请者的名称及相关信息、申请者的公钥、签发证书的CA的数字签名及证书的有效期等内容。数字证书的作用是使网上交易的双方互相验证身份,保证电子商务的安全进行。由于证书上有权威机构的签字,所以大家都认为证书上的内容是可信任的;又由于证书上有主人的名字等身份信息,别人就很容易地知道公钥的主人是谁。CACA也拥有一个证书(内含公钥),当然,它也有自己的私钥,所以它有签字的能力。网上的公众用户通过验证CA的签字从而信任CA,任何人都应该可以得到CA的证书(含公钥),用以验证它所签发的证书。如果用户想得到一份属于自己的证书,他应先向CA提出申请。在CA判明申请者的身份后,便为他分配一个公钥,并且CA将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给那个用户(申请者)。如果一个用户想鉴别另一个证书的真伪,他就用CA的公钥对那个证书上的签字进行验证(如前所述,CA签字实际上是经过CA私钥加密的信息,签字验证的过程还伴随使用CA公钥解密的过程),一经验证通过,该证书就被认为是有效的。CA除了签发证书之外,它的另一个重要作用是对数字证书和密钥的管理。由此可见,证书就是用户在网上的电子身份证,同日常生活中使用的个人身份证作用一样。CA相当于网上公安局,专门发放、验证身份证。X.509标准在和CA进行接触时,我们常常会听到一个名词:X.509。它是国际标准化组织CCITT(即国际电话委员会)建议作为X.500目录检索的一部分提供安全目录检索服务,是一种行业标准或者行业解决方案,在X.509方案中,默认的加密体制是公钥密码体制。为进行身份认证,X.509标准及公共密钥加密系统提供了数字签名的方案。用户可生成一段信息及其摘要(亦称作信息“指纹”)。用户用专用密钥对摘要加密以形成签名,接收者用发送者的公共密钥对签名解密,并将与之收到的信息“指纹”进行比较,以确定其真实性。此问题的解决方案即X.509标准与公共密钥证书。本质上,证书由公共密钥加密钥拥有者的用户标识组成,整个字块有可信赖的第三方签名。典型的第三方即用户所信赖的CA。X.509证书格式X.509是一种非常通用的证书格式。所有的证书都符合ITU-TX.509国际标准;因此(理论上)为一种应用创建的证书可以用于任何其他符合X.509标准的应用。在一份证书中,必须证明公钥及其所有者的姓名是一致的。对X.509证书来说,认证者总是CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。X.509标准定义了证书中应该包含哪些信息,并描述了这些信息是如何编码的(即数据格式),所有X.509证书包含以下数据:1、X.509版本号:指出该证书使用了哪种版本的X.509标准,版本号会影响证书中的一些特定信息。目前的版本是3。2、证书持有人的公钥:包括证书持有人的公钥、算法(指明密钥属于哪种密码系统)的标识符和其他相关的密钥参数。3、证书的序列号:由CA给予每一个证书分配的唯一的X.509证书格式数字型编号,当证书被取消时,实际上是将此证书序列号放入由CA签发的CRL(CertificateRevocationList证书作废表,或证书黑名单表)中。这也是序列号唯一的原因。4、主题信息:证书持有人唯一的标识符(或称DN-distinguishedname)这个名字在Internet上应该是唯一的。DN由许多部分组成,看起来象这样:CN=BobAllen,OU=TotalNetworkSecurityDivisionO=NetworkAssociates,Inc.C=US这些信息指出该科目的通用名、组织单位、组织和国家或者证书持有人的姓名、服务处所等信息。5、证书的有效期:证书起始日期和时间以及终止日期和时间;指明证书在这两个时间内有效。X.509证书格式6、认证机构:证书发布者,是签发该证书的实体唯一的CA的X.500名字。使用该证书意味着信任签发证书的实体。(注意:在某些情况下,比如根或顶级CA证书,发布者自己签发证书)7、发布者的数字签名:这是使用发布者私钥生成的签名,以确保这个证书在发放之后没有被撰改过。8、签名算法标识符:用来指定CA签署证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的公开密钥算法和HASH算法。LDAPLDAP的英文全称是LightweightDirectoryAccessProtocol,轻量级目录访问协议。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP不是数据库而是用来访问存储在信息目录(也就是LDAP目录)中的信息的协议。也就是说“通过使用LDAP,可以在信息目录的正确位置读取(或存储)数据”,LDAP主要是优化数据读取的性能。LDAP协议是跨平台的和标准的协议,因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。实际上,LDAP得到了业界的广泛认可,因为它是Internet的标准。LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。OCSPOCSP(OnlineCertificatestatusProtocol)在线证书状态协议,是IETF颁布的用于检查数字证书在某一交易时间是否有效的标准。在OCSP之前,用户没有一种方便的途径来复查证书的有效性。OCSP使经理们可以实时进行这类检查,从而节省了时间和资金,它为电子商务提供了一种检验数字证书有效性的途径,比下载和处理证书撤销清单(CRL)的传统方式更快、更方便和更具独立性。由证书机构签发的CRL是一张无效证书及其持有者的名单。这种CRL处理方式要求用户配置客户PC来处理来自证书机构的CRL。由于证书机构没有经常签发CRL,或由于撤销证书的数量很大及用户基础很大,所以CRL常常会越变越大。当它们体积过于庞大变得难于使用时就带来了另一个问题,即每次CRL分发会大量消耗网络带宽和客户机处理能力。此外,业务伙伴可能需要几天的时间才能收到有关撤销证书的通知,从而增加了破坏安全性的可能。OCSP实时在线地向用户提供证书状态,结果是它比CRL处理快得多,避免了令人头痛的逻辑问题和处理开销。OCSP为立即检查证书是否被撤销,用户的客户机必须形成请求,并将请求转发到一个OCSP应答器,即网络中保存最新撤销信息的服务器应用程序。应答器回答下列三个有关证书有效性信息中的一个:“好”、“撤销”或“不知道”。尽管HTTP是最通用的方式,但OCSP请求是独立于协议的。证书机构或其他实体向作为公共密钥基础设施的可信体系组成部分的可信赖机构提供OCSP应答器。对于使用OCSP