赞
踩
HTTP 协议的请求报文和响应报文的结构基本相同,由以下内容组成:
HTTP 协议是明文传输的,整个传输过程完全透明,可以很轻易的在通信链路上拦截、修改甚至伪造请求/响应报文,十分不安全。所以诞生了安全的HTTPS协议。
HTTP 协议是直接与 传输层(TCP协议)直接通信的。HTTPS 协议也并非一种新的应用层协议,而是演变成 HTTP 先与 SSL 通信,再由 SSL 与 TCP 通信。SSL 即安全套接层。
HTTPS 协议的主要功能都依赖于 SSL/TLS 协议实现的,SSL/TLS 的功能实现主要涉及到三种算法:摘要算法、对称加密和非对称加密。
摘要算法可以将任意长度的数据经过一系列计算,得到一串独一无二的“摘要”字符串,并且这个过程是不可逆的,无法从“摘要”字符串得出原始数据。而任意细微的变动,都会得到一个与之完全不同的“摘要”字符串。因此可以把明文信息的摘要和明文加密后的内容一起发送,数据接收后对明文解密,重新对数据获取摘要,如果结果比对不一致,说明数据已经遭人篡改。常见的摘要算法有MD5。
加密方和解密方使用同一个密钥进行加解密。没有密钥就没有办法解密,反过来说任何人有了密钥之后都能进行解密了。常见的有AES。
这种加密方式必须涉及到密钥的传输,而密钥的传输也不能保证一定是安全的。
非对称加密涉及到一对密钥:公钥和私钥, 公钥是可以随意发布的,而私钥只能保存在自己的机器上,不能让任何人知道。用公钥加密后的数据只能用私钥解密,加解密用的不是同一把密钥,所以叫非对称加密。
A 用 B 公开出来的密钥加密,B 收到密文后用自己的私有密钥解密,得到原始的数据;反过来 B 用 A 的公钥加密,A 收到密文后用私钥解密。常见的算法有RSA算法。
优点:算法公开,加密和解密使用不同的密钥,私钥不用通过网络传输,安全性高。
缺点:涉及到大量的数据计算,加密和解密都比对称加密速度慢很多。
HTTPS 采用的是 对称加密 + 非对称加密。具体流程:
server 端是可能会被伪造的,这时候就依赖于 client 和 server 双方都信赖的第三方机构了。
采用 HTTPS 协议的 server 都需要有一套数字 CA(Certification Authority) 证书,证书需要严格的审核之后颁发,颁发的同时会产生一个公钥和私钥,公钥附带在证书的信息中,是公开的;而私钥由 server 自己保存,不可泄漏。客户端收到证书后会进行验证,如果证书机构是不可信机构,或者证书已经过期,或者证书上的域名和实际域名不一致,就会向来访者发出警告。证书的传输过程还会附上数字签名,数字前面是对证书信息进行摘要算法运算后得到的一串字符串,防止证书内容被篡改。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。