【网络信息安全】PKI 技术
PKI 技术
- 主要内容
- 9.1 理论基础
- 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认证与数字证书
数字证书的创建和使用
- 要发布自己公钥的用户 A 申请证书,CA 核实身份后颁发证书(CA的主要职责):
- 其他用户 B 得到 CA,并用已得到的 CA 的真实公钥 PUCA 验证该证书是真实的:
就可以得到A的真实公钥 PUA。
数字证书的作用和特点
- 用户得到 CA 公钥真实 => 信任 CA 所颁发证书中其他用户公钥真实 => 证书拥有者向其他用户证明自己身份及与公钥的匹配关系
数字证书特点:
- 任何有 CA 公钥的用户都可恢复被 CA 认证的其他用户公钥;
- 证书的完整性由 CA 的数字签名来保证,除了 CA 外无人能不被察觉地篡改该证书。
X.509 数字证书各部分的含义
证书格式采用 X.509 v3 标准:IPSec、SSL、SET
X.509 数字证书的格式
9.1.2 信任关系与信任模型
用户必须完全相信 CA 是公正和正确的;
一个被用户信任的实体可向用户推荐他所信任实体,而这个实体又可推荐其他实体 ===> 信任路径
X.509 中的“信任”:当实体 A 假定实体 B 严格地按 A 所期望的那样行动,则 A 信任 B。
PKI 中的“信任”:如果用户假定 CA 可以将任一公钥准确绑定到某个实体上,则他信任该 CA。
(1)认证机构的严格层次结构模型
建立信任模型的目的:确保一个 CA 签发的证书能够被另一个 CA 的用户所信任。
严格层次结构模型是一棵倒置的树:
- “树根”代表对所有实体有特别意义的 CA —— 根 CA,是信任的根或“信任锚” —— 认证起点/终点。
CA 的严格层次结构模型图:
唯一都需要与所有实体建立信任的是 根CA,即每个 中介CA 和 终端实体 都必须拥有 根CA 的公钥 —— 它的安装通过安全的带外方式。
(2)分布式信任结构模型
把信任分散在两个或多个 CA 上:
整个分布式结构的 CA 必须是整个 PKI 系统的一个子集所构成的严格层次结构的 根CA。
分布式信任结构模型图:
(3)Web 模型
★ Web模型依赖于流行的浏览器
浏览器厂商起到信任锚的作用,预装公钥的 CA 就是它所认证的 CA —— 有隐含根的严格层次结构。
Web 模型图:
安全问题:
- 预装公钥的 CA 是“坏的”,不能保证服务器公钥的真实性。
- 没有实用机制来自动即时撤消嵌入到浏览器中的 CA公钥。
- 终端用户与嵌入的 根CA 之间交互十分有限。
(4)以用户为中心的信任模型
每个用户自己决定信任其他哪些用户。
用户的最初信任对象包括用户的朋友/家人/同事,但是否真正信任某证书则被许多因素所左右。
PGP 的一个用户通过担当 CA(签发其他实体的公钥)来发布其他实体的公钥——建立信任网(Web of Trust)。
在技术水平较高和利害关系一致的群体中可行。
以用户为中心的信任模型图:
(5)交叉认证
建立多个独立运行 PKI 域为不同环境用户团体服务。
每个 CA 只覆盖一定范围,隶属于不同 CA 的用户要交换信息——引入交叉证书和交叉认证。
交叉认证 —— 在以前无关联的 PKI 域的 CA 之间建立信任关系,双方 CA 先要安全地交换公钥信息。
- 一个 CA 的用户信任所有与自己 CA 有交叉认证的其他 CA 的用户。
在 CA1 和 CA2 之间交叉认证的例子:
假设 Alice 有 CA1 公钥,Bob 有 CA2 公钥,交叉认证后,Alice 的信任能扩展到 CA2 的主体群(包括 Bob),反之亦然。
9.2 PKI的组成
9.2.1 认证机构
CA的职责:
- 验证并标识证书申请者的身份。
- 确保CA用于签名证书的私钥的质量。
- 确保整个签名过程的安全性,确保CA签名私钥的安全性。
- 证书信息(包括公钥证书序列号、CA标识等)的管理。
- 确定并检查证书的有效期限。
- 确保证书主体标识的唯一性,防止重名。
- 发布并维护作废证书列表(CRL)。
- 对整个证书签发过程做日志记录。
CA 密钥对的生成和管理
- 选择较长密钥对:最好是2048位。
- 使用硬件加密模块:软件加密要将密钥读入内存而会被陷阱程序窃取,而硬件加密模块会感应到这一情况而将密钥销毁。
- 使用专用硬件产生密钥对:优质的随机数产生器可以连续产生无任何相似部分的多个密钥对。
- 秘密分享原则:管理员合作才能完成证书签发和备份密钥恢复工作。
发布并维护作废证书列表 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 是创建、管理、存储、分发和作废证书的软件、硬件、人员、策略和过程的集合,主要功能为:
- 为需要的用户生成一对密钥;
- CA为用户签发数字证书并分发给需要的用户;
- 用户对数字证书的有效性进行验证;
- 对用户的数字证书进行管理。
PKI 认证体系的基本模型:
9.3.1 密钥和证书管理
(1)初始化阶段
1)终端实体注册
- 是单个用户或进程的身份被建立和验证的过程。
- 是在线执行的,用注册表格的交换来实现。
- 注册中心 RA 是证书注册审批机构,与 CA 逻辑上是一个整体,可单独也可合并在 CA 中实现。
- 只有 CA 而非 RA 有权颁发证书和撤消证书。
终端实体初始化方案:
2)密钥对产生
终端实体(用户)的密钥对有两种产生方式:
双密钥对模型中密钥管理的区别:
3)证书创建 和 4)证书分发
- 只能由CA创建,所有要与该用户进行安全通信的其他用户都会向CA请求该用户的证书。
- 最成熟的证书分发——证书使用者查询网上的证书库,以得到其他用户的证书。
- 与该用户通信的对方必须容易获得该用户的:
- 用于机密性的证书
- 用于数字签名的证书。
5)密钥备份和托管 和 6)密钥存储
- 忘记保护解密私钥的口令、磁盘被破坏或雇员被解雇等造成无法访问解密私钥 —— 密钥备份。
- 若注册时声明密钥对用于加/解密,那么 CA 可对该用户的解密私钥进行备份。
- 密钥托管 —— 用户把自己的解密私钥交由第三方保管,允许他解密有关密文。
- 由政府担任可信第三方的被托管密钥是 GAK(政府访问密钥)。
- 使用 PKCS#12 作为用户私钥和证书的封装形式。
(2)颁布阶段
1)证书检索
有两种不同的情况需要检索一个终端实体证书:
- 数据加密发给其他实体的需求(保证机密性);
- 验证从另一个实体收到的数字签名的需求(实现对数字签名的验证)。
2)证书验证
3)密钥恢复 和 4)密钥更新
- 密钥恢复——解密私钥已被破坏但没被泄露时, 从备份(用户的密钥历史)中重新得到该密钥。
- 密钥管理生命周期包括从远程备份设施(如密钥恢复中心或CA)自动化地恢复解密私钥的能力。
- 密钥更新——证书“接近”过期或私钥泄露时,必须自动化地颁发一个新的公/私钥对和相关证书。
(3)取消阶段
1)证书过期
证书的有效期结束后将会过期,该终端实体可能做如下三件事之一:
- 证书恢复:相同的公钥被加入具有新有效期的新证书(密钥对和证书仍然可靠);
- 证书更新:产生新的公/私钥对并颁发新的证书;
- 没有活动:不再参加 PKI。
2)证书撤消
证书自然过期之前对证书的即时取消,警告其他用户不要再使用这个公钥。
撤销原因:
- 雇佣终止
- CA 签名私钥的泄露
- 用户的身份改变
- 遗失保护签名私钥的口令
- 用户私钥被盗
证书撤消实例方案:
3)密钥销毁
销毁密钥的原因:
- 密钥使用时间越长泄露机会越大;
- 如果密钥已泄露,那么密钥使用越久损失越大;
- 破译者愿意花费更多精力破译使用久的密钥。
密钥的所有拷贝都被销毁,重新生成该密钥的全部信息也被删除时,该密钥的生命周期才终止。
4)密钥历史 和 5)密钥档案
- 密钥历史 —— 保证机密性的加密公钥总要过期,因此用户必须安全可靠地存储相应的解密私钥。
- 密钥档案 —— 用户应该可靠地保存已经过期的用于验证他人数字签名的该用户公钥,以便再次对他人的数字签名进行验证,主要用于审计和出现交易争端时。
9.3.2 对 PKI 的性能要求
- 透明性和易用性——向用户屏蔽复杂的安全解决方案,对用户简单易用
- 可扩展性——证书库和CRL必须具有良好的可扩展性
- 互操作性——必须建立在标准之上
- 支持多应用——面向广泛的网络应用
- 支持多平台
9.4 PKI 的优缺点
PKI 的优点:
- 能提供 Kerberos 不能提供的服务 —— 不可否认性。
- 相对 Kerberos 来说,PKI 从开始设计就是一个容易管理和使用的体制。
- 提供所有的密钥管理功能,远超过 Kerberos 和其他解决方案。
- 利用证书库进行数字证书的安全发布,CA 和证书库都不会像 KDC 那样形成瓶颈。
PKI 的缺点:
- PKI 是一个正在发展的标准,而它的实现需要一套完整的标准。
- 实现 PKI 可能太昂贵,如果实现 PKI 失败,最主要的原因是代价高昂。
- 在 PKI 中,每个人都必须看管好自己的私钥,这也不是一个简单的工作。
【网络信息安全】PKI 技术相关推荐
- 计算机网络技术与网络信息安全,计算机网络技术与网络安全精讲.ppt
计算机网络技术与网络安全;信息时代;IT信息技术;信息化;信息技术;计算机与网络技术基础;培训内容;信号数据传输网络及网络安全;培训内容;内容;第一章 绪论;第1章 计算机基础知识;第1章 计算机基础 ...
- 大数据背景下网络信息安全分析探讨
大数据背景下网络信息安全分析探讨 刘松溢 (华北理工大学 河北省唐山市曹妃甸区华北理工大学063210) 摘要:在经济快速发展的今天,大数据技术已被广泛地运用于社会生活中,这些技术的应用给人类的生产和 ...
- NSACE|如何正确地维护企业的网络信息安全?
随着计算机技术和通信技术的发展,计算机网络将日益成为重要信息交换手段,渗透到社会生活的各个领域.因此,我们要认清网络的脆弱性和潜在威胁以及现实客观存在的各种安全问题隐患,并进行专业正确的企业网络信息安 ...
- 【第11章】网络物理隔离技术原理与应用 (信息安全工程师 -- 软考笔记)
第11章 网络物理隔离技术原理与应用 11.1 网络物理隔离概述 11.1.1 网络物理隔离概念 既能满足内外网信息及数据交换需求,又能防止网络安全事件出现的安全技术称为"物理隔离技术&qu ...
- 文献笔记02 网络入侵检测技术综述(信息安全学报)
文章目录 网络入侵检测技术综述 大纲 一.入侵检测系统分类 1.基于数据来源划分 2.基于检测技术划分 二.基于传统机器学习的入侵检测 1.入侵数据处理 2.监督机器学习技术 3.无监督机器学习技术 ...
- 公钥基础设施 PKI 技术与应用发展
公钥基础设施 PKI 技术与应用发展 一.概述 PKI是"Public Key Infrastructure"的缩写,意为"公钥基础设施".简单地说,PKI技术 ...
- 网络信息安全的重要性
一.信息安全技术概论 1.网络安全的重要作用 在互联网普及的初期,人们更关注单纯的连接性,以不受任何限制地建立互联网为最终目的.正如事情都具有两面性,互联网的便捷性给人们带来了负面问题,计算机病毒的侵 ...
- 网络信息安全——网络阶段笔记总结--jf
网络信息安全--网络阶段笔记总结 基础知识: OSI七层模型: 应用层-表示层-会话层-传输层-网络层数据链路层-物理层 tcp/ip四层模型:应用层-传输层-网络层-网络接口层 tcp/ip五层模型 ...
- 【期末复习】带着问题看网络信息安全
网络信息安全需求包含哪六个基本方面?分别简单说明它们的含义. 机密性:防止未授权用户非法获得保密信息. 完整性:在未经许可的情况下,保证数据不会被他人删除或修改(至少能发现被修改过). 身份认证:用户 ...
最新文章
- 统一建模语言UML轻松入门系列
- Redis详解——常用命令总结(完善中)
- mysql info commit_mysql show processlist 发现大量的commit
- 不继承父类的某个属性_javascript中class的继承的基础用法
- 4.4.4 无锁的对象引用:AtomicReference和AtomicStampedReference
- 白话关于API与SDK的区别
- android studio for android learning (十) android之activity的启动和关闭
- Oracle 数据库常用操作总结二之数据库的导入和导出
- 微信小程序实现随机抽签功能
- 移动web前端开发注意事项
- PHP实现地址自动识别的功能实例
- sh报错segmentation fault
- html中去除浮漂有什么作用,浮漂的1、2、3号都有什么作用?
- JAVA代码实现扫码购带圆图二维码生成
- C语言程序设计第4堂作业
- mysql使用SUM求和精度丢失
- 熊市赚取被动收入:质押NFT带来高达30%收益回报!
- 为什么可见光是“可见”光?
- 华硕主板开机启动项调整的三种方法
- 第十二章 Openwrt无法识别2.0 USB 盘