您的位置:首页 > 其它

数字证书(CA)应用技术简介

2007-01-21 17:06 781 查看
本文介绍了数字证书的相关的概念和标准。
一、 什么是CA

  CA(Certificate Authority)是数字证书认证中心的简称,是指发放、管理、废除数字证书的机构。CA的作用是检查证书持有者身份的合法性,并签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理。

  数字证书实际上是存于计算机上的一个记录,是由CA签发的一个声明,证明证书主体("证书申请者"拥有了证书后即成为"证书主体")与证书中所包含的公钥的惟一对应关系。证书包括证书申请者的名称及相关信息、申请者的公钥、签发证书的CA的数字签名及证书的有效期等内容。数字证书的作用是使网上交易的双方互相验证身份,保证电子商务的安全进行。

CA是基于非对称加密体系建立的电子商务安全认证机构。

二、 什么是对称加密

  我们先来看一下什么是对称加密:

  对称加密采用的是对称算法,也是传统常用的算法。其主要特点是:加解密双方在加解密过程中要使用完全相同的一个密钥。它最广泛使用的是DES算法。

DES(Data Encryption Standard) 算法是美国政府机关为了保护信息处理中的计算机数据而使用的一种加密方式,是一种常规密码体制的密码算法,目前已广泛用于电子商务系统中。64位DES的算法详细情况已在美国联邦信息处理标准(FIPS PUB46)上发表。该算法输入的是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=1 mod (z)条件。由此而得到的两组数(n,e)和(n,d)分别被称为公开密钥和秘密密钥,或简称公钥和私钥。

  对于明文M,用公钥 (n,e) 加密可得到密文C。
  C = M mod (n)
  对于密文C,用私钥(n,d)解密可得到明文M。
  M = C mod (n)

  同法,也可定义用私钥(n,d)先进行解密后,然后用公钥(n,e)进行加密(用于签名)。

p、q、z由密钥管理中心负责保密。在密钥对一经产生便自动将其销毁或者为了以后密钥恢复的需要将其存入离线的安全黑库里面;如密钥对是用户自己离线产生的,则p、q、z的保密或及时销毁由用户自己负责。在本系统中,这些工作均由程序自动完成。在密钥对产生好后,公钥则通过签证机关CA以证书的形式向用户分发;经加密后的密态私钥用PIN卡携带分发至用户本人。

基于RSA算法上建构的体系称为非对称加密体系,用非对称加密体系,可建立起一套优秀的安全体系结构--称为公钥体系结构。

  以下介绍公钥体系结构中的一些基本概念与结构组成。

密钥对、证书和CA
  1) 密钥对

在基于公钥体系的安全系统中,密钥是成对生成的,每对密钥由一个公钥和一个私钥组成。在实际应用中,私钥由拥有者自己保存,而公钥则需要公布于众。为了使基于公钥体系的业务能够广泛应用,一个基础性关键的问题就是公钥的分发与管理。

公钥本身并没有什么标记,仅从公钥本身不能判别公钥的主人是谁。

在很小的范围内,比如A和B这样的两人小集体,他们之间相互信任,交换公钥,在互联网上通讯,没有什么问题。这个集体再稍大一点,也许彼此信任也不成问题,但从法律角度讲这种信任也是有问题的。如再大一点,信任问题就成了一个大问题。

  2) 证书

互联网络的用户群决不是几个人互相信任的小集体,在这个用户群中,从法律角度讲用户彼此之间都不能轻易信任。所以公钥加密体系采取了另一个办法,将公钥和公钥的主人名字联系在一起,再请一个大家都信得过有信誉的公正、权威机构确认,并加上这个权威机构的签名,这就形成了证书。

由于证书上有权威机构的签字,所以大家都认为证书上的内容是可信任的;又由于证书上有主人的名字等身份信息,别人就很容易地知道公钥的主人是谁。

  3) CA

