第四章 电子邮件安全加密

  1. PGP满足了安全电子邮件的三个安全需求:

    1. 保密性:通过对称加密和不对称加密结合实现了保密性,实现了一种安全的一次性会话密钥的交换方法
    2. 完整性:PGP采用数字签名和公钥身份认证实现完整性,其中PGP提出了一种去中心化网络的方式来实现公钥的认证,保证了分布式环境下的发件人、收件人的身份认证
    3. 可用性:PGP基于Base64转换将压缩后的密文转换的ASCII码,从而支持SMTP协议,实现了可用性
  2. PGP针对不同的需求,支持仅认证、仅加密、加密且认证三种工作方式

  3. PGP使用的各种符号

  1. PGP仅认证流程

    1. 工作流程图

    2. 流程说明

      1. 源A,即为发送方,创建电子邮件消息
      2. 使用SHA-1算法生成消息验证码(即为Hash散列函数生成固定长度的字符)
      3. 使用发送方A的RSA私钥类将消息验证码加密生成数字签名(MAC)
      4. 将MAC附在消息上,一并压缩,将压缩后的消息进行base64转换
      5. 接收方将收到的消息进行逆base64转换并解压缩
      6. 接收方将数字签名(MAC)和消息分离
      7. 将MAC使用A的公钥解密
      8. 将消息使用SHA-1算法解密,生成的散列值与上一步解密出的消息认证码相比较,如果符合,则表明邮件是A发送的,且没有被篡改
  2. PGP加密流程

    1. 加密前首先解决密钥分发的问题(因为发送方和接收方一般都不会同时在线,无法在线协商密钥):接收方接受到发送方随机生成的密钥,从而解决了密钥的安全分发的问题

    2. 加密流程图

    3. 流程说明

      1. 源A,即发送方,创建电子邮件,并对其进行压缩
      2. 发送方生成一个适用于当前邮件的128位随机密钥Ks(会话密钥),使用该密钥采用CAST-128(或IDEA、TDEA)加密压缩后的电子邮件
      3. 使用接收方B的RSA公钥加密Ks,即为加密后的会话密钥
      4. 发送方将上一步得到的加密后的会话密钥附在压缩加密后的消息上,并使用Base64转换
      5. 接收方对收到的消息进行Base64逆变换
      6. 接收方提取其中的加密后的会话密钥,使用自己的RSA私钥解密,获得Ks
      7. 接受方使用一次性会话密钥Ks解密消息,再进行解压缩,从而得到邮件的明文
  3. PGP认证并加密

    1. 认证并加密的流程图

    2. 流程说明

      1. 发送方A创建电子邮件
      2. 使用SHA-1算法生成散列值,即为消息验证码
      3. 使用发送方A的RSA私钥加密消息验证码,生成数字签名(MAC)
      4. 将MAC附在消息上,并一起压缩
      5. 发送方生成一个随机128位密钥Ks,采用CAST-128(或IDEA、TDEA)加密上一步压缩后的内容(其中包含MAC和电子邮件)
      6. 以接收方B的RSA公钥加密Ks,并将结果附在压缩内容上,一并进行Base64转换
      7. 接收方进行base64逆变换,提取加密后的Ks,使用自己的RSA私钥进行解密,得到Ks
      8. 接收方使用Ks解密消息,并进行解压缩,获得明文邮件和MAC值
      9. 接收方将MAC值解密(使用发送方A的RSA公钥),生成消息验证码
      10. 接收方将明文邮件进行SHA-1算法生成的结果和上一步得到的消息验证码进行比对,符合则表明是A发送的,且没有别篡改
    3. PGP再发送方签名后,加密前再进行压缩,原因是

      1. 发生再签名后的原因:对未压缩的邮件有利于实施不可否认性,或便于事后验证。
      2. 发正在压缩前的原因:对压缩后的消息进行加密可以增强加密的安全性,如压缩后的相关内容可能会变为乱码,增加了密文的分析难度
    4. 上面的步骤先生成数字签名,再加密,如果反过来,是否可行?如果可行,相比于之前的步骤有什么优缺点?

  4. PGP公钥信任模型

    1. A收到一个公钥,将其加入到公钥环中,PGP要求A必须给“拥有者信任”字段赋值。PGP中规定“拥有者信任”字段的取值为:未定义信任,未知用户,一般信任,一般信任,总是信任,完全信任。当这个公钥同时出现在私钥环中,“拥有者信任”字段幅值为完全信任
    2. A收到一个新公钥时,可能会有其他用户已经为此公钥进行了签名。如果签名者在公钥环内,就将签名者的”拥有者信任“值分配给此签名的”签名信任“字段;如果不在公钥环内,此签名的”签名信任“字段赋值为”未知用户“。”签名信任”字段的取值范围与“拥有者信任”字段的取值范围相同。
    3. 公钥的“密钥合理性”字段的赋值以该公钥的“签名信任”字段为基础。当签名中至少一个签名的“签名信任”的值是“完全信任(ultimate trusted) ”, 这个公钥的“密钥合理性”字段就被赋值为“complete”,即密钥是有效的。否 则,该字段由PGP计算“签名信任”字段的加权和获得。如果收到是一个“签名 信任”字段为“总是信任(alwaystrusted)",则定义此签名的权值为“1/X” ; 如果收到是一个“签名信任”字段为“一般信任(usuallytrusted)",则定义此 签名的权值为“1/Y” o (X和Y是用户可配置的参数)。当收集到的公钥签名 加权和达到1时,就可以将该公钥的“密钥合理性”字段的赋值为“complete”。 例如当X=3, Y=6时,如果收到该公钥2个“签名信任”字段为一般信任的签 名、2个“签名信任”字段为总是信任的签名,就可以将该公钥的“密钥合理性” 字段的赋值为“complete”。这样,即使一个公钥收到“完全信任”签名,只要 收集到足够多的部分信任签名,一样可以达到完全信任,成为有效的公钥

