TLS加密套件

    出于兴趣爱好,决定开发TLS1.2-1.3的一个库。为此阅读了TLS相关的若干RFC文档,以及查阅了多篇相关博客文章。最终有以下发现:

    1. TLS定义了几百个加密套件(参考https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml),可是在HTTP2面前基本都被否定了(꒦_꒦),列入了加密套件黑名单。剩余的加密套件中,有20来个是被推荐的,还有二十来个没有被推荐;

    2. TLS-IANA中不推荐的加密套件,基本都被HTTP2列入了黑名单;

    3. Chrome-70-X64里建立HTTPS连接握手时(TLS1.2),client-hello中指定的加密套件中,除了最后面7个是出现在HTTP2加密套件黑名单中的(应该是为了兼容古老的服务器而指定),其余的全部是TLS推荐的加密套件。加密套件排列顺序合理:

          

4. 再来看看IE11-X86(Windows 7)对加密套件的支持情况(除了圈出来的这四个之外,其余的全是HTTP2黑名单里出现的o(╥﹏╥)o),加密套件排列顺序不合理,看样子微软IE浏览器很久没有人去动代码了:

        

    5. Firefox浏览器的加密套件是酱紫的(除了圈出来之外,其余的全部位于加密套件黑名单中):

        

    6. QQ浏览器其实是我不喜欢的浏览器,因为他为了钱居然每次我在地址栏输入tao,准备买买买的时候,总是给我推荐其他的网址,在极速内核下对加密套件的支持是这样的(除了圈出来之外,其余的全部位于加密套件黑名单中):

        

    7. 遨游5浏览器是我曾经最喜欢的浏览器,一键切换内核功能很好用,速度也很快,地址栏收藏很好用。它在极速内核下对于加密套件的支持,跟QQ浏览器完全一样,这里不再赘述;在IE内核下对于加密套件的支持不用多说,肯定跟本地IE浏览器的支持一致(这里鄙人是验证了的哈);

    8. Opera浏览器对加密套件的支持,跟QQ浏览器完全一样,不再赘述;

    9. 360极速浏览器极速内核下,对加密套件的支持如下(除了圈出来之外,其余的全部位于加密套件黑名单中),跟QQ极速内核的区别,也就是Reserved加密套件不一样,而IE兼容模式毫无疑问加密套件跟本地IE浏览器是一样的(验证过);

        

    10. 百度浏览器的极速模式下,对加密套件支持是这样的(除了圈出来之外,其余的全部位于加密套件黑名单中):

        

    11. 最终得到如下表格(主流浏览器对加密套件的支持情况):

        

    12. 实现TLS1.2的话,加密套件(TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256)中的一个是必要的。另外,还要为了兼容性实现一下HTTP2黑名单中的部分套件(TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA)。
    13. 规划暂时如此,如果遇到问题,再重新调整策略。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值