Https为什么比Http安全?
创始人
2024-05-12 15:55:18
0

Https是在Http之上做了一层加密和认证; 主要的区别是Https在TLS层对常规的Http请求和响应进行加密,同时对这些请求和响应进行数字签名。

Http请求的样式: 明文传输,通过抓包工具可以抓到

GET /hello.txt HTTP/1.1
User-Agent: curl/7.63.0 libcurl/7.63.0 OpenSSL/1.1.l zlib/1.2.11
Host: www.example.com
Accept-Language: en 

Https的请求样式:

t8Fw6T8UV81pQfyhDkhebbz7+oiwldr1j2gHBB3L3RFTRsQCpaSnSBZ78Vme+DpDVJPvZdZUZHpzbbcqmSW1+3xXGsERHg9YDmpYk0VVDiRvw1H5miNieJeJ/FNUjgH0BmVRWII6+T4MnDwmCMZUI/orxP3HGwYCSIvyzS3MpmmSe4iaWKCOHQ== 

通过抓包工具抓到了也不知道什么含义。

Http的风险?

  • 数据明文传输,可被嗅探
  • 可被中间人工具,网络劫持

Https的工作原理?

Https使用了对称加密,非对称加密,以及认证。 HTTPS 在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段,关于证书的认证,首次下载服务器证书的时候会像第三方机构进行认证,后续使用本地已经认证好的证书。

1、客户端发起Https请求,服务器返回自身的https证书和公钥;

2、客户端验证证书是否有效,证书一般有颁发机构,如果能认证颁发机构认证的证书有效即认为有效证书。

3、客户端随机生成公钥私钥对,然后再生成一个随机数;

4、客户端通过服务器的公钥再进行加密;

5、服务端收到了客户端用自己的公钥加密的内容,使用私钥解密;拿到随机数。

6、后续的数据传输都使用随机数进行加解密;

后续服务端使用客户端的公钥加密,客户端使用自己的私钥解密; 客户端使用服务器的公钥加密,服务器使用自己的私钥解密; 同时传输的内容也通过了随机数进行加密;

Q&A

Q: **HTTPS 为什么安全?**A: 因为 HTTPS 保证了传输安全,防止传输过程被监听、防止数据被窃取,可以确认网站的真实性。Q: **HTTPS 的传输过程是怎样的?**A: 客户端发起 HTTPS 请求,服务端返回证书,客户端对证书进行验证,验证通过后本地生成用于改造对称加密算法的随机数,通过证书中的公钥对随机数进行加密传输到服务端,服务端接收后通过私钥解密得到随机数,之后的数据交互通过对称加密算法进行加解密。Q: **为什么需要证书?**A: 防止”中间人“攻击,同时可以为网站提供身份证明。Q: **使用 HTTPS 会被抓包吗?**A: 会被抓包,HTTPS 只防止用户在不知情的情况下通信被监听,如果用户主动授信,是可以构建“中间人”网络,代理软件可以对传输内容进行解密。

网安零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:


当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

因篇幅有限,仅展示部分资料,有需要的小伙伴,可以【扫下方二维码】免费领取:

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...