密码套件:密码,算法和协商安全设置

news2024/11/24 16:08:09

本文深入地研究TLS 1.2密码套件的四个不同组件。首先看看我们在SSL / TLS中看到的两种不同类型的加密。

两种加密

SSL/TLS的最大困惑之一就是所使用的加密类型,与SSL证书关联的2048位密钥用于帮助协商HTTPS连接,但是它的作用实际上比大多数人认为的要小得多。

我们似乎只专注于私钥的位数,如2048位的私钥,因为它听起来似乎很安全。我们甚至会大胆地认为,“现代计算机要花上四千万万年才能破解此密钥,到那时我们都已经死了!”

但是,可以说,你在连接期间使用的批量加密和对称密钥同等重要,甚至比公/私密钥对还重要。

对称加密涉及两个相同的密钥,顾名思义,它们是对称的。两个密钥都可以执行以下两个功能:加密和解密。这是你实际上与访问的网站进行通信所使用的加密类型。

相反,如果我们使用非对称加密,加解密使用的密钥并不对称,一个密钥用来加密,另一个密钥用来解密。非对称加密通常采用带TLS1.2的RSA形式,它负责验证数字签名,并且在使用RSA密钥交换时,它从加密计算出对称会话密钥的主密码,但是RSA并不是唯一的密钥交换机制。

对称加密密钥(通常为AES或高级加密标准)的密钥大小范围为128位到256位。对于对称加密,这是完全有效和安全的,在对称加密中,计算难度必须与可用性或者说与其加密性能保持一致。

那些2048位非对称RSA密钥的计算成本很高,并且增加了握手延迟。在某些实际应用中,它们还容易遭受填充攻击。

长话短说,这里既讲了非对称加密也讲了对称加密,但是对称加密在密码套件的上下文中关联性更强。

现在,让我们看一下密码套件的四个不同组件。

密钥交换

TLS 1.2密码套件中的第一个位置指定用于将要使用的密钥交换机制。

密钥交换是指用于传输对称会话密钥的实际过程,但这并不是密钥生成过程中使用的唯一算法。握手的密钥交换部分确定用于密钥生成的参数,但是散列算法在通过提供伪随机函数(PRF)(通常作为加密安全的伪随机数生成器“CSPRNG”)提供密钥的过程中也发挥着作用。

我们要明白的重要一点是,所选的密钥交换机制并不完全负责生成实际密钥。

RSA

RSA以创建它的绅士的名字命名:Rivest,Shamir和Adleman。这是最常见的非对称密码算法。它使用质数的幂运算,具有广泛的应用范围。使用SSL/TLS,通常会在密钥交换的上下文中看到使用RSA。同样,这是所有这些2048位(以及3072和4096位)密钥的来源。

每次握手,无论是否选择RSA密钥协商机制都会从ClientHello和ServerHello交换随机数。

一旦客户端和服务端决定使用包含RSA密钥交换的密码套件,并且在客户端对服务端进行身份验证之后,RSA的运行方式就非常简单。

1.客户端使用服务端发送的公钥来加密预主密钥并进行传输。

2.服务端使用其私钥解密预主密钥。

3.双方都使用PRF,客户端随机数,服务端随机和主机密码来导出主密钥。

4.双方都使用主密钥和更多伪随机函数来计算会话密钥。

在最后两个步骤3和4中,混合主密钥并派生会话密钥,在此利用散列算法的伪随机函数。

RSA密钥交换已经使用了很长时间,但是它已经寿终正寝了。由于已知漏洞,TLS 1.3除了所有其他静态密钥交换机制之外,还取消了RSA密钥交换。

Diffie-Hellman和椭圆曲线Diffie-Hellman

它们以惠特菲尔德·迪菲(Whitfield Diffie)和马丁·海尔曼(Martin Hellman)的名字命名,这是一个密钥交换协议,但它与RSA非对称加密协议并不相同。Diffie和Hellman在这里着手解决的问题是如何在不安全的网络上交换安全密钥,并由攻击者监视。

Diffie-Hellman密钥交换的工作方式如下:

1.在交换了随机数(g&p)之后,客户端和服务端都选择了自己的主控机密(分别为a&b),并计算出一个类似的方程式–gamodp = A,&gbmodp =B。

