【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云

    • 9.1.1 CA认证与数字证书
    • 数字证书的创建和使用
  • 数字证书的作用和特点

  • X.509 数字证书各部分的含义

  • X.509 数字证书的格式

  • 9.1.2 信任关系与信任模型

    • (1)认证机构的严格层次结构模型
  • (2)分布式信任结构模型

  • (3)Web 模型

  • (4)以用户为中心的信任模型

  • (5)交叉认证

  • 9.2 PKI的组成

    • 9.2.1 认证机构
    • CA 密钥对的生成和管理
  • 发布并维护作废证书列表 CRL

  • 9.2.2 证书库

    • 9.2.3 PKI 应用接口系统
  • 9.3 PKI 的功能和要求

    • 9.3.1 密钥和证书管理
    • (1)初始化阶段
    • 1)终端实体注册
  • 2)密钥对产生

  • 3)证书创建 和 4)证书分发

  • 5)密钥备份和托管 和 6)密钥存储

  • (2)颁布阶段

    • 1)证书检索
  • 2)证书验证

  • 3)密钥恢复 和 4)密钥更新

  • (3)取消阶段

    • 1)证书过期
  • 2)证书撤消

  • 3)密钥销毁

  • 4)密钥历史 和 5)密钥档案

  • 9.3.2 对 PKI 的性能要求

  • 9.4 PKI 的优缺点

主要内容

=======================================================================

9.1 理论基础

  • 9.1.1 CA认证与数字证书

  • 9.1.2 信任关系与信任模型

9.2 PKI 的组成

  • 9.2.1认证机构、

  • 9.2.2 证书库

  • 9.2.3 PKI 应用接口系统

9.3 PKI 的功能和要求

  • 9.3.1 密钥和证书管理

  • 9.3.2 对 PKI 的性能要求

9.4 PKI 的优缺点

9.1 理论基础

===========================================================================

PKI(Public Key Infrastructure,公钥基础设施)是以数字证书为基础,利用公钥理论和技术建立的提供信息安全服务的基础设施。

9.1.1 CA认证与数字证书


【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云_第1张图片

数字证书的创建和使用

  1. 要发布自己公钥的用户 A 申请证书,CA 核实身份后颁发证书(CA的主要职责):

在这里插入图片描述

  1. 其他用户 B 得到 CA,并用已得到的 CA 的真实公钥 PUCA 验证该证书是真实的:

在这里插入图片描述

就可以得到A的真实公钥 PUA。

数字证书的作用和特点

  • 用户得到 CA 公钥真实 => 信任 CA 所颁发证书中其他用户公钥真实 => 证书拥有者向其他用户证明自己身份及与公钥的匹配关系

数字证书特点

  1. 任何有 CA 公钥的用户都可恢复被 CA 认证的其他用户公钥;

  2. 证书的完整性由 CA 的数字签名来保证,除了 CA 外无人能不被察觉地篡改该证书。

X.509 数字证书各部分的含义

证书格式采用 X.509 v3 标准:IPSec、SSL、SET

【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云_第2张图片

X.509 数字证书的格式

【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云_第3张图片

9.1.2 信任关系与信任模型


用户必须完全相信 CA 是公正和正确的;

一个被用户信任的实体可向用户推荐他所信任实体,而这个实体又可推荐其他实体 ===> 信任路径

X.509 中的“信任”:当实体 A 假定实体 B 严格地按 A 所期望的那样行动,则 A 信任 B。

PKI 中的“信任”:如果用户假定 CA 可以将任一公钥准确绑定到某个实体上,则他信任该 CA。

(1)认证机构的严格层次结构模型

建立信任模型的目的:确保一个 CA 签发的证书能够被另一个 CA 的用户所信任。

严格层次结构模型是一棵倒置的树:

  • “树根”代表对所有实体有特别意义的 CA —— 根 CA,是信任的根或“信任锚” —— 认证起点/终点。

CA 的严格层次结构模型图

【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云_第4张图片

唯一都需要与所有实体建立信任的是 根CA,即每个 中介CA 和 终端实体 都必须拥有 根CA 的公钥 —— 它的安装通过安全的带外方式。

(2)分布式信任结构模型

把信任分散在两个或多个 CA 上:

在这里插入图片描述

整个分布式结构的 CA 必须是整个 PKI 系统的一个子集所构成的严格层次结构的 根CA。

分布式信任结构模型图

【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云_第5张图片

(3)Web 模型

★ Web模型依赖于流行的浏览器

【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云_第6张图片浏览器厂商起到信任锚的作用,预装公钥的 CA 就是它所认证的 CA —— 有隐含根的严格层次结构。

Web 模型图:

【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云_第7张图片

安全问题:

  • 预装公钥的 CA 是“坏的”,不能保证服务器公钥的真实性。

  • 没有实用机制来自动即时撤消嵌入到浏览器中的 CA公钥。

  • 终端用户与嵌入的 根CA 之间交互十分有限。

