什麼是TLS會話恢復(TLS Session Resumption)

計算機科學家Erik Sy,Hannes Federrath,Christian Burkert和Mathias Fischer在最近的一篇論文中,描述了一種涉及傳輸層安全(TLS)會話恢復的新型跟蹤技術。

什麼是TLS會話恢復(TLS Session Resumption)

TLS協議是SSL協議的升級版本,是廣泛熟悉的傳輸加密協議,用於為客戶端和服務器之間傳輸的數據進行加密,保護web通信安全。TLS協議的最新版本是TLS 1.3版本。

在訪問HTTPS網站時,建立TLS連接需要通過網絡進行一些來回協商,因此也存在一種方法可以通過更快捷的方式,恢復以前已經建立的會話,這就是“TLS會話恢復(TLS Session Resumption)”。

這項技術是通過預共享密鑰(PSK)實現的,因TLS 1.3和舊版本而各不相同,往返時間分別為0 RTT 和1 RTT,而傳統的方法涉及會話ID(sessions IDs)和會話記錄單(session tickets)。

關鍵是會話恢復依賴於在初始握手期間傳遞給客戶端設備的標識符,並且因為這個標識符(會話ID、會話記錄單、PSK身份)在瀏覽器的TLS緩存中持續存在,所以可以像跟蹤任何其他數字標識符一樣對其進行跟蹤。

對於在臺式計算機上運行的瀏覽器來說,這不是問題,只要用戶經常重啟瀏覽器即可。但研究人員發現,移動設備可能數天甚至數週(根據充電時間),都不需要重啟瀏覽器。

會話恢復標識符具有不同的到期時間,服務器可以提供非綁定的ticket_lifetime_hint字段,以秒為單位指定標識符的生命週期為32位無符號整數,這就是允許大約68年的有效期,但是TLS 1.2和1.3對憑證有效期的要求更加嚴格,分別是24小時和7天。

Sy,Federrath,Burkert和Fischer發現,Alexa前百萬已啟用TLS會話記錄單的網站中,80%設定了10分鐘甚至更短的到期時間,大約10%設置了高於24小時的到期時間。

研究人員指出,Facebook和谷歌由於他們的行為定向廣告業務,指定的會話恢復到期時間比大多數網站要長。Facebook的到期時間設置為48小時,比99.99%的已知會話記錄單到期時間要更高。谷歌的是28小時,高於前百萬網站中97.13%的網站。

但是,如果正確的標識符可以在此之前放置,那麼會話恢復憑證的到期也仍然可以繼續跟蹤用戶。研究人員觀察到,當客戶端嘗試恢復會話時,無論會話恢復或結束,它會將其TLS會話恢復標識符發給服務器。然後,該數據可以和由同一用戶新建立的連接相關聯,網站可以在每次訪問中發佈新的會話標識符,“只要兩次訪問之間不超過瀏覽器的會話恢復生命週期,就可以無限地跟蹤用戶。”

目前大多數web瀏覽器的默認配置可以降低這一風險,在調查的45個瀏覽器中,三分之二的瀏覽器僅允許會話ID和會話記錄單的會話恢復有效期為60分鐘。為了降低通過TLS會話恢復標識符進行跟蹤的風險,boffins建議將TLS 1.3中指定的7天會話恢復上限時間減少至10分鐘,以確保瀏覽器製造商解決第三方跟蹤。

研究人員總結稱,“最有效的技術是完全禁用瀏覽器中的TLS會話恢復。”而至關重要的是,不要放棄TLS和HTTPS,它們對於現代互聯網保持安全與可信起到非常重要的作用,但會話恢復存在的問題,還需要業內瀏覽器和網站開發人員好好考慮。


分享到:


相關文章: