📖 前言:电子邮件(Email)是因特网上被广泛使用的一种网络应用,即使在互联网高度发达的今天,人们有了大量的诸如微信、QQ等社交软件来交换信息,但它仍然是个人和商务活动中一种重要的信息交换工具。本章介绍电子邮件安全,主要包括电子邮件安全问题分析、安全电子邮件标准PGP、WebMail安全威胁及防范,最后介绍垃圾邮件的防范。
🕒 1. 电子邮件安全问题
安全需求:
- 机密性:保证邮件在传输过程中不会被第三方窃取,只有邮件的真正接收方才能够阅读邮件的内容,即使发错邮件,接收方也无法看到邮件内容。
- 完整性:保证邮件在传输过程中不会被修改
- 不可否认性:保证邮件发送人不能否认其发过的邮件
- 真实性:保证邮件的发送人不是冒名顶替的,它同邮件完整性一起可防止攻击者伪造邮件
基于SMTP、POP3/IMAP等协议的电子邮件系统没有采取必要的安全防护措施,导致:
- 邮件内容被窃听
- 垃圾邮件(Spam)
- 邮件炸弹
- 传播恶意代码(钓鱼邮件)
- 电子邮件欺骗
安全措施:
- 端到端的安全电子邮件技术,保证邮件从发出到接收的整个过程中,内容保密、无法修改且不可否认
- 传输安全增强技术,在网络层或传输层使用安全协议(IPsec, SSL/TLS)来保证应用层的电子邮件在安全的传输通道上进行传输
- 邮件服务器安全增强,采用安全防护设备(防火墙、入侵检测系统)保护邮件服务器;增加邮件服务器攻击检测和防护能力。
-
邮件发送方身份验证
- 发件人策略框架SPF
- DKIM协议
- DMARC协议
🕒 2. 安全电子邮件标准PGP
端到端的安全电子邮件标准和协议主要有三种
- PEM (Privacy Enhanced Mail,隐私增强电子邮件)
- S/MIME (Secure/Multipurpose Internet Mail Extensions,安全/多用途因特网邮件扩展)
- PGP (Pretty Good Privacy,优良隐私保护)
🕘 2.1 PEM
由美国RSA实验室基于RSA和DES算法开发的安全电子邮件方案。它在电子邮件标准格式上增加了加密、认证、消息完整性保护和密钥管理功能。
由于PEM在MIME之前提出的,因此它并不支持MIME,只支持文本信息。PEM依赖于PKI并遵循X.509认证协议,而当时要建立一个可用的PKI并不是一件容易的事
🕘 2.2 S/MIME
S/MIME基于PEM,使用RSA提出的PKCS和MIME来增强Email的安全(对邮件主体进行消息完整性保护、签名和加密后作为附件发送)
S/MIME v1是1995年完成的(MIME是1992年推出的),v2在IETF的RFC2311和RFC2312中定义,v3在RFC 3850和RFC 3851中定义(这些RFC是信息文件,而不是标准或建议的标准)
S/MIME不仅用于实现安全电子邮件传输,任何支持MIME格式的数据传输机制或协议(如HTTP)均可用
🕘 2.3 PGP
PGP既是一个特定的安全电子邮件应用软件,也是一个安全电子邮件标准。
PGP最常用于安全电子邮件传输,但它也可以用于任何需要保证传输机密性、完整性和认证(不可否认性)的应用中。
功能:
功能服务 | 采用的算法 | 说明 |
---|---|---|
数字签名(包括身份鉴别) | 散列算法:SHA1, SHA24, SHA256, SHA384, SHA512, MD5, RIPEMD160 等;签名算法:DSS或RSA | 先用散列函数,如SHA-1产生消息的散列码,然后用DSS或RSA算法对散列码进行签名 |
消息加密 | 对称密码算法:CAST-18, IDEA, 3DES, AES;公开密码算法 RSA, Diffie-Hellman | 消息用一次性会话密钥(对称密钥)加密, 会话密钥用接收方的公钥加密 |
压缩 | ZIP, ZLIB, BZIP2 | 消息用ZIP / ZLIB / BZIP2 算法压缩后存储或传送 |
邮件兼容性 | Radix 64 | 邮件应用安全透明,加密后的消息用 Radix 64 转换(也就是MME的Base64编码) |
数据分段 | 为了满足邮件的大小限制,支持分段和重组 |
单选题:如果要在网络层保护电子邮件的安全,则应采用的协议是()
A. IP B.TLS C. PGP D. IPSec
答案:D
🕤 2.3.1 PGP发送和接收邮件的过程
🔎 PGP——加解密过程、数字签名、压缩等流程
☆ Q:签名、加密、压缩的顺序问题?
A:在PGP中,是对未压缩的邮件正文进行散列计算后,再对散列值进行签名。然后将邮件正文和签名拼接后进行压缩后加密。在压缩之前进行签名的主要原因有两点:一是对没压缩的消息进行签名,可便于对签名的验证,如果在压缩后再签名,则需要保存压缩后的消息或在验证时重新压缩消息,增加了处理的工作量;二是由于压缩算法ZIP在不同的实现中会在运算速度和压缩率之间寻求平衡,因而可能会产生不同的压缩结果(当然,直接解压结果是相同的),因此压缩后再进行签名就可能导致无法实现鉴别(接收方在验证签名时可能会因压缩的原因而出现验证失败)。PGP 对加密前的明文(含签名)进行压缩,而不是在加密后再压缩的主要原因也有两点:一方面因为先压缩再加密方案缩短了报文大小,从而减少了网络传输时间和存储空间;另一方面经过压缩实际上是经过了一次变换,变换后减少了明文中上下文的关系,比原始消息的冗余信息更少,再加密的安全性更高,而如果先加密,再压缩,效果会差一些。
Q:兼容性考虑(Base64编码):为什么要进行Base64编码?对性能的影响如何?
A:在兼容性方面,加密后的报文使用Base64编码将报文转换成ASCII字符串,主要考虑到很多文件系统只允许使用ASCII字符组成的报文。实际应用中,使用Base64编码转换后将导致消息大小增加33%(每3个字节的二进制数据映射成4个ASCIII字符)。由于加密前对消息进行了压缩,实际的性能下降幅度要小很多
Q:分段与重装:为什么要分段?如果分段,会话密钥部分和签名部分在第几个报文段?
A:PGP还需考虑电子邮件系统文件设施对最大报文长度的限制(一般为50000个字节),因此,PGP还需提供报文的分段和重组功能。分段是在所有其他的处理(包括Base64编码转换)完成后才进行的,因此,会话密钥部分和签名部分只在第一个报文段的开始位置出现一次。在接收端,PGP必须剥掉所有的电子邮件首部,才能重新装配成原来的完整分组。
🕤 2.3.2 PGP消息格式
🕤 2.3.3 PGP密钥管理
会话密钥生成与管理
- 会话密钥Ks是由基于美国国家标准“金融机构密钥管理(大规模)”(ANSI X 9.17)中定义的随机数生成方法的伪随机数产生器(Pseudorandom number Generator, PRG)产生的128位随机数,只用于一条消息的一次加解密过程
- Ks使用接收方的公钥加密后发送给接收方。这种会话密钥的安全交换方法称为“数字信封”
公开密码算法密钥管理,用户A获取用户B的公钥主要方式包括:
- 物理交付
- 电话验证
- 通过可信的第三方
- 通过可信的认证中心(CA)
公开密码算法密钥管理
- 每个用户都有一个公钥环(Public Key Ring)和私钥环(Private Key Ring),均用表型数据结构存储
- 公钥环存储该用户知道的其他用户的公钥,私钥环存储用户自己的所有公钥/私钥对。PGP允许一个用户同时拥有多个公钥/私钥对,主要目的有两个:一是经常变换密钥,以增强安全性;二是多个密钥对可以支持同一时刻与多个用户进行通信
- PGP采用密钥标识符(密钥ID,Key ID)来表示密钥,并建立密钥标识和对应公钥/私钥间的映射关系
- 私钥存储方法:加密私钥的口令短语(passphrase)p,加密后存储在私钥环中
🕤 2.3.4 PGP信任关系
PGP信任模型:以用户为中心的信任模型(信任网模型,Web of Trust)
- 没有一个统一的认证中心来管理用户公钥,每个人都可以作为一个CA对某个用户的公钥签名,以此来说明这个公钥是否有效(可信)
- 当用户接收到新的公钥时,首先要检查公钥证书的签名者,然后根据这个签名者的信任程度计算出该公钥的合法性,如果合法才能把它插入到自己的公钥环中
- 公钥加密体制基础——用户必须确信他所拿到的公钥属于它看上去属于的那个人(公钥的真实性)
用户要得到介绍人真实公钥并信任介绍人
(相对比较容易,而黑客想假冒很困难)
- 公钥环中每一个公钥项都有表示信任度的字段,包括:
- 密钥合法性字段:合法和不合法
- 签名可信性字段:不信任、部分信任、一直信任和绝对信任
- 拥有者可信性字段:不信任、部分信任、一直信任和绝对信任,由用户自己指定。
🔎 PGP——信任场景举例
多选题:1、用户A对用户B和C的公钥拥有者可信性字段打的都是部分信任,系统要求,两个部分信任的签名才能让公钥合法,当前A收到了G的公钥,上边的签名来自于B和C,以下说法正确的是( )
A. B对G公钥的签名信任性字段为绝对信任
B. C对G公钥的签名信任性字段为部分信任
C. G的公钥合法
D. G的公钥不合法
答案:BC2、用户A对用户B和C的公钥拥有者可信性字段打的都是部分信任,D是完全信任,系统要求,两个部分信任或者一个完全信任的签名才能让公钥合法,当前A收到了G的公钥,上边的签名来自于B,Z的公钥签名来自D,以下说法正确的是( )
A. B对G公钥的签名信任性字段为部分信任
B. D对Z公钥的签名信任性字段为部分信任
C. Z的公钥合法
D. G的公钥不合法
答案:ACD
公钥合法性与所有者信任之间的关系:公钥合法是否一定可信?
- “公钥是否合法” 与 “所有者是否可信” 是两个不同的问题,因为尽管公钥合法,其所有者也可以是不可信的
- “对哪个密钥的所有者进行哪种级别的信任” 是因人而异的
口令或私钥的泄密
- 口令泄露或被破解
- 私钥文件的保护
PGP缺少PKI体系那样严格的证书撤销机制,很难确保没有人使用一个已不安全的密钥,是PGP安全体系中比较薄弱的环节
PGP使用的公开密码算法、对称密码算法、安全散列函数的安全性问题
- 2019.10,密码学家Gaëtan Leurent和Thomas Peyrin宣布对SHA-1计算出第一个选择前缀冲突,并选择PGP/GnuPG信任网络来演示SHA-1的前缀冲突攻击
- GnuPG 2.2.18(2019.11.25发布):对2019-01-19之后基于SHA-1创建的身份签名视为无效
🕒 3. WebMail安全威胁及防范
WebMail不需借助专门的邮件客户端,只要能用浏览器上网就能收发邮件,极大地方便了用户。但是,WebMail的使用也带来的新的安全威胁,前面介绍的Web应用所面临的很多安全问题同样在WebMail中存在
安全问题:
- WebMail暴力破解
- 防范:禁用账户、禁止IP地址、登录检验
- 恶意HTML邮件
- 利用HTML邮件,攻击者能进行电子邮件欺骗,甚至欺骗用户更改自己的邮箱密码
- 在HTML邮件中嵌入恶性脚本程序,攻击者还能进行很多破坏攻击,如修改注册表、非法操作文件、格式化硬盘、耗尽系统资源、修改“开始”菜单等,甚至能删除和发送用户的邮件、访问用户的地址簿、修改邮箱帐户密码等
- Cookie会话攻击
- 攻击者获取用户WebMail的Cookie信息后,就能很容易地侵入用户的WebMail。攻击者获取用户WebMail的Cookie信息的方法主要有内网监听和XSS攻击
- 含有恶性脚本程序的HTML邮件能使攻击者获取WebMail的Cookie信息
- WebMail系统应该避免使用持久型Cookie会话跟踪,使攻击者在Cookie会话攻击上不能轻易得逞
🕒 4. 垃圾邮件防范
垃圾邮件基本特征如下:
- 内容的重复性:内容的大量重复
- 信息的合法性:查不到发件人信息
- 时间的有效性:不正常的发送时间
- 地址的有效性:无效的发送源地址
- 邮箱名的有效性:名称由无意义字符串组成
- HTML的合法性:不合法的HTML tag,大量图片
- 发送行为特征:大批量、时间短、发送源变换
反垃圾邮件方法
- 基于地址的垃圾邮件检测:黑白名单检测、反向域名验证技术
- 基于内容的垃圾邮件检测:分布式协作法、规则过滤法、统计过滤法、关键词过滤法
- 基于行为的垃圾邮件检测:基于邮件通信拓扑相似性的垃圾邮件检测、基于邮件用户社交关系的垃圾邮件检测、基于SMTP连接行为的垃圾邮件
🕒 5. PGP实验
Gpg4win是一款非对称加密方式软件。简单来讲,就是用公钥加密文件,用私钥解密文件。如果你需要发送加密信息,首先获取接收者的公钥,然后利用该公钥加密后传递,对方利用对应的私钥就可解密。也就是说,公钥是锁,私钥是钥匙。非对称加密方式很好地解决了传递机密信息的问题。
🔎 gpg4win官网
1、 使用Gpg4win完成自己公私钥对的生成并导出公钥,公私钥对的名字是你的名字(Alice)。发送自己的公钥给Bob,并接收Bob的公钥进行导入。
导入:
2、 在邮件正文输入文本信息,写下“hello,Alice”,复制文本到剪贴板并用Gpg4win进行加密,加密密钥为Bob的公钥,再将密文重新复制回邮件正文发送给Bob。
-----BEGIN PGP MESSAGE-----
hF4DOx6IZtNgixoSAQdA8UB6S1SPCPJJFfTVmJErPIPZjJEOiotryg8S2WKNV2Iw
bPqAS8ZzvxIHstntaxTdAoAalToTcyot9ZAKE8fQiF5K0LCo9V4VDhQVN2QLFW8l
1FIBCQIQv8R7sGOCe1IymUJIVhT826DZ+bf6LKa4ofWLPZG1I3w4tCobu3Oo3m1t
UGeTVC8l9U1F1hVOmrfiAbvxxSELscRY9YIzIvIbiU05WFQB
=TpUR
-----END PGP MESSAGE-----
3、 Bob用自己的公钥进行解密,查看明文邮件内容。
4、 新建文本文件,内容为你的名字,使用你的私钥和Bob的公钥为文件签名和加密,并将文件发送给Bob。
5、Bob接收文件,并完成解密和签名验证。
OK,以上就是本期知识点“电子邮件安全”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~文章来源:https://www.toymoban.com/news/detail-784676.html
❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页文章来源地址https://www.toymoban.com/news/detail-784676.html
到了这里,关于【信息安全原理】——电子邮件安全(学习笔记)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!