- 密码学教程
- 密码学 - 首页
- 密码学 - 起源
- 密码学 - 历史
- 密码学 - 原理
- 密码学 - 应用
- 密码学 - 优点与缺点
- 密码学 - 现代
- 密码学 - 传统密码
- 密码学 - 加密的需求
- 密码学 - 双重强度加密
- 密码系统
- 密码系统
- 密码系统 - 组成部分
- 密码系统攻击
- 密码系统 - 彩虹表攻击
- 密码系统 - 字典攻击
- 密码系统 - 暴力破解攻击
- 密码系统 - 密码分析技术
- 密码学类型
- 密码系统 - 类型
- 公钥加密
- 现代对称密钥加密
- 密码学哈希函数
- 密钥管理
- 密码系统 - 密钥生成
- 密码系统 - 密钥存储
- 密码系统 - 密钥分发
- 密码系统 - 密钥撤销
- 分组密码
- 密码系统 - 流密码
- 密码学 - 分组密码
- 密码学 - Feistel 分组密码
- 分组密码的工作模式
- 分组密码的工作模式
- 电子密码本 (ECB) 模式
- 密码分组链接 (CBC) 模式
- 密码反馈 (CFB) 模式
- 输出反馈 (OFB) 模式
- 计数器 (CTR) 模式
- 经典密码
- 密码学 - 反向密码
- 密码学 - 凯撒密码
- 密码学 - ROT13 算法
- 密码学 - 置换密码
- 密码学 - 加密置换密码
- 密码学 - 解密置换密码
- 密码学 - 乘法密码
- 密码学 - 仿射密码
- 密码学 - 简单替换密码
- 密码学 - 简单替换密码加密
- 密码学 - 简单替换密码解密
- 密码学 - 维吉尼亚密码
- 密码学 - 维吉尼亚密码实现
- 现代密码
- Base64 编码和解码
- 密码学 - XOR 加密
- 替换技术
- 密码学 - 单表代换密码
- 密码学 - 单表代换密码破解
- 密码学 - 多表代换密码
- 密码学 - Playfair 密码
- 密码学 - Hill 密码
- 多表代换密码
- 密码学 - 一次性密码本
- 一次性密码本的实现
- 密码学 - 置换技术
- 密码学 - 栅栏密码
- 密码学 - 列置换密码
- 密码学 - 密码隐写术
- 对称算法
- 密码学 - 数据加密
- 密码学 - 加密算法
- 密码学 - 数据加密标准 (DES)
- 密码学 - 三重 DES
- 密码学 - 双重 DES
- 高级加密标准 (AES)
- 密码学 - AES 结构
- 密码学 - AES 变换函数
- 密码学 - 字节替换变换
- 密码学 - 行移位变换
- 密码学 - 列混淆变换
- 密码学 - 轮密钥加变换
- 密码学 - AES 密钥扩展算法
- 密码学 - Blowfish 算法
- 密码学 - SHA 算法
- 密码学 - RC4 算法
- 密码学 - Camellia 加密算法
- 密码学 - ChaCha20 加密算法
- 密码学 - CAST5 加密算法
- 密码学 - SEED 加密算法
- 密码学 - SM4 加密算法
- IDEA - 国际数据加密算法
- 公钥(非对称)密码算法
- 密码学 - RSA 算法
- 密码学 - RSA 加密
- 密码学 - RSA 解密
- 密码学 - 创建 RSA 密钥
- 密码学 - 破解 RSA 密码
- 密码学 - ECDSA 算法
- 密码学 - DSA 算法
- 密码学 - Diffie-Hellman 算法
- 密码学中的数据完整性
- 密码学中的数据完整性
- 消息认证
- 密码学数字签名
- 公钥基础设施
- 哈希
- MD5(消息摘要算法 5)
- SHA-1(安全哈希算法 1)
- SHA-256(安全哈希算法 256 位)
- SHA-512(安全哈希算法 512 位)
- SHA-3(安全哈希算法 3)
- 哈希密码
- Bcrypt 哈希模块
- 现代密码学
- 量子密码学
- 后量子密码学
- 密码协议
- 密码学 - SSL/TLS 协议
- 密码学 - SSH 协议
- 密码学 - IPsec 协议
- 密码学 - PGP 协议
- 图像和文件加密
- 密码学 - 图像
- 密码学 - 文件
- 隐写术 - 图像
- 文件加密和解密
- 密码学 - 文件加密
- 密码学 - 文件解密
- 物联网中的密码学
- 物联网安全挑战、威胁和攻击
- 物联网安全的密码技术
- 物联网设备的通信协议
- 常用的密码技术
- 自定义构建密码算法(混合密码)
- 云密码学
- 量子密码学
- 密码学中的图像隐写术
- DNA 密码学
- 密码学中的一次性密码 (OTP) 算法
- 区别
- 密码学 - MD5 与 SHA1
- 密码学 - RSA 与 DSA
- 密码学 - RSA 与 Diffie-Hellman
- 密码学与密码学
- 密码学 - 密码学与密码分析
- 密码学 - 经典与量子
- 密码学与隐写术
- 密码学与加密
- 密码学与网络安全
- 密码学 - 流密码与分组密码
- 密码学 - AES 与 DES 密码
- 密码学 - 对称与非对称
- 密码学有用资源
- 密码学 - 快速指南
- 密码学 - 讨论
公钥基础设施
公钥基础设施 (PKI) 最显著的特点是它使用一对密钥来实现底层安全服务。密钥对包括私钥和公钥。
由于公钥是公开的,因此容易被滥用。因此,有必要建立和维护某种可信基础设施来管理这些密钥。
密钥管理
不言而喻的是,任何密码系统的安全性都取决于其密钥的管理安全性。如果没有安全的操作加密密钥的程序,那么使用强大的加密方案的好处可能会丧失。
据观察,加密方案很少因其设计缺陷而受到破坏。然而,它们往往由于密钥管理不善而受到破坏。
密钥管理有一些重要的方面,如下所示:
加密密钥只不过是特殊的数据片段。密钥管理是指对加密密钥的安全管理。
密钥管理处理整个密钥生命周期,如下图所示:
公钥密码学的密钥管理有两个具体要求。
私钥的保密性。在整个密钥生命周期中,秘密密钥必须对除所有者和被授权使用它们的各方以外的所有各方保密。
公钥的保证。在公钥密码学中,公钥是公开的,被视为公共数据。默认情况下,无法保证公钥是否正确,它可以与谁关联,或者它可以用于什么用途。因此,公钥的密钥管理需要更明确地关注公钥用途的保证。
“公钥保证”的最关键要求可以通过公钥基础设施 (PKI) 来实现,它是一个支持公钥密码学的密钥管理系统。
公钥基础设施 (PKI)
PKI 提供公钥保证。它提供公钥的识别和分发。PKI 的结构包括以下组件。
- 公钥证书,通常称为“数字证书”。
- 私钥令牌。
- 认证机构。
- 注册机构。
- 证书管理系统。
数字证书
打个比方,证书可以被认为是签发给个人的身份证。人们使用身份证(如驾驶执照、护照)来证明自己的身份。数字证书在电子世界中做同样的事情,但有一个区别。
数字证书不仅签发给个人,还可以签发给计算机、软件包或任何其他需要在电子世界中证明身份的事物。
数字证书基于 ITU 标准 X.509,该标准定义了公钥证书和证书验证的标准证书格式。因此,数字证书有时也称为 X.509 证书。
用户的公钥与其他相关信息(例如客户端信息、过期日期、用途、发行者等)一起存储在认证机构 (CA) 的数字证书中。
CA 对所有这些信息进行数字签名,并将数字签名包含在证书中。
任何需要保证客户端的公钥和相关信息的人,他都可以使用 CA 的公钥执行签名验证过程。成功的验证确保证书中给出的公钥属于证书中给出的个人。
个人/实体获取数字证书的过程如下图所示。
如图所示,CA 接受客户端的申请以认证其公钥。CA在 duly 验证客户端身份后,向该客户端颁发数字证书。
认证机构 (CA)
如上所述,CA 向客户端颁发证书并协助其他用户验证证书。CA 负责正确识别请求颁发证书的客户端的身份,并确保证书中包含的信息是正确的,并对其进行数字签名。
CA 的关键功能
CA 的关键功能如下:
密钥对生成 − CA可以独立或与客户端共同生成密钥对。
数字证书颁发 − CA可以被认为是PKI体系中的“护照机构”等效物——在客户端提供凭据以确认其身份后,CA会颁发证书。然后,CA会对证书进行签名,以防止修改证书中包含的详细信息。
证书发布 − CA需要发布证书,以便用户可以找到它们。实现这一点有两种方法。一种是在相当于电子电话簿的地方发布证书。另一种是通过某种方式将您的证书发送给您认为可能需要它的人。
证书验证 − CA将其公钥发布到环境中,以帮助验证其在客户端数字证书上的签名。
证书吊销 − 有时,由于某些原因(例如用户私钥泄露或对客户端信任度降低),CA会吊销已颁发的证书。吊销后,CA会维护所有已吊销证书的列表,该列表可供环境使用。
证书类别
有四类典型的证书:
一级证书 − 这些证书可以通过提供电子邮件地址轻松获取。
二级证书 − 这些证书需要提供额外的个人信息。
三级证书 − 只有在对请求者的身份进行检查后才能购买这些证书。
四级证书 − 它们可用于需要极高信任度的政府和金融机构。
注册机构 (RA)
CA可以使用第三方注册机构 (RA) 对请求证书的个人或公司进行必要的检查以确认其身份。RA可能对客户端来说看起来像CA,但他们实际上并不签署颁发的证书。
证书管理系统 (CMS)
这是一个管理系统,通过它可以发布、暂时或永久暂停、续订或吊销证书。证书管理系统通常不删除证书,因为可能需要在某个时间点证明其状态,也许出于法律原因。CA以及相关的RA运行证书管理系统,以便能够跟踪其责任和义务。
私钥令牌
虽然客户端的公钥存储在证书上,但相关的秘密私钥可以存储在密钥所有者的计算机上。这种方法通常不被采用。如果攻击者访问了计算机,他可以轻松访问私钥。因此,私钥存储在安全的可移动存储令牌上,对该令牌的访问通过密码进行保护。
不同的供应商经常使用不同的,有时是专有的密钥存储格式。例如,Entrust 使用专有的 .epf 格式,而 Verisign、GlobalSign 和 Baltimore 使用标准的 .p12 格式。
CA 的层次结构
对于庞大的网络和全球通信的需求,仅拥有一个所有用户都从中获取证书的可信 CA 在实践上是不可行的。其次,如果 CA 受到破坏,仅拥有一个 CA 可能会导致困难。
在这种情况下,分层证书模型很有意义,因为它允许在两个通信方与同一个 CA 没有信任关系的环境中使用公钥证书。
根 CA 位于 CA 层次结构的顶部,根 CA 的证书是自签名证书。
直接隶属于根 CA 的 CA(例如,CA1 和 CA2)拥有由根 CA 签名的 CA 证书。
层次结构中下属 CA 下的 CA(例如,CA5 和 CA6)的 CA 证书由更高级别的下属 CA 签名。
证书颁发机构 (CA) 层次结构反映在证书链中。证书链跟踪从层次结构中分支到层次结构根的证书路径。
下图显示了一个 CA 层次结构,其中证书链从实体证书通过两个下属 CA 证书 (CA6 和 CA3) 追溯到根 CA 的 CA 证书。
验证证书链是确保特定证书链有效、正确签名且值得信赖的过程。以下过程验证证书链,从提交进行身份验证的证书开始:
正在验证其真实性的客户端提供其证书,通常还提供证书链,直至根 CA。
验证者获取证书,并使用发行者的公钥进行验证。发行者的公钥在其证书中找到,该证书位于客户端证书旁边的链中。
现在,如果已签署发行者证书的更高层 CA 受验证者信任,则验证成功并在此处停止。
否则,将以与上述步骤中对客户端执行的方式类似的方式验证发行者证书。此过程将持续进行,直到找到受信任的 CA,或者持续进行到根 CA。