第十讲 PKI/CA

PKI/CA的概念

  • PKI定义:它是利用公开密钥技术所构建的,解决网络安全问题的,普遍适用的一种基础设施。能够为所有网络应用提供密码服务所需要的证书管理。广义:PKI为全面解决安全问题的基础结构。
  • PKI( Public Key Infrastructure )指的是公钥基础设施CA ( Certificate Authority )指的是认证中心。PKI从技术上解决了网络通信安全的种种障碍。 CA 从运营、管理、规范、法律、人员等多个角度来解决了网络信任问题。由此,人们统称为“ PKI/CA ”。从总体构架来看, PKI/CA 主要由最终用户、认证中心和注册机构来组成。

数字证书、目录服务和信任模型

数字证书

什么是数字证书

  • 数字证书(Digital ID),又叫“数字身份证”、“网络身份证”,是由认证中心发放并经认证中心数字签名的,包含公开密钥拥有者以及公开密钥相关信息的一种电子文件,可以用来zhengm数字证书持有者的真实身份。
  • 数字证书采用公钥体制。
  • 数字证书的格式一般采用X.509国际标准

X.509数字证书

X.509是X.500标准系列的一部分,在PKI的发展中,X.509起到了无可比拟的作用。
X.509定义并标准化了一个通用的、灵活的证书格式。
X.509的实用性来源于它为X.509 v3和X.509 v2 CRL定义的强有力的扩展机制。
image

证书验证

  • 当证书持有者A想与证书持有者B通信时,他首先查找数据库并得到一个从证书持有者A到证书持有者B的证书路径和证书持有者B的公钥。这时证书持有者A可使用单向或双向验证证书。
  • 单向验证是从证书持有者A到证书持有者B的单向通信。
  • 双向验证与单向验证类似,但它增加了来自证书持有者B的应答。
  • 证书链的验证示例
    image
  • 证书有效性或可用性验证

数字证书生命周期

  • 初始化阶段:终端实体注册、密钥对产生、证书创建和证书分发、证书备份
  • 颁发阶段:证书检索、证书验证、证书恢复、证书更新
  • 撤销阶段:证书过期、证书恢复、证书撤销、证书档案
    image

数字证书的使用

  • 每一个用户有一个各不相同的名称,一个可信的认证中心CA给每个用户分配一个唯一的名称并签发一个包含用户名称和公钥的证书。
  • 证书可以存储在数据库中。用户可以利用网络彼此交换证书。当证书撤销后,它将从证书目录中删除,然而签发此证书的CA仍保留此证书的副本,以备日后解决可能引起的纠纷。

数字证书的存储

  • 数字证书可以存放在计算机硬盘、软盘、IC卡或CPU卡中。
  • 数字证书在计算机硬盘中存放时,使用方便,但存放证书的计算机必须受到安全保护。
  • 软盘保存证书,被窃取的可能性有所降低,但软盘容易损坏,易于导致用户数字证书的不可用。
  • 使用IC卡存放证书成本较低,且本身不易被损坏,安全强度较高,成为目前较为广泛的一种数字证书存储方式。
  • 使用CPU卡存放证书时,安全级别最高,但相对来说,成本较高。

数字证书的撤销

  • 证书撤销原因:当证书还没过期时却无效的时候,需要撤销证书。
  • 证书撤销列表(CRL):所有被撤销的但还没过期的证书序列号列表。
  • CRL由CA整理并签发
  • CRL需周期性更新。必须在公布的目录中是可用的,以备用户使用。
  • 增量CRL:为了防止频繁地更新CRL的一种机制。增量CRL包含了CRL的更新部分,从最近的前一版本CRL或者增量CRL算起撤销的那部分。例如,CRL可能一个月颁发一次,而增量CRL是24小时颁布一次

目录服务

  • 目录是网络系统中各种资源的清单,保存了网络中用户、服务器、客户机、交换机、打印机等资源的详细信息,同时还收集了这些资源之间各种复杂的相互关联关系
  • 证书和证书吊销列表(CRL)的存储(主要针对X.509格式来说) 是X.500和目录服务标准的主题。

