HTTPS的介绍以及工作过程

目录

一.HTTPS是什么?

HTTPS的介绍 

 HTTPS产生的背景

二.https的安全机制

加密是什么

如何加密

客户端如何获取公钥

总结


🎁 个人主页: tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主
🎥 本文由 tq02 原创,首发于 CSDN🙉
🎄 本章讲解内容:HTTPS的学习  

在学习本文之前,需要学习http的详细知识,才能明白什么是https,以及它的作用。

http详解链接: http://t.csdnimg.cn/TnKcz


  🎥学习专栏:   C语言          JavaSE        MySQL基础      多线程学习

一.HTTPS是什么?

HTTPS的介绍 

     https是应用层协议. 是在 HTTP 协议的基础上引入了一个加密层。而为什么需要出现加密层呢?

原因:HTTP 协议内容都是按照文本的方式明文传输的. 这就导致在传输过程中出现一些被篡改的情况.

 HTTPS产生的背景

        当时主流使用HTTP,但是发生了一件事情,导致HTTPS的产生。运营商劫持

什么是运营商劫持呢?

        就是当你在浏览器里下载软件时,某移、某通和某信的的网络设备(路由器, 交换机等)会接收到你网络的网络传输的任何的数据包,运营商的网络设备就可以解析出你传输的数据内容, 并进行篡改。

简单而言,当你需要下载酷狗音乐时,给服务器发送HTTP请求,但是被运营商劫持了,而且被发现了你要下载的内容,而它却给你修改为了QQ音乐的下载链接。

运营商这样的目的:为了流量,为了万物之源----钱。

思考一下:http传输数据竟然如此容易会被发现,那么对于黑客而言,也可以窃取用户隐私信息, 或者篡改内容。因此很不安全!!!

二.https的安全机制

        由于http的传输等方面很棒,但是如果因为不安全而放弃重新研发,那么成本太高,因此我们可以通过在HTTP,在其本身上下手,在其基础上进行加密操作!

加密是什么

http传输的是明文,加密就是把明文进行一系列操作,生成密文

                                解密就是把 密文 再进行一系列变换, 还原成 明文 .

在这个加密和解密的过程中 , 往往需要一个或者多个中间的数据 , 辅助进行这个过程 , 这样的数据称为

如何加密

        加密的方式有很多, 但是整体可以分成两大类: 对称加密 非对称加密

对称加密:
        对称加密其实就是通过同一个 " 密钥 " , 把明文加密成密文 , 并且也能把密文解密成明文 .

举例 简单对称加密---按位异或

        明文 a = 1234, 密钥 key = 8888;加密 a ^ key 得到的密文 b 为 9834.
             针对密文 9834 再次进行运算 b ^ key, 得到的就是原来的明文 1234.    
注: 按位异或只是最简单的对称加密. HTTPS 中并不是使用按位异或.                               

而使用了对称加密,即使数据被截获了,黑客不会知道密钥是什么!但是实际上并没有那么简单!

原因:每个客户端的密钥必须是不同的,不然大部分人用一样的,那么相同密钥扩散太多,黑客也能拿到。而服务器真的可以维护每一个客户端和密钥之间的关联关系吗?不能。

因此就出现了一种,双方先沟通,协商密钥是什么,在进行密钥传输的方式。

如上图的形式,但是傻子也看得出来,第一次就这样传输,黑客不就知道了吗?因此为了争对第一次的传输,我们引入非对称加密。

非对称加密
        非对称加密要用到两个密钥, 一个叫做 " 公钥 ", 一个叫做 " 私钥 "
公钥和私钥是配对的 . 最大的缺点就是 运算速度非常慢 ,比对称加密要慢很多 .
  • 通过公钥对明文加密 , 变成密文
  • 通过私钥对密文解密, 变成明文
注:也可以反着使用。

用法:A 要给 B 一些重要的文件, 但是 B 可能不在. 于是 A B 提前做出约定: B 说: 我桌子上有个盒子, 然后我给你一把锁, 你把文件放盒子里用锁锁上, 然后我回头拿着钥匙来 开锁取文件. 在这个场景中, 这把锁就相当于公钥, 钥匙就是私钥. 公钥给谁都行(不怕泄露), 但是私钥只有 B 自己持有. 持有私钥的人才能解密.

  • 客户端在本地生成对称密钥, 通过公钥加密, 发送给服务器.
  • 由于中间的网络设备没有私钥, 即使截获了数据, 也无法还原出内部的原文, 也就无法获取到对称密
  • 服务器通过私钥解密, 还原出客户端发送的对称密钥. 并且使用这个对称密钥加密给客户端返回的响应数据.
  • 后续客户端和服务器的通信都只用对称加密即可

