确保Web安全的Https
文章目录
- 确保Web安全的Https
- 一、HTTP 的缺点
- 二、HTTP+ 加密 + 认证 + 完整性保护 =HTTPS
一、HTTP 的缺点
1、明文传输
通信加密,HTTP协议中没有加密机制,但是可以通过SSL(Secure Socket Layer,安全套接字层)或TLE(Transport Layer Security安全层传输协议)的组合使用,加密HTTP的通信内容
2、不验证通信方的身份(可能会遭到伪装)
内容加密:将HTTP报文里所含的内容进行加密之后进行传输
HTTP带来的问题:任何人都可以发起请求客户端和服务器无法真正的确定对方,有可能是被伪装的。
查明对手的证书,证书由第三方机构颁发,用来证明服务器和客户端实际存在的,通过证书可以证明服务器,客户端持有证书也可以完成个人身份的确认
3、无法证明报文的完整性(可能会被篡改)
无法证明报文的完整性,可能已经被篡改。虽然使用HTTP协议有确定报文的完整性算法的方法,但事实上并不便捷可靠。其中常用的是MD5和SHA-1等散列值校验方法,以及用确认文件的数字签名方法。
二、HTTP+ 加密 + 认证 + 完整性保护 =HTTPS
HTTPS是身披SSL外壳的HTTP
相互交换密钥的公开密钥加密技术:SSL采用的是公开密钥加密的加密处理方式。
共享密钥加密的困境:客户端和服务器端共享密钥,容易被攻击者窃取。
使用非对称加密,采用公开密钥加密数据,接受者使用私钥进行解密接收
HTTPS采用混合加密的方式,在交换密钥的过程中采用公开加密(就是非对称加密),之后建立连接之后使用共享加密(对称加密)。非对称加密效率比对称加密的效率低。
证明公开密钥正确性的证书,因为客户端无法确定公开密钥是否正确,故存在CA机构
(Certificate Authority)
具体流程:服务器会向CA机构申请公开密钥,CA机构会判定申请者身份,对已申请的公开密钥做数字签名,并将该公开密钥放入公钥证书里面。客户端请求服务器时,服务器会将证书发给客户端,客户端拿到证书后会到CA机构做认证,认证之后采用公钥进行加密传输数据。