X.500目录服务

  • X.500目录服务是一个高度复杂的信息存储机制,包括客户机-目录服务器访问协议、服务器-服务器通信协议、完全或部分的目录数据复制、服务器链对查询的响应、复杂搜寻的过滤功能等。

LDAP目录服务

  • LDAP是X.500的简化实现
  • LDAP目录的条目(entry)由属性(attribute)的一个集合组成,并由一个唯一性的名字引用,即专有名称(distinguished name,DN)。

信任模型

  • 通常证书并不由一个CA直接签发,而是从被信任的CA到一个给定的证书有一个证书路径。例如:
    根CA的证书\(C_0\)(由根CA签发):根CA是被信任的
    \(A_1\)的证书\(C_1\)(由根CA签发)
    \(A_2\)的证书\(C_2\)(由\(A_1\)签发)

    \(A_{n-1}\)的证书\(C_{n-1}\)(由\(A_{n-2}\)签发)
    \(A_n\)的证书\(C_n\)(由\(A_{n-1}\)签发)
  • 通过依此验证证书\(C_1,C_2,…,C_n\)来验证\(C_n\)是可信的,即证书链
  • 信任模型规定了证书链应该如何构造的规则。
  • 信任模型类型:严格层次模型、网络化模型、用户为中心的模型(即PGP信任模型)

严格层次模型

  • 在严格层次模型中,根CA有个自签名的,自颁发的证书。根CA被称为信任锚。
  • 根CA可给下级CA颁发证书,而任何CA可以给终端用户颁发证书。
  • 证书链:从根CA开始,到需验证的用户证书,这条路径上的所有证书依次构成证书链。
    image
  • 根CA的作用:
    – 发布本PKI信任域的认证策略;
    – 发布自身证书;
    – 签发和管理下层CA证书;
    – 对下层CA进行身份认证和鉴别;
    – 废除所签发的证书;
    – 为所签发的证书产生CRL;
    – 发布所签发的证书和CRL;
    – 保存证书、CRL以及审计信息;
    – 密钥安全生成及管理;
    – 实现交叉认证。
  • 下层CA的作用:
    – 发布本地CA对根CA政策的增补部分;
    – 对下属机构进行认证和鉴别;
    – 产生和管理下属机构的证书;
    – 发布自身证书;
    – 证实RA的证书申请请求;
    – 向RA返回证书制作的确认信息或已制定好的证书;
    – 接收和认证对它所签发的证书的作废申请请求;
    – 为它所签发的证书产生CRL;
    – 保存证书、CRL、审计信息和它所签发的政策;
    – 发布它所签发的证书和CRL;
    – 密钥安全生成及管理;
    – 实现交叉认证。

网络化模型

  • 网络化模型用来连接两个不同的PKI域的根CA,这样属于不同PKI域的用户证书可以相互认证。
  • 网络化模型中不同PKI域的信任模型不一定相同。
  • 交叉认证:不同域的CA相互颁发证书
    image
  • 不同PKI域的CA交叉认证方法:网状认证、“桥-代理”认证
  • 如何构造证书路径:Alice为了验证Bob的证书,那么Alice需要找到从Alice的信任锚到Bob的信任路径
    image

用户为中心的模型

  • 每个用户自己决定信任其他哪些用户。
  • 用户的最初信任对象包括用户的朋友/家人/同事,但是否真正信任某证书则被许多因素所左右。
  • PGP的一个用户通过担当CA(签发其他实体的公钥)来发布其他实体的公钥来建立信任网(Web of Trust)。
    image

PKI/CA的体系结构

PKI及其组成

  • PKI是生成、管理、存储、分发和撤销基于公钥密码学的公钥证书所需要的硬件、软件、人员、策略和规程的总和。
  • PKI的构建、PKI的安全策略
    image

认证中心CA

  • CA的网络结构
    image
  • CA是可信的第三方

主要功能

  • 证书申请,接收并验证最终用户数字证书的申请;
  • 证书审批,确定是否接受最终用户数字证书的申请;
  • 证书签发,向申请者颁发、拒绝颁发数字证书;
  • 证书更新,接收、处理最终用户的数字证书更新请求
  • 接收最终用户数字证书的查询、撤销;
  • 产生和发布证书废止列表(CRL),验证证书状态;
  • 提供OCSP在线证书查询服务,验证证书状态;
  • 提供目录服务,可以查询用户证书的相关信息;
  • 下级认证机构证书及帐户管理;

