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

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

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


数字签名(公钥数字签名)

 

image.png定义

只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名算法一般使用 RSA(非对称加密) + SHA256(安全摘要算法)。

 

image.png特点

解决了文件在发送过程中无法被篡改的问题,但是无法避免被中间人伪造。

 

image.pngRSA数字签名验证流程

 

 

 

RSA加密过程通式

image.png,公钥 = (e,n)

 

RSA解密过程通式

image.png

image.png   ,私钥 = (d,n) 秘钥对为 (e,d,n);

小明用自己的秘钥对生成签名过程:待签名的数据 => 哈希运算(SHA-256) => 文件哈希值(摘要) => 签名运算(RSA,私钥加密) => 数字签名;

小红拥有小明对外开发的公钥(PS:小红可能不知道,小明的公钥已经被替换成中间人的公钥),在收到小明的信息后,做签名验证;

公钥解密后的哈希值与待签名的文件哈希值对比,相同,则签名成立,否则签名不成立。

 

image.png数字签名的问题

小明传输的数字签名可以被另外一个具有秘钥对的中间人替换传输的文件。相当于中间人模仿了小明的“签名”。

image.png

 

 

 

这个问题出现的核心原因在于:小明的公钥被中间人的公钥替换了,小红自己无法判断当前的公钥是否是小明的! 所以,我们需要证明的是接收方拿到的公钥是发送方提供的,而不是中间人提供的。

 

基于当前的案例,我们如何证明小红接收到的公钥就是小明发送的,而非被他人篡改的呢?这就需要有一种公开的权威的认证机制 ——数字证书机制。

 

image.png数字证书

数字证书是利用非对称秘钥体系中,秘钥对的公钥和私钥是一一对应的特性,通过权威的证书签发机构(CA)签发证书预制秘钥,并将根证书预装在操作系统中,从而防止公钥被篡改。所以,数字证书可以用来证明公钥是属于某个认证用户的。

 

证书签发机构用自己的私钥对需要认证的人(或组织机构)的公钥施加数字签名并生成证书,即证书的本质就是对公钥施加数字签名。

 

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

相关文章
|
1天前
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
|
2天前
|
SQL DataWorks Java
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
14 1
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
|
2天前
|
Web App开发 前端开发 Java
SpringBoot配置HTTPS及开发调试
在实际开发过程中,如果后端需要启用https访问,通常项目启动后配置nginx代理再配置https,前端调用时高版本的chrome还会因为证书未信任导致调用失败,通过摸索整理一套开发调试下的https方案,特此分享
7 0
SpringBoot配置HTTPS及开发调试
|
5天前
|
安全 网络协议 算法
秒懂HTTPS接口(原理篇)
【4月更文挑战第24天】秒懂HTTPS接口(原理篇)
26 4
秒懂HTTPS接口(原理篇)
|
19天前
|
安全 网络协议 网络安全
网络原理(5)--HTTPS是如何进行加密的
网络原理(5)--HTTPS是如何进行加密的
12 0
|
2月前
|
运维 安全 Linux
CA认证与HTTPs原理介绍
CA认证与HTTPs原理介绍
28 2
|
2月前
|
安全 网络协议 算法
是时候理解下HTTPS的原理及流程了
是时候理解下HTTPS的原理及流程了
23 0
|
2月前
|
安全 搜索推荐 数据安全/隐私保护
深入探讨HTTPS协议的原理和工作流程
【2月更文挑战第10天】
36 4
深入探讨HTTPS协议的原理和工作流程
|
2月前
|
前端开发
webpack如何设置devServer启动项目为https协议
webpack如何设置devServer启动项目为https协议
148 0
|
2天前
|
网络协议 安全 算法
HTTP协议与HTTPS协议
HTTP协议与HTTPS协议