HTTPS协议实现的原理

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: HTTPS协议,相关的概念包括SSL、非对称加密、CA证书先说一下什么是对称加密和非对称加密。双方加密解密都用相同密钥的算法,称为对称加密算法。使用对称加密的缺点,使用对称加密双方都知道密钥和算法。加密解密用的是一个密钥,加密是正向的过程,解密是逆向过程。

HTTPS协议,相关的概念包括SSL、非对称加密、CA证书

先说一下什么是对称加密和非对称加密。

双方加密解密都用相同密钥的算法,称为对称加密算法。

使用对称加密的缺点,使用对称加密双方都知道密钥和算法。加密解密用的是一个密钥,加密是正向的过程,解密是逆向过程。

非对称加密,在非对称加密中,加密和解密用的不是一个密钥,当开发一个网站,我们的用户之间的通信用非对称加密。用户发送请求时,用户用一把钥匙加密数据,服务端用另一把钥匙解密。在这个过程中,服务端拥有的是私钥,用户拥有的是公钥,很多用户可以使用同一个公钥,只有服务端才拥有私钥。

公钥发送的数据必须用私钥解密,私钥发送的数据必须用公钥解密。网站发送数据给用户,用私钥加密,用户用公钥解密。用户发送数据给网站时,用公钥加密,网站用私钥解密。如果公钥不小心被盗,无法通过公钥篡改数据,因为他拿不到私钥。

在非对称加密中,密钥通常是由提供服务的一方创建的。每次创建是一对公私钥对,然后提供者将公钥给用户,私钥自己保留。

接下来说下HTTPS协议的原理,大家都会说HTTPS协议是安全的,因为对传输的数据进行了加密,而加密过程使用了非对称加密。但是实际上,非对称加密只是用在了证书验证上,而内容的传输使用的是对称加密。

HTTPS整理过程分为证书验证和数据传输阶段。具体交互如下。
image.png

HTTPS协议实现的原理
第一个阶段是,证书验证阶段,

浏览器向服务端发起HTTPS请求,

服务端返回HTTPS证书(包含公钥)

客户端验证证书是否合法,如果不合法就是发出告警提示。

第二个阶段是,数据传输阶段

当证书验证合法后,再本地生成随机数

通过公钥加密随机数,并把加密后的随机数传输到服务端。

服务端通过私钥对随机数进行解密

服务端通过客户端传入的随机数构造对称加密算法,对返回结果内容进行加密后传输。

那么为什么数据传输使用的对称加密呢?

首先非对称加密的加密和解密效率非常低,但是客户端和服务端一般存在大量的交互,非对称加密的效率无法接受。另外,在HTTPS的场景中只有服务端保存了私钥,一对公私钥只能实现单向的加解密,所以HTTPS中内容传输加密采取的是对称加密。

为什么需要CA认证机构颁发证书?

HTTP协议被认为不安全是因为传输过程容易被监听者监听、伪造服务器。而HTTPS协议主要解决的是网络传输的安全性问题。假设不存在认证机构的时候,任何人都可以制作证书,这样就会存在一个安全风险,中间人攻击。由于缺少对证书的验证,所以客户端虽然发起的是HTTPS请求,但是客户端完全不知道自己的网络被拦截了,传输内容被中间人全部窃取。

那么浏览器是如何保证CA证书的合法性?

证书包含了信息如下:

颁发机构信息

公钥

公司信息

域名

有效期

浏览器是如何验证证书的合法性?

浏览器发起的HTTPS请求时,服务端会返回网站的SSL证书,浏览器需要对证书做以下验证:

验证域名、有效期等信息是否正确。证书上都包含这些信息,比较容易完成验证。

判断证书来源是否合法,每份签发证书都可以根据验证链查找到对应的根证书,操作系统、浏览器会在本地存储权威机构的根证书,利用本地根证书可以对对应机构签发证书完成来源验证。

判断证书是否被篡改。需要与CA服务器进行校验。

判断证书是否被吊销。

如果验证不通过浏览器通常会提示安全风险,但不限制网站不能访问。

目录
相关文章
|
8天前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
4月前
|
安全 网络协议 网络安全
IP代理的三大协议:HTTP、HTTPS与SOCKS5的区别
**HTTP代理**适用于基本网页浏览,简单但不安全;**HTTPS代理**提供加密,适合保护隐私;**SOCKS5代理**灵活强大,支持TCP/UDP及认证,适用于绕过限制。选择代理协议应考虑安全、效率及匿名需求。
|
1月前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
80 8
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
|
6天前
|
安全 网络协议 网络安全
在实现HTTPS时,有哪些常见的安全协议
在实现HTTPS时,有哪些常见的安全协议
|
19天前
|
安全 网络安全 数据安全/隐私保护
https的原理
https的原理
23 2
|
21天前
|
监控 安全 应用服务中间件
如何配置HTTPS协议?
如何配置HTTPS协议?
34 4
|
21天前
|
安全 网络安全 数据安全/隐私保护
HTTP与HTTPS协议区别及应用场景
在互联网高速发展的今天,HTTP与HTTPS作为数据传输的基石,作用至关重要。HTTP允许客户端与服务器间传输超文本文档,但其数据传输过程未加密,存在安全隐患;HTTPS则在此基础上加入了SSL/TLS协议,实现了数据加密传输,增强了安全性,广泛应用于电子商务、网上银行、政府网站及社交媒体平台等涉及敏感信息传输的领域,有效保护了用户隐私和数据安全。随着网络安全意识提升,HTTPS正逐渐成为主流。
|
2月前
|
安全 算法 网络协议
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
【在Linux世界中追寻伟大的One Piece】HTTPS协议原理
41 2
|
3月前
|
缓存 网络协议 算法
(二)Java网络编程之爆肝HTTP、HTTPS、TLS协议及对称与非对称加密原理!
作为一名程序员,尤其是Java程序员,那必须得了解并掌握HTTP/HTTPS相关知识。因为在如今计算机网络通信中,HTTP协议的作用功不可没,无论是日常上网追剧、冲���、亦或是接口开发、调用等,必然存在HTTP的“影子”在内。尤其对于WEB开发者而言,HTTP几乎是每天会打交道的东西。
71 10
|
2月前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
103 0
下一篇
无影云桌面