HTTPS安全协议介绍



Session和Cookie内容可能会被攻击者捕获的安全问题,实际上,类似的安全隐患在HTTP访问某些敏感页面时也会出现。比如用户通过网上银行访问自己银行账户信息页面或者涉及个人隐私的医疗信息,这些页面在响应给用户的过程中也会有信息泄露的可能性,所以关键信息需要在传输的过程中进行加密,这样, HTTPS就出现了。HTTPS(Hypertext transfer protocol over secure socket layer),是以安全为目标的HTTP通道,简单讲是HITP的安全版,即HTTP下加人SsL层。HTTPS的安全基础是SsL。
 
用户在访问网上银行时经常可以看到浏览器地址栏的最右边有一把小锁的标,而访问的网页的地址都是htt:∥,这说明用户正在使用HTTPS协议来进行Web访问,HTTPS是如何工作的?
 
用户通过浏览器向服务端发出一个HTTPS的请求消息,服务器端在响应消息中包含一个服务器的公钥。公钥和私钥属于非对称密钥,是通过非对称加密算法得到的一对互不相同的密钥,用公钥加密的明文可以通过私钥来解密,用私钥加密的明文可以通过公钥来解密。公钥和私钥的名称差异只是相对于这两个密钥中哪个对外公开、哪个不对外公开而言的。顾名思义,公钥是对外公开的,任何人都可以通过服务器公布的公钥来加密发送给它的明文消息,而这个消息也只有服务器才能解密,因为只有它知道私钥。浏览器在拿到公钥后就可以通过公钥来加密后面提到的对称密钥了。
 
浏览器收到服务器公钥后,会在本地产生一个对称密钥,并用收到的服务器公钥对对称密钥进行加密,然后将加密后的对称密钥发送给服务器,服务器获取对称密钥后就可以在接下来的HTTP通信中对请求消息进行解密和对响应消息进行加密。对称密钥是什么?对称密钥之所以对称,是说发送方加密和接收方解密都使用相同的密钥,比如浏览器用对称密钥加密请求消息,服务器用对称密钥来解密。
 
为什么既要用到对称密钥又要用到非对称密钥?主要是因为对称密钥算法和非对称密钥在密钥分发和机器处理代价上的差异。对称密钥对文件内容进行加解密时处理效率高,处理时间短,消耗资源少,而非对称密钥则相反。在处理单个字符或者较少字节的文件时,对称密钥和非对称密钥的差别不大,但如果需要加密的文件是大块的文件,则对称密钥的优势就很明显了,所以在涉及Web页面或其他媒体内容传输等操作时,一般使用对称密钥加密会更加高效。
 
但浏览器产生的对称密钥不能直接明文分发给服务器,否则攻击者获取后就可以窃取用户的敏感信息,这时非对称密钥就派上用场了。首先,因为对称密钥是长度较短的一段随机字符,所以非对称密钥适合对对称密钥加密;其次服务器在开始只是把公钥分发给了浏览器,所以“公开的秘密”对攻击者而言自然也就不是什么秘密了。因此,有了非对称密钥和对称密钥的配合,HTTPS就能保证整个通信的保密性。
 
CDN互联专业提供国内外高防cdn加速服务