2.6.2 证书签名与验证
证书签名由签名算法、算法参数与签名值构成。签名算法包括RSA和DSA,可以使用的散列函数有MD2、MD5和SHA-1。签名值是CA利用自己的私有密钥对证书信息的散列值加密的结果。X.509使用以下符号定义证书:
CA《A》 = CA{V, SN, AI, CA, TA, A, Ap}
其中:Y《X》表示由证书权威机构向用户X颁发的证书;Y{I}表示Y对I的签名,由I与Y对I的散列值的签名连接而成。CA用其私有密钥对证书进行签名。
证书的签名过程由两个步骤来完成:
1)待签名证书的域使用给定的哈希算法进行摘录(压缩);
2)哈希的输出(哈希摘要)使用CA的私钥加密。
证书的验证过程:
CA使用私钥签署用户A的证书,并使用相同的私钥签署其自签证书。然后通过使用CA证书中的公钥,用户B可以验证用户A证书上的签名以及他在CA证书上的签名,用户A的证书和他的CA证书组成一个证书链。所谓证书链,就是一个用户证书和一系列与其证书相关的CA证书的有序集合。通常情况下,把一个证书中的发行者名称与下一个证书中的主体名称进行匹配,就可以确定认证链,证书验证通常需要验证证书链,知道某自签证书被验证为链尾,该认证过程才会完成。
图4 证书验证过程
2.7 公钥基础设施PKI
公钥基础设施(Public Key Infrastructure ,PKI)是在分布式计算系统中提供和使用公钥密码系统和X.509证书安全服务的基础设施。 PKI产品和服务允许使用者在网络上建立一个安全领域,在该领域中可以签发密钥和证书。 PKI支持使用者在建立的安全领域中进行加密密钥和证书的使用、管理以及安全策略管理。 密钥管理包括密钥的更新和托管;证书管理包括证书的产生和撤销。 PKI还提供通过证书层次结构或通过直接交叉证书的方法在本地安全领域与其他安全领域之间建立相互信任的关系[19]。
证书权威机构CA创建并签发证书、文护并发布证书撤销列表。PKI使用轻量级目录访问协议LDAP来存放、发布、查找和获取证书。证书服务器产品有 Netscape的Certificate Server和Microsoft的Certificate Server等。
图5 PKI体系结构图
PKI相关技术标准如今较受关注的有如下:
1. X.509标准
X.509协议是ITU-T(国际电联电信标准化部门,简称ITU-T)组织制定的有关标准。多种环境、多种应用系统和众多生产厂商的采用,也表明了它的通用、灵活性以及它已经成为有效国际标难的事实。许多与PKI相关的协议标准(如PKIX、S/MIME、SSL、TLS、Ipsec)等都是在X.509基础上发展起来的。
2. PKIX标准
可互操作的PKI标准是由Internet工程任务组(IETF)中的PKI工作组制订的一系列RFC文档组成,称为PKIX(即X.509认证的PKI)规范。其完成的工作主要有:一,证书和证书撤销列表;二,证书管理协议;三,证书操作协议;四,证书策略(PCP)和认证管理陈述(CPS)结构。PKIX在将PKI概念应用到Internet的环境中起到了举足轻重的作用。
3. PKCS标准
公开密码学标准PKCS( Public Key Cryptography Standard)是PKCS是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议,该标准目前己成为PKI体系中不可或缺的一部分。1999年底,PKCS已经公布了以下标准: PKCS#1,PKCS#3,PKCS#5,PKCS#6,PKCS#7,PKCS#8,PKCS#9,PKCS#10,PKCS#11,PKCS#12,PKCS#13,PKCS#14,PKCS#15。
2.8 本章小结
本章主要是对信息安全方面的内容做一定的介绍,其中对对称加密算法,非对称加密算法,消息摘要,数字签名,数字证书以及公钥基础设施PKI做了大致介绍,为之后的底层安全服务管理模块的实现提供了基础。 安全中间件安全服务管理模块设计与实现(7):http://www.youerw.com/jisuanji/lunwen_9360.html