憑證TLS台網CA/Browser Forum資安

台網的憑證發生了什麼事?為什麼要在幾天內換

··閱讀約 7 分鐘

我做 App,也管過網站的憑證。10 月 31 日,臺灣網路認證股份有限公司(TWCA,以下簡稱台網)發了公告,要客戶在 2026/11/06 00:00 前換上重新簽發的 SSL 憑證。這篇照公開文件整理經過。公告沒有寫的事,我就寫「公告沒有說明」。

台網公告了什麼

台網 10 月 31 日的公告講了三件事:

1. 台網遵循 CA/Browser Forum 的國際規範,調整中繼憑證的規格,並用新的中繼憑證重新簽發客戶的 SSL 憑證。

2. 原本的中繼憑證,會在 2026/11/06 00:00 前廢止。

3. 重簽的憑證沿用原本的金鑰,客戶收到後直接安裝。安裝時要包含完整的憑證鏈。

中繼憑證、憑證鏈、廢止這幾個詞,後面「憑證是什麼」那段會說明。

誰發現了什麼

台網的公告只寫是因應 CA/Browser Forum 國際規範的要求,沒有說是哪一條,也沒有連到任何外部紀錄。我去翻了 Mozilla 的 Bugzilla,也就是 Mozilla 公開的問題回報系統。

2026 年 10 月 29 日(UTC),Prasanth Sundararajan 開了編號 2087236 的回報,類別是 CA Certificate Compliance。回報由兩位外部研究者署名,不是台網自己報的。標題的意思是:台網 CA 憑證的序號,含有的 CSPRNG 輸出少於 64 位元。CSPRNG 是「密碼學安全的亂數產生器」。

每張憑證都有一個序號。規範要求序號不能照順序編,而且至少要含 64 位元來自 CSPRNG 的輸出。回報者量到的結果,是最多約 24 位元。

範圍是台網公開信任的根金鑰簽出的 24 張 CA 憑證,簽發日期從 2011 年 6 月 10 日到 2024 年 9 月 6 日。其中仍然有效、沒有廢止、而且受 Mozilla 和 Chrome 信任的有 8 張。這 8 張裡,6 張是簽網站憑證的中繼憑證,2 張是交叉憑證。

回報者也寫了沒發現問題的部分。他們檢查了台網 29 份廢止清單(CRL)裡 1,631 個用戶憑證的序號,沒有回報問題。CRL 是憑證機構公布已廢止憑證的清單。回報者也寫明,沒有證據顯示金鑰外洩、憑證被濫用或被利用。

同一天(UTC),台網在這張回報下回覆:已經知悉這起事件,正在調查。台網也承諾在 2026/11/12 19:00(UTC)前補上完整事件報告。序號為什麼會這樣,回報裡還沒有答案。

為什麼只有幾天

CA/Browser Forum 訂了一份 TLS Baseline Requirements,簡稱 BR。BR 是瀏覽器和憑證機構共同訂的規範。我讀的是 2026 年 10 月 4 日生效的 2.3.1 版。

BR 第 4.9.1.2 節管中繼憑證的廢止。它寫:符合下列任一條件,上層的憑證機構必須在 7 天內廢止這張中繼憑證。條件共 9 項,例如私鑰外洩、憑證被濫用、中繼憑證自己書面申請。第 5 項是:上層機構得知這張憑證的簽發不符合本規範或適用的憑證政策,或得知下層機構沒有遵守它們。

回報者在 bug 裡點名了這一條,寫明他們理解第 5 項可能適用。台網的公告寫的是「2026/11/06 00:00 前」廢止原中繼憑證。公告沒有說明這個日期依據哪一條規範,也沒有說從哪一天起算。

網站憑證的規定在 BR 第 4.9.1.1 節,可以放在一起看。私鑰外洩、網域驗證不可靠這類情況,要在 24 小時內廢止。簽發不符規範這類情況,建議 24 小時內、最晚 5 天內廢止。中繼憑證的期限則是 7 天。

同一週的另外兩張回報