注册机构RA

  • 自身密钥的管理,包括密钥的更新、保存、使用、销毁等;
  • 审核用户信息;
  • 登记黑名单;
  • 业务受理点LRA的全面管理;
  • 接收并处理来自受理点的各种请求。

业务受理点LRA

  • 受理用户的证书申请及废除请求;
  • 录入用户的证书申请及废除请求;
  • 审核用户的证书申请及废除请求资料;
  • 对用户的证书申请及废除请求进行批准或否决;
  • 提供证书制作。
    image

CP与CPS

  • CP(Certificate Policy):定义了一个用户对其它用户数字证书信任的程度
  • CPS(Certification Practice Statement):人们与组织根据CA的CPS来确定他们对该CA的信任程度

PKI/CA的自建模型和托管模型

构建PKI的两种模式:

  • 典型的自建系统
    image
  • 典型的托管系统
    image

PKI/CA的典型应用

Web安全服务(SSL/TLS)

  • SSL:由Netscape公司研究制定,该协议向基于TCP/IP的客户及服务器应用程序提供了客户端和服务器的鉴别、信息机密性及完整性等安全措施。
  • SSL主要提供三方面的服务:
    – 认证用户和服务器
    – 加密数据以隐藏被传送的数据
    – 维护数据的完整性
  • SSL/TLS在源和目的实体间建立了一条安全通道(在传输层之上),提供基于证书的认证、信息完整性和数据保密性
  • SSL体系结构:SSL协议栈
    image

image

其实就是比较常见的HTTPS。

安全电子邮件(S/MIME)

在安全的电子邮件系统中,收发双方都有双方的数字证书。发送方是在电子邮件的附件中增加发信者的数字签字,同时也可将邮件内容用对方的公钥加密。用户在收到电子邮件后,电子邮件系统对加密的邮件会自动解密,同时自动验证该邮件的数字签字并将结果通知用户,从而大大地提高了电子邮件的保密性和可信性。
image

安全电子交易(SET)

  • SET是开放的、设计用来保护Internet上信用卡交易的加密和安全规范
  • 从本质上,SET提供了三种服务:
    – 在交易涉及的各方之间提供安全的通信信道
    – 通过使用X.509 v3数字证书来提供信任。
    – 保证机密性,因为信息只是在必要的时候、必要的地方才对交易各方可用
  • 交易过程:购买请求、支付认可和支付获取

SET的主要特征

  • 信息的机密性
    – 对持卡人的帐户信息和订购信息进行加密,通常用DES加密
  • 数据的完整性
    – 采用SHA-1哈希编码及RSA数字签名
    – 采用SHA-1的HMAC保护
  • 持卡人的帐户认证
    – 采用RSA数字签名的X.509v3证书
  • 商家认证
    – 采用RSA数字签名的X.509v3证书
    image

VPN

  • VPN是一种架构在公用通信基础设施上的专用数据通信网络,利用IPSec等网络层安全协议和建立在PKI上的加密与签名技术来获得私有性。

实现VPN的关键技术

  • 隧道化协议
    隧道技术是将分组封装(Capsule)的技术,它是VPN实现以内部网地址通信与多协议通信的重要功能,PPTP、L2TP、IPSec、GRE和GTP被广泛采用。
  • 认证协议
    在远程访问VPN中,使用了用户名及口令,它们被用来判断用户名是否有权访问。PPP采用了PAP(Password Authentication Protocol)及CHAP(Challenge Handshake Authentication Protocol)等规程进行认证。PPTP及L2TP等隧道协议采用这种PPP的认证协议。
  • 加密技术
    IPSec ESP(Encapsulating Secutity Payload:封装安全有效负载)。

IPSec

  • IP层的安全包括了3个功能域:鉴别、机密性和密钥管理
  • IPSec的重要概念:鉴别报头(AH), 封装安全有效负载(ESP), 传输模式, 隧道模式, 安全关联(SA), 安全关联组(SA Bundle), ISAKMP
posted @ 2021-12-06 11:42  Weisswire  阅读(2253)  评论(0编辑  收藏  举报