TLS 协议-对称加密原理

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: TLS 协议-对称加密原理

这篇文章介绍一下 TLS 协议,TLS 有着 20 多年的历史,包括了很多种加密方式,下面通过学习对称加密原理和非对称加密原理对 TLS 协议加深理解。

1.TLS 设计的目的

  • 身份验证
  • 保密性
  • 完整性

2.TLS/SSL 发展史及通用模型

3.TLS 协议

  • Record 记录协议
  • 对称加密
  • Handshake 握手协议
  • 验证通讯双方的身份
  • 交换加解密的安全套件
  • 协商加密参数

4.TLS 安全密码套件

  • 密钥交换算法
  • 身份验证算法
  • 对称加密算法、强度、工作模式
  • 签名 hash 算法

5.对称加密示意图

6.基于 XOR 的对称加密原理


6.1 XOR 真值表

6.2 基于 XOR 的加密示意图

6.3 基于 XOR 的加密示意图

6.4 填充明文

上述加密过程是按位 XOR 操作,这就要求密钥序列和明文序列的长度保持一致,下面介绍若明文序列和密钥序列长度不一致的填充方法:

  • Block cipher 分组加密:将明文分成多个等长的 Block 模块,对每个模块分别加解密
  • 目的:当最后一个明文 Block 模块长度不足时,需要填充
  • 填充方法
  • 位填充:比 bit 位为单位来填充

  • 以字节为单位填充

7.对称加密工作模式

允许使用同一个分组密码密钥对多块数据加密,并且保证其安全性:

7.1 ECB(Electronic codebook)模式

  • 直接将明文分解为多个块,对每个块独立加密
  • 问题:无法隐藏数据特征(例如给一张图片加密之后图像特征可能还在)

7.2 CBC(Cipher-block chaining)模式

  • 每个明文块先与前一个密文块异或后,再加密
  • 问题:加密过程串行化

7.3 CTR(Counter)模式

  • 通过递增一个加密计数器以产生连续的密钥流
  • 问题:不能提供密文消息完整性校验(这个问题可以通过哈希函数校验码来解决)

7.4 GCM 模式

  • GCM 是在 CTR 模式的基础上增加一个 MAC 哈希值来校验数据完整性的:

8.AES 加密算法

AES 加密算法是比利时密码学家 Joan DaemenVincent Rijmen 两位设计的,又称为 Rijndael 加密算法,常用的填充算法是 PKCS7,常用的分组工作模式是 GCM

8.1 AES 的三种密钥长度

AES 分组的长度是 128 位(16 字节):

AES 密钥长度(32位比特) 分组长度(32位比特) 加密轮数
AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14

8.2 AES 加密步骤


  • 把明文按照 128 bit(16 字节) 拆分成若干个明文块,每个明文块是 4*4 矩阵
  • 按照选择的填充方式来填充最后一个明文块
  • 每一个明文块利用 AES 加密器和密钥,加密成密文块
  • 拼接所有的密文块,成为最终的密文结果

8.3 AES 加密流程

C = E(K,P),其中 E 为每一轮算法,每轮密钥皆不同:

  • 初始轮
  • AddRoundKey 轮密钥加
  • 普通轮
  • AddRoundKey 轮密钥加
  • SubBytes 字节替代
  • ShiftRows 行移位
  • MixColumns 列混合
  • 最终轮
  • SubBytes 字节替代
  • ShitRows 行移位
  • AddRoundKey 轮密钥加

相关文章
|
29天前
|
安全 网络安全 数据安全/隐私保护
SSL/TLS证书**是一种用于加密网络通信的数字证书
SSL/TLS证书**是一种用于加密网络通信的数字证书
79 6
|
1天前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
1月前
|
安全 网络协议 网络安全
【Azure 环境】从网络包中分析出TLS加密套件信息
An TLS 1.2 connection request was received from a remote client application, but non of the cipher suites supported by the client application are supported by the server. The connection request has failed. 从远程客户端应用程序收到 TLS 1.2 连接请求,但服务器不支持客户端应用程序支持的任何密码套件。连接请求失败。
|
1月前
|
存储 安全 数据安全/隐私保护
Docker中配置TLS加密的步骤
我们可以在 Docker 中成功配置 TLS 加密,增强 Docker 环境的安全性,保护容器之间以及与外界的通信安全。需要注意的是,在实际应用中,应根据具体情况进行更细致的配置和调整,确保符合安全要求。同时,定期更新证书和私钥,以保障安全性。
60 1
|
2月前
|
存储 安全 算法
网络安全与信息安全:构建数字世界的防线在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系现代社会正常运转的关键支柱。本文旨在深入探讨网络安全漏洞的成因与影响,剖析加密技术的原理与应用,并强调提升公众安全意识的重要性。通过这些综合性的知识分享,我们期望为读者提供一个全面而深刻的网络安全视角,助力个人与企业在数字时代中稳健前行。
本文聚焦网络安全与信息安全领域,详细阐述了网络安全漏洞的潜在威胁、加密技术的强大防护作用以及安全意识培养的紧迫性。通过对真实案例的分析,文章揭示了网络攻击的多样性和复杂性,强调了构建全方位、多层次防御体系的必要性。同时,结合当前技术发展趋势,展望了未来网络安全领域的新挑战与新机遇,呼吁社会各界共同努力,共筑数字世界的安全防线。
|
4月前
|
存储 算法 网络安全
二进制加密PHP Webshell原理及简单实现
二进制加密PHP Webshell原理及简单实现
134 8
|
5月前
|
缓存 网络协议 算法
(二)Java网络编程之爆肝HTTP、HTTPS、TLS协议及对称与非对称加密原理!
作为一名程序员,尤其是Java程序员,那必须得了解并掌握HTTP/HTTPS相关知识。因为在如今计算机网络通信中,HTTP协议的作用功不可没,无论是日常上网追剧、冲���、亦或是接口开发、调用等,必然存在HTTP的“影子”在内。尤其对于WEB开发者而言,HTTP几乎是每天会打交道的东西。
109 10
|
4月前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
427 0
|
5月前
|
算法 安全 Java
Java中MD5加密算法的原理与实现详解
Java中MD5加密算法的原理与实现详解
|
5月前
|
安全 网络协议 网络安全
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。
SSL(Secure Sockets Layer)是一种安全协议,用于在客户端和服务器之间建立加密的通信通道。

热门文章

最新文章