美文网首页
深度理解:TLS_ECDHE_RSA_WITH_AES_128_

深度理解:TLS_ECDHE_RSA_WITH_AES_128_

作者: sakaizhu | 来源:发表于2019-04-26 15:45 被阅读0次

    转载自: 拓扑梅尔Topomel

    因为Chorme浏览器的一些提示,我研究了一下Windows下的Cipher suite,特别是Chorme浏览器非常青睐的AES_128_GCM_SHA256加密算法。

    首先我们来看看Windows下一个Cipher suite的组成结构,如下图所示:

    需要关注的是上图中的Signature部分,如果你的SSL证书是RSA的,则就可以支持RSA的签名算法,如果是ECDSA的证书,则可以支持ECDSA的签名算法。我们可以在组策略中配置Cipher suite的顺序。配置方法为:

    gpedit.msc => 计算机配置 => 管理模板 => 网络 => SSL配置设置 => 双击右侧SSL密码套件顺序

    请注意,如果你的证书是RSA签名的,则在Windows上就算配置了ECDSA的算法在前面,因为使用的证书不是ECDSA的,所以也不会使用ECDSA的Cipher suite。

    回过头看看Windows的Cipher suite,主要来看看两大服务器操作系统的Cipher suite的支持情况。

    Windows server 2012 R2:

    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256

    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384

    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256

    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P384

    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P256

    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384

    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256

    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P384

    TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

    TLS_DHE_RSA_WITH_AES_256_CBC_SHA

    TLS_DHE_RSA_WITH_AES_128_CBC_SHA

    TLS_RSA_WITH_AES_256_GCM_SHA384

    TLS_RSA_WITH_AES_128_GCM_SHA256

    TLS_RSA_WITH_AES_256_CBC_SHA256

    TLS_RSA_WITH_AES_128_CBC_SHA256

    TLS_RSA_WITH_AES_256_CBC_SHA

    TLS_RSA_WITH_AES_128_CBC_SHA

    TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384_P384

    TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P256

    TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256_P384

    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384_P384

    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P256

    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256_P384

    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P256

    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA_P384

    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P256

    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA_P384

    TLS_DHE_DSS_WITH_AES_256_CBC_SHA256

    TLS_DHE_DSS_WITH_AES_128_CBC_SHA256

    TLS_DHE_DSS_WITH_AES_256_CBC_SHA

    TLS_DHE_DSS_WITH_AES_128_CBC_SHA

    TLS_RSA_WITH_3DES_EDE_CBC_SHA

    TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

    TLS_RSA_WITH_RC4_128_SHA

    TLS_RSA_WITH_RC4_128_MD5

    TLS_RSA_WITH_NULL_SHA256

    TLS_RSA_WITH_NULL_SHA

    SSL_CK_RC4_128_WITH_MD5

    SSL_CK_DES_192_EDE3_CBC_WITH_MD5

    Windows server 2016:

    TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

    TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

    TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

    TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

    TLS_DHE_RSA_WITH_AES_256_CBC_SHA

    TLS_DHE_RSA_WITH_AES_128_CBC_SHA

    TLS_RSA_WITH_AES_256_GCM_SHA384

    TLS_RSA_WITH_AES_128_GCM_SHA256

    TLS_RSA_WITH_AES_256_CBC_SHA256

    TLS_RSA_WITH_AES_128_CBC_SHA256

    TLS_RSA_WITH_AES_256_CBC_SHA

    TLS_RSA_WITH_AES_128_CBC_SHA

    TLS_RSA_WITH_3DES_EDE_CBC_SHA

    TLS_DHE_DSS_WITH_AES_256_CBC_SHA256

    TLS_DHE_DSS_WITH_AES_128_CBC_SHA256

    TLS_DHE_DSS_WITH_AES_256_CBC_SHA

    TLS_DHE_DSS_WITH_AES_128_CBC_SHA

    TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA

    TLS_RSA_WITH_RC4_128_SHA

    TLS_RSA_WITH_RC4_128_MD5

    TLS_RSA_WITH_NULL_SHA256

    从以上两个对比中,可以看到只有Windows server 2016才同时支持TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256和TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,也即你可以在Server 2016上使用RSA证书或者ECDSA证书,并满足Chorme浏览器推荐使用的加密算法。

    那么结论来了:

    1) 如果当前运行平台为Windows sever 2012 R2,则只有一种方法能实现支持AES_128_GCM_SHA256加密算法,那就是更换证书为ECDSA类型的。

    2) 如果当前运行平台为Windows server 2016,则系统默认支持RSA证书,所以不必更换证书了,使用系统默认的加密套件顺序即可支持AES_128_GCM_SHA256。

    相关文章

      网友评论

          本文标题:深度理解:TLS_ECDHE_RSA_WITH_AES_128_

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