客户端如何获取公钥

        有没有想过,如果一开始就有公钥,那为什么还需要密钥呢?不就是应该客户端一个密钥吗?因此,我们需要明白公钥如何获取!

获取公钥:        

        在客户端和服务器刚一建立连接的时候, 服务器给客户端返回一个 证书(包含了刚才的公钥, 也包含了网站的身份信息. )

    客户端取得证书,对证书进行校验,防止伪造的可能。校验手段

  • 判定证书的有效期是否过期
  • 判定证书的发布机构是否受信任(操作系统中已内置的受信任的证书发布机构).
  • 验证证书是否被篡改: 从系统中拿到该证书发布机构的公钥, 对签名解密, 得到一个 hash (称为据摘要), 设为 hash1. 然后计算整个证书的 hash , 设为 hash2. 对比 hash1 hash2 是否相等. 如果相等, 则说明证书是没有被篡改过的.

证书含有以下信息:

  • 证书发布机构
  • 证书有效期
  • 公钥
  • 证书所有者
  • 签名

也就是说,靠证书获取服务器赠的公钥!!!

总结

        HTTPS就是HTTP的基础上加密了,更加安全,不会轻易被黑客盗取信息。而加密方式:使用了密钥加密。

工作流程分三步:

  1. 第一组 ( 非对称加密 ) : 用于校验证书是否被篡改 . 服务器持有私钥 ( 私钥在注册证书时获得 ), 客户端持有公 钥( 操作系统包含了可信任的 CA 认证机构有哪些 , 同时持有对应的公钥 ). 服务器使用这个私钥对证书的签名进行加密. 客户端通过这个公钥解密获取到证书的签名 , 从而校验证书内容是否是篡改过
  2. 第二组 ( 非对称加密 ): 用于协商生成对称加密的密钥 . 服务器生成这组 私钥 - 公钥 对 , 然后通过证书把公钥传递给客户端. 然后客户端用这个公钥给生成的对称加密的密钥加密 , 传输给服务器 , 服务器通过私钥解密获取到对称加密密钥.
  3. 第三组 ( 对称加密 ): 客户端和服务器后续传输的数据都通过这个对称密钥加密解密 .
tq02
关注 关注
  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
