互联网的通信安全,建立在SSL/TLS协议之上。
HTTP缺点
不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。
( 1 ) HTTP本身不具有加密功能,而且它的报文以明文的方式发送内容,无法确定请求或响应被窃听。
( 2 ) 请求和响应在传输的过程中,可能遭到攻击者拦截或修改传输内容(这种攻击称为中间人攻击),无法确定请求或响应被篡改。
( 3 ) 无法确定请求是否发送至已伪装的Web服务器,响应是否返回至已伪装的客户端,通信的对方是否具备访问权限。
什么是HTTPS
-
HTTP协议中没有加密机制,但可以通过和
SSL(Secure Sockets Layer,安全套接层)或TLS(Transport Layer Security,安全传输层协议)的组合使用,就可以在这条线路上进行安全HTTP通信了。与SSL组合使用的HTTP被称为HTTPS(HTTP Secure)或HTTP over SSL。 -
HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
-
HTTPS并非是应用层的一种新协议,只是
HTTP通信接口部分用SSL和TLS协议代替。
TLS和SSL作用
-
通信的加密
SSL建立安全通信线路
-
查明对手的证书
SSL不仅提供了加密处理,还提供一个称为证书的手段,来确定通信方就是目标服务器
-
保证数据完整性
散列算法,也叫摘要算法来实现数据完整性
TLS和SSL实现
HTTPS 协议的主要功能基本都依赖于 TLS/SSL 协议,TLS/SSL 的功能实现主要依赖于三类基本算法:散列函数 、对称加密和非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。