https协议
HTTPS协议也是应用层的一种网络协议,与HTPP协议报文格式都一样,仅在HTTP协议的基础上,引入了加密层。由于HTTP协议内容的明文传输,导致其传输过程十分不安全,所以加密的HTTPS可以简单理解为HTTP的安全版。
加密的相关概念
- 明文:原始的传输内容;
- 密文:经过一定规则变换之后的传输内容;
- 加密:将明文转换为密文的过程;
- 解密:将密文转换为明文的过程;
- 密钥:在加密或解密过程中使用的某些数据,用于辅助该过程。
HTTPS工作过程
对称加密
对原始的传输数据进行加密,而加密和解密过程使用的是同一个密钥。
举个例子进行说明。最简单的对称加密就是按位异或,
假设,明文 a = 1234,密钥 key = 8888,
则加密 a ^ key 得到密文 b = 9834。
那么解密时也是用 b ^ key 得到原本的明文 a = 1234。
此处的按位异或仅作示例,实际的HTTPS加密解密的运算过程时十分复杂的,但原理与上述类似。
优势:如下图所示,使用对称加密后,即使黑客入侵拿到了请求内容,也不知道密钥是什么,自然无法解密,那么他拿到的数据就没有任何意义。而客户端和服务器都知晓密钥,客户端使用密钥加密,服务器使用密钥解密,由此保证了安全性。