一、 HTTP安全漏洞
a) 通信使用明文,内容可能被窃取
b) 通信不对对方身份进行验证,通信对象可能是伪装的虚假对象。
c) 通信不验证信息的完整性,信息可能被篡改。
二、 加密处理,防止窃听
a) 对通信线路进行加密:通过SSL(SecureSocket Layer安全套接字层)和TLS(Transport Layer Security)加密HTTP的通信内容。
b) 对内容进行加密:即对报文内容进行加密处理如图。
报文首部(head不加密) |
报文实体(body加密) |
三、 查看证书,验证对方身份
a) SSL不仅对通信线路进行加密,还提供证书技术,证书是由可信赖的第三方机构颁发,通过对证书的查验,判断对方身份。
b) 证书的申请与颁发需要大量的资金支持,因此个人用户一般不用申请并使用证书。
四、 查验散列值,验证内容的完整性
a) 散列值:根据报文内容,利用相关的算法计算出来的一组散列数值,如果内容一旦更改,散列数值也会相应的改动。
b) MD5算法
i. MD5:是通过单向函数,以报文内容为参量而产生的一组数值。
ii. MD5长度固定,不会随着报文内容改变而改变。
iii. MD5通过原数据很容易计算,并且,一旦原文内容改变,即便是1字节,MD5值也会有很大的改变.
五、 HTTP+SSL(通信线路加密和证书认证机制)+散列值校验=HTTPS
深入浅出的讲解SSL/TLS:阮一峰日志