SSL加密过程

概念

SSL(Security Socket Layer),安全套接字层

这种加密技术手段在网络模型中位于传输层和应用层之间。

作用

对我们的消息进行加密。当我们把数据消息编码成字节流之后,我们再用SSL加密技术对这些数据流进行加密。变成密文后,这样在传输的过程中,即使这些密文被别人劫持,别人也是无法获取到有用的信息的。

这些消息发到对方后再通过ssl进行解密。这样后,整个传输过程就是特别安全的。

重要元素

密匙

它的作用就是对我们的数据流进行加密和解密。

密匙分为公匙和私匙这两类。

当其中一把密匙是公匙的时候,那么另一把就是私匙。

公匙和私匙都能对我们的数据流进行加密和解密。

密匙库

其实就是一个装载的密匙的仓库。我们平时访问密匙的时候,就得从密匙库中访问。

信任库

我们在SSL加密用到的一个白名单。这个名单记录着我们对哪一些对端是信任的,允许与他进行加密通信。

加密流程

在这里插入图片描述

双边交流

  1. ssl协议版本
  2. 加密算法
  3. 随机数

这些双方达成一致可以为后面的加密做了必要的前置条件。

验证身份

首先我们需要验证对方是否是我们这边信任的人。
在这里插入图片描述
首先我们的客户端有两个库,一个密匙库,一个信任库。服务端也有密匙库和信任库。

客户端先从密匙库中拿出一个密匙对,通过网络传输到我们的服务端这边,然后服务端收到了,它就需要验证一下对端是否是可以信任的。如何判断呢,他就是从这个信任库里面查看,进行验证。如果验证通过了,就代表对端的客户端是我们信任的。此时就是单向验证。

而双向验证就是我们服务端再从密匙库中取出一个密匙对,通过网络传输到客户端这边,客户端采取同样的方式对服务端进行验证。此时就是双向验证。

数据的加密和解密

这个时候,我们的客户端就可以利用我们的密匙,把我们已经编码好的数据流进行加密成密文,然后传送到服务端这边。

服务端在得到这些密文之后,也用自身的密匙对这些数据进行解密。解密之后就变成明文了,这个时候,服务端就可以进行识别了。

服务端到客户端也是如此。

参考资料java SSL加密通信系列 第1课: 加密流程概述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值