憑證暨資安專家Scott Helme表示,伺服器回傳的中間憑證與實體憑證,必須源自於裝置上所存放的根憑證。使用者所連結的服務或應用伺服器通常是定期更新的,通常也會同步更新憑證,而不致於讓憑證過期,然而,許多裝置或客戶端程式卻不見得會定期更新,造成根憑證過期而無法連結伺服器,出現「此網站的安全性憑證有問題」等錯誤訊息。image credit: Scott Helme on https://scotthelme.co.uk/impending-doom-root-ca-expiring-legacy-clients/

今年的5月30日,串流裝置製造商Roku、支付業者Stripe與Spreedly、雲端儲存服務SugarSync等數十種服務,都在同一個時間停擺,一開始這些業者都不知其所以然,調查後才發現原來是Sectigo所頒發的根憑證AddTrust External CA Root在當天過期了,憑證暨資安專家Scott Helme警告,最近幾年將會有更多的根憑證陸續到期,各種連網服務或是裝置,都可能因此受到波及。

當連網裝置或服務都選擇採用加密傳輸通訊之際,憑證就是用來確認客戶端與伺服器端身分的數位證明,由憑證機構(CA)負責頒發根憑證(Root Certificate),根憑證負責簽署中間憑證(Intermediate Certificate),再以中間憑證來簽發終端實體憑證(End-Entity Certificate)。這些憑證都是有壽命的,通常根憑證的年限可長達20到25年,中間憑證為5年,而終端實體憑證最短則是1年。

由於根憑證為信任鏈的起點,而且部署程序既複雜又費時,因此通常被直接嵌在各種裝置的作業系統,及瀏覽器的憑證儲存區(Certificate Store),也許是個人電腦、手機、平板電腦、智慧電視、其它IoT裝置,或者是各式應用的客戶端程式。而中間憑證或實體憑證,則是位於這些裝置與服務所要存取的伺服器上,當裝置要連結採用TLS的伺服器時,伺服器就會傳送自己的中間憑證與實體憑證,收到這些憑證的裝置則會把它們與所儲存的根憑證進行比對,確認此一憑證串鍊(Certificate Chain)的關係。

簡單地說,伺服器所回傳的中間憑證與實體憑證,必須源自於裝置上所存放的根憑證。使用者所連結的服務或應用伺服器通常是定期更新的,通常也會同步更新憑證,而不致於讓憑證過期,然而,許多裝置或客戶端程式卻不見得會定期更新,造成根憑證過期而無法連結伺服器,出現「此網站的安全性憑證有問題」等錯誤訊息。

Roku即表示,因全球技術憑證過期,導致Roku平台上仰賴該憑證的部份串流頻道無法正常運作;Spreedly也說,根憑證的過期影響了特定的API與客戶端應用,特別是OpenSSL與cURL。

Helme指出,其實BBC最近也遭遇了類似的問題,BBC的串流服務已經採用了由最新的GlobalSign R5 Root根憑證,所頒發的中間憑證及實體憑證,但卻有不少智慧電視內建的是過期或舊版的GlobalSign根憑證,並不支援最新的GlobalSign R5 Root,使得BBC的串流程式在這些電視上完全無法運作。

BBC無法替這些電視升級系統,不過BBC找到了對策,透過根憑證之間的交互簽名(Cross-Signed )所產生的中間憑證,來簽發實體憑證,讓GlobalSign R5 Root所簽署的中間憑證,以及智慧電視支援的GlobalSign R1 Root所簽署的中間憑證,共同替BBC網站的實體憑證背書,建立另一個信任途徑。

不過,Helme認為,過期根憑證的問題依然存在,BBC可能很快又得解決GlobalSign R1 Root過期的問題,而且不只是智慧電視,老舊的Android裝置或是其它缺乏更新管道的IoT裝置,也許在不久的將來就會面臨同樣的問題。這是因為從加密網路興起迄今,已經超過20年了,意味著有大量的根憑證會在這幾年陸續到期,最近的一次可能就是即將於明年9月30日過期的IdenTrust DST Root CA X3,由於該根憑證非常的熱門,更與免費的Let's Encrypt交互簽名,預期會帶來更明顯的影響。


Advertisement

更多 iThome相關內容