2.每个到达的值(A&B)被发送给对方,并且双方重复相同的操作-Bamodp和Abmodp。

各方提供所谓的“密钥共享”,并且他们各自独立地到达共享会话密钥。有一个模幂的规则规定了这一点。

如果这是很多数学运算,那么关键在于:使用Diffie-Hellman进行密钥交换时,实际上没有进行非对称加密,而是两方相互得出了可用于导出会话密钥的值。

现在让我们来谈谈椭圆曲线Diffie-Hellman,它基本上只是Diffie-Hellman的现代迭代,它受椭圆曲线密码学的支配,而不是其他一些密码系统。基本上,它使用绘制在椭圆曲线上的点作为其计算的基础。

首先,Diffie-Hellman需要牢记两点–在短暂使用时,它缺乏真正的身份验证机制。临时密钥是临时的,所以通常不进行身份验证。

其次,正如我们刚刚提到的,在TLS 1.3中,所有静态密钥生成/交换机制都已弃用。这基本上是废弃RSA的原因,它也消除了非短暂的DH方案。现在ECDHE或“椭圆曲线Diffie-Hellman临时”是密钥交换的标准。

因为在TLS 1.3中,Perfect Forward Secrecy是必须的。完美转发保密功能可保护各个会话免遭解密,即使证书的私钥被泄露也是如此。静态密钥交换方案不支持这一点。

PSK(共享密钥)

通常是写为TLS-PSK的密码,它是根据预先在各方之间交换的预共享对称密钥提供安全通信的。在这里我们就不讲PSK了,因为在高度管制的网络环境之外它还是很少见的,并且我们绝对不建议其作为商业用途。它也未包含在TLS 1.3中。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据资产与自助BI的一体化实践

