一元函数fung
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
一,Https与Http
Https(超文本安全传输协议),与Http(超文本传输协议)相比,Https更安全,但http的效率更高。
HTTPS连接缓存不如HTTP高效,流量成本高;
HTTPS连接服务器端资源占用高很多,支持访客多的网站需要投入更大的成本;
HTTPS协议握手阶段比较费时,对网站的响应速度有影响,影响用户体验。
总的来说,信息需要确保安全,未被篡改的使用Https;追求便利,响应速度,对信息完整性要求不高,或者没有可供攻击者利用的部分,使用Http更佳。
二,Https利用到的机制
对称加密
通信双方使用同一个密钥加密,密钥不泄露或被攻击者篡改是对称加密的核心,也是对称加密的缺点(密钥的传输)。常见的对称密钥算法有:DES,3DES,AES。
非对称加密
通信双方各持有一对公私钥,公钥可以公开,不必担心泄露问题,公钥用于加密需传输信息;私钥自己持有,用来解密公钥加密的信息。这样能解决密钥传输的问题,但有引发了新的问题:服务器的用户多的情况下,服务器需要接受客户端发来的公钥,并用之加密,这就导致服务端传输速率慢,占用服务端资源的问题。常见的非对称密钥算法有:RSA、DSA、ECC.
对称加密与非对称加密结合
对称密钥通讯方便,非对称密钥能解决对称密钥密钥传输容易被泄露。篡改的问题。所以我们可以将两者结合一下,即可解决两者存在的问题。具体流程如下:
客户端先向服务端申请服务端的公钥;
服务端将公钥发送给客户端;
客户端使用公钥加密对称密钥并传递给服务端;
服务端使用私钥解密后,用包含在其中的对称密钥加密信息进行通信。
对称密钥与非对称密钥很便捷的解决了通信加密的问题,但仍然存在漏洞,中间人攻击仍然会是通信安全得不到保障。
中间人攻击
中间人攻击就是黑客通过获取到客户端发送的请求公钥报文,将其截获并转发给服务端,导致服务端会将公钥发送给黑客,黑客用自己的公钥发送给客户端,客户端收到黑客的公钥后用该公钥进行加密并发送,黑客截取客户端发送的报文并用自己的私钥解开后可看到其中的对称加密密钥并可进行篡改,黑客可使用原对称密钥也可自己构造新的对称密钥并用服务端公钥进行加密传输给服务端。服务端使用黑客提供的对称密钥进行加密,黑客使用自己的对称密钥加密后,再用客户端提供的密钥加密信息发送给客户端。
数字证书
网站在使用HTTPS前,需要向“CA机构”申请颁发一数字证书,数字证书里有证书持有者、证书持有
者的公钥等信息。服务器把证书传输给浏览器,浏览器从证书里取公钥就可以了。
数字签名
服务端对证书的明文进行hash,对hash后的值进行私钥加密,得到数字签名。
客户端收到服务端发来的消息,得到一段明文和一个数字签名;
用CA机构保存的公钥对数字签名进行解密得到hash值1;
将传输过来的明文进行用证书中的hash算法进行hash得到hash值2;
将两个hash值比较,若相同说明证书可信。
这样就解决了中间人攻击的问题。
三,Https工作原理
1,客户端发送请求到服务端的443端口,发送的信息中包括随机值1和客户端支持的加密算法;
2,服务端接受到信息后,选择一种加密算法(该加密算法为客户端发送的加密算法的一种)和一段随机值2发送给客户端;
3,服务端发送第二个响应报文为数字证书,该证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间、服务端的公钥,第三方证书认证机构(CA)的签名,服务端的域名信息等内容;
4,客户端解析证书,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随即值(预主秘钥)。
5,证书通过后,将随机值1,随机值2,预主密钥组装成会话密钥,然后使用证书的公钥进行加密;
6,服务端用私钥解密得到会话密钥;
7,客户端通过会话密钥加密一条消息发送给服务端,达到验证服务端是否正常接受客户端加密的消息。服务端同样使用会话密钥加密一条消息发送给客户端,如果客户端能正常接受,则SSL层建立完成。
四,tips
HTTPS(超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版 。 即HTTP下
加入SSL层,HTTPS的安全基础是SSL 。WEB服务存在http和https两种通信方式,http默认采用80作为
通讯端口,对于传输采用不加密的方式;https默认采用443,对于传输的数据进行加密传输。目前主流
的网站基本上开始默认采用HTTPS作为通信方式,当前主流版本是SSL3.0和TLS1.0。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)