个人主页:insist--个人主页
本文专栏:网络基础——带你走进网络世界
本专栏会持续更新网络基础知识,希望大家多多支持,让我们一起探索这个神奇而广阔的网络世界。
目录
一、HTTPS协议的基本概念
二、为什么需要HTTPS?
三、HTTPS协议的组成
四、HTTPS协议的工作原理
1、客户端发起 HTTPS 请求
2、服务端的配置
3、传送证书
4、客户端解析证书
5、传送加密信息
6、服务端解密信息
7、传输加密后的信息
8、客户端解密信息
五、HTTPS与HTTP的区别
1、安全性
2、端口号不同
3、证书
前言
随着互联网的普及,人们对个人隐私和数据安全也更加重视,HTTPS协议变得越来越重要。本文将详细介绍HTTPS协议的基本概念、为什么需要它、它的组成、两者之间的区别。
一、HTTPS协议的基本概念
HTTPS(全称Hypertext Transfer Protocol Secure),翻译过来就是“超文本安全传输协议”是一种用于在互联网上安全传输数据的协议。是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。
HTTPS的主要作用:对数据进行加密、对网站服务器进行真实身份认证
二、为什么需要HTTPS?
使用https的原因非常简单,就是因为HTTP的不安全,而HTTPS更安全一点。
我们知道HTTP有着一些缺陷,比如说信息是明文传输(不加密)、无证确保报文的完整性(信息的准确度)、不能验证通信方的身份等等,HTTPS就可以解决这些问题,所以我们需要HTTPS。
三、HTTPS协议的组成
HTTPS协议由HTTP和SSL/TLS协议组成。HTTP负责传输加密后的数据,而SSL/TLS协议则负责数据的加密和解密。在HTTPS通信过程中,使用非对称加密算法进行秘钥交换和数据加密。其中,公钥用于加密数据,私钥用于解密数据。
公钥与私钥的理解:可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。
四、HTTPS协议的工作原理
1、客户端发起 HTTPS 请求
这个很好理解,就是用户在浏览器里输入一个 https 网址,然后连接到 server 的 443 端口
2、服务端的配置
采用 HTTPS 协议的服务器必须要有一套数字证书,证书可以自己制作,也可以向组织申请。
区别:自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。
3、传送证书
这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。
4、客户端解析证书
这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。
如果证书没有问题,那么就生成一个随机值,然后用证书对该随机值进行加密,就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。
5、传送加密信息
这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。
6、服务端解密信息
服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够先进,私钥够复杂,数据就够安全。
对称加密:将信息和私钥通过某种算法混合在一起。
7、传输加密后的信息
这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。
8、客户端解密信息
客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,也束手无策。
五、HTTPS与HTTP的区别
1、安全性
HTTP和HTTPS是两种不同的协议,它们之间最主要的区别在于安全性。
HTTP协议以明文方式发送内容,不提供任何方式的数据加密,容易被攻击者截取信息。
HTTPS则在TCP和HTTP网络层之间加入了SSL/TLS安全协议,使得报文能够加密传输,保证了数据的安全性。
2、端口号不同
HTTP和HTTPS使用的是完全不同的连接方式用的端口也不一样,HTTP是80、HTTPS是443。
3、证书
HTTPS需要申请证书,而HTTP不需要申请证书,申请证书也会有一些费用。