确保Web安全的HTTPS
一、HTTP缺点
- 通信使用明文(不加密),内容可能会被窃听
- TCP/IP是可能被窃听的网络 WireShark抓取流动数据包,获取HTTP协议的请求和响应内容进行解析
- 加密处理防止被窃听 通信的加密:通过SSL(安全套接层)和TLS(安全传输层协议)组合加密HTTP通信内容,用SSL建立安全通信线路, 称为HTTPS(超文本传输安全协议)或HTTP over SSL 内容的加密:报文首部不加密,报文主体进行加密
- 不验证通信方的身份,因此有可能遭遇伪装
- 任何人都可发起请求 可能是伪装的服务器或伪装的客户端,无意义请求也会照单全收,无法阻止海量请求下的DoS攻击 (拒绝服务攻击)
- 查明对手证书 HTTP协议无法确定通信方,但是SSL可以。SSL提供加密处理,使用证书验证身份。
- 无法证明报文的完整性,所以有可能已遭篡改
- 接收到的内容可能有误 中途信息可能被篡改 中间人攻击(MITM)
- 如何防止篡改 HTTP中常用MD5和SHA-1等散列校验的方法 SSL提供认证和加密处理及摘要功能
二、HTTP+加密+认证+完整性保护=HTTPS
1.HTTPS是身披SSL外壳的HTTP
HTTP通信接口部分用SSL,TLS
2.SSL采用公开密匙加密的方法
- 共享密匙加密的困境 加密和解密共用一个密钥的方式称为共享密钥加密,对称密钥加密
- 使用两把密钥的公开密钥加密 非对称密钥 一把私有密钥,一把公开密钥 公开密钥加密,私有密钥解密
- HTTPS采用混合加密机制
3.证明公开密钥加密方式正确性的证书 使用由数字认证机构和其他相关机构办法的公开密钥证书
- 可证明组织真实性的EV SSL证书
- 用以确认客户端的客户端证书 但需要客户端自行购买
- 认证机构信誉第一
- 由自由认证机构办法的证书称为自签名证书
4.HTTPS的安全通信机制