解讀 TLS 協定版本與密碼套件
在評估網絡安全與伺服器設定時,開發人員、系統可靠性工程師(SRE)及安全審查人員經常需要分析 TLS 掃描結果或握手摘要。本工具旨在分析你提供的文字,識別出當中已協商的協定版本、密碼套件以及是否存在任何舊式或已棄用的演算法。
本工具屬於靜態分析工具,其運作完全在你的瀏覽器本機內進行,貼上的 TLS 資料不會上載或儲存。工具僅解讀你提供的文字,並不會連接至主機、驗證證書、測量金鑰長度、測試降級行為,亦無法顯示伺服器所接受的所有套件。
輸入格式與限制
使用者可以貼上來自常見 TLS 掃描工具、openssl s_client、封包分析摘要,或簡短的 ClientHello 與 ServerHello 欄位的文字。
- 支援格式:可讀的掃描器輸出或 ClientHello/ServerHello 欄位。工具能辨識常見的 IANA 名稱、OpenSSL 別名以及部分常用的十六進位套件 ID。
- 限制:輸入內容必須控制在 200,000 個字元以內。本工具不支援原始二進位資料或封包擷取檔案(如.pcap)。
若輸入不符合要求,系統會顯示相應的錯誤訊息:
- 輸入為空時:
請先貼上 TLS 掃描結果或握手摘要。 - 輸入超過字元限制時:
這段摘要過長,請控制在 200,000 個字元以內。 - 無法辨識任何內容時:
沒有辨識到 TLS 版本或密碼套件。請貼上可讀的掃描結果或握手欄位。
協定版本與角色定位
在分析結果中,工具會識別並標示出協定版本與密碼套件,並根據上下文將其歸類為以下三種角色之一:
- 已協商
- 已提供
- 已發現
若輸入的文字中缺乏相關資訊,工具會顯示以下提示:
- 未找到協定版本:
提供的文字中沒有找到協定版本。 - 未找到密碼套件:
提供的文字中沒有找到密碼套件。
密碼套件安全性評估
工具會針對識別出的密碼套件進行安全性評估,分類為現代、需覆核、已棄用或未知。以下為常見的評估結果與具體發現:
已棄用或不安全的演算法
- RC4:
RC4 已棄用,不應再協商使用。 - DES:
DES 不適合一般 TLS 用途。 - 3DES:
3DES 的區塊長度較短,已在 TLS 中棄用。 - NULL:
NULL 加密不提供機密性保護。 - EXPORT:
EXPORT 套件刻意使用弱密碼演算法,現已棄用。 - 匿名套件:
匿名套件不驗證對端身分,容易遭受中間人攻擊。
雜湊與加密模式評估
- MD5:
MD5 不適合一般 TLS 用途。 - SHA-1:
此套件使用 SHA-1,已不建議用於一般 TLS。 - CBC 模式:
CBC 套件已屬舊式方案。優先選擇 AES-GCM 或 ChaCha20-Poly1305 等 AEAD 套件。 - CCM-8:
CCM-8 使用較短的驗證標籤,需要配合具體協定覆核。
金鑰交換與前向保密
- 靜態 RSA:
靜態 RSA 金鑰交換不提供前向保密。 - TLS 1.3 套件:
TLS 1.3 會在密碼套件之外另外協商金鑰交換與身分驗證。由於 TLS 1.3 密碼套件名稱只描述記錄層加密和握手雜湊,金鑰交換與身分驗證是獨立協商的,因此無法單憑套件名稱推斷其金鑰交換機制。 - 未知套件:
內建的常見套件表中沒有此套件。請查閱目前的 IANA 登記表或掃描工具文件。
常見問題
可以貼上哪些 TLS 輸出格式?
可以貼上常見 TLS 掃描工具或 openssl s_client 的文字輸出、封包分析摘要,或簡短的 ClientHello、ServerHello 欄位。檢查器能辨識常見 IANA 名稱、OpenSSL 別名和部分常用的十六進位套件 ID,但不能解碼原始封包位元組。
為什麼 TLS 1.3 密碼套件不顯示 RSA 或 ECDHE?
TLS 1.3 的密碼套件名稱只描述記錄層加密和握手雜湊。金鑰交換與身分驗證會另外協商,不能只憑套件名稱推斷。
檢查結果能證明伺服器安全嗎?
不能。結果只解讀你貼上的文字,不會連接主機、驗證證書、檢查金鑰長度或降級行為,也不能列出伺服器接受的所有套件。