软考-系统架构师-信息安全技术基础知识(二)

七、加解密技术综合应用

7.1、业务场景

主体 :公司总部(发送方A) →\rightarrow→ 分部(接收方B)。

数据特征 :邮件附件很大,高达 2GB

7.2、安全需求拆解

7.2.1、以加密方式传输

保密性

技术难点 :数据太大(2GB),非对称加密太慢,必须用对称加密

架构方案混合加密(数字信封)。用对称密钥(K)加密数据,用非对称公钥加密对称密钥(K)。

7.2.2、发送者不可抵赖

认证性/不可否认性

技术方案数字签名 。必须使用发送方A的私钥签名。

7.2.3、第三方无法篡改

完整性

技术方案信息摘要。计算Hash值进行比对。

7.3、发送方 A 的操作 (封包)

7.3.1、处理数据 (明文)

生成一个随机对称密钥 K

使用 K2GB邮件明文 进行加密 →\rightarrow→ 生成 邮件密文

7.3.2、处理密钥 (K)

使用 接收方B 的公钥 (PbP_bPb)K 进行加密 →\rightarrow→ 生成 加密后的密钥K 。(注意: 给谁发,就用谁的公钥锁,保证只有B能解开)。

7.3.3、处理签名 (防抵赖)

邮件明文 进行摘要运算 →\rightarrow→ 生成 邮件摘要

使用 发送方A 的私钥 (SaS_aSa) 对摘要进行加密 →\rightarrow→ 生成 数字签名 。(注意: 我发的,我就用我的私钥盖章)。

7.4、接收方 B 的操作 (拆包)

7.4.1、解密密钥

使用 B 自己的私钥 (SbS_bSb) 解密 →\rightarrow→ 拿到 随机对称密钥 K

7.4.2、解密数据

使用拿到的 K 解密邮件密文 →\rightarrow→ 拿到 邮件明文

7.4.3、验证签名

计算摘要 :对拿到的邮件明文做摘要运算 →\rightarrow→ 生成 摘要1

解密签名 :使用 发送方A 的公钥 (PaP_aPa) 解密数字签名 →\rightarrow→ 拿到 摘要2

对比 :如果 摘要1 == 摘要2,证明:

  1. 数据没被改过(完整性)。
  2. 确实是A发的(认证性)。

7.5、完整流程图

接收方 B
发送方 A
摘要算法
A私钥Sa签名
对称密钥K加密
B公钥Pb加密
互联网传输
互联网传输
互联网传输
B私钥Sb解密
密钥K解密
摘要算法
A公钥Pa验签
一致
不一致
邮件明文
随机对称密钥K
接收方B公钥 Pb
发送方A私钥 Sa
邮件摘要
数字签名
邮件密文
加密的密钥K
数字签名
邮件密文
加密的密钥K
接收方B私钥 Sb
发送方A公钥 Pa
还原对称密钥K
还原邮件明文
计算新摘要
还原原摘要
对比摘要
验证成功:来源真实且未篡改
验证失败:被篡改或伪造

相关推荐
@insist12319 小时前
信息安全工程师-密码学专题(下):构建可信网络空间的核心机制
java·大数据·密码学·软考·信息安全工程师·软件水平考试
枷锁—sha20 小时前
【CTFshow-pwn系列】03_栈溢出【pwn 073】详解:静态编译下的自动化 ROP 链构建
网络·汇编·笔记·安全·网络安全·自动化
treesforest21 小时前
IP查询接口调用完全指南:从入门到企业级实战
大数据·网络·安全·网络安全·ip
网络安全许木21 小时前
自学渗透测试第28天(协议补漏与FTP抓包)
运维·服务器·网络安全·渗透测试·php
@insist1231 天前
信息安全工程师核心考点:物理与环境安全(上篇)
安全·软考·信息安全工程师·软件水平考试
其实防守也摸鱼1 天前
《SQL注入进阶实验:基于sqli-Labs的报错注入(Error-Based Injection)实战解析》
网络·数据库·sql·安全·网络安全·sql注入·报错注入
大方子1 天前
【好靶场】垂直越权任意添加用户
网络安全·好靶场
сокол1 天前
【网安-Web渗透测试-内网渗透】内网信息收集(工具)
服务器·windows·网络安全·系统安全
忡黑梨1 天前
eNSP_DHCP配置
c语言·网络·c++·python·算法·网络安全·智能路由器
a里啊里啊1 天前
软考-软件评测师:知识点整理(七)——软件工程
设计模式·软件工程·软考·uml·结构化开发·软件评测师·软件模型