HTTPS简介

【从零开始入门unity游戏开发之——C#篇37】进程、线程、C# 中实现多线程有多种方案和async/await异步编程 进程、线程、C# 中实现多线程有多种方案和async/await异步编程 阅读详情

转载请注明出处:https://blog.youkuaiyun.com/binbinqq86/article/details/80939838

前言

说到HTTPS,就得首先了解几个相关概念:HTTP、SSL/TLS、CA、对称加密和非对称加密。

HTTP就是超文本传输协议,全称“HyperText Transfer Protocol”。这个从我们第一天上网就知道,浏览任何网站几乎都是以这个开头输入到浏览器里,然后就可以看我们想看的东西了,这里面包含了图片,脚本,各种样式等等。HTTP 的底层协议使用的是TCP协议,只不过一个是应用层,一个是传输层。还有很多应用层协议比如“FTP、SMTP、POP、IMAP”等都是使用的TCP协议。

SSL是英文“Secure Sockets Layer”的缩写,也就是安全套接层,由网景公司1995年发布,后改名为TLS,英文为“Transfer Layer Secure”,两者其实就是一个东西的不同版本。目前常用的版本TLS1.2

CA就是“Certificate Authority”的缩写,也就是证书授权中心。它是负责管理和签发证书的第三方机构

对称加密可以理解为某种可以互逆的数学运算,加密和解密用到的是同一个密钥,它可以把明文变密文,密文变明文,所以这个密钥是至关重要的。而非对称加密就是一对密钥,加密和解密用到的是不同的钥匙,比如用这对密钥里的公钥加密,则只有里面的私钥才能解密,反之亦然,而且是几乎不可能被暴力破解的,可以说非常安全,但同时需要涉及到复杂的数学问题,性能上通常要差很多(相对于对称加密而言)

HTTPS就是我们今天的主角,用到了上面所提到的所有的知识点。设计HTTPS就是为了解决HTTP在传输过程中的信息不安全的问题,HTTPS就是HTTP+SSL/TLS,保证在传输过程中信息不被篡改,窃取。下面我们就来分析一下HTTPS的传输过程。

第一步:
服务端首先去CA机构申请一个证书,里面包含了一对基于非对称加密算法的密钥:privateKey、publicKey,然后部署这两个文件在服务器。
第二步:
客户端向服务器发出请求,服务端把publicKey发送到客户端
第三步:
客户端随机生成一对对称加密密钥key,然后用服务器发送过来的publicKey去加密该密钥,得到key’,然后把key’发送给服务器,
第四步:
服务器收到key’,用自己的privateKey去解密,得到其中的key,这样服务器和客户端都拥有了进行私密通信的密钥key,而这个密钥不被任何第三方所知,两者就可以安全地进行接下来的数据传输了。

整个过程中,客户端需要对服务器发送过来的CA证书进行合法性验证,如果缺少这一步,就会产生中间人攻击(MITM),比如中间人在第二步的时候截获服务器发送给客户端的publicKey,然后自己伪装成服务器,随机生成一对非对称加密密钥,把自己的公钥发送给客户端,这个时候客户端如果不进行CA证书的校验,就会直接用中间人发送过来的公钥来加密自己的密钥,然后在发送给服务器的过程中,再被中间人截获,中间人用自己的私钥解密这个客户端的密钥,然后中间人再伪装成客户端,用真正的服务器公钥加密自己截获的密钥,发送给服务器,这样就神不知鬼不觉的完成了一次偷梁换柱,由此可见CA证书的合法性验证是多么的重要。

验证CA证书分为两种方式,一种是单向验证,一种是双向验证。

单向验证:服务器部署证书,客户端内置服务器的证书,然后在交换密钥的过程中进行证书的比对,如果不同则断开连接,那么此时再遭遇中间人攻击的时候,由于黑客没有相应的证书,就会造成连接失败,避免攻击。(即使黑客破解app,拿到证书,由于没有匹配的公钥和私钥,仍然无法实现中间人攻击)


双向验证:这种就更加安全了,用到的情况不多,一般都是金融行业等对安全性要求很高的企业才会使用。其实就是客户端校验服务器证书,同时服务器也需要校验客户端的证书,服务器和客户端分别放置两个不同的证书去等待对方验证,两者都通过验证后才会进行后续的通信。

虽然HTTPS在传输过程中确保了数据的加密和传输的加密,但是使用charles,fiddler等抓包工具仍然可以看到原始数据信息,如果要做到更进一步的安全,还需要对数据本身进行一个混淆加密,比如登陆密码之类的。

好了,今天的讲解就结束了,还有不明白的小伙伴可以在下方留言~

参考文章:

1.https://blog.youkuaiyun.com/qq_20521573/article/details/79233793
2.https://blog.youkuaiyun.com/PTkin/article/details/50563831
3.https://www.jianshu.com/p/e4fd0ba780a5
4.https://segmentfault.com/a/1190000012466003

