文章目录
- PGP(Pretty Good Privacy)
- 功能
- S/MIME(Secure/Multipurpose Internet Mail Extensions)
- DKIM(Domain Keys Identified Mail)
PGP(Pretty Good Privacy)
使用符号:
Ks:会话密钥、KRa:A 的私钥、KUa:A 的公钥、EP:公钥加密、DP:公钥解密、EC:常规加密、DC:常规解密、H: 散列函数、||: 连接操作、Z: 使用 ZIP 算法进行压缩、R64:基数为 64 的 ASCII 格式转换。
功能
- 认证
发送方:
(1)产生消息 M。
(2)用 SHA-1 对 M 生成一个 160 位的散列码 H。
(3)用私钥对 H 加密,与 M 连接。
接收方:
(1)用公钥解密,恢复出 H。
(2)对 M 生成一个新的 H’,比较 H 与 H’。若一致则 M 通过认证。
认证说明:
(1)RSA 保证了身份验证。
(2)SHA-1 保证了消息的有效性。
(3)签名和消息可以分离(比如对消息单独日志记录)。 - 保密
发送方:
(1)生成消息 M,并为消息生成一个随机数作为会话密钥 Ks。
(2)用会话秘钥加密 M。
(3)用接收方的公钥加密 Ks,并与加密过的 M 连接。
接收方:
(1)用私钥解密,得到 Ks。
(2)用 Ks 解密恢复 M。
保密性说明:
(1)对称加密算法和公钥加密算法结合可以缩短加密时间。
(2)公钥算法解决了 会话密钥 的单向分发问题。不用专门的 Ks 交换协议
(3)每个消息都有一次性密钥,提高了保密强度。 - 保密与认证的结合
两种服务都需要时,发送者先用自己的私钥签名,然后用会话密钥加密消息,再用接收者的公钥加密会话密钥。
简单来说,发送方先进行认证的操作,将操作完压缩后的结果作为新的“消息”进行保密操作。两部分操作并没有修改。
- 压缩
(1)有利于节省空间
(2)压缩在签名后进行
(3)压缩减少了冗余,因此提高了加密强度,使密码分析更困难
(4)PGP 采用 ZIP 压缩
总顺序:签名 —— 压缩 —— 加密。
- 电子邮件的兼容性
采用 R64 转换,每三个字节的二进制数据为一组映射成四个 ASCII 字符,附加CRC校验。
- 分段与重组
一般电子邮件工具限制消息的最大长度,PGP 自动进行分段。接收方只需去掉所有邮件头并重组即可。
S/MIME(Secure/Multipurpose Internet Mail Extensions)
S/MIME 是增强了安全性的 MIME,支持各种现代邮件代理。
MIME 不多做解释,知道它定义了许多格式和方式规范即可。
- 功能
保密、签名、清除签名(不知道在说啥)、保密和签名并行。
贴一下清除签名这块的原文:
Clear-signed data:只有签名部分用 Base64 编码,结果是,即使接收者没有 S/MIME 能力,他也能查看消息内容,只是他不能验证该签名
- 使用的密码算法
消息摘要:SHA-1 和 MD5
数字签名:DSS
对称密钥加密:三重 DES
公私钥加密:RSA、DH 密钥协商用于会话密钥
- 证书处理过程
(1)使用 X.509 v3 证书。
(2)混合 ‘X.509 CA 层次结构’ 和 ‘PGP 可信 Web’ 进行管理。
(3)每个客户有 CA 颁发的证书列表、自己的公私钥对、公钥证书。
(4)公钥证书必须经过 CA 签名。 - 增强安全性的服务
(1)签收:对签名数据对象要求进行签收。
(2)安全标签:在签名数据对象的认证属性中可以包含安全标签。
(3)安全邮寄列表:当用户向多个接收方发送消息时,需要进行与每个接收方相关的处理,包括使用各接收方的公钥。 - 与 PGP 的对比
(1)公钥可信度:
在 S/MIME 中,CA 签名和颁发公钥,并验证各方可信度。
而 PGP 由发件人自己创建签署密钥对。这意味着 PGP 没有权威可信中心,只能用户自己去决定信任问题。
(2)加密保护的范围:
PGP 解决纯文本,S/MIME 更旨在保护各种附件。
(3)集中化管理:
从管理角度来看,S/MIME 被认为优于 PGP,因为它支持通过 X.509 CA 进行集中式密钥管理。
(4)兼容性和易用性:
S/MIME 具备更广泛的行业支持。
DKIM(Domain Keys Identified Mail)
DKIM(域名密钥识别邮件)是一个电子邮件信息密码签名规范。
域名指地址中“@”符号之后的部分,可能会被冒充。
接收方直接查询签名者的域,获得适当公钥确定发送方身份,从而验证签名。
下方直接贴原文了。全是鸟语加车轱辘话。
工作机制:
- DKIM 有两个主要方面
DKIM 记录:存储在域的 Domain Name System (DNS) 记录中
DKIM 标头:附加在所有来自该域的电子邮件中 - DKIM 使用基于公钥密码的数字签名验证电子邮件的来源,证实邮件确实来自于从该域发送电子邮件的服务器。
- DKIM使用一对加密密钥:发件人用于签署邮件的私钥和接收者用于验证签名的公钥。
- 电子邮件提供商生成公钥和私钥。他们将公钥交给域名所有者,后者将公钥存储在一个公开的DNS 记录中,即 DKIM 记录(实际上是 DNS TXT<“文本”>记录)。
- 所有从该域名发送的电子邮件都包含一个 DKIM 标头,其中包含一段使用私钥生成的数字签名。电子邮件服务器可以查看 DKIM DNS 记录从而获得公钥,并使用公钥来验证数字签名。