http、https、https原理

2024-09-05 13:44
文章标签 http https 原理

本文主要是介绍http、https、https原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. HTTP是超文本传输协议,明文传输,在传输的过程中可以对数据进行篡改或拦截
2. HTTPS是超文本传输安全协议,协议的主要功能都依赖于 SSL/TLS 协议实现的,SSL/TLS的功能实现主要涉及到三种算法:摘要算法、对称加密和非对称加密。
3. https中包含3种加密方法,对称加密、非对称加密、散列函数
4. 由于对称加密的计算量小、加密解密速度快,适合处理大量数据,因此客户端与服务端通信时传输数据使用对称加密的方式
5. 为了防止第三方也可以获取到对称加密的密钥,对密钥也需要进行加密。采用非对称加密对密钥进行加密,服务端生成一对公钥和私钥,公钥需要传递给客户端进行存储,用于对对称加密的密钥进行加密,那么如何确定该公钥是由服务端发送而不是其他人的呢?
  • 首先服务器向CA机构进行申请认证,提交服务端的公钥和服务方的相关信息。
  • CA利用单向散列函数(Hash函数)对公钥和服务方的信息进行运算,生成一串固定长度的数字摘要,同时这也是数字指纹,可用于判断数据有没有被篡改。
  • CA机构拥有一对公钥和私钥,CA使用私钥对数字摘要进行加密形成数字签名,数字签名和证书的明文信息共同组成数字证书。

‌SSL数字证书的内容包括多个关键信息,这些信息共同确保了证书的有效性和可信度。‌

  • 证书版本‌:指证书遵循的版本标准,如X.509v3。
  • 序列号‌:由CA(证书颁发机构)分配的唯一序列号,用于识别证书。
  • 签名算法‌:证书使用的签名算法,如SHA-256 with RSA。
  • 签发者‌:证书由哪个CA签发。
  • 有效期‌:证书的开始和结束日期。
  • 主题‌:证书所绑定的实体,通常是服务器的域名或IP地址。
  • 主题公钥‌:服务器用于加密通信的公钥。 ‌主题公钥算法‌:公钥使用的加密算法。
6. https的客户端向服务端发起请求后,会得到一份数字证书,客户端需要校验该证书的真实性、有效性。
  • 判断证书的有效期是否过期;
  • 判断证书的发布机构是否受信任(操作系统中已内置的受信任的证书发布机构);
  • 验证证书是否被篡改,从系统中拿到该证书发布机构的公钥,对数字签名解密,得到一个hash值(称为数据摘要),然后使用与CA机构同样的单向散列函数(Hash函数)计算整个证书的hash值,对比两个hash值是否相等,如果相等,则说明证书是没有被篡改过的;(如何确保与CA机构使用的是相同的hash函数,主要是通过公钥基础设施(PKI)的标准和规范来实现的,这些标准规定了证书的格式和验证方法,包括使用的hash算法)
  • 校验证书合法后,会随机生成密钥R
7. 对需要发送到服务器的数据使用密钥R进行加密,同时使用证书中的服务器的公钥对密钥R进行加密,将加密后的数据和密钥一起发送到服务端,服务端使用私钥解密得到密钥R后对接收的数据进行解密,并将密钥进行存储,至此以该密钥开始正式的资源交换。

这篇关于http、https、https原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1139129

相关文章

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Maven 配置中的 <mirror>绕过 HTTP 阻断机制的方法

《Maven配置中的<mirror>绕过HTTP阻断机制的方法》:本文主要介绍Maven配置中的<mirror>绕过HTTP阻断机制的方法,本文给大家分享问题原因及解决方案,感兴趣的朋友一... 目录一、问题场景:升级 Maven 后构建失败二、解决方案:通过 <mirror> 配置覆盖默认行为1. 配置示

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

Dubbo之SPI机制的实现原理和优势分析

《Dubbo之SPI机制的实现原理和优势分析》:本文主要介绍Dubbo之SPI机制的实现原理和优势,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Dubbo中SPI机制的实现原理和优势JDK 中的 SPI 机制解析Dubbo 中的 SPI 机制解析总结Dubbo中