智能解译城市进程:遥感影像建筑物提取研究全景与前沿进展(数据集及代码) 随着全球城市化进程的加速,高效、精准地监测城市建筑物分布对城市规划、灾害评估、人口估算及智慧城市建设具有重要意义。传统的人工测绘方法耗时费力,难以满足大范围、动态更新的需求。而遥感影像建筑物提取技术,借助深度学习与计算机视觉,能够自动化识别并提取建筑物轮廓,极大地提升了城市信息获取的效率和精度。首先,建筑物提取是遥感影像解译的核心任务之一。 阅读详情

相关推荐

HR离职预测模型实战:可解释、可干预、可落地的三层架构

员工离职预测本质上是组织健康度的早期诊断技术,其核心原理在于从行为、心理与结构数据中识别稳定性衰减信号。该技术的价值不仅在于提升预测准确率,更在于将模糊的‘人才风险’转化为可归因、可干预的具体因子,如工龄阶段、满意度落差、薪酬分位数等。典型应用场景覆盖HRBP主动留任、业务部门梯队预警及HRIS系统智能升级。本文聚焦于构建具备业务可解释性与操作闭环能力的离职预警模型,深度融合HR工作流与机器学习工程实践,尤其强调逻辑回归基线、特征业务化重构及三层递进式架构设计。

赵士杰的博客 387

HTTPS和HTTP有什么不一样?如何申请SSL(HTTPS)证书?

一、https://是什么 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP 的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。它是一个URI scheme(抽象标识符体系),句法类同http:体系,用于安全的HTTP数据传输。https:U

1544

在windows10/11中使用ipatool提取苹果app安装包ipa文件

本文介绍了在Windows10/11系统中使用ipatool工具下载苹果App安装包(.ipa)的详细步骤。首先需准备Windows电脑、AppleID账号并下载ipatool工具;具体操作包括:登录AppleID、搜索应用、获取购买授权、查看历史版本及下载指定版本。关键步骤强调获取授权的重要性,并提供了常用命令速查表,帮助用户完成从登录到下载的全过程。该教程适用于需要获取旧版本App或进行应用测试的场景。

zhengshaolin128的博客 2590

关于“https://“ , 推荐10个堪称神器的网站!

1.MSDN我告诉你 https://msdn.itellyou.cn/ 在这个网站可以下载到比较纯净的系统镜像文件。镜像无广告! 2.大学生资源网 http://www.dxzy163.com/ 是一个功能超级强大的在线视频网站,里面不仅有从小学到大学到考研的免费课,还有关于电脑网络、医学视频、历史地理等全面知识,非常适合在校大学生。 包括资格考试的视频也有:工程建筑、考试认证、财会考试、公务员考试、司法考试。 3.学习必备网站 写论文必备、程序员通用、数据源下载、设计素材、在线工具网站、学生常用

总结复盘,才能不迷失自己! 17万+

OLED的字模提取(保姆级)---基于PCtoLCD2013

做为一个刚刚开始接触编程不久的白菜,这个OLED想做一个信息显示,可是商家给我的例程里就是88,816两种字体的格式,我的屏幕是0.91寸的8*16的字体显示上感觉特别丢丢儿小,我就想整个大的,哎,只怪直接学习习惯不好,总是学一半,绕了好大一圈,才搞好,想写一篇博客,时刻提醒踏实学习,第一次写博客,小白一枚,勿喷。。 OLED屏幕驱动程序功能 我们对Markdown编辑器进行了一些功能拓展与语法支...

qq_44886611的博客 7781

【SWAT水文模型】SWAT-CUP参数率定与模型验证实战指南

本文提供了SWAT水文模型参数率定与模型验证的完整实战指南。详细介绍了如何使用SWAT-CUP工具,特别是SUFI-2算法,进行自动化参数校准,并阐述了模型验证的关键步骤以避免过度拟合。内容涵盖从工程搭建、核心参数选择、迭代优化到结果分析与常见问题排查的全流程,旨在帮助用户提升SWAT模型模拟的准确性与可靠性。

weixin_29072299的博客 499

简单区分网页地址中http://和https://的区别

简单区分网页地址中http://和https://

m0_68154641的博客 4万+

YOLO系列训练时出现loss出现nan值或者测试时P\R\map全部为0值的解决办法(GTX16xx系列显卡大坑)

YOLO系列训练时出现loss出现nan值或者测试时P\R\map全部为0值的解决办法(GTX16xx系列显卡大坑)

weixin_55249340的博客 3万+

【RUBY语言】ruby书籍

The Ruby Way: Solutions and Techniques in Ruby Programming 网址:https://books.google.com.hk/books?id=uT6eBgAAQBAJ&pg=PA595&lpg=PA595&dq=ruby+Then(+/(%5Cd%2B)/)+do+%7C&source=bl&ots=lQ4foLRORQ&sig=ACfU3U32XXKUgaizDn83hWiir3Ce2lbGrQ&amp

