[研究] HTTPS 支援加密演算法最大長度金鑰測試
2020-09-30
考慮幾個因素
Q1.Web Server 是否支援?(IIS, Apache httpd , Tomcat)
Q2.掃描工具是否支援?
********************************************************************************
nmap 7.80 版是目前最新版
受測環境:Windows Server 2019 Standard + IIS (已經關閉不安全的設定,並且經過 WAF )
Starting Nmap 7.80 ( https://nmap.org )
Host is up (0.00s latency).
443/tcp open https
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| ssl-enum-ciphers:
| TLSv1.1:
| ciphers:
| TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 1024) - A
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 1024) - A
| compressors:
| NULL
| cipher preference: server
| warnings:
| Key exchange (dh 1024) of lower strength than certificate key
| TLSv1.2:
| ciphers:
| TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
| TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
| TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 1024) - A
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 1024) - A
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 1024) - A
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 1024) - A
| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 1024) - A
| TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 1024) - A
| compressors:
| NULL
| cipher preference: server
| warnings:
| Key exchange (dh 1024) of lower strength than certificate key
|_ least strength: A
Nmap done: 1 IP address (1 host up) scanned in 2.02 seconds
********************************************************************************
SSL Labs
https://www.ssllabs.com/ssltest/analyze.html?d=xxx.xxx.xxx.tw
TLS 1.3 No
TLS 1.2 Yes
TLS 1.1 Yes
TLS 1.0 No
SSL 3 No
SSL 2 No
Cipher Suites
# TLS 1.2 (suites in server-preferred order)
TLS_RSA_WITH_AES_256_CBC_SHA (0x35) WEAK 256
TLS_RSA_WITH_AES_128_CBC_SHA (0x2f) WEAK 128
TLS_RSA_WITH_AES_256_CBC_SHA256 (0x3d) WEAK 256
TLS_RSA_WITH_AES_128_CBC_SHA256 (0x3c) WEAK 128
TLS_RSA_WITH_AES_128_GCM_SHA256 (0x9c) WEAK 128
TLS_RSA_WITH_AES_256_GCM_SHA384 (0x9d) WEAK 256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) ECDH secp192r1 (eq. 1536 bits RSA) FS WEAK 128
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) ECDH secp192r1 (eq. 1536 bits RSA) FS WEAK 256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) ECDH secp192r1 (eq. 1536 bits RSA) FS 128
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030) ECDH secp192r1 (eq. 1536 bits RSA) FS 256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39) DH 1024 bits FS WEAK 256
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33) DH 1024 bits FS WEAK 128
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (0x6b) DH 1024 bits FS WEAK 256
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (0x67) DH 1024 bits FS WEAK 128
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (0x9e) DH 1024 bits FS WEAK 128
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (0x9f) DH 1024 bits FS WEAK 256
# TLS 1.1 (suites in server-preferred order)
TLS_RSA_WITH_AES_256_CBC_SHA (0x35) WEAK 256
TLS_RSA_WITH_AES_128_CBC_SHA (0x2f) WEAK 128
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013) ECDH secp192r1 (eq. 1536 bits RSA) FS WEAK 128
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014) ECDH secp192r1 (eq. 1536 bits RSA) FS WEAK 256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39) DH 1024 bits FS WEAK 256
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33) DH 1024 bits FS WEAK 128
Handshake Simulation
Android 4.4.2 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Android 5.0.0 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Android 6.0 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Android 7.0 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Android 8.0 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Android 8.1 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Android 9.0 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
BingPreview Jan 2015 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Chrome 49 / XP SP3 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Chrome 69 / Win 7 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Chrome 70 / Win 10 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Chrome 80 / Win 10 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Firefox 31.3.0 ESR / Win 7 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Firefox 47 / Win 7 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Firefox 49 / XP SP3 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Firefox 62 / Win 7 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Firefox 73 / Win 10 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Googlebot Feb 2018 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
IE 11 / Win 7 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
IE 11 / Win 8.1 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
IE 11 / Win Phone 8.1 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
IE 11 / Win Phone 8.1 Update R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
IE 11 / Win 10 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Edge 15 / Win 10 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Edge 16 / Win 10 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Edge 18 / Win 10 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Edge 13 / Win Phone 10 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Java 8u161 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Java 11.0.3 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Java 12.0.1 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
OpenSSL 1.0.1l R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
OpenSSL 1.0.2s R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
OpenSSL 1.1.0k R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
OpenSSL 1.1.1c R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Safari 6 / iOS 6.0.1 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Safari 7 / iOS 7.1 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Safari 7 / OS X 10.9 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Safari 8 / iOS 8.4 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Safari 8 / OS X 10.10 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Safari 9 / iOS 9 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Safari 9 / OS X 10.11 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Safari 10 / iOS 10 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Safari 10 / OS X 10.12 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Safari 12.1.2 / MacOS 10.14.6 Beta R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Safari 12.1.1 / iOS 12.3.1 R RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
Apple ATS 9 / iOS 9 R RSA 2048 (SHA256) TLS 1.2 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA ECDH secp256r1 FS
Yahoo Slurp Jan 2015 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
YandexBot Jan 2015 RSA 2048 (SHA256) TLS 1.2 TLS_RSA_WITH_AES_256_CBC_SHA No FS
********************************************************************************
結果:
(Windows Server 2019 + IIS ) + ( nmap 7.80 或 SSLLabs ) 支援金鑰的最大長度
支援 AES_256
支援 SHA384,沒有 SHA512
支援 rsa 2048,沒有 rsa 4096
(完)
相關
進階加密標準(英語:Advanced Encryption Standard,縮寫:AES) - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/%E9%AB%98%E7%BA%A7%E5%8A%A0%E5%AF%86%E6%A0%87%E5%87%86
SHA家族 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/SHA%E5%AE%B6%E6%97%8F
RSA加密演算法 - 維基百科,自由的百科全書
https://zh.wikipedia.org/wiki/RSA%E5%8A%A0%E5%AF%86%E6%BC%94%E7%AE%97%E6%B3%95