第七章:确保Web安全的HTTPS
在HTTP协议中有可能存在信息窃听或者身份伪装等安全问题。使用HTTPS通信机制可以有效地防止这些问题。
HTTP的缺点
1、通信使用明文(不加密),内容可能会被窃听
1)、加密处理防止被窃听
通信的加密
HTTP协议中没有加密机制,但是可以通过和SSL(安全套接层)或者TLS(安全传输层协议)的组合使用,加密HTTP的通信内容。用SSL建立安全通信线路,叫做HTTPS(超文本传输安全协议)
内容的加密
前提是要求客户端和服务器同时具备加密和解密机制(主要用在Web服务中),仍有被篡改的风险
2)、不验证通信方的身份,因此有可能遭遇伪装
任何人都可发起请求
任何人都可以发起请求,另外,服务器只要接收到请求,不管对方是谁都会返回一个响应
查明对方的证书
SSL不仅提供加密处理,还使用了一种被称为证书的手段,可以用于确定通信方(证书由值得信赖的第三方机构颁发,用以证明服务器和客户端是实际存在的)
3)、无法证明报文的完整性,所以有可能已遭篡改
接收的内容可能有误
请求或响应在传输途中,遭攻击者拦截并篡改内容的攻击称为中间人攻击
如何防止篡改
虽然有使用HTTP协议确定报文完整性的方法,但是事实上并不便捷、可靠。常用的是MD5和SHA-1等散列值校验的方法,以及用来确认文件的数字签名的方法
2、HTTP+加密+认证+完整性保护=HTTPS
1)、HTTP加上加密处理和认证以及完整性保护后即是HTTPS
2)、HTTPS是身披