CA也拥有一个证书(内含公钥),当然,它也有自己的私钥,所以它有签字的能力。网上的公众用户通过验证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-T X.509国际标准;因此(理论上)为一种应用创建的证书可以用于任何其他符合X.509标准的应用。在一份证书中,必须证明公钥及其所有者的姓名是一致的。对X.509证书来说,认证者总是 CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。X.509标准定义了证书中应该包含哪些信息,并描述了这些信息是如何编码的(即数据格式),所有的X.509证书包含以下数据:

  1、X.509版本号:指出该证书使用了哪种版本的X.509标准,版本号会影响证书中的一些特定信息。目前的版本是3。

  2、证书持有人的公钥:包括证书持有人的公钥、算法(指明密钥属于哪种密码系统)的标识符和其他相关的密钥参数。

  3、证书的序列号:由CA给予每一个证书分配的唯一的数字型编号,当证书被取消时,实际上是将此证书序列号放入由CA签发的CRL(Certificate Revocation List证书作废表,或证书黑名单表)中。这也是序列号唯一的原因。

  4、主题信息:证书持有人唯一的标识符(或称DN-distinguished name)这个名字在 Internet上应该是唯一的。DN由许多部分组成,看起来象这样:

  CN=Bob Allen, OU=Total Network Security Division
  O=Network Associates, Inc.
  C=US

这些信息指出该科目的通用名、组织单位、组织和国家或者证书持有人的姓名、服务处所等信息。

  5、证书的有效期:证书起始日期和时间以及终止日期和时间;指明证书在这两个时间内有效。

  6、认证机构:证书发布者,是签发该证书的实体唯一的CA的X.500名字。使用该证书意味着信任签发证书的实体。(注意:在某些情况下,比如根或顶级CA证书,发布者自己签发证书)

  7、发布者的数字签名:这是使用发布者私钥生成的签名,以确保这个证书在发放之后没有被撰改过。

  8、签名算法标识符:用来指定CA签署证书时所使用的签名算法。算法标识符用来指定CA签发证书时所使用的公开密钥算法和HASH算法。

四、 "X.500协议"是什么

  X.500是由CCITT在X.400的基础上推广的新版本,是一个将局部名录服务连接起来,构成全球分布式的名录服务系统的协议 。X.500组织起来的数据就象一个很全的电话号码簿,或者说一个X.500系统象是一个分门别类的图书馆。而某一机构建立和维护的名录数据库只是全球名录数据库的一部分。

  X.500基本上是用来查询有关人员的信息(如邮政地址、电话号码、电子邮件地 址等)的一种服务。可以检索的字段有:姓名、人员所在机构名、所在机构的部门名称以及国家名称。

在X.500协议中,本地的X.500客户程序又叫名录用户代理(DUA)。

  X.500的服务大部分是交互作用的,在你查询时它会给你一些联机帮助,来帮助你使用它。

由于X.500比X.400更加实用,所以X.500将成为今后的全球检索数据库的流行趋势。

X.500目录服务(X.500 Directory Service)

  X.500目录服务是一种用于开发一个单位(或组织)内部人员目录的标准方法,这个目录可以成为全球目录的一部分,这样在世界任何一个角落,只要能和Internet相连的地方,任何人都可以查询这个单位中人员的信息,可以通过人名,部门,单位(或组织)来进行查询,许多公司或组织都提供X.500目录,这个目录象我们通常知道的目录一样有一个树型结构,它的结构如下:国家,单位(或组织),部门和个人。

  在X.500中每个本地目录叫做目录系统代理(DSA),一个DSA代表一个或多个单位(或组织),而DSA之间以目录信息树(DIT)连接。用于访问一个或多个DSA的用户程序称为DUA,它包括whois,finger和其它用于提供图形用户界面的程序。X.500在全球目录服务(GDS)中作为分布计算机环境的一部分实现。一些大学也以轻载目录访问协议(LDAP)为基础使用X.500作为电子邮件服务和姓名查询的方法。

  在CA系统中,X.500目录服务器用于发布用户的证书和黑名单信息,用户可通过LDAP协议查询自己或其他人的证书和下载黑名单信息。LDAP是X.500目录访问协议的一个子集。支持这个协议的服务器,可以让普通用户使用支持LDAP功能的Web浏览器,进行有关电子邮件用户登录住处方面的查询,查询的用户属性包括姓名、电话号码、电子邮件地址、工作机构、所在部门和地址信息等。系统管理员可以通过LDAP客户程序远程进行目录管理操作,如添加、删除和修改用户账户信息等。

