是否有哪个浏览器支持哪个TLS密码套件列表? [关闭]

问题描述 投票:5回答:2

我正在尝试通过更高版本的TLS来提高应用程序的安全性。但是,我不想排除太多用户。有没有人知道是否有列出所有主要浏览器的列表,以及哪些版本支持TLS的密码套件?例如

Chrome version Y supports TLS_RSA ...., TLS_ECDHE...., ...
Chrome version Y+1 supports....
Safari version X ...
IE version Z ....
Microsoft Edge ...
Opera .... 
Firefox ...

我一直在谷歌上搜索我无法在任何地方找到它。有人看过像这样的网站吗?太感谢了!

security ssl browser
2个回答
7
投票

我不知道是否有某处你可以找到这些信息。

我看到了两种确保与大多数浏览器兼容的方法:

  • 在对配置进行每次更改后,使用Qualys SSLLabs检查握手,
  • 继续使用TLSv1.0是否需要支持Android v4.3及更早版本,并且至少支持在相应的TLS RFC中定义的密码套件。

符合RFC的强制密码套件包括:

  • TLSv1.1的TLS_RSA_WITH_3DES_EDE_CBC_SHA(也就是TLSv1.0)
  • TLSv1.2的TLS_RSA_WITH_AES_128_CBC_SHA

如果使用这些设置,则将支持除Windows XP上的IE6之外的所有浏览器。

然后,一旦您支持这些协议和密码套件,您就可以添加并选择更强大的协议:

  • TLS_(EC)DHE_RSA_WITH_AES_256_GCM_SHA384(尚未得到广泛支持)
  • TLS_(EC)DHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_(EC)DHE_RSA_WITH_AES_256_CBC_SHA
  • TLS_(EC)DHE_RSA_WITH_AES_128_CBC_SHA

通过这些设置,您应该支持几乎所有浏览器,并且与现代浏览器具有良好的安全级别。

如果您想了解特定的浏览器版本,请安装它并转到qazxsw poi(Still Qualys SSL Labs,但是对于客户端)。


2
投票

PyTLS项目是纯python中的一个非常低级的SSL / TLS实现,并带有一个基本的服务器实现,可以很好地处理这项工作,开箱即用。

  1. 克隆this website
  2. 运行https://github.com/WestpointLtd/pytls
  3. 将您的浏览器指向python server.py -p 4433

正在运行的python脚本将打印出浏览器请求的密码套件到控制台。它们按优先顺序列出,浏览器最受欢迎的密码套件位于列表顶部。

EG

Google Chrome 56, Windows 10, April 2017

https://localhost:4433/

Mozilla Firefox 52, Windows 10, April 2017

Binding...
Connection from ('127.0.0.1', 64858)
Record Version: TLS1_0
Handshake Version: TLS1_2
Session ID Length: 0
Cipher Suites Length (bytes): 32
Cipher Suites:
0x8a8a GREASE_i
0xc02b TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
0xc02f TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
0xc02c TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
0xc030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
0xcca9 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
0xcca8 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
0xcc14 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_non_iana
0xcc13 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_non_iana
0xc013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
0xc014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
0x009c TLS_RSA_WITH_AES_128_GCM_SHA256
0x009d TLS_RSA_WITH_AES_256_GCM_SHA384
0x002f TLS_RSA_WITH_AES_128_CBC_SHA
0x0035 TLS_RSA_WITH_AES_256_CBC_SHA
0x000a TLS_RSA_WITH_3DES_EDE_CBC_SHA

curl 7.42.1 (x86_64-suse-linux-gnu) libcurl/7.42.1 OpenSSL/1.0.1k zlib/1.2.8 libidn/1.31 libssh2/1.5.0, April 2017

Binding...
Connection from ('127.0.0.1', 64814)
Record Version: TLS1_0
Handshake Version: TLS1_2
Session ID Length: 0
Cipher Suites Length (bytes): 26
Cipher Suites:
0xc02b TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
0xc02f TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
0xcca9 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
0xcca8 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
0xc02c TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
0xc030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
0xc00a TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
0xc009 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
0xc013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
0xc014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
0x002f TLS_RSA_WITH_AES_128_CBC_SHA
0x0035 TLS_RSA_WITH_AES_256_CBC_SHA
0x000a TLS_RSA_WITH_3DES_EDE_CBC_SHA

来自同一浏览器的重复连接通常会显示不同的密码套件集,因为浏览器可能会在请求的密码列表中的各个位置进行Binding... Connection from ('127.0.0.1', 47096) Record Version: TLS1_0 Handshake Version: TLS1_2 Session ID Length: 0 Cipher Suites Length (bytes): 118 Cipher Suites: 0xc030 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0xc02c TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0xc028 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 0xc024 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 0xc014 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA 0xc00a TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0x00a3 TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 0x009f TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 0x006b TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 0x006a TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 0x0039 TLS_DHE_RSA_WITH_AES_256_CBC_SHA 0x0038 TLS_DHE_DSS_WITH_AES_256_CBC_SHA 0x0088 TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x0087 TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0xc032 TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 0xc02e TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0xc02a TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 0xc026 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 0xc00f TLS_ECDH_RSA_WITH_AES_256_CBC_SHA 0xc005 TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x009d TLS_RSA_WITH_AES_256_GCM_SHA384 0x003d TLS_RSA_WITH_AES_256_CBC_SHA256 0x0035 TLS_RSA_WITH_AES_256_CBC_SHA 0x0084 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA 0xc02f TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0xc02b TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0xc027 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 0xc023 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 0xc013 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA 0xc009 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x00a2 TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 0x009e TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 0x0067 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 0x0040 TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 0x0033 TLS_DHE_RSA_WITH_AES_128_CBC_SHA 0x0032 TLS_DHE_DSS_WITH_AES_128_CBC_SHA 0x009a TLS_DHE_RSA_WITH_SEED_CBC_SHA 0x0099 TLS_DHE_DSS_WITH_SEED_CBC_SHA 0x0045 TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x0044 TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0xc031 TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 0xc02d TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0xc029 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 0xc025 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 0xc00e TLS_ECDH_RSA_WITH_AES_128_CBC_SHA 0xc004 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x009c TLS_RSA_WITH_AES_128_GCM_SHA256 0x003c TLS_RSA_WITH_AES_128_CBC_SHA256 0x002f TLS_RSA_WITH_AES_128_CBC_SHA 0x0096 TLS_RSA_WITH_SEED_CBC_SHA 0x0041 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA 0xc012 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA 0xc008 TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA 0x0016 TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA 0x0013 TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 0xc00d TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA 0xc003 TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA 0x000a TLS_RSA_WITH_3DES_EDE_CBC_SHA 0x00ff TLS_EMPTY_RENEGOTIATION_INFO_SCSV

请注意,此项目仅处理TLS记录和消息的传输,并不处理任何加密。它主要针对希望在协议级别调查或复制不同SSL / TLS实现的行为的安全研究人员,并且需要一些所需协议行为的知识来有效地扩展其作为库的使用。

免责声明:我与作者密切合作,并为该项目的某些方面做出了贡献。

© www.soinside.com 2019 - 2024. All rights reserved.