0


【信息安全原理】——电子邮件安全(学习笔记)

📖 前言:电子邮件(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的公钥不合法
答案:BC

2、用户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,以上就是本期知识点“电子邮件安全”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

标签: 安全 学习 笔记

本文转载自: https://blog.csdn.net/HinsCoder/article/details/135222263
版权归原作者 HinsCoder 所有, 如有侵权,请联系我们删除。

“【信息安全原理】——电子邮件安全(学习笔记)”的评论:

还没有评论