网络与协议安全复习 - 电子邮件安全

文章目录

  • 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 记录从而获得公钥,并使用公钥来验证数字签名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/355935.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

雷池社区版自动SSL

正常安装雷池&#xff0c;并配置站点&#xff0c;暂时不配置ssl 不使用雷池自带的证书申请。 安装&#xff08;acme.sh&#xff09;&#xff0c;使用域名验证方式生成证书 先安装git yum install git 或者 apt-get install git 安装完成后使用 git clone https://gitee.com/n…

AI通用大模型不及垂直大模型?各有各的好

​​​​​​​AI时代&#xff0c;通用大模型和垂直大模型&#xff0c;两者孰优孰劣&#xff0c;一直众说纷纭。 通用大模型&#xff0c;聚焦基础层&#xff0c;如ChatGPT、百度文心一言&#xff0c;科大讯飞星火大模型等&#xff0c;都归属通用大模型&#xff0c;它们可以解答…

Android开发系列(六)Jetpack Compose之Box

Box是一个用来组合和控制子元素布局的组件。它可以在一个矩形区域内排列一个或多个子元素&#xff0c;并根据所提供的参数来控制它们的位置、大小和样式。 Box的功能类似传统的FrameLayout。 下面通过示例了解Box的使用方法&#xff0c;首先看一个最简单的示例&#xff0c;如下…

如何正确理解和评估品牌价值?

在当今这个品牌林立的商业世界里&#xff0c;我们常常听到企业家们满怀憧憬地谈论品牌梦想。 但究竟是什么驱使这些企业去打造一个品牌&#xff0c;到底是市场的激烈竞争&#xff0c;还是内心的情感寄托&#xff1f;亦或是社会发展的必然趋势&#xff0c;引领我们追求超越产品…

openh264 宏块级码率控制源码分析

openh264 宏块级码率控制函数关系 宏块级核心函数分析 WelsRcMbInitGom函数 功能&#xff1a;openh264 码率控制框架中宏块级码率控制函数&#xff0c;根据是否启用GOM QP来决定如何设置宏块的QP值&#xff0c;以控制编码的质量和比特率。原理过程&#xff1a; 函数参数&…

nginx出现504 Gateway Time-out错误的原因分析及解决