(4)以用户为中心的信任模型

每个用户自己决定信任其他哪些用户。

用户的最初信任对象包括用户的朋友/家人/同事,但是否真正信任某证书则被许多因素所左右。

PGP 的一个用户通过担当 CA(签发其他实体的公钥)来发布其他实体的公钥——建立信任网(Web of Trust)。

在技术水平较高和利害关系一致的群体中可行。

以用户为中心的信任模型图:

【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云_第8张图片

(5)交叉认证

建立多个独立运行 PKI 域为不同环境用户团体服务。

每个 CA 只覆盖一定范围,隶属于不同 CA 的用户要交换信息——引入交叉证书和交叉认证。

交叉认证 —— 在以前无关联的 PKI 域的 CA 之间建立信任关系,双方 CA 先要安全地交换公钥信息。

  • 一个 CA 的用户信任所有与自己 CA 有交叉认证的其他 CA 的用户。

在 CA1 和 CA2 之间交叉认证的例子:

【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云_第9张图片

假设 Alice 有 CA1 公钥,Bob 有 CA2 公钥,交叉认证后,Alice 的信任能扩展到 CA2 的主体群(包括 Bob),反之亦然。

9.2 PKI的组成

=============================================================================

9.2.1 认证机构


CA的职责:

  • 验证并标识证书申请者的身份。

  • 确保CA用于签名证书的私钥的质量。

  • 确保整个签名过程的安全性,确保CA签名私钥的安全性。

  • 证书信息(包括公钥证书序列号、CA标识等)的管理。

  • 确定并检查证书的有效期限。

  • 确保证书主体标识的唯一性,防止重名。

  • 发布并维护作废证书列表(CRL)。

  • 对整个证书签发过程做日志记录。

CA 密钥对的生成和管理

  1. 选择较长密钥对:最好是2048位。

  2. 使用硬件加密模块:软件加密要将密钥读入内存而会被陷阱程序窃取,而硬件加密模块会感应到这一情况而将密钥销毁。

  3. 使用专用硬件产生密钥对:优质的随机数产生器可以连续产生无任何相似部分的多个密钥对。

  4. 秘密分享原则:管理员合作才能完成证书签发和备份密钥恢复工作。

发布并维护作废证书列表 CRL

  • CRL:包含未到期但已撤消的证书列表的签名数据结构。

  • CRL 的完整性和可靠性由CA对它的数字签名保证。

  • CRL 被创建后可通过证书库和网络自由分发。

  • CA 定期(几个小时到几个星期)发布 CRL,CRL 之间的时间延迟是应用 CRL 的一个主要的缺陷。

9.2.2 证书库


  • 证书库是CA所签发的证书和CRL的集中存放地。

  • 系统必须确保证书库的完整性,防止伪造、篡改证书和 CRL。

  • 构造证书库的最佳方法是采用支持 LDAP 协议的目录系统。

  • LDAP 很好地解决了人们使用其他应用程序访问证书及 CRL 的问题。

9.2.3 PKI 应用接口系统

PKI 应用接口系统的功能:

  • 完成证书的验证工作,为所有应用以一致、可信的方式使用证书/CRL/密钥备份与恢复系统提供支持。

  • 确保用户的签名私钥始终只在用户本人的控制下。

  • 实现密钥更新的自动、透明与一致。

  • 向应用提供历史密钥的安全管理服务。

  • 为所有应用提供统一模式的交叉证书的验证支持。

  • 支持多种密钥存放介质,包括 IC卡、安全文件。

  • PKI 应用接口系统应该跨平台。

9.3 PKI 的功能和要求

=================================================================================

PKI 是创建、管理、存储、分发和作废证书的软件、硬件、人员、策略和过程的集合,主要功能为:

  1. 为需要的用户生成一对密钥;

  2. CA为用户签发数字证书并分发给需要的用户;

  3. 用户对数字证书的有效性进行验证;

  4. 对用户的数字证书进行管理。

PKI 认证体系的基本模型

![在这里插入图片描述](https://img-blog.csdnimg.cn/2020060423491150.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,te

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

xt_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_16,color_FFFFFF,t_70)

9.3.1 密钥和证书管理


(1)初始化阶段

1)终端实体注册

  • 是单个用户或进程的身份被建立和验证的过程。

  • 是在线执行的,用注册表格的交换来实现。

  • 注册中心 RA 是证书注册审批机构,与 CA 逻辑上是一个整体,可单独也可合并在 CA 中实现。

  • 只有 CA 而非 RA 有权颁发证书和撤消证书。

终端实体初始化方案:

【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云_第10张图片

2)密钥对产生

终端实体(用户)的密钥对有两种产生方式

【网络信息安全】PKI 技术,javaee企业级应用开发教程百度云_第11张图片

你可能感兴趣的:(程序员,面试,java,后端)