用户必须完全相信 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),反之亦然。
=============================================================================
CA的职责:
-
验证并标识证书申请者的身份。
-
确保CA用于签名证书的私钥的质量。
-
确保整个签名过程的安全性,确保CA签名私钥的安全性。
-
证书信息(包括公钥证书序列号、CA标识等)的管理。
-
确定并检查证书的有效期限。
-
确保证书主体标识的唯一性,防止重名。
-
发布并维护作废证书列表(CRL)。
-
对整个证书签发过程做日志记录。
CA 密钥对的生成和管理
-
选择较长密钥对:最好是2048位。
-
使用硬件加密模块:软件加密要将密钥读入内存而会被陷阱程序窃取,而硬件加密模块会感应到这一情况而将密钥销毁。
-
使用专用硬件产生密钥对:优质的随机数产生器可以连续产生无任何相似部分的多个密钥对。
-
秘密分享原则:管理员合作才能完成证书签发和备份密钥恢复工作。
发布并维护作废证书列表 CRL
-
CRL:包含未到期但已撤消的证书列表的签名数据结构。
-
CRL 的完整性和可靠性由CA对它的数字签名保证。
-
CRL 被创建后可通过证书库和网络自由分发。
-
CA 定期(几个小时到几个星期)发布 CRL,CRL 之间的时间延迟是应用 CRL 的一个主要的缺陷。
-
证书库是CA所签发的证书和CRL的集中存放地。
-
系统必须确保证书库的完整性,防止伪造、篡改证书和 CRL。
-
构造证书库的最佳方法是采用支持 LDAP 协议的目录系统。
-
LDAP 很好地解决了人们使用其他应用程序访问证书及 CRL 的问题。
9.2.3 PKI 应用接口系统
PKI 应用接口系统的功能:
-
完成证书的验证工作,为所有应用以一致、可信的方式使用证书/CRL/密钥备份与恢复系统提供支持。
-
确保用户的签名私钥始终只在用户本人的控制下。
-
实现密钥更新的自动、透明与一致。
-
向应用提供历史密钥的安全管理服务。
-
为所有应用提供统一模式的交叉证书的验证支持。
-
支持多种密钥存放介质,包括 IC卡、安全文件。
-
PKI 应用接口系统应该跨平台。
=================================================================================
PKI 是创建、管理、存储、分发和作废证书的软件、硬件、人员、策略和过程的集合,主要功能为:
-
为需要的用户生成一对密钥;
-
CA为用户签发数字证书并分发给需要的用户;
-
用户对数字证书的有效性进行验证;
-
对用户的数字证书进行管理。
PKI 认证体系的基本模型:
(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 签名私钥的泄露
-
用户的身份改变
-
遗失保护签名私钥的口令
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!