walkingMa的专栏 609

【YOLOv11】014、YOLOv11模型导出:PyTorch到ONNX格式转换与优化

摘要:本文详细介绍了如何将PyTorch训练的YOLOv11模型高效转换为ONNX格式。重点包括:分离模型特征提取与后处理、设置动态维度、优化ONNX算子、验证转换正确性等关键步骤。作者分享了实际项目中的经验教训,如版本对齐、算子兼容性处理、后处理分离等实用技巧,并推荐使用onnx-simplifier工具优化模型。文章强调模型转换是一个需要反复调试的过程,建议保留转换记录形成知识库,以提高部署效率并避免常见错误。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 306

Creo模型装配总结

creo7.0的零件装配操作方法,建立基准面、新建约束、约束顺序

heda3的博客 1万+

HTTPS

HTTPS 的全称是Hypertext Transfer Protocol Secure(超文本传输安全协议),本质是在传统 HTTP 协议的基础上,增加了SSL(Secure Sockets Layer,安全套接层)或其升级版TLS(Transport Layer Security,传输层安全协议)的加密机制。HTTPS 不是一个全新的协议,而是 “HTTP + SSL/TLS” 的安全组合,其 URL 格式以https://开头,默认使用 443 端口。核心价值是“加密数据、验证身份、防篡改”

m0_73991989的博客 3万+

第1集:认识 Claude Code —— AI 编程新纪元

1. 定义 Claude Code:终端中的 AI 编程代理Claude Code 是 Anthropic 公司于 2025 年 5 月正式推出的命令行 AI 编程工具,它不只是一个代码补全工具,而是一个能够理解项目、自主执行任务的**终端 AI 代理(Agent)。它的核心理念是 **"生于终端,活于终端"** (lives in your terminal)。与深度嵌入图形界面(GUI)的工具不同,Claude Code 选择直接融入开发者最原始、最核心的工作环境——命令行。

dianziyao_的博客 866

HTTP HTTPS简介

一篇文章带你走进HTTP与HTTPS

XSL_HR的博客 724

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

https简介

文章目录说明分享详情https加密文件主流证书密钥库文件证书文件证书转换https认证方式单向认证双向认证参考资料总结 2022-03-18 说明 本博客每周五更新一次。 https是在原有http基础上增加ssl实现通信加密和用户身份认证,http协议数据明文传送,可以被网络工具拦截直接阅读,https是以密文形式传递,没有证书和算法,无法解密数据内容。 由于https通信过程中需要加密和解密,其效率低于http协议。 分享 大数据博客列表 开发记录汇总 详情 https加密文件 https认证

幻神舞的专栏 2365

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

HTTPS协议简介

前言 HTTPS(全称:HyperText Transfer Protocol over Secure Socket Layer),其实 HTTPS 并不是一个新鲜协议,Google 很早就开始启用了,初衷是为了保证数据安全。 近两年,Google、Baidu、Facebook 等这样的互联网巨头,不谋而合地开始大力推行 HTTPS, 国内外的大型互联网公司很多也都已经启用了全站 HTTPS,这...

猎户星座 5390

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Https简介

HTTP 协议通常承载于 TCP 协议之上,在 HTTP 和 TCP 之间添加一个安全协议层(SSL 或 TSL),这个时候,就成了我们常说的 HTTPS. 1、HTTPS 主要作用 - (1)对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全; - (2)对网站服务器进行真实身份认证。 2、HTTPS 和 HTTP 的区别 - 1、HTTPS 是加密传输协议,HTTP ...

Build的博客 340

HTTP/HTTPS 简介

是一种用于从网络传输超文本到本地浏览器的传输协议。它定义了客户端与服务器之间请求和响应的格式。HTTP 工作在 TCP/IP 模型之上,通常使用端口 80。是 HTTP 的安全版本,它在 HTTP 下增加了 SSL/TLS 协议,提供了数据加密、完整性校验和身份验证。HTTPS 通常使用端口 443。

2401_89581675的博客 8681

Https协议简介

Https协议1.简介与原理2.一些简单的密码学基础1.简单名词2.加密方式1.对称加密2.非对称加密3.HTTPS 协议优缺点1.优点2.缺点1.效率低,速度慢2.占用资源多 1.简介与原理 http协议是明文传输的,因此很容易被截取和解析,泄漏个人数据。https协议是在http和tcp之间多添加了一层,进行身份验证和数据加密。 2.一些简单的密码学基础 1.简单名词 明文: 明文指的是未被加密过的原始数据。(我们接触过的socket,ftp代码都是明文) 密文:明文被某种加密算法加密之后,会变成密文,

Aaronlxx的博客 1454
上一篇: 一步一步带你轻松打造自己的ButterKnife注解框架(下)
下一篇: Charles抓包的使用
binbinqq86
博客等级 码龄17年 89粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值