Cloudflare宣布部署全新驗證時間服務Roughtime,以確保部分需要計時的服務正確執行無誤,而Roughtime的這個服務則是基於由Google起始的同名開源專案Roughtime

當使用者存取安全網站的時候,網站會提供使用者一個TLS憑證以表明其身分,每個憑證都存在有效期限,一旦過了期限,該憑證也隨之失效,限制憑證的使用生命週期能減少TLS伺服器密鑰洩漏的風險。而系統要確定憑證是否有效,必須要確定當前的時間,事實上也不只是TLS,時間的準確性對於許多協定的安全性也都至關重要,為此Cloudflare提供了一個免費、高可用並且低延遲的驗證時間服務Roughtime,可透過roughtime.cloudflare.com連接埠2002存取。

Cloudflare提到,不少使用者裝置的時間都是不準的。Cloudflare引用了第三方的研究,發現Chrome用戶發生的TLS憑證錯誤大部分是由於客戶端時間偏差造成的,6.7%的用戶其客戶端時間甚至慢了24小時。時間偏差的情況在Windows占33.5%、macOS 8.71%、Android 8.46%而Chrome OS則是1.72%。當憑證錯誤發生時,使用者會收到警告,但是多數使用者都會選擇忽略這些警告,但這是非常有風險的行為,因為錯誤警告的目的,就是要提醒用戶遠離惡意網站,而這個現象讓使用者輕忽憑證失效的嚴重性。

另外,時間偏差也讓憑證本身的安全性受到威脅,最理想的狀況是頒發有效期限較短的憑證,但是客戶端時間偏差的長尾現象限制了憑證生命周期的有效性,縮短憑證的生命周期,用戶只會收到更多警告,而對於提升安全性沒有太大的幫助。

網際網路上的端點通常使用網路時間協定(Network Time Protocol,NTP)來同步時鐘,NTP目的是用來實現精準同步並解決網路延遲問題,但是通常在部署上缺乏安全性,使得高負載的伺服器會因為服務超載而明顯降低精準度,如此讓客戶端暴露在易遭受中間人攻擊的風險,駭客可以透過強迫改變使用者的時間,讓使用者接受過期或是尚未生效的憑證,而這將產生嚴重的安全性問題。

而這就是Cloudflare要部署基於Google的開源Roughtime專案,數位簽章時間校準服務Roughtime的原因,使用者可以透過Roughtime協定對一個或是多個經過身分驗證的伺服器進行同步,雖然Roughtime無法提供NTP般的精準時間,但其目的僅是要提供加密應用程式足夠的準確性,一般來說10秒內的誤差已經足夠,並且由於伺服器經過身分驗證,駭客也無法進行中間人攻擊。

Cloudflare表示,Roughtime協定足夠靈活,可以支援各種使用情境,在驗證TLS憑證時,網頁瀏覽器可以使用Roughtime伺服器主動同步時間,同時Roughtime協定也能被用來避免向使用者顯示過多的警告,當憑證發生錯誤時,瀏覽器能告知用戶,憑證失效是因為時間不正確,而不是僅告訴使用者憑證無效。注重安全的使用者可以向多臺Roughtime伺服器發出時間校準請求,一般情況一臺受信任的伺服器已經足夠。

Cloudflare期望有更多的獨立組織加入建構Roughtime生態系統,Cloudflare表示,當Roughtime服務器越多,生態系統就越健壯,Roughtime協定才會真正有用。

熱門新聞

Advertisement