五、 什么是LDAP

  LDAP的英文全称是Lightweight Directory Access Protocol,轻量级目录访问协议。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。

  LDAP不是数据库而是用来访问存储在信息目录(也就是LDAP目录)中的信息的协议。也就是说"通过使用LDAP,可以在信息目录的正确位置读取(或存储)数据",LDAP主要是优化数据读取的性能。

LDAP协议是跨平台的和标准的协议,因此应用程序就不用为LDAP目录放在什么样的服务器上操心了。实际上,LDAP得到了业界的广泛认可,因为它是Internet的标准。LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。

六、 什么是OCSP

  OCSP(Online Certificate status Protocol)在线证书状态协议,是IETF颁布的用于检查数字证书在某一交易时间是否有效的标准。在OCSP之前,用户没有一种方便的途径来复查证书的有效性。OCSP使经理们可以实时进行这类检查,从而节省了时间和资金,它为电子商务提供了一种检验数字证书有效性的途径,比下载和处理证书撤销清单(CRL)的传统方式更快、更方便和更具独立性。

由证书机构签发的CRL是一张无效证书及其持有者的名单。这种CRL处理方式要求用户配置客户PC来处理来自证书机构的CRL。由于证书机构没有经常签发CRL,或由于撤销证书的数量很大及用户基础很大,所以CRL常常会越变越大。当它们体积过于庞大变得难于使用时就带来了另一个问题,即每次CRL分发会大量消耗网络带宽和客户机处理能力。此外,业务伙伴可能需要几天的时间才能收到有关撤销证书的通知,从而增加了破坏安全性的可能。

  OCSP实时在线地向用户提供证书状态,其结果是它比CRL处理快得多,并避免了令人头痛的逻辑问题和处理开销。

  为立即检查证书是否被撤销,用户的客户机必须形成请求,并将请求转发到一个OCSP应答器,即网络中保存最新撤销信息的服务器应用程序。应答器回答下列三个有关证书有效性信息中的一个:"?quot;、"撤销"或"不知道"。尽管HTTP是最通用的方式,但OCSP请求是独立于协议的。

  证书机构或其他实体向作为公共密钥基础设施的可信体系组成部分的可信赖机构提供OCSP应答器。对于使用OCSP应答器的用户来说,获得这一信息的最佳途径是使证书机构将信息直接输入到应答器中。根据证书机构与OCSP应答器之间的关系,证书机构可以转发即时的通知或证书撤销信息,并且这些信息可以立即提供给用户。

  一项关键的决定涉及到是否使用在数据库中保存实际证书和状态信息的应答器。经常被称之为信息库的这类应答器,使各机构可以访问更多的有关证书和其状态的信息,因此用户可以做出有关交易伙伴可信度的更有依据的业务决定。这种方式的代价是付出维护证书数据库的费用。除了OCSP之外,信息库还支持供客户机应用使用的轻量级目录访问协议(LDAP)。

  OCSP使各机构可以很容易地将多个应答器连接起来,方便企业对企业的交易。这意味着如果一家机构请求从应答器得到该证书的状态,但该应答器没有某一证书信息的话,应答器可以从其它应答器中获得这一信息。建立这种应答器网络可以赋予贸易伙伴验证"国外"证书和在Internet共同开展业务的更多的灵活性。

  OCSP给证书认证过程带来了效率并节省了费用,增强了用户交易的安全性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: