带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(8)

简介: 带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(8)

带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(7)https://developer.aliyun.com/article/1340623?groupCode=taobaotech

image.png基于DH的秘钥协商(依靠秘钥交换算法) 客户端先连上服务端;

服务端生成一个随机数 s 作为自己的私钥,然后根据算法参数计算出公钥 S(算法参数通常是固定的); 服务端使用某种签名算法把“算法参数(模数P,基数G)和服务端公钥S”作为一个整体进行签名;

服务端把“算法参数(模数P,基数G)、服务端公钥S、签名”发送给客户端; 客户端收到后验证签名是否有效;

客户端生成一个随机数 c 作为自己的私钥,然后根据算法参数计算出公钥 C; 客户端把 C 发送给服务端;

客户端和服务端(根据上述 DH 算法)各自计算出 K 作为会话密钥;

image.png

 

 

 

DH协商秘钥协商算法计算性能不佳,因为协商过程中双方都需要做大量的乘法运算,为了提升 DHE算法的性能, 所以就出现了现在广泛用于密钥交换算法 —— ECDHE算法。

 

image.png基于ECDHE的秘钥协商

ECDHE 算法是在 DHE 算法的基础上利用了 ECC 椭圆曲线特性,可以用更少的计算量计算出公钥,以及最终的会话密钥。

 

小红和小明使用 ECDHE 密钥交换算法的过程:

  1. 双方事先确定好使用的椭圆曲线类型以及曲线上的基点 G,这两个参数都是公开的,一般采用密码学中比较著名的椭圆曲线函数,例如本次会话用到的Curve25519曲线;
  2. 双方各自随机生成一个随机数作为私钥d,并与基点 G相乘得到公钥Q(Q = dG),此时小红的公私钥为 Q1 d1,小明的公私钥为 Q2 d2;
  3. 双方交换各自的公钥Q1和Q2;
  4. image.png通过椭圆曲线特性计算得到相同的x坐标作为协商秘钥K,过程如下: 小红计算点

小明计算点

image.png基于椭圆曲线的特 d1Q2 = d1d2G = d2d1G = d2Q1 ,因此双方 x 是相等的,所以它是共享密钥, 也就是会话密钥。(详细的数学原 :https://www.cnblogs.com/kalafinaian/p/7392505.html)

 

这个过程中,双方的私钥都是随机、临时生成的,都是不公开的,即使根据公开的信息(椭圆曲线、公钥、基点G)也是很难计算出椭圆曲线上的离散对数(私钥)。

 

第三步:Server Hello done,S端已经完成向C端的消息发送;

image.png

 

 

 

带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(9)https://developer.aliyun.com/article/1340621?groupCode=taobaotech

相关文章
|
11天前
|
安全 算法 网络安全
一张图就把HTTPS工作原理讲明白了!
【10月更文挑战第31天】
26 1
一张图就把HTTPS工作原理讲明白了!
|
2月前
|
安全 网络安全 数据安全/隐私保护
https的原理
https的原理
56 2
|
3月前
|
安全 算法 网络协议
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
46 2
|
3月前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
317 0
|
4月前
|
缓存 网络协议 算法
(二)Java网络编程之爆肝HTTP、HTTPS、TLS协议及对称与非对称加密原理!
作为一名程序员,尤其是Java程序员,那必须得了解并掌握HTTP/HTTPS相关知识。因为在如今计算机网络通信中,HTTP协议的作用功不可没,无论是日常上网追剧、冲���、亦或是接口开发、调用等,必然存在HTTP的“影子”在内。尤其对于WEB开发者而言,HTTP几乎是每天会打交道的东西。
96 10
|
6月前
|
网络协议 网络安全
【网络安全 | HTTP】 gopher协议原理、语法及利用总结
【网络安全 | HTTP】 gopher协议原理、语法及利用总结
340 0
|
6月前
|
安全 搜索推荐 数据安全/隐私保护
深入探讨HTTPS协议的原理和工作流程
【2月更文挑战第10天】
289 4
深入探讨HTTPS协议的原理和工作流程
|
安全 算法 网络协议
HTTP 和 HTTPS 协议原理【网络基础】
HTTP 和 HTTPS 协议原理【网络基础】
82 1
|
11月前
|
安全 算法 网络协议
【计算机网络】HTTPS协议原理
【计算机网络】HTTPS协议原理
70 0
|
算法 数据挖掘 区块链
HTTP/2 协议-HPACK(HTTP2 头部压缩)原理介绍
HTTP/2 协议-HPACK(HTTP2 头部压缩)原理介绍
625 0