臉書、Mozilla、Cloudflare上周五宣佈將合推新的加密協定TLS 代理憑證(TLS Delegated Credential),並提交IETF(Internet Engineering Task Force)制訂標準,以兼顧大型網路如CDN的安全及運作效能。

TLS代理憑證協定是TLS協定的延伸,相容於最新的TLS 1.3,旨在解決大型網路,如臉書或CDN業者Cloudflare管理大量伺服器TLS憑證的複雜問題。

現代大型網路環境下,一個憑證可能要部署數千台伺服器,然後再分散到全世界。臉書解釋,為了確保憑證不被駭客取得以進行中間人(man-in-the-middle, MITM)攻擊,臉書有一些措施,像是把簽發憑證的作業分散給其他服務,而不用存在其負載平衡機器Proxygen的記憶體中,或是將私鑰分散給不同伺服器儲存,而且縮短憑證的有效期限。

如果被竊的憑證仍在效期內,剩下唯一方法就是取消憑證。但現代瀏覽器並未普遍支援取消憑證;例如線上憑證狀態協定(Online Certification Status Protocol,OCSP)需要瀏覽器和憑證機構(CA)溝通,造成連線延遲,因此瀏覽器如Chrome並不支援OCSP,只支援CRLsets等方法。為了避免取消憑證的麻煩,臉書希望能將憑證效期由現行數個月,縮短為幾天甚至幾小時。

但縮短憑證效益又會促使伺服器必須更頻繁從CA取得憑證,對大型網站來說,伺服器和CA的通訊量大增,可能造成不是CA、就是它的伺服器連線效能下降或斷線,終端用戶感受都是一樣:網站連線不穩、很慢或連不上。這個問題也會發生在CDN業者如Cloudflare身上。

代理憑證(delegated certificate)就是為了在安全及伺服器穩定性之間取得平衡。網站或TLS伺服器產生代理憑證架構,後者簽發(短到一周或幾小時)有效期限的公鑰,由TLS伺服器以其從CA取得的葉憑證(leaf certificate)來簽發代理憑證。配合TLS 1.3,短效的代理憑證可在支援瀏覽器(如Mozilla Firefox)和臉書伺服器或CDN邊緣伺服器執行身份驗證。到期後不需再直接聯絡CA取得新憑證。這樣一來也不會增加CA工作負載使之停機,造成連線變慢或中斷。

臉書已經將這項協定加入其TLS 1.3實作Fizz,幾周後會擴大部署。Mozilla也表示,將於11月中在Firefox Nightly測試版本中代理憑證外掛,名為TLS代理憑證實驗(TLS Delegated Credentials Experiment),外掛會對 Cloudflare代管的主機進行呼叫。測試將進行為期2周。


Advertisement

更多 iThome相關內容