网络安全概论 第四章 电子邮件安全加密(PGP)相关推荐

  1. 数据库系统概论 第四章课后习题(部分)

    本文是<数据库系统概论>的第四章的部分课后习题,题目来源:[2019-2020春学期]数据库作业12:第四章:数据库安全性 习题

  2. Kali Linux 无线渗透测试入门指南 第四章 WLAN 加密缺陷

    第四章 WLAN 加密缺陷 作者:Vivek Ramachandran, Cameron Buchanan 译者:飞龙 协议:CC BY-NC-SA 4.0 简介 任何人对于内存的需求,都不会超过64 ...

  3. 《网络安全工程师笔记》 第十四章:渗透简单测试流程

    注:本笔记来自温晓飞老师的网络安全课程 第十四章:渗透简单测试流程 第一章:虚拟化架构与系统部署 第二章:IP地址详解 第三章:进制转换 第四章:DOS基本命令与批处理 第五章:用户与组管理 第六章: ...

  4. 第四章 收发电子邮件

    文章目录 第四章 收发电子邮件 支持电子邮件协议 InterSystems IRIS如何表示`MIME`电子邮件 创建由单个部分组成的电子邮件 创建多部分电子邮件 指定电子邮件标题 指定基本电子邮件标 ...

  5. 软件工程概论总结第四章

    第四章  需求工程  软件需求 软件需求 ①用户解决问题或达到目标所需的条件或能力 ②系统或系统部件要满足合同.标准.规范或其他正式规定文档所需具有的条件或能力. ③一种反映上面①或②所描述的条件或能 ...

  6. 计算机系统概论(原书第2版)部分课后习题答案(第四章)

    小编在学计系1的时候,一直找不到中文版的答案,英文版的答案又要钱才能下载,而且这个书翻译的真的牛(cai)逼--有的题目有歧义或者直接翻译有问题,有的直接把题目搞错的,思考很久都没有结果--然后又要去 ...

  7. 【数据库系统】数据库系统概论====第十四章 大数据管理

    第十四章 大数据管理 文章目录 第十四章 大数据管理 14.1大数据概述 14.1.1什么是大数据 14.1.2大数据的特征 14.2大数据的应用 14.2.1感知现在 预测未来----互联网文本大数 ...

  8. 信息安全工程师学习笔记《第四章》

    第四章 网络安全体系与网络安全模型 本章内容主要包括: 第一,讲述了网络安全体系的基本概念以及相关安全模型,主要包括机密性模型.完整性模型.信息流模型.信息保障模型.能力成熟度模型.纵深防御模型.分层 ...

  9. 计算机网络 华南理工大学期末重点 第四章 网络层 谢希仁

    计算机网络 华南理工大学期末重点 第四章 网路层 <计算机网络(第七版)>谢希仁 前言 笔者是自动化专业,以下是大二上学期期末时,整理的一些复习笔记,既一些常考点,这是第四章<网络层 ...

  10. 鸟哥的Linux私房菜(服务器)- 第四章、连上 Internet

    第四章.连上 Internet 最近更新日期:2011/07/20 终于要来到修改 Linux 网络参数的章节了!在第二章的网络基础中, 我们知道主机要连上 Internet 需要一些正确的网络参数设 ...

最新文章

  1. 【题解】BZOJ 3065: 带插入区间K小值——替罪羊树套线段树
  2. 和12岁小同志搞创客开发:设计一款亮度可调节灯
  3. 八皇后问题 (递归 搜索)
  4. OAuth2.0学习(2-1)Spring Security OAuth2.0 开发指南
  5. WIN10升级的做法有待友好设计
  6. 【ML小结1】ML入门
  7. OpenGG.Clean.Player{喜歡看視頻用戶強推}
  8. 牛客网项目——项目开发(六):点赞,关注和取关,优化登录
  9. 怎样检测和应对数据集的Outliers
  10. iOS TouchID验证和Keychain结合使用
  11. 闲暇之余,纪录片推荐(B站)
  12. python注释可用于表明作者和版权信息_Python-注释帮助我们理解-No9
  13. zabbix 5.0中自定义监控单个IP的最大流量
  14. java英语单词测试_Java 英语单词自测
  15. MySQL亿级数据分页的奇妙经历
  16. python去除PDF中印章
  17. 大数据量10道面试题及解析
  18. SVN版本回退 revert to this revision
  19. 国家标准修订参与情况
  20. 项目经理、BIM中心、业主、工程建设、运维对BIM需要了解多少

热门文章

  1. 阳性水草与阴性水草的区分
  2. 小程序谷歌统计 Google Analytics
  3. 在线富文本html编辑,html编辑器 - 经典富文本网页在线编辑器 - HtmlEditor
  4. 网页中插入文本编辑器
  5. 财务需要哪些计算机能力,建设财务共享中心,财务人员应具备哪些能力?
  6. Java LeetCode每日一题-从易到难带你领略算法的魅力(一):上升下降字符串
  7. matlab subs eval,【荐】MATLAB求解符号表达式数值的方法:subs函数
  8. 一天一个小算法——最小生成树(kru Prm)
  9. 从一个字符串删除元音字母
  10. ubuntu下给谷歌chrome浏览器添加去广告的插件