关于TLS经验小结(上)

作者: HenryYee | 来源:发表于2017-08-03 16:21 被阅读0次

1.什么是tls?
安全传输层协议(Transport Layer Security)用于在两个通信应用程序之间提供保密性和数据完整性。TLS是SSL的标准化后的产物,有有1.0 1.1 1.2 1.3四个版本,目前最常用的是tls1.2协议。
1.tls的一些概念
1.1 算法种类
非对称加密: RSA DH
对称加密: AES DES
Hash算法(散列): md5 sha1 sha256
PKI:数字签名

1.2 tls协议里面的算法的概念
密钥交换算法(Kx)
认证算法(Au)
加密算法(Enc)
消息摘要算法(Mac)

说了这么多,估计大家也有点懵逼了。大家肯定也有一个疑问,上述介绍的这些到底有什么用呢?
ok 先上个图:


image

这张图描述的是SSL通过RSA非对称加密方式的握手流程:
1.1 ssl握手过程:
1.客户端(一般为浏览器)向服务器发起send hello 其中的内容为:
1.1协议版本号(支持的tls版本) 1.2客户端生成的随机数(Client random) 1.3以及客户端支持的对称加密方法集。
2.服务端根据客户端send hello请求内容返回本次通信的tls版本, 具体使用哪一种对称加密方法,服务器生成的随机数(Server random) 以及服务器的证书及证书链。
3.客户端采用对应CA的公钥(认证算法)检查该证书是否有效、有没有 过期。如果证书没有问题。就再生成一个新随机数(Premaster secret)。 并且用服务端给的证书公钥加密这个随机数发送给服务器。
4.服务器用证书秘钥解密客户端发来的加密随机数(Premaster secret)。根据刚才双方协商的对称加密算法,使用之前的三个随机数去生成一个对话秘 钥,接下来的所有通信加解密都使用这个对话秘钥进行。
1.2 为什么要用非对称加密?
在进行ssl握手时(此时只是建立连接并没有开始传输数据)一切的握手传输数据都是明文的。 而我们在握手成功后最终需要用来对数据进行加解密的是对称加密方法。对称加密方法的好处 是,体积小,效率高。缺点也是显而易见,通信的暗号或密码绝对不能被他人知道。但是ssl 握手时是明文。所以为了不暴露对称加密的暗号或密码我们需要用非对称加密的方式保护起来。
1.3 这样的握手机制真的很安全吗?
刚才的RSA握手机制我们注意到以下几点:
1.一共生成了3次随机数
2.服务器需要将自己的证书公钥发送给客户端已便客户端生成Premaster secret
那么问题来了?
如果在你(客户端)与服务器中间有一个每天都没事情做,和你怼上了就一直监控收集你和 服务端之间的通信数据的中间人。然后某一天服务器的私钥不小心泄露了,又刚好秘钥被 这个中间人获得了,因为握手时数据为明文而且为了客户端生成Premaster secret 服 务端发送了公钥,所以中间人很容易得到公钥。最后不幸的事情发生了,中间人有公钥也 有秘钥。虽然服务器马上更换了证书。但是之前的数据,中间人全部都可以解密而获得到。
那有什么办法可以规避?


image
上图是基于DH算法的SSL握手流程
DH和RSA有什么区别吗?
其他的步骤基本一致,只有一点。

RSA采用的是服务器发送证书公钥,客户端公钥加密随机数再传输给服务端解密最后 生成session key
而DH采用的是服务端发送算法的相应算法加解密参数,客户端也发送算法的相应参数。然后两边自己算自己的。最后对比,如果一致则建立session key,这样就算泄露了,由于在建立连接时并没有传输证书公钥所以不会对之前的数据产生被破解的风险。这就是PFS(Perfect Forward Secrecy)完美前向安全性。

相关文章

  • 关于TLS经验小结(上)

    1.什么是tls?安全传输层协议(Transport Layer Security)用于在两个通信应用程序之间提供...

  • 关于TLS经验小结(下)

    上期我们说到对称加密算法 AES DES 目前使用的几乎都是AES-GCM(DES安全性太差基本处于废弃状态) 那...

  • 关于TLS经验小结(中)

    上期讲了ssl握手流程与非对称加密,这期继续上期的话题讲一下对称加密以及模式。 1.什么是对称加密? 采用单钥密码...

  • 转:关于android中图片裁剪以及PorterDuffXfer

    转:关于android中图片裁剪以及PorterDuffXfermode的使用经验小结 原文:关于android中...

  • python中关于隐式TLS FTP的链接认证

    关于显式TLS和隐式TLS为了提高FTP的安全性,我们使用了FTPS。FTPS是建立在SSL协议上一种增强型FTP...

  • 关于SSL/TLS

    参考:SSL/TLS协议运行机制的概述 - 阮一峰的网络日志 参考:图解SSL/TLS协议 - 阮一峰的网络日志 ...

  • 关于招聘经验的小结(一)

    近期为部门招人,虽面人不多,也稍有感悟,在此小结以备忘。 由于只是初试,从我个人角度觉得需要做好这几步:岗位分析、...

  • TLS整理(上):我们为啥需要TLS

    网上说TLS的文章很多,要学习TLS技术有很多不错的选择。本文并不是一个权威的教程,只是我个人学习TLS后基于自己...

  • 详解HTTPS协议

    概览 关于SSL/TLS SSL为1994网景公司推出,在1999年被IETF标准化,成为TLS,通常认为SSL和...

  • TLS/SSL协议格式(一)

    概述 TLS/SSL协议实际上是分层的,类似IP/TCP协议; TLS Record Protocol 上图为一个...

网友评论

    本文标题:关于TLS经验小结(上)

    本文链接:https://www.haomeiwen.com/subject/wwmplxtx.html