公钥技术
– 建立在非对称密码算法基础上
– 公钥和私钥对
– 服务:保密性、完整性、认证和抗抵赖
密钥对的用法
PKI之动机
PKI要解决的核心问题
公钥技术
– 如何提供数字签名功能
– 如何实现不可否认服务
– 公钥和身份如何建立联系
• 为什么要相信这是某个人的公钥
• 公钥的权限 – 公钥如何管理
• 方案:引入证书(certificate) – 通过证书把公钥和身份关联起来
ca私钥做签名,每个人都有ca的公钥,然后进行校验
ca证书颁布
pki定义:
– 用公钥原理和技术实施和提供安全服务的具有普适性 的安全基础设施
一个完整的PKI应该包括
– 证书授权中心(CA)
– 证书库
– 证书注销
– 密钥备份和恢复
– 自动密钥更新
– 密钥历史档案
– 交叉认证
– 支持不可否认
– 时间戳
– 客户端软件、
PKI中的证书
证书(certificate),有时候简称为cert
• 证书是一个机构颁发给一个安全主体的证 明,所以证书的权威性取决于该机构的权 威性
• 一个证书中,最重要的信息是主体名字、 主体的公钥、机构的签名、算法和用途
• 签名证书和加密证书分开
•PKI适用于异构环境中,所以证书的格式在 所使用的范围内必须统一
• 最常用的证书格式为X.509 v3
证书格式遵循 X.509国际标准
– 实际是X.500系列标准的一个
• 证书的内容还应表明证书的有效性:
• —证书没有过期 —密钥没有修改 —用户仍然有权使用这个密钥 —CA负责回收证书,发行无效证书清单
• 证书使用 证书帮助证实个人身份,你的证书和你的密钥就 是你是谁的证据
软硬件系统:支撑整个PKI信息系统允许的各种基础软硬件环境,如操作系统,网络环境。
PKI策略:PKI安全策略建立和定义了一个组织信息安全方面的指导方针,同时也定义了密码系统使用的处理方法和原则。它包括一个组织怎样密钥和有价值的信息,根据风险的级别定义安全控制的级别。
一般情况下:在PKI中有两种类型的策略:
一是证书策略,用于管理证书的使用,比如,可以确认某一CA是在Internet上的公有CA,还是某一企业内部的私有CA;
另外一个就是CPS(Certificate Practice Statement)。一些由商业证书发放机构(CCA)或者可信的第三方操作的PKI系统需要制定CPS。这是一个包含如何在实践中增强和支持安全策略的一些操作过程的详细文档。它包括CA是如何建立和运作的,证书是如何发行、接收和废除的,密钥是如何产生、注册的,以及密钥是如何存储的,用户是如何得到它的等等。
CA(Certificate Authority)
CA服务器职责:
接收证书签发的请求(由RA负责对用户的身份信息进行验证)
用自己的私钥签发证书
接收证书撤销请求
签发证书注销表
CA的功能主要有两个:
签发证书;
签发证书撤销列表。
注册机构RA 注册机构RA提供用户和CA之间的一个接口,在CA体系结构中起承上启下的作用,注册机构并不给用户签发证书,而只是,一方面,接受用户的注册申请,收集用户信息和确认用户身份,对用户进行资格审查,决定是否同意CA给其签发数字证书并向CA提出证书请求; 另一方面向LDAP服务器和安全服务器转发CA颁发的数字证书和证书撤销列表。 对于一个规模较小pki应用系统来说,可把注册管理的职能由认证中心CA来完成,而不设立独立运行的RA。
但这并不是取消了PKI的注册功能,而只是将其作为CA的一项功能而已。 PKI国际标准推荐由一个独立的RA来完成注册管理的任务,可以增强应用系统的安全。
CA服务器** CA服务器是整个证书机构的核心**,负责证书的签发。CA首先拥有自身的私钥和公钥,然后签发数字证书,并且将数字证书传输给安全服务器。 CA还负责为操作员、安全服务器以及注册机构服务器生成数字证书。CA服务器是整个结构中最为重要的部分,存有CA的私钥以及发行证书的脚本文件,出于安全的考虑,往往将CA服务器与其他服务器物理隔离,任何通信采用人工干预的方式;或者经由运行私有安全协议的安全服务器与外界通信,确保CA认证中心的安全。
LDAP服务器 LDAP服务器提供目录浏览服务,负责将注册机构服务器传输过来的用户信息以及数字证书加入到服务器上。这样其他用户通过访问LDAP服务器就能够得到其他用户的数字证书。 现在,目录浏览服务大多通过http协议实现。
数据库服务器 数据库服务器是认证机构中的核心部分,用于认证机构中数据(如密钥和用户信息等)、日志和统计信息的存储和管理。 实际的数据库系统应采用多种措施,如磁盘阵列、双机备份和多处理器等方式,以维护数据库系统的安全性、稳定性、可伸缩性和高性能。
CA系统基本组件
RA(Registration Authority)
把用户的身份和它的密钥绑定起来—建立信任关系
证书库/目录
保存证书,供公开访问
CA(Certificate Authority)
签发证书
签发证书撤销列表
证书的撤销机制
由于各种原因证书需要被撤销
比如,私钥泄露、密钥更换、用户变化
PKI中注销的方法
CA维护一个CRL(Certificate Revocation List)
PKI信任关系
层次结构的信任模型
交叉认证模型
网状信任模型
桥接信任模型
CA信任关系
• 当一个安全主体看到另一个安全主体出示的证书 时,他是否信任此证书?
– 信任难以度量,总是与风险联系在一起
• 可信CA – 如果一个主体假设CA能够建立并维持一个准确的“主 体-公钥属性”之间的绑定,则他可以信任该CA,该 CA为可信CA
• 信任模型
– 基于层次结构的信任模型
– 交叉认证
CA层次结构的建立
• 根CA具有一个自签名的证书
• 根CA依次对它下面的CA进行签名
• 层次结构中叶子节点上的CA用于对安全主体进行 签名
• 对于主体而言,它需要信任根CA, 中间的CA可 以不必关心(透明的);同时它的证书是由底层的 CA签发的
• 在CA的机构中,要维护这棵树
– 在每个节点CA上,需要保存两种cert
(1) Forward Certificates: 其他CA发给它的certs
(2) Reverse Certificates: 它发给其他CA的certs
CA层次结构验证过程
小结: 只要用户A从根CA开始拿到自签名证书,然后从根CA开始一级一级验证过来,每一级验证不能出错,到最后链条走通了,那么A可以信任CA2签发给D的证书,然后A可以拿到D的公开密钥
层次结构CA中证书的验证
假设主体A看到D的一个证书
• D的证书中含有签发该证书的CA的信息
• 沿着层次树往上找,可以构成一条证书链,直到 根证书
• 验证过程:
– 沿相反的方向,从根证书开始,依次往下验证每一个 证书中的签名。其中,根证书是自签名的,用它自己 的公钥进行验证
– 一直到验证D的证书中的签名 – 如果所有的签名验证都通过,则A可以确定所有的证书 都是正确的,如果他信任根CA,则他可以相信D的证 书和公钥
交叉认证
信任模型分类
层次结构的信任模型
交叉认证模型
网状信任模型(mesh):完全连接网状、不完全连接网状
混合信任模型:层次和交叉信任混合到一起使用
桥接信任模型桥CA(BCA)
不同于交叉认证结构的PKI, BCA 不直接向 用户发放证书;
• BCA 不作为一个可信任点供PKI中的用户使 用, 这一点也不同于层次结构中的根CA。
• BCA 与不同的用户群体建立对等的可信任 关系, 允许用户保持原有的可信任点。
• 这些关系被结合起来形成“信任桥” , 使得 来自不同用户群体的用户通过指定信任级 别的BCA 相互作用。