HTTP的那些事
1.HTTPS
1.1 Http的缺点
Http在传输过程中的缺点:
- 明文传输
- 没有验证
- 无法证明报文的完整性(或遭篡改)
1.2 加密方式
防止被窃听可以采用SSL(Secure Socket Layer,安全套接层)和TLS(Transport Layer Security,安全传输协议)分别与HTTP组合使用。
与SSL组合使用的HTTP被称为HTTPS(HTTP Secure,超文本传输协议)或HTTP over SSL
1.2.1 公享钥匙加密技术
加密算法公开,密钥保密。加密和解密都会用到密钥。
对称密钥加密
加密和解密同用一个密钥的方式。但是此方法需要发送密钥,容易被截获,此外若密钥能安全到达,那数据应该能安全到达。
1.2.2 公开密钥加密
非对称密钥加密
采用一对非对称的密钥,一把叫做私有密钥,一把叫做公开密钥
流程
1.发送密文的一方使用公开密钥进行加密
2.对方接收到加密信息后,使用私有密钥进行解密
优点:不需要发送私钥,安全性更高。
1.2.3 混合加密方式
混合加密可以充分利用两种加密方式的优点。例如在交换密钥环节中使用公开密钥的方式,之后的建立通信交换报文阶段则使用共享密钥加密方式
1.3 证书
证书用来证明公开密钥是合法的,证书认证机构处于客服端与服务器端都可信赖的第三方机构。数字证书可以保证数字证书里的公钥确实是这个证书的所有者的,或者证书可以用来确认对方的身份。
注意:
1.申请证书不需要提供私钥,确保私钥永远只能服务器掌握;
2.证书=公钥+申请者与颁发者信息+签名;
1.4 HTTPS的安全通信机制
注意:
ChangeCipherSpec报文会提示服务器采用Pre-master secret密钥加密