对称/非对称加密算法在https中的使用

当前市面上常用的密钥算法的主要基于两方面的考量:数据截获和数据篡改;对称/非对称加密算法能够避免信息窃取,而消息摘要可以避免信息篡改。

HTTPS是一个组合:HTTP+SSL/TLS,HTTPS运行在SSL/TLS之间的HTTP协议,SSL/TLS则运行在TCP协议之上,意思就是在原有的通讯模块上又加了一个加减密的模块,所以凡是HTTPS通信,接收方和发送方通讯的内容都是加过密的信息,加载过程如下:

客户端发起HTTPS请求:简单来讲就是浏览器输入csdn.net,发起一次B/S请求

服务端的处理:采用HTTPS协议的服务器得有一套数字证书,可以自己做,也可以跟组织申请,区别在于,自己做的证书需要客户端验证通过,才可以继续访问,而使用授信的公司申请的证书这不需要验证(例如:startssl免费ssl证书申请),所谓的证书就是一对公钥和私钥,更简单的比喻就是公钥就是一个带锁的箱子,你把你要传送的东东用公钥加密(就是把你传送的信息塞进这个带锁的小箱子里),然后通过HTTP协议发送到对方的手里,对方是生成这个带锁箱子和解锁钥匙的人,所以只有她可以解开这个带锁的箱子,从而保证了数据在传送中避免数据截获的尴尬境地。

传输证书:

这个证书就是公钥,并且包含了很多信息,譬如:证书的颁发机构和过期时间等等。

客户端解析证书:

这段逻辑是由客户端的TLS来完成的,验证过证书的颁发机构和过期时间等,如果出现异常,就在页面弹出警告框,提示证书存在的问题,没有异常,那就生成一个随机值。然后用证书对这个随机值进行加密,简单说就是给传输信息上锁。

传送加密信息:

这里传送的是用证书加密后的随机值,目的就是让服务器得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密。

服务端解密信息:

服务端用私钥解密后,得到了客户端传送来的随机值(就是刚刚产生的对称性加密算法中的私钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过算法扭打到一起,这样除非对方手里有对称性加密算法的私钥,不然是无法解锁这份信息的,只要加密算法够复杂,数据就够安全。

传输加密后的信息:

这部分就是刚刚服务端用随机值加密过后的信息内容,可以在客户端用随机值解密还原的内容。

客户端解密信息:

客户端用之前生成的私钥(随机值)解密服务端传送过来的信息,于是就可以获得解密后的内容。

对称加密损耗低,效率高,非对称加密算法性能特别低,所以一般的HTTPS连接只在第一次握手的时候使用非对称加密,通过这次捂手行为彼此交换对称加密密钥,在之后的通信走对称加密。








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值