HTTP的缺点;
1、通信使用明文(不加密),内容有可能会被窃听。
(1)通信的加密:HTTP协议中没有加密机制,但可以通过和SSL(安全套接层)或TLS(安全传输层协议)的组合使用,加密HTTP的通信内容。与SSL组合使用的HTTP被称为HTTPS(超文本传输安全协议)。
(2)内容的加密:把HTTP报文里含有的内容进行加密处理。为了做到有效的内容加密,前提是要求客户端和服务器同时具备加密和解密机制。主要应用在Web服务中。由于该方式不同于SSL或TLS将整个通信线路加密处理,所以内容仍有被篡改的风险。
2、不验证通信方的身份就有可能遭遇伪装
在HTTP协议通信时,由于不存在确认通信方的处理步骤,任何人都可以发起请求。此时会存在各种隐患。
SSL不仅提供加密处理,还使用了一种被称为证书的手段,可用于确定方。证书由值得信任的第三方机构颁发,用以证明服务器和客户端是实际存在的。
3、无法证明报文完整性,可能已经遭到篡改
HTTPS=HTTP+加密+认证+完整性保护
1、HTTPS是身披SSL外壳的HTTP
HTTPS并非是应用层的一种新协议。只是HTTP通信接口部分用SSL和TSL协议代替而已。通常,HTTP直接和TCP通信。当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信了。
2、互相交换秘钥的公开密钥加密技术
SSL采用一种叫做公开密钥加密的加密处理方式。
(1)共享密钥加密:加密和解密同用一个秘钥的方式。以共享密钥方式加密时必须将秘钥也发送给对方,此时有被窃听的风险。
(2)公开秘钥加密:使用两把秘钥。使用一对非对称的秘钥,一把叫做私有秘钥,另一把叫做公开秘钥。 使用公开秘钥加密方式,发送密文的一方使用对方的公开秘钥进行加密处理,对方收到被加密的信息后,再使用自己的私有秘钥进行解密。利用这种方式,不需要发送用来解密的私有秘钥,也不必担心秘钥被攻击者窃听儿盗走。
公开秘钥比共享秘钥处理速度慢。
3、HTTPS采用混合加密机制
HTTPS采用共享秘钥加密和公开秘钥加密两者并用的混合加密机制。(1)使用公开秘钥加密方式安全地交换在稍后的共享秘钥加密中要使用的秘钥;(2)确保交换的秘钥是安全的前提下,使用共享秘钥加密方式进行通信。
公开秘钥加密方式存在一些问题,无法证明公开秘钥本身就是货真价实的公开秘钥。可以使用数字证书认证机构。
4、数字证书认证机构
是处于客户端与服务器双方都可信赖的第三方机构(威瑞信是代表性公司)。
业务流程:首先,服务器的运营人员向数字证书认证机构提供公开秘钥的申请。数字证书认证机构在判明提出申请者的身份之后,会对已申请的公开秘钥做数字签名,然后分配这个已签名的公开秘钥,并将该公开秘钥放入公钥证书后绑定在一起。 服务器会将这份由数字证书认证机构颁发的公钥证书发送给客户端,以进行公开秘钥加密方式通信。 接到证书的客户端可使用数字证书认证机构的公开秘钥,对那张证书上的数字签名进行验证,一旦通过验证,客户端便可明确两件事:一、认证服务器的公开秘钥是真实有效的数字证书认证机构。二、服务器的公开秘钥是值得信赖的。