HTTPS协议原理
HTTPS是一个应用层协议,是在HTTP协议的基础上引入了一个加密层。HTTP协议内容都是按照文本的方式明文传输的,这就导致传输过程中出现一些被篡改的情况
概念准备
什么是加密
加密就是把 明文 (要传输的信息)进行一系列变换, 生成 密文。解密就是把 密文 再进行一系列变换, 还原成 明文。
在这个加密和解密的过程中, 往往需要一个或者多个中间的数据, 辅助进行这个过程, 这样的数据称为 密钥
为什么要加密
因为 http 的内容是明文传输的,明文数据会经过路由器、wifi 热点、通信服务运营商、代理服务器等多个物理节点,如果信息在传输过程中被劫持,传输的内容就完全暴露了。劫持者还可以篡改传输的信息且不被双方察觉,这就是 中间人攻击
,所以我们才需要对信息进行加密。
常见的加密方式
对称加密
-
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方式称为对称加密,也称单密钥加密
-
常见对称加密算法:DES,3DES,AES,TDEA,Blowfish,RC2等
-
特点:算法公开,计算量小,加密速度快,加密效率高
非对称加密
-
需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)
-
常见非对称加密算法:RSA,DSA,ECDSA
<