台網同一週在 Bugzilla 還自己開了兩張回報。一張是 10 月 29 日,台網偵測到 RA 伺服器有未授權存取的跡象,已經隔離。台網當時寫,到那時沒有發現誤發憑證。RA 是註冊機構,負責驗證憑證申請者的身分;RA 伺服器是它用的系統。另一張是 11 月 1 日,台網 EV 憑證的管轄地欄位(州省、城市)不符 EV Guidelines 第 7.1.4.2.4 節。台網的公告沒有說這兩張和這次更換有關。

和中華電信 2025 年那次的差別

2025 年 5 月 30 日,Google 在安全部落格公告:Chrome 不再信任中華電信(Chunghwa Telecom)和 Netlock 的新憑證。中華電信受影響的根憑證是 ePKI Root Certification Authority 和 HiPKI Root CA - G1。Google 寫,過去幾個月到幾年,它看到「反覆出現的合規缺失、沒有兌現的改善承諾,以及對公開事件報告的回應看不到具體、可衡量的進展」。

生效條件是:從 Chrome 139 起,最早一筆 SCT(Signed Certificate Timestamp,簽章時間戳記)晚於 2025 年 7 月 31 日 23:59:59(UTC)的憑證,不再被信任。最早一筆 SCT 在這個時間(含)之前的憑證,不受影響。連到不受信任的網站,使用者會看到整頁警告。

中華電信在 6 月 2 日回應,原因是部分程序沒有在 Chrome 新政策要求的期限內調整完成,「絕非是因憑證存在漏洞或私鑰洩漏」。中華電信也說,2025 年 7 月 31 日前發行的憑證都不受影響。12 月 31 日的新聞稿寫,中華電信自 8 月 1 日起全面暫停簽發新的 TLS 憑證。同一份新聞稿也寫,中華電信通過 WebTrust 稽核,並在 12 月 29 日正式申請加入 Chrome 根憑證預設信任清單。2026 年有沒有恢復信任,我沒有查到公告。

兩件事的差別在層級。中華電信那次,是 Chrome 對兩個根憑證簽出的新憑證不再信任,範圍是整個根底下的新憑證。台網這次,公告的動作是換中繼憑證、重簽客戶的憑證。回報裡描述台網的根金鑰是公開受信任的,8 張仍有效的 CA 憑證也受 Mozilla 和 Chrome 信任。

憑證是什麼

網站憑證證明的是:這台伺服器控制這個網域。瀏覽器檢查的不只一張,是一條鏈,常見的是三層:

根憑證:憑證機構自己簽給自己的憑證,用來簽中繼憑證。Let's Encrypt 的根金鑰是離線保管的。

中繼憑證:由根憑證或另一張中繼憑證簽發,可以再簽別的憑證。

網站憑證:通常由中繼憑證簽發,只對一組網域有效,不能再簽別的憑證,也叫葉憑證。

可以用蓋章來想。根憑證像收在保險箱裡的總章,中繼憑證像分行章,網站憑證是分行開給你的證明。瀏覽器收到網站憑證,會沿著鏈一路驗簽章,驗到它信任的根為止。瀏覽器信任哪些根,看它內建的清單,Chrome 把這份清單叫 Root Store(根憑證庫)。

憑證鏈是網站送出的那一串中繼憑證,讓瀏覽器判斷能不能信任網站憑證。Mozilla 說,伺服器沒有裝對中繼憑證,是最常見的問題之一。Firefox 為此預先下載了所有受信任的中繼憑證。這些預載的中繼憑證只存在本機快取,不會因此得到信任,信任仍照標準流程判斷。台網的公告也寫明,安裝時要包含完整的憑證鏈。

廢止的意思是:憑證在到期日前都有效,除非憑證機構宣布廢止它。台網這次要廢止的是原中繼憑證,客戶的網站憑證則用新的中繼憑證重簽。

誰要做什麼

如果你的網站用的是台網的 SSL 憑證:

1. 收下台網重簽的憑證。金鑰沿用原本的那一組。

2. 在 2026/11/06 00:00 前裝上去,連同完整的憑證鏈。

如果你只是瀏覽網站的人,公告列的動作都是給網站端做的,沒有寫瀏覽者要做什麼。台網在 Bugzilla 承諾的完整事件報告,期限是 2026 年 11 月 12 日 19:00(UTC)。

參考資料