浅析HTTPS——SSL/TLS协议

SSL/TLS的历史

在了解SSL的历史时,有必要提一下Mozilla
Foundation。说到Mozilla,首先我们想到的是他们著名的浏览器Firefox。根据各种消息来源来看,Firefox是继Chrome和Safari之后最受欢迎的浏览器。但Firefox杰出的前身是Netscape,在90年代它是互联网用户中最受欢迎的浏览器。
1994年,Netscape为Netscape
Navigator浏览器研发了SSL。其作用主要是为了防止中间人攻击。后来,随着互联网可访问性的增加,银行开始利用互联网进行交易。当时安全性是一个很重要的问题,IETF
(互联网工程任务组),也就是一群标准化互联网协议的人,他们研发属于自己的协议版本来标准化SSL,这是在1999年,现在该协议被称为TLS(传输层安全性),它的最新版本是TLS
1.3。

SSL协议的握手过程

SSL握手时使用非对称加密传输密钥,之后使用该密钥进行对称加密通讯。 假定客户端叫做爱丽丝,服务器叫做鲍勃,握手阶段分成五步。

第一步,爱丽丝给出协议版本号、一个客户端生成的随机数(Client random),以及客户端支持的加密方法。

第二步,鲍勃确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数(Server random)。

第三步,爱丽丝确认数字证书有效,然后生成一个新的随机数(Premaster secret),并使用数字证书中的公钥,加密这个随机数,发给鲍勃。

第四步,鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret)。

第五步,爱丽丝和鲍勃根据约定的加密方法,使用前面的三个随机数,生成"对话密钥"(session key),用来加密接下来的整个对话过程。

在这里插入图片描述
上图显示的是使用RSA对密钥交换(握手)过程进行加密,还有比较常用的是Diffie-Hellman密钥交换算法(这里不对加密算法做具体介绍)。
在这里插入图片描述

在这里插入图片描述

Session ID

握手阶段用来建立SSL连接。如果出于某种原因,对话中断,就需要重新握手。

这时有两种方法可以恢复原来的session:一种叫做session ID,另一种叫做session ticket。

session ID的思想很简单,就是每一次对话都有一个编号(session ID)。如果对话中断,下次重连的时候,只要客户端给出这个编号,且服务器有这个编号的记录,双方就可以重新使用已有的"对话密钥",而不必重新生成一把。

Session ID保存在浏览器的cookie中,大多数网页的自动登录便是由此实现的。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值