HTTP的缺点
●通信使用明文不对数据进行加密(内容容易被窃听)
用抓包工具可以获取HTTP协议的请求和响应的内容,并对其进行解析。
●不验证通信方身份(容易伪装)
●无法确定报文完整性(内容易被篡改)
HTTPS
概念
与HTTP关系
与SSL(安全套接层)组合使用的HTTP被称为HTTPS(HTTP Secure,超文本传输安全协议)
HTTP + 加密 + 认证 + 完整性保护 = HTTPS
加密方式
共享密钥加密
加密和解密同用一个秘钥。
公开密钥加密
●优点:
公开密钥加密方式很好地解决了共享密钥加密的困难。
●非对称密钥
公开密钥加密使用一种非对称的密钥。一把叫做私有密钥,另一把叫做公开密钥。
●使用方式
发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密的信息后,再使用自己的私有密钥进行解密。利用这种方式,不需要发送用来解密的私有密钥,也不用担心密钥被攻击者窃听而盗走。
●缺点:
更为复杂,效率较低
需要证明公开密钥本身就是货真价实的公开密钥。可以用数字证书认证机构(CA)颁发的公开密钥证书。
混合加密机制
HTTPS采用共享秘钥加密和公开密钥加密两者并用的混合加密机制。在交换密钥环节使用公开密钥加密方式,之后的建立通信交换报文阶段则使用共享密钥加密方式。
HTTPS的安全通信机制
见书7.2.5
缺点
消耗资源多:与纯文本通信相比,加密通信会消耗更多的CPU及内存资源,一台计算机能处理的请求数量必定也会减少。因此只有在敏感数据时,才使用HTTPS加密通信。
购买证书开销大,想进行HTTPS通信,证书是必不可少的。