http缺点:
1.通信使用明文,内容可能被窃听
2.不验证通信方的身份,因此有可能遭遇伪装
3.无法验证报文的完整性,所以有肯能遭遇篡改
https:主要是解决信息加密和通信双方认证的问题
对http通信加密,http和ssl或者tls组合使用,加密http的通信内容
2.证书
SSL不仅提供加密处理,还能提供证书,可以确认通信双方
证书由第三方机构颁发,客户端可以通过证书确认服务器身份,服务器也可以通过客户端的证书验证客户端身份。
加密
SSL采用一种叫做公开密钥加密的处理方式。
1.共享密钥加密(对称密钥加密):加密和解密都用同一个密钥。问题在于发送加密信息的时候也要发送密钥,如何保证密钥安全的到达。
2.公开密钥加密:发送密文的一方,使用对方的公钥加密,接收密文的一方,使用自己的私钥解密,这样就不用发送密钥了。
https采用混合加密方式
首先,在建立通信阶段,使用公开密钥加密方式交换私钥,确认私钥交换完成,通信建立后,使用共享密钥加密,因为后者处理效率比前者高。
证书
1.服务器向数字证书认证机构提出公开密钥的申请,数字证书机构在判明提出申请者的身份之后,会对已申请的公开密钥做数字签名,然后分配该公开密钥,并将该公开密钥放入公钥证书后绑定在一起。
2.服务器会将这份公钥证书发送给客户端,以进行公开密钥方式加密。
3.客户端在收到证书后,可以通过使用数字证书机构的公开密钥对这个证书进行验证,一旦验证通过,说明两件事:1、认证服务器的公开密钥是真实有效的数字证书认证机构 。2、服务器的公开密钥是真实有效的
3.证书认证机构的公开密钥如何安全发送给客户端是一个问题,因此可以事先植入部分证书认证机构的公钥。
网友评论