一、PKI简介
PKI(Public Key Infrastructure)公共密钥基础建设,又称为公开密钥基础架构、公钥基础建设、公钥基础设施或公钥基础机构,是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,能够为所有网络应用提供加密和数字签名等密码服务及所必须的密钥和证书管理体系,简单来说PKI就是利用公钥理论和技术建立的提供的安全服务设施,是信息安全技术的核心。其目的在于创造、管理、分配、使用、存储以及撤销数字证书。当然PKI既不是一个协议,也不是一个软件,它是一个标准,在这个标准之下发展出的为了实现安全基础服务目的的技术统称为PKI。
二、PKI的主要组成组件;
1、认证中心CA(证书签发)
CA是PKI的核心,即数字证书的申请及签发机关,CA必须具备有权威性的特征,它是负责管理PKI结构下的所有用户(包括各种应用程序)的证书,把用户的公钥和用户的其他信息捆绑在一起,在网上验证用户的身份,CA还有负责用户证书的黑名单登记和黑名单发布。
2、X.500 目录服务器(证书保存)
X.500目录服务器用于发布用户的证书和黑名单信息,用户可通过标准的LDAP协议查询自己或其他人的证书和下载黑名单信息。
3、具有高强度密码算法(SSL)的安全WWW服务器
secure socker layer(ssl)协议最初由Netscape企业发展,现已成为网络用来鉴别和网页浏览者身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准。
4、web(安全通讯平台)
Web client 端和 web server 端两部分,分别安装在客户端和服务器端,通过具有够强度密码算法的ssl协议保证客户端和服务器端数据的机密性、完整性、身份验证。
5、自开发安全应用系统
自开发安全应用系统是指各行业自开发的各种具体应用系统,例如银行、证券的应用系统等。完整的PKI 包括
1)认证政策的制定(包括
1.1遵循的技术标准
1.2各CA 之间的上下级或同级关系
1.3安全策略
1,4安全程度
1.5服务对象
1.6管理原则和框架等
2)认证规则
3)运作制度的制定
4)所涉及的各方法律关系内容
5)技术的实现
认证中心CA是PKI的核心部分,CA实现了PKI中一些很重要的功能。
1、 接受验证最终用户数字证书的申请。
2、 确定是否接受最终用户数字证书的申请-证书的审批
3、 想申请者颁发、拒绝颁发数字证书-证书的发放。
4、 接受、处理最终用户的数字证书更新请求-证书的更新
5、 接受最终用户数字证书的车讯、撤销
6、 产生和发布证书废纸列表(CRL)
7、 数字证书的归档
8、 密钥归档
9、 历史数据归档。
CA框架模型
1、 安全服务器:
安全服务器面向普通用户,用户提供在:
1、 证书申请
2、 浏览
3、 证书撤销列表
4、 证书下载等安全服务
安全服务器与用户的的通信采取安全信道方式(如SSL的方式,不需要对用户进行身份认证)。用户首先得到安全服务器的证书(该证书由CA颁发),然后用户与服务器之间的所有通信,包括用户填写的申请信息以及浏览器生成的公钥均以安全服务器的密钥进行加密传输,只有安全服务器利用自己的私钥解密才能得到明文,这样可以防止其他人通过窃听得到明文。从而保证了证书申请和传输过程中的信息安全性。
2. CA服务器
CA服务器是整个证书机构的核心,负责:
1) 证书的签发
1.1) 产生自身的私钥和公钥(密钥长度至少为1024位)
1.2) 然后生成根数字证书,并且将数字证书传输给安全服务器
2) CA还负责为操作员、安全服务器以及注册机构服务器生成数字证书。安全服务器的数字证书和私钥也需要传输给安全服务器
CA服务器是整个结构中最为重要的部分,存有CA的私钥以及发行证书的脚本文件,出于安全的考虑,应将CA服务器与其他服务器隔离,任何通信采用人工干预的方式,确保认证中心的安全。
3. 注册机构RA
登记中心服务器面向登记中心操作员,在CA体系结构中起承上启下的作用
1) 一方面向CA转发安全服务器传输过来的证书申请请求
2) 另一方面向LDAP服务器和安全服务器转发CA颁发的数字证书和证书撤消列表。
4. LDAP服务器
LDAP服务器提供目录浏览服务,负责将注册机构服务器传输过来的用户信息以及数字证书加入到服务器上。这样其他用户通过访问LDAP服务器就能够得到其他用户的数字证书。
5. 数据库服务器:数据库服务器是认证机构中的核心部分,用于:
1) 认证机构中数据(如密钥和用户信息等)
2) 日志合统计信息的存储和管理
实际的的数据库系统应采用多种措施,如磁盘阵列、双机备份和多处理器等方式,以维护数据库系统的安全性、稳定性、可伸缩性和高性能。
三、SSL协议
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
SSL 提供握手协商和保护功能,以确保大多数协议之间能够建立安全连接。SSL 实现负责管理 X.509 证书。
X.509: 定义了证书的结构以及认证协议标准
1、版本号
X.509标准的格式版本
2、序列号
序列号指由CA分配给证书的唯一“数字标识符”。当证书被取消时,实际上是将证书的序列号放入油CA签发的CRL中,这也是
序列号唯一的原因
3、签名算法标识符
签名算法标识用来指定CA签发证书时所使用的“签名算法”。算法标识符用来指定CA签发证书时所使用的:
公开密钥算法
hash算法
4、签发机构名
此域用来标识签发证书的CA的X.500 DN(DN-distinguished Name)名字。包括:
1、 国家(C)
2、 省市(ST)
3、 地区(L)
4、 组织机构(O)
5、 单位部门(OU)
6、 通用名(CN)
7、 邮箱地址
5、有效期
指定证书的有效期,包括:
证书开始生效的日期时间
证书失效的日期时间
每次使用证书时,需要检查证书是否在有效期内。
6、 证书用户名
指定证书只有这的x.500唯一名字。包括:
1) 国家(C)
2) 省市(ST)
3) 地区(L)
4) 组织机构(O)
5) 单位部门(OU)
6) 通用名(CN)
7) 邮箱地址
7. 证书持有者公开密钥信息(subject PublicKey Info)
证书持有者公开密钥信息域包含两个重要信息:
证书持有者的公开密钥的值
公开密钥使用的算法标识符。此标识符包含公开密钥算法和hash算法。
8. 扩展项(extension)
X.509 V3证书是在v2的基础上一标准形式或普通形式增加了扩展项,以使证书能够附带额外信息。标准扩展是指由X.509 V3版本
定义的对V2版本增加的具有广泛应用前景的扩展项,任何人都可以向一些权威机构,如ISO,来注册一些其他扩展,如果这些扩展项应
用广泛,也许以后会成为标准扩展项。
9. 签发者唯一标识符(Issuer Unique Identifier)
签发者唯一标识符在第2版加入证书定义中。此域用在当同一个X.500名字用于多个认证机构时,用一比特字符串来唯一标识签发
者的X.500名字。可选。
10. 证书持有者唯一标识符(Subject Unique Identifier)
持有证书者唯一标识符在第2版的标准中加入X.509证书定义。此域用在当同一个X.500名字用于多个证书持有者时,用一比特字符
串来唯一标识证书持有者的X.500名字。可选。
11. 签名算法(Signature Algorithm)
证书签发机构对证书上述内容的签名算法
example: sha1WithRSAEncryption
12. 签名值(Issuer's Signature)
证书签发机构对证书上述内容的签名值
证书废除列表CRL
证书废除列表CRL(Certificate revocation lists)为应用程序和其它系统提供了一种检验证书有效性的方式。任何一个证书废除以后,证书机构CA会通过发布CRL的方式来通知各个相关方
1. CRL的版本号
1) 0: 表示X.509 V1 标准
2) 1: 表示X.509 V2 标准
3) 2: 表示X.509 V3标准
目前常用的是V3标准
2. 签名算法:包含:
1) 算法标识
2) 算法参数
用于指定证书签发机构用来对CRL内容进行签名的算法。
3. 证书签发机构名:签发机构的DN名,由
1) 国家(C)
2) 省市(ST)
3) 地区(L)
4) 组织机构(O)
5) 单位部门(OU)
6) 通用名(CN)
7) 邮箱地址
4. 此次签发时间
此次CRL签发时间,遵循ITU-T X.509 V2标准的CA在2049年之前把这个域编码为UTCTime类型,在2050或2050 年之后年之
前把这个域编码为GeneralizedTime类型。
5. 下次签发时间
下次CRL签发时间,遵循ITU-T X.509 V2标准的CA在2049年之前把这个域编码为UTCTime类型,在2050或2050年之后年之前
把这个域编码为GeneralizedTime类型。
6. 用户公钥信息,其中包括:
1) 废除的证书序列号: 要废除的由同一个CA签发的证书的一个唯一标识号,同一机构签发的证书不会有相同的序列号
2) 证书废除时间
7. 签名算法:对CRL内容进行签名的签名算法。
8. 签名值:证书签发机构对CRL内容的签名值。
http://www.cnblogs.com/LittleHann/p/3738141.html 以上文中描述皆来自此博文