工作流挖掘介绍.ppt
09-22
简单来说,工作流挖掘(workflow mining WM) ,又称过程挖掘(process mining PM) 是业务流程管理(business process management, BPM)研究的一项重要内容。 工作流挖掘是建立从信息系统的执行日志中提取出被记录的商业行为的结构化的过程模型。这项技术称之为“工作流挖掘”workflow mining WM)或“过程挖掘” 。 这种建模方式采用数据挖掘思想,通过分析业务交互记录(即工作流日志),通过挖掘算法自动化推导企业工作流模型。 工作流挖掘相关知识 工作流挖掘简单介绍 工作流挖掘的发展与现状 工作流挖掘方法与比较 几种工作流算法的介绍与相关软件
HTTPS 协议核心原理
qq_53111905的博客
03-16 7570
HTTPS 协议核心原理 “安全”的四个特性 机密性(加解密) 完整性(摘要算法) 身份认证(接收方确认身份) 不可抵赖(发送方不能否认自己的行为) 后两个通过私钥加密,公钥解密 以及 摘要算法实现的数字签名 进行实现 对称加密 对称加密: 客户端和服务器共享同一个密钥,客户端给服务器发消息时,客户端用此密钥加密,服务器用此密钥解密;反过来,服务器给客户端发消息时,相反的过程。 这种加密方式在互联网上有两个问题: **1. 密钥如何传输?**密钥A的传输也需要另外一个密钥B,密钥B的传
获取https证书公钥
ly_20104803的博客
05-15 6969
直接上代码: CertificateFactory certificate_factory = CertificateFactory.getInstance("X.509"); FileInputStream file_inputstream = new FileInputStream(CA_Name); X509Certificate x509certificate = (X509Cert...
HTTPS 之共享秘钥 公钥 及 私钥
热门推荐
蜗牛
03-16 1万+
HTTPS 之共享秘钥 公钥 及 私钥 一 共享秘钥 1.1 概念 共享秘钥和我们生活中同一把锁的钥匙概念类似,对同一把锁来说,加锁时使用什么钥匙,解锁也必须使用同样的钥匙。 1.2 共享秘钥在HTTP传输中的缺点 以共享密钥方式加密时必须将密钥也发给对方。在互联网上转发密钥时,如果通信被监听,那么密钥就可会落入攻击者之手,同时也就失去了加密的意义。另外还得设法安全地保管...
详解HTTPS连接过程
疯狂撸代码的奋青博客
05-11 5719
SSL建立连接过程 client向server发送请求https://baidu.com,然后连接到server的443端口,发送的信息主要是随机值1和客户端支持的加密算法。 server接收到信息之后给予client响应握手信息,包括随机值2和匹配好的协商加密算法,这个加密算法一定是client发送给server加密算法的子集。 随即server给client发送第二个响应报文是数字证书。服务端必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访
HTTPS协议工作流程(原理)
m0_65004039的博客
10-28 3750
Http作为网络上的常用协议,主要用于浏览器端到服务器端的通信,是应用层的协议,在运输层基于TCP协议而完成数据的传输,而Https是安全的HTTP协议,在HTTP的基础上附加了SSL(安全套接层),通过一系列的机制实现了浏览器和服务器之间的安全数据传输。用户通过浏览器请求https网站,服务器收到请求,选择浏览器支持的加密和hash算法,同时返回数字证书给浏览器,包含颁发机构、网址、公钥、证书有效期等信息。浏览器对证书的内容进行校验,如果有问题,则会有一个提示警告。否则,就生成随机秘钥X。
Dubbo详细介绍与安装使用过程
03-01
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构当网站流量很小时,只需一个应用,将...
TMS320VC5509工作基本条件以及过程
08-19
文章主要介绍了TMS320VC5509工作的基本条件以及工作过程
编译器工作过程的11步
08-02
本文简要介绍编译器工作过程的11步。
HTTP网络协议的请求方法,具体详解(2024-04-26)
hap1994的博客
04-26 1045
即,是一种实现和服务器之间通信的响应协议,它是用作客户端和服务器之间的请求根据 HTTP 标准,HTTP 请求可以使用多种请求方法。
如何用JS校验HTTPHTTPS地址
qq_43474235的博客
04-21 405
在日常开发过程中,我们有时候对某些应用功能进行封装,但是在请求接口又不能写死,这个时候我们需要对他进行多方面考虑。
【QT进阶】Qt http编程之实现websocket client客户端
LF__plus的博客
04-23 1287
【QT进阶】Qt http编程之实现websocket client客户端
网站HTTP怎么改成HTTPS?——免费版
JoySSL230907的博客
04-23 1400
不用您花一分钱,SSL证书免费使用90天,并且还支持连续签发。在这里,你可以申请到免费单域名证书、免费多域名证书以及免费通配符证书。在这里,你可以申请到免费单域名证书、免费多域名证书以及免费通配符证书。- 打开服务器管理软件(如Apache、Nginx),找到配置文件,告诉它新证书的位置,让它开始监听HTTPS(443端口)。永久免费SSL证书_永久免费https证书_永久免费ssl证书申请-JoySSL。永久免费SSL证书_永久免费https证书_永久免费ssl证书申请-JoySSL。
HTTP慢连接攻击的原理和防范措施
dexunyun的博客
04-23 697
HTTP慢速连接攻击是CC攻击的变种,对任何一个允许HTTP访问的服务器,攻击者先在客户端上向该服务器建立一个content-length比较大的连接,然后通过该连接以非常低的速度(例如,1秒~10秒发一个字节)向服务器发包,并维持该连接不断开。攻击者就是利用了这点,对服务器发起一个HTTP请求,一直不停的发送HTTP头部,但是HTTP头字段不发送结束符,之后发送其他字段,而服务器在处理之前需要先接收完所有的HTTP头部,导致连接一直被占用,这样就消耗了服务器的连接和内存资源;
【QT进阶】Qt http编程之http相关类的简单介绍
LF__plus的博客
04-21 965
【QT进阶】Qt http编程之http相关类QNetworkAccessManager与QNetworkRequest的简单介绍
TCP/IP协议—HTTP
起风的博客
04-18 1551
超文本传输协议(Hypertext Transfer Protocol,HTTP)是一种请求-响应的协议,用户可以通过HTTP向服务器上传、下载数据。HTTP基于TCP协议,是web应用中最主要的应用层协议,比如浏览器上网就是使用HTTP协议。超文本安全传输协议(Hypertext Transfer Protocol Secure,HTTPS)是加入安全加密的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTP应答报文与HTTP请求报文格式类似,区别在与请求行。
了解HTTP代理服务器:优势、分类及应用实践
最新发布
qq_42992840的博客
04-26 379
通过缓存服务器的方式,它可以将客户端请求的资源暂时保存在本地,当其他客户端再次请求相同的资源时,它可以直接返回本地缓存的副本,减少了对服务器的访问,从而提高了访问速度。通过配置代理服务器的规则,我们可以限制特定的网络访问,屏蔽恶意网站或内容,保护用户的网络安全。那么,HTTP代理服务器到底是什么?在内容过滤方面,代理服务器可以根据配置的规则过滤恶意网站、广告和垃圾邮件等内容,提供更加清洁和安全的网络环境。在加速访问方面,代理服务器通过缓存和压缩技术,可以加快用户对网页和文件的访问速度,提供更好的用户体验。
HTTP和SOCKS代理的区别及应用场景解析
qq_42992840的博客
04-26 151
HTTP代理是基于HTTP协议的代理服务器,主要用于代理浏览器的访问。SOCKS代理适用于各种应用协议的代理需求,特别是对于需要使用TCP和UDP的应用程序,如聊天软件、P2P下载等。速度和灵活性:由于不需要解析应用协议,SOCKS代理通常比HTTP代理快速,并且可以更灵活地适应不同的应用需求。协议层级:HTTP代理在应用层上运行,而SOCKS代理在传输层上运行,只传输数据包而不关心具体的应用协议。功能差异:HTTP代理只适用于HTTP协议,而SOCKS代理支持各种应用协议,包括HTTP
http实现反向代理
weixin_39755186的博客
04-23 614
【代码】http实现反向代理。
详细介绍ISD1820芯片内部工作电路的工作过程
05-30
ISD1820芯片是一种高性能语音录放芯片,内部集成了模拟信号采集、数字信号处理、存储和输出等功能模块。其工作电路主要分为四个部分:信号采集、信号处理、存储器、输出。 1. 信号采集:ISD1820通过电容麦克风采集外部声音信号,经过前置放大电路和带通滤波器进行放大和滤波,从而得到一个高质量的语音信号。 2. 信号处理:经过信号采集后的语音信号被送入语音识别模块,该模块通过数字信号处理技术将语音信号转换为数字信号,然后对数字信号进行预处理、特征提取和模式识别等操作,从而实现对语音信号的识别。 3. 存储器:ISD1820芯片内部集成了一块EEPROM存储器,用于存储语音数据。它具有较大的存储容量,可以存储数分钟的语音数据。在录音模式下,将语音信号保存到存储器中;在播放模式下,从存储器中读取语音数据并进行播放。 4. 输出:ISD1820芯片的输出信号可以通过直接连接扬声器或外部放大器进行输出。在录音模式下,将语音信号保存到存储器中;在播放模式下,从存储器中读取语音数据并进行播放。 总的来说,ISD1820芯片的工作过程是:采集外部声音信号,经过信号处理和存储后,输出语音信号,从而实现语音录放功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 什么是线程?为什么需要线程?和进程的区别? 14013
  • MySQL的下载安装以及环境配置---图文教程 6506
  • MySQL---表数据高效率查询(简述) 6083
  • Java之文件操作与IO 5512
  • MySQL数据库:数据库的约束以及数据的聚合、联合查询 4682

分类专栏

  • Spring 12篇
  • 疑难杂问 1篇
  • JavaEE 11篇
  • 网络基础 3篇
  • Java数据结构 7篇
  • MySQL 11篇
  • Java 18篇
  • Java-web 5篇
  • Java习题 1篇
  • C++ 1篇
  • C语言 24篇

最新评论

  • 循环队列讲解,以及Java实现代码

    懵懂肤小狼: 不错不错,真正讲清楚了表情包

  • Spring之IOC容器

    tq02: 两种获得Bean的代码里getBean()方法,bean的命名是大驼峰时,获取应该使用小驼峰。如果bean不是大驼峰,获取时,使用全名!

  • Java之文件操作与IO

    阿J~: 支持博主,欢迎回赞哦~

  • Linux 的介绍和云服务器上web 程序部署

    vnjohn: 优质好文,博主的文章细节很到位,兼顾实用性和可操作性,感谢博主的分享,文章思路清晰,图文并茂,详略得当,三连支持,期待博主持续输出好文!

  • Linux 的介绍和云服务器上web 程序部署

    花果山~程序猿: 讲解的很详细,支持博主表情包,期待更新!

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • SpringBoot的日志
  • SpringBoot配置文件
  • JAVA之Spring入门导读
2024年13篇
2023年66篇
2022年16篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tq02

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司延边seo排名报价昆明网站seo优化多少钱保定网络推广公司孝感营销型网站建设伊春网站关键词优化推荐周口设计网站报价梅州品牌网站设计推荐开封网站定制价格沧州SEO按天收费哪家好扬州百姓网标王推广横岗百度竞价多少钱阿里关键词按天扣费哪家好乐山网站搭建多少钱红河网站排名优化公司南平网站优化多少钱许昌SEO按天计费多少钱和田外贸网站设计推荐永新企业网站改版公司抚州网站优化排名多少钱垦利网页制作推荐临猗高端网站设计哪家好邯郸网站推广推荐许昌网站建设设计哪家好广州网站优化哪家好大浪营销型网站建设多少钱东莞网页设计报价揭阳百姓网标王公司益阳优化多少钱海东SEO按天扣费价格沧州英文网站建设报价歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化