解析 TLS 協定版本與其安全意義
在評估網路傳輸安全時,識別連線所使用的 TLS 協定版本是首要步驟。TLS 協定經歷了多個版本的演進,較舊的版本因存在已知的結構性漏洞,已逐漸被安全社群淘汰。
本工具在分析文字時,會將識別出的協定版本標記為不同的角色,包含「已協商」、「已提供」或「已發現」。例如,在交握摘要中實際被雙方選定使用的版本會標記為「已協商」;而客戶端在 ClientHello 中宣告支援的清單則會歸類為「已提供」。若輸入的文字中未包含任何可辨識的協定版本,系統將會顯示「提供的文字中沒有找到協定版本。」。
TLS 密碼套件的結構與識別
TLS 密碼套件(Cipher Suite)是一組定義了金鑰交換、身分驗證、對稱加密及訊息鑑別碼(MAC)演算法的組合。在傳統的 TLS 1.2 及更早版本中,密碼套件的命名通常遵循特定格式,例如 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,從中可以直接讀取各個階段所使用的演算法。
本工具支援辨識常見的 IANA 標準名稱、OpenSSL 別名以及多種常見的十六進位套件 ID。分析結果會針對密碼套件給予安全性評估分類,包括「現代」、「需複核」、「已棄用」與「未知」。如果輸入的文字中完全無法提取出任何密碼套件,則會顯示「提供的文字中沒有找到密碼套件。」。
已棄用與具安全隱憂的加密演算法
許多早期廣泛使用的演算法,如今已被證實存在嚴重缺陷。本工具會針對分析出的密碼套件進行靜態比對,並針對下列不安全或過時的演算法給出具體的安全性發現:
| 演算法 / 套件類型 | 安全性評估與發現 |
|---|---|
| RC4 | RC4 已棄用,不應再協商使用。 |
| DES | DES 不適合一般 TLS 用途。 |
| 3DES | 3DES 的區塊長度較短,已在 TLS 中棄用。 |
| NULL | NULL 加密不提供機密性保護。 |
| EXPORT | EXPORT 套件刻意使用弱密碼演算法,現已棄用。 |
| Anonymous | 匿名套件不驗證對端身分,容易遭受中間人攻擊。 |
| MD5 | MD5 不適合一般 TLS 用途。 |
| SHA-1 | 此套件使用 SHA-1,已不建議用於一般 TLS。 |
| CBC 套件 | CBC 套件已屬舊式方案。優先選擇 AES-GCM 或 ChaCha20-Poly1305 等 AEAD 套件。 |
| 靜態 RSA | 靜態 RSA 金鑰交換不提供前向保密。 |
| CCM-8 | CCM-8 使用較短的驗證標籤,需要配合具體協定審查。 |
若輸入的密碼套件未包含在內建的常見套件表中,系統則會提示「內建的常見套件表中沒有此套件。請查閱目前的 IANA 登錄表或掃描工具文件。」。
TLS 1.3 的金鑰交換與驗證機制
在 TLS 1.3 協定中,密碼套件的結構發生了重大變化。與舊版協定不同,TLS 1.3 會在密碼套件之外另外協商金鑰交換與身分驗證。
因此,TLS 1.3 的密碼套件名稱(例如 TLS_AES_256_GCM_SHA384)僅包含對稱加密演算法和雜湊演算法,而不包含金鑰交換(如 ECDHE)或憑證簽章演算法(如 RSA 或 ECDSA)。當工具偵測到 TLS 1.3 套件時,會特別標註「TLS 1.3 會在密碼套件之外另外協商金鑰交換與身分驗證。」以提醒分析人員。
靜態分析與實時掃描的限制
本工具屬於靜態分析工具,旨在協助開發人員、網站可靠性工程師(SRE)及安全審查人員快速解讀現有的文字資料。
請注意,本頁只解讀你提供的文字,不會連線到主機或執行線上 TLS 掃描;缺少的欄位會保留為未知。這意味著工具無法驗證目標伺服器的憑證有效性、無法測量實際的金鑰長度、無法測試伺服器是否容易受到降級攻擊,也無法列出該伺服器實際上所支援的所有密碼套件。
輸入限制與錯誤處理
為了確保瀏覽器運作順暢,使用本工具時需注意以下輸入規範與錯誤提示:
- 輸入格式:僅支援可讀的掃描結果、
openssl s_client輸出、封包分析摘要或 ClientHello/ServerHello 欄位文字。不支援原始二進位資料或封包擷取檔(如.pcap)。 - 字元限制:輸入內容必須控制在 200,000 個字元以內。若超出此限制,系統會顯示錯誤訊息:「這段摘要過長,請控制在 200,000 個字元以內。」。
- 空白輸入:若未貼上任何內容即執行分析,會觸發錯誤提示:「請先貼上 TLS 掃描結果或交握摘要。」。
- 無法辨識:若輸入的文字中沒有任何可辨識的 TLS 版本或密碼套件,系統將顯示:「沒有辨識到 TLS 版本或密碼套件。請貼上可讀的掃描結果或交握欄位。」。
本機隱私處理說明
當您使用本工具分析敏感的系統組態或掃描報告時,貼上的 TLS 資訊只會在瀏覽器中處理,BroBroGo 不會上傳或儲存。所有的文字解析與演算法比對皆在您的本機裝置上完成。
常見問題
可以貼上哪些 TLS 輸出格式?
可以貼上常見 TLS 掃描工具或 openssl s_client 的文字輸出、封包分析摘要,或簡短的 ClientHello、ServerHello 欄位。檢查器能辨識常見 IANA 名稱、OpenSSL 別名和部分常用的十六進位套件 ID,但不能解碼原始封包位元組。
為什麼 TLS 1.3 密碼套件不顯示 RSA 或 ECDHE?
TLS 1.3 的密碼套件名稱只描述記錄層加密與交握雜湊。金鑰交換和身分驗證會另外協商,不能只憑套件名稱推斷。
檢查結果能證明伺服器安全嗎?
不能。結果只解讀你貼上的文字,不會連線到主機、驗證憑證、檢查金鑰長度或降級行為,也不能列出伺服器接受的所有套件。