由于HTTP使用明文,不加密,很容易被窃听。
不验证通信双方的身份,容易遭遇伪装。
无法验证报文的完整性,可能会被篡改。
防止被窃听的方法:
1.通信的加密:通过和SSL或TLS的组合使用,加密HTTP的通信内容。SSL+HTTP的组合叫做HTTPS(超文本传输安全协议)或者HTTP over SSL
2.内容的加密:对传输的报文的主体进行加密
防止被伪装:
使用SSL,确认对方的证书
防止被篡改:(容易遭受中间人攻击)
MD-5和SHA-1等散列值校验的方法来确认文件的数字签名方法。
HTTP+加密+认证+完整性保护=HTTPS
通常HTTP直接和TCP通信,当使用SSL时,HTTP先和SSL通信,再和TCP通信。SSL采用公开密钥加密的处理方式,
共享密钥加密–加密和解密用同一个密钥
公开密钥加密(公钥和私钥机制)–使用公开密钥加密,私有密钥解密。
混合加密机制–再交换密钥环节使用公开密钥加密方式,之后的建立通信交换报文阶段使用共享密钥加密方式