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服务器进行校验。

判断证书是否被吊销。

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

目录
相关文章
|
3月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
1月前
|
安全 算法 网络安全
HTTPS原理
HTTPS 通过加密、数字证书、握手过程等多种手段,确保了网络通信的安全和可靠。它为用户提供了更高级别的隐私保护和数据安全,是现代互联网中重要的安全保障机制。随着网络安全威胁的不断增加,HTTPS 的应用也越来越广泛,成为保障网络安全的重要基石。
122 70
|
2天前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
4天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
34 1
|
1月前
|
安全 搜索推荐 网络安全
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
HTTPS协议是**一种通过计算机网络进行安全通信的传输协议
60 11
|
1月前
|
缓存 安全 网络协议
HTTPS协议的历史发展
HTTPS协议的历史发展
44 8
|
1月前
|
安全 算法 网络安全
一张图就把HTTPS工作原理讲明白了!
【10月更文挑战第31天】
66 1
一张图就把HTTPS工作原理讲明白了!
|
1月前
|
安全 应用服务中间件 Linux
判断一个网站是否使用HTTPS协议
判断一个网站是否使用HTTPS协议
57 4
|
2月前
|
安全 网络协议 算法
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
244 4
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
|
1月前
|
安全 算法 网络协议
网易面试:说说 HTTPS 原理?HTTPS 如何保证 数据安全?
45岁老架构师尼恩在其读者交流群中分享了关于HTTP与HTTPS的深入解析,特别针对近期面试中常问的HTTPS相关问题进行了详细解答。文章首先回顾了HTTP的工作原理,指出了HTTP明文传输带来的三大风险:窃听、篡改和冒充。随后介绍了HTTPS如何通过结合非对称加密和对称加密来解决这些问题,确保数据传输的安全性。尼恩还详细解释了HTTPS的握手过程,包括如何通过CA数字证书验证服务器身份,防止中间人攻击。最后,尼恩强调了掌握这些核心技术的重要性,并推荐了自己的技术资料,帮助读者更好地准备面试,提高技术水平。