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

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据同步 1个月
简介: 带你读《2022技术人的百宝黑皮书》——HTTPS的原理浅析与本地开发实践(1)

HTTPS的原理浅析与本地开发实践

image.png作者:陈超(揽辰)

image.png出品:大淘宝技术

 

 

日常的开发过程中本地环境保持登录状态是前置条件,在校园B端业务模块的日常研发过程中,一般先通过预发环境登录,将登录态保存在taobao.com的domain下,然后在本地通过Vite/Webpack Server + Nginx + host的方式构造自定义域名(一级域名与登录态的domain一致),进而做下一步的开发工作。但是目前预发/生产的域名都是https协议,本地自定义的域名默认协议是http。因此,为了读取登录态信息,需要将本地的访问地址也配置成https协议。实现的过程主要是在本地通过OpenSSL工具按照x509证书标准生成自签证书,并将这个自签证书添加  到电脑的证书配置项中即可(具体操作过程可以关注明天的推送)。这个配置过程引起了我对数字证书与HTTPS议关系的好奇,因此做了下面的原理探究,下面就对这个探究的过程就一下记录,浅析HTTPS的实现原理,并将两 种配置证书的方式的具体操作步骤做了记录。

 

关键词

 

加密算法、数字签名、秘钥交换、Wireshark、OpenSSL

 

引言

 

首先就需要抛出一个问题,为什么HTTP协议的网址越来越少?我们可以通过下面这个典型的HTTP数据传输流程  看出它的问题 —— 即数据在Client/Server之间不加识别的明文传输。

image.png

 

 

 

明文传输和匿名发送对象也体现了互联网信息不可靠的典型特性:

  1. 篡改数据(伪造 —— 破坏数据一致性;
  2. 嗅探(偷窥 —— 破坏数据的安全性;

 

问题解法

 

—— 如果想解决http的这两个问题,我们需要如何改良它?

 

方案一:通过对称加密的方式传输数据

 

场景一:客户端与服务端交互,通过约定的对称秘钥加密传输数据,在前端资源加载时,仍然可以从数据中找出想要的秘钥;

场景二:客户端/服务端交互如果临时生成随机秘钥,在传输过程中仍然有被截获的风险;

问题:秘钥在网络中传输容易被拦截,假设秘钥泄露,密文全会被破解且无法确定发送方是否安全;

 

方案二:通过非对称加密的方式传输数据

 

场景:服务端产生秘钥对,公钥交给客户端,私钥自己保存,不会在互联网传输,安全性更高; 问题:

  1. 由于公钥是公开的,中间人可以篡改上行或者下行内容。该方案能解决上行数据安全性(密文传输,无法破解) 问题,但是无法解决下行数据的安全性问题(公开的公钥可以解密服务端返回的密文)。此外,数据一致性问题业务法保证,因为中间人可以假借公钥加密自己的数据给服务端,可以修改上行数据,或者中间人告知客户端的公钥为自己的秘钥对,进行修改下行数据。
  2. 非对称加密的效率偏低,不适合用于数据传输;

 

方案三:先客户端/服务端间通过非对称加密协商秘钥,然后用协商的秘钥  做后续的数据传输

 

场景:先客户端/服务端双方通过约定的某种秘钥协商算法在客户端计算出秘钥K,并通过公钥加密K传输给服务端,服务端通过私钥解密后,开始基于秘钥K做数据的对称加密传输。

问题:

  1. 固定的秘钥对和网络中传输的秘钥存在被窃取的可能,安全性并不牢固;
  2. 客户端/服务端在数据传输前没有做合法性校验,无法避免中间人攻击;

 

 

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

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