带你读《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工作原理讲明白了!
【10月更文挑战第31天】
42 1
一张图就把HTTPS工作原理讲明白了!
|
3月前
|
安全 网络安全 数据安全/隐私保护
https的原理
https的原理
61 2
|
4月前
|
安全 算法 网络协议
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
50 2
|
4月前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
379 0
|
3月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
2月前
|
安全 网络协议 算法
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
195 4
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
|
6月前
|
安全 网络协议 网络安全
IP代理的三大协议:HTTP、HTTPS与SOCKS5的区别
**HTTP代理**适用于基本网页浏览,简单但不安全;**HTTPS代理**提供加密,适合保护隐私;**SOCKS5代理**灵活强大,支持TCP/UDP及认证,适用于绕过限制。选择代理协议应考虑安全、效率及匿名需求。
|
2月前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
110 4
|
3月前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
164 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
3月前
|
安全 网络协议 网络安全
在实现HTTPS时,有哪些常见的安全协议
在实现HTTPS时,有哪些常见的安全协议
142 1