01 数据资产中的数据治理 随着数据资源被提高到数据资产的高度,数据治理成为确保有效管理和利用数据资产的一组流程和技术,而数据资产目录是包含企业数据资产的全息描述信息的存储库,并充当有效管理数据资产的(逻辑上的&#xff…

EOCR-3E420,3EZ,3DE电机保护器与变频器配合使用的方法

上海韩施电气自动化设备有限公司提供 在工业现场中,电动机的起动与运行很多时候需要变频器参与其中,以达到降低电机维护成本、增加电机寿命的目的。采用变频器运转时,随着电机的加速相应提高频率和电压,起动电流被限制在 150%额定…

如何设置没有采购申请不允许创建采购订单(TCODE:OMET)<转载>

原文链接 : https://mp.weixin.qq.com/s/0kcj9JWltlZoYhmzlwvT5g 在SAP/ERP项目实施中可能经常会遇到这样的业务需求,在系统中创建采购订单PO必须要有采购申请PR,否则不允许创建采购订单,通常这样业务需求一般通过采购订单增强去实…

开源项目管理工具Helper的安装及汉化

什么是 Helper ? Helper 是基于 Laravel 和 Filament 的开源项目管理工具。 官方提供了在线演示:https://project-helper.net 安装 在群晖上以 Docker 方式安装。 数据库理论上是可以使用群晖自带的 MariaDB 的,但老苏为了省事&#xff0c…

kimera论文阅读

功能构成: Kimera包括四个关键模块: Kimera-VIO的核心是基于gtsam的VIO方法[45],使用IMUpreintegration和无结构视觉因子[27],并在EuRoC数据集上实现了最佳性能[19]; Kimera-RPGO:一种鲁棒姿态图优化(RPGO)方法,利用现代技术进…

踩坑记录一

先呼自己两耳巴 临床采集的增强CT数据,有时候是同时采集了静脉期和动脉期。就会导致图像多一分如下: 但是勾画的时候,是以下面的期相进行标注的。所以在训练分割,对于这种案例,他识别到了在上面一个期相的目标位置&am…

【实战纪实】XSS漏洞+敏感信息泄露

前言: 前段时间看过一篇关于ZLMediakit漏洞的文章,就想着去试一下,结果真找到一个目标站点。详情往下看。 一、信息收集 fofa语法: "ZLMediaKit" && org"China Education and Research Network …

【Orangepi Zero2 全志H616】驱动舵机控制 、Linux定时器(signal、setitimer)

一、SG90舵机开发 舵机基本介绍 二、Linux定时器 signal 函数setitimer 函数原型signal、setitimer函数API调用 三、舵机 软件PWM实现 一、SG90舵机开发 舵机基本介绍 如下图所示,最便宜的舵机sg90,常用三根或者四根接线,黄色为PWM信号控…

运用vioovi视与视标准工时工具,实现精益生产

在制造业领域,标准工时的测量和管理对于提高生产效率和降低成本至关重要。然而,传统的标准工时方法在面对日益增长的各种成本时显得力不从心。为了解决这一问题,企业需要采用一种更科学、更高效的方法来管理和优化生产流程。vioovi的视与视标…

分享一下报名缴费小程序怎么做

报名缴费小程序:一键解决你的报名难题 随着科技的飞速发展,微信小程序已经深入到我们生活的方方面面。从查询天气到预订餐厅,从购买电影票到预约健身教练,微信小程序几乎可以实现我们所有的日常需求。而今天,我们要为…

Verilog刷题[hdlbits] :Alwaysblock2

题目:Alwaysblock2 For hardware synthesis, there are two types of always blocks that are relevant: 对于硬件综合,有两种相关的always块: Combinational: always () 组合型:always ()Clocked: always (posedge clk) 时钟型…

文件下载(使用xhr)

第一种下载多种格式文档参数为拼接id get方法 import Cookies from js-cookie; // 下载 const fullNewName ref() const fileType ref() const onUpload async (row: any) > {fullNewName.value row.namefileType.value row.fileSuffixlet xhr new XMLHttpRequest();…

vue3中使用better-scroll

文章目录 需求分析安装htmlcssjs 需求分析 假设现在有这么一个需求,页面顶部有几个tabs导航,每一个tab下都有一个可以滑动的切换按钮。咱们就可以引入better-scroll来实现这个需求。 安装 首先下载better-scroll npm install better-scroll/core --…

汇编-变量

.386 .model flat,stdcall option casemap:none.data sum DWORD 0 ;创建一个全局变量,取名sum,初始化0 sum1 DWORD ? ;创建一个全局变量sum1,无初始化 ;问号(?)初始化值使得变量未被初始化,这意味着在运行时才会为该变量分配一个值 ;变量名…

【Linux】:使用git命令行 || 在github创建项目 || Linux第一个小程序——进度条(进阶版本)

在本章开始之前还是先给大家分享一张图片 这是C的笔试题 感兴趣的同学可以去试一试 有难度的哟 也可以直接在牛客网直接搜索这几道题目哈 好了今天我们正式进入我们的正题部分 🕖1.使用git命令行 安装git yum install git🕠2.在github创建项目 使用…

Tomcat的类加载器

详情可以参考:https://tomcat.apache.org/tomcat-10.1-doc/class-loader-howto.html 简要说明 Tomcat安装了多种类加载器,以便容器的不同部分、容器中的应用访问能够不同的类和资源。 在Java环境中,类加载器被组织为父-子树的形式。通常情况…

vue2和vue3 的双向绑定原理

前文: 都知道vue是双向绑定的mvvm框架,也一直再用,那么他到底是如何实现的呢?vue3又针对这点做了哪些升级呢? 这段时间也正好有空,下面我们来一起看看吧 一 、vue的双向绑定原理 那么什么是双向绑定呢 ? 一般我们所指的双向绑定都是指的数据,即当数据发生变化的时候,视图也…

I/O多路转接之poll

承接上文:I/O多路转接之select-CSDN博客 简介 poll原型介绍 select代码改造成poll型 poll优缺点 在前文中我们得知了,select的诸多缺点,接下来这个poll就可以解决上述出现的问题 poll也是一种Linux中的多路转接的方案,主要解决下…

[移动通讯]【Carrier Aggregation-12】【LTE Carrier Aggregation basics 】

前言: 参考: RF Wireless World: 《LTE Carrier Aggregation basics》 目录: Why Carrier Aggregation Carrier Aggregation in TDD LTE Carrier Aggregation in FDD LTE Carrier Aggregation frequency ba…

使用VNC链接远程桌面

一、本地VNC客户端 本地主要需要一个VNC客户端,用来远程连接服务器端的VNC(在不安装Web版本VNC情况下)。VNC客户端下载地址: VNC客户端下载 二、安装Xfce桌面环境 在远程服务器控制台中安装Xfce桌面(这个桌面环境比…