nginx出现504 Gateway Time-out错误的原因分析及解决 1、查看公网带宽是否被打满 2、查看网络是否有波动(可以在nginx上ping后端服务&#xff0c;看是否有丢包情况) 3、查看服务器资源使用情况(cpu、内存、磁盘、网络等) 4、查看nginx日志&#xff0c;具体到哪个服务的哪个…

校园任务平台系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;论坛管理&#xff0c;任务咨询管理&#xff0c;用户管理&#xff0c;基础数据管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;任务资讯公告&#…

如何将办公文档压缩成rar格式文件?

压缩包格式是我们生活工作中常用到的文件格式&#xff0c;那么如何得到一个rar格式的压缩文件&#xff1f;或者说如何将文件压缩成rar格式而不是zip格式呢&#xff1f;今天我们来了解一下如何压缩为rar格式文件。 首先&#xff0c;下载并安装WinRAR&#xff0c;然后用鼠标选择需…

Android找不到so,实际上apk中有的

解决apk中有.so&#xff0c;实际运行时找不到的问题 排查方向&#xff1a; ①、.so安装位置是否实际存在文件&#xff08;context.getApplicationInfo().nativeLibraryDir&#xff09; ②、当前ARM架构适配配置或者匹配&#xff08;armeabi-v7a, arm64-v8a, x86_64, ...&#…

拒绝零散碎片, 一文理清MySQL的各种锁

系列文章目录 学习MySQL先有全局观&#xff0c;细说其发展历程及特点 Mysql常用操作&#xff0c;谈谈排序与分页 拒绝零散碎片&#xff0c; 一文理清MySQL的各种锁&#xff08;收藏向&#xff09; 系列文章目录一、MySQL的锁指什么二、排他与共享三、全局锁&#xff08;Global…

Java网络爬虫入门

文章目录 1、导入依赖2、CrawlerFirst 1、导入依赖 <dependencies><!-- HttpClient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.3</version></…

【ARMv8/ARMv9 硬件加速系列 3.3 -- SVE LD2D 和 ST2D 使用介绍】

文章目录 SVE 多向量操作LD2D(加载)LD2D 操作说明LD2D 使用举例ST2D(存储)ST2D 使用举例ST2D 存储示例代码ld2d 和 st2d 小结SVE 多向量操作 在ARMv8/9的SVE (Scalable Vector Extension) 指令集中,st2d和ld2d指令用于向量化的存储和加载操作,具体地,它们允许同时对两个…

英文字母表

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 namespace 英文字母表 {public partial class Form1 : Form{public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){foreach (var item in panel1.Controls){if (item ! null)…

代理网络基础设施 101:增强安全性、速度和可扩展性

编辑代理网络在现代网络架构中发挥着重要作用&#xff0c;充当管理和重新路由数据流的中介。它们处理的数据可以是各种类型&#xff0c;包括搜索查询和潜在的敏感客户信息&#xff0c;这凸显了它们在数据安全方面的作用。 然而&#xff0c;代理的好处不仅限于安全性。它们为用…

java:Multiple Bounds--类型变量(TypeVariable)定义的高级用法--<A extends ClassAIfAIfB >

做Java开发工作好多年了。今天偶然翻到 java.lang.TypeVariable的源码&#xff0c;好奇为什么 TypeVariable.getBounds()返回类型是个数组。 一般不都是<T extends Number> 这样用码&#xff1f;T难道还能extends多个类型&#xff1f; 同问&#xff1a;不应该是extend,为…

Java基础 - 练习(五)根据今天日期获取一周内的日期(基姆拉尔森公式)

基姆拉尔森计算公式用于计算一周内的日期。比如给你年月日&#xff0c;从而计算今天是星期几。 基姆拉尔森公式 Week (d2*m3*(m1)/5yy/4-y/100y/4001) mod 7&#xff0c; 3<m<14Week的取值范围是0 ~ 6&#xff0c;其中0代表星期日&#xff0c;1 ~ 6分别代表星期一到星期…

如何使用Windows备份轻松将数据转移到新电脑?这里有详细步骤

序言 我们都知道那种买了一台新电脑,就想直接上手的感觉。我记得在过去的日子里,要花几个小时传输我的文件,并试图复制我的设置。在当今传输数据的众多方法中,Windows备份提供了一个简单可靠的解决方案。 登录到你的Microsoft帐户 Microsoft在传输过程中使用其云存储来保…

C# WPF入门学习主线篇(二十三)—— 控件模板(ControlTemplate)和数据模板(DataTemplate)

C# WPF入门学习主线篇&#xff08;二十三&#xff09;—— 控件模板&#xff08;ControlTemplate&#xff09;和数据模板&#xff08;DataTemplate&#xff09; 在WPF开发中&#xff0c;控件模板&#xff08;ControlTemplate&#xff09;和数据模板&#xff08;DataTemplate&am…

设置浏览器互不干扰

目录 一、查看浏览器文件路径 二、 其他盘新建文件夹Cache 三、以管理员运行CMD 四、执行命令 一、查看浏览器文件路径 chrome://version/ 二、 其他盘新建文件夹Cache D:\chrome\Cache 三、以管理员运行CMD 四、执行命令 Mklink /d "C:\Users\Lenovo\AppData\Loca…

社区项目-项目介绍环境搭建

文章目录 1.技术选型2.原型设计1.安装AxureRP2.进行汉化3.载入元件库4.基本设计 3.元数建模1.安装元数建模软件2.新建项目3.新增一个刷题模块主题域4.新增数据表 subject_category5.新增关系图&#xff0c;将表拖过来6.新增题目标签表7.新增题目信息表8.新增单选表、多选表、判…