1、HTTP 协议介绍
HTTP 协议是一种基于文本的传输协议,它位于 OSI 网络模型中的应用层。
1610793522608.png
2、HTTP 协议是通过客户端和服务器的请求应答来进行通讯
▪目前协议由之前的 RFC 2616 拆分成立六个单独的协议说明(RFC 7230、RFC 7231、RFC 7232、RFC 7233、RFC 7234、RFC 7235),通讯报文如下:
3、非对称加密:RSA算法
•在约定加密方式的时候由服务器生成一对公私钥,服务器将公钥返回给客户端,客户端本地生成一串秘钥(AES_KEY)用于对称加密,并通过服务器发送的公钥进行加密得到(AES_KEY_SECRET),之后返回给服务端,服务端通过私钥将客户端发送的AES_KEY_SECRET进行解密得到AES_KEY,最后客户端和服务器通过AES_KEY进行报文的加密通讯。
4、HTTPS 协议
HTTPS 是 HTTP + SSL/TLS。
SSL(Secure Socket Layer,安全套接字层):SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。
TLS(Transport Layer Security,传输层安全):其前身是 SSL,最初是有网景公司开发,后来被IETF标准化并改名。用于在两个通信应用程序之间提供保密性和数据完整性
5、SSL协议
- SSL协议大致和上面说的非对称加密的性质相同,客户端发起请求,服务端返回证书,双方进行密钥交换。服务器是通过SSL 证书来传递公钥,客户端会对 SSL 证书进行验证,其中证书认证体系就是确保SSL安全的关键。
6、CA认证体系
客户端收到服务端返回的SSL证书后 ,需要对证书进行安全性的校验。
那么如何证明这个证书是安全的,这里就需要CA认证体系,证明证书的安全性,以此来防止中间人攻击
在 CA 认证体系中,所有的证书都是由权威机构来颁发,而权威机构的 CA 证书都是已经在操作系统中内置的,我们把这些证书称之为CA根证书