ADVERTISEMENT
Google表示保護使用者的資料安全一直是他們的第一要務,而其中的一種方式就是在資料傳輸的過程中,預設開啟加密功能來確保資料不被側錄或竊取,除了先前採用的TLS加密協定之外,也會透過ALTS加密協定保護各服務之間在應用層互相傳輸資料,進一步提升整體安全性。
參考TLS並砍掉重練
TLS(Layer Transport Security,傳輸層安全性協定)是由SSL(Secure Sockets Layer,安全通訊協定)發展而來,它會透過數位簽屬與非對稱加密等技術,在通訊的過程中確保對像的身份,並為傳輸的資料加密,以保障資料不會被竊取,增加通訊的保密性和可靠性。更詳細的介紹可參考筆者先前文章中後半段的說明。
ALTS(Application Layer Transport Security,應用層安全性協定)則是Google的研發團隊參考TLS的概念,並重新開發的協定,這樣的好處是能夠保留TLS的優點,並且能夠為自家的服務量身修改,兼顧安全與效能的平衡。
如同於許多應用程式、瀏覽器、VPN透過TLS或IPSec等協定保障資料傳輸安全,Google則是透過ALTS來保護RPC通訊(Remote Procedure Call,遠端程序呼叫。該協定允許程式呼叫另一台電腦中的子程式)。將安全機制建立在應用層上的好處就是允許程式在遠端節點上能夠被認證的身份,以利使用者套用細膩的權限管理政策。
ALTS再度提升安全性
研發團隊也表示,對Google而言,選擇使用自行開發的ALTS來保護旗下服務的資料傳輸,而非選擇現今網路通訊主流的TLS看似有些不尋常,但其中最主要的原因是研發團隊於2007年開始開發ALTS的時候,TLS仍與許多陳舊的通訊協定相容,因此無法滿足Google的安全規範,才會促成針對服務的需求開發ALTS。
ALTS與TLS仍然有許多差異,例如兩者的信任模式(Trust Model)就有相當大的不同。
舉例來說,TLS的伺服器身份識別(Server Identity)會被限制使用特定的名稱以及命名規則,然而ALTS則可以讓相同的身份識別能夠搭配多個命名規則,所以提供更大的彈性,有利於伺服器部署、管理,以及調度多台伺服器進行負載平衡等。
另一方面TLS使用X.509編碼搭配ASN.1來序列化認證書與通訊協定的訊息,然而許多Google的生產力工具服務在通訊或儲存資料的時候,會透過Protocol Buffer來序列化資料,因此ALTS也改為採用這種方式進行,讓ALTS更適合Google的伺服器環境。
此外ALTS在設計與執行方面也比TLS簡單,也讓開發團隊更容易監控ALTS的Bug或資安漏洞,有助於進一步改善ALTS的設計。
受益於ALTS高度客製化的特性,讓它在能處理每秒10^10(10的10次方)個RPC,帶來高效能與安全的網路服務。Google在日前也釋出了ALTS的白皮書,有興趣的讀者可以在這邊下載完整白皮書的PDF檔案。
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!