SSL/TLS是什么?和HTTPS 是什么关系

什么是SSL/TLS协议?

NetScape设计了SSL 协议,ISOC对SSL升级后成了TLS。

SSL/TLS是一种解决网络通信安全的协议。

什么是HTTPS协议 ?

HTTPS 协议是由 HTTP 加上SSL/TLS协议构建的可进行加密传输、身份认证的网络协议。

哪里安全?怎么做的安全?  带着疑问我们先了解下http协议 

传统http存在的安全问题?

1. 第三方可以获知通信内容。

2. 第三方可以修改通信内容。

3. 第三方可以冒充他人身份参与通信。

SSL/TLS是如何保证以上三点安全的

1.信息加密,密文传输数据

2.校验机制,别人修改数据也没用

3.通过证书确保服务端身份无法伪造

下面简单阐述下SSL/TLS的实现过程:

1.客户端发出请求,携带以下信息

支持的协议版本,比如TLS1.0

一个随机数,用于生成"对话密钥"。

支持的加密算法,比如RSA

支持的压缩方法

2.服务端接收到客户端发出的请求,响应内容包含以下信息

确定协议版本TLS1.0

一个随机数,用于生成"对话密钥"。

确认加密算法

服务器证书

3.客户端接收到服务端的响应内容

首先看下证书是否是在服务器根证书的授信任列表中,如果证书不是可信机构颁布、或者证书中的域名与实际域名不一致、或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。 

如果证书没问题,从证书中提取到公钥 ,然后向服务端响应以下内容:

生成一个随机数,用于生成"对话密钥"。(该随机数用公钥加密,  服务端收到后会用私钥解密)

编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。

客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供服务器校验。

4.服务端最后回应

编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送

服务器握手结束通知,表示服务器的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供客户端校验。

最后

服务端和客户端双方都持有了3个随机数,根据约定的加密算法生成一个对称密钥,之后所有的数据传输的时候,对数据进行对称加解密。

 

 

 

 

 

参考:http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值