[圖]Google宣布開源offload友好協議PSP

Google 今天宣布 PSP(PSP Security Protocol 的簡寫)協議開源。該協議旨在處理數據中心規模的加密硬件 offloading,目前該協議已經部署到 Google 的生產中。

wiamxj6p.webp

為了更好地保護用戶隱私,Google 早在十多年前就對數據中心之間的流量進行加密。在隨後的發展中,幾乎所有 Google 傳輸的數據都進行了加密。雖然這項工作提供了寶貴的隱私和安全優勢,但軟件加密付出了巨大的代價:加密和解密 RPC 需要大約 0.7% 的 Google 處理能力,以及相應的內存量。

[圖]Google宣布開源offload友好協議PSP

這些成本促使 Google 使用 PSP(PSP Security Protocol 的簡寫)將加密 Offload 到網絡接口卡(NIC)上。所謂的 Offload 就是將本來該操作系統進行的一些數據包處理(如 TCP 分段、IP分片、重組、checksum、TCP協議處理等)放到網卡硬件中去做, 降低系統 CPU 消耗的同時,提高處理的性能。

[圖]Google宣布開源offload友好協議PSP

鑒於 TLS 不夠友好,缺乏對 UDP 的支持,同時在 IPsec 上也存在一些缺陷,因此 Google 自主研發了自己的 Offload 友好協議。PSP 作為他們的解決方案被描述為一種類似 TLS 的、獨立於傳輸的協議,用於每個連接的安全性和 Offload 友好。

對於 PSP,Google Cloud 團隊的 Amin Vahdat 解釋道

PSP 旨在滿足大規模數據中心流量的要求。它不強制要求特定的密鑰交換協議,並且為數據包格式和加密算法提供了很少的選擇。它通過允許每個第 4 層連接(例如 TCP 連接)使用加密密鑰來實現每個連接的安全性。

它支持無狀態操作,因為加密狀態可以在傳輸數據包時通過數據包描述符傳遞給設備,並且可以在使用安全參數索引 (SPI) 和設備上的主密鑰接收數據包。這使我們能夠在硬件中保持最小狀態,與維護大型設備表的典型狀態加密技術相比,避免了硬件狀態爆炸。

PSP 使用帶有自定義標頭和尾標的用戶數據報協議 (UDP) 封裝。一個 PSP 數據包以原始 IP 頭開始,然後是預先指定的目標端口上的 UDP 頭,然後是包含 PSP 信息的 PSP 頭,然後是原始 TCP/UDP 數據包(包括頭和有效負載),並以包含完整性校驗和值 (ICV) 的 PSP 預告片。

第 4 層數據包(標頭和有效負載)可以根據用戶提供的稱為 Crypt Offset 的偏移量進行加密或驗證。例如,此字段可用於保留部分 TCP 標頭在傳輸過程中經過身份驗證但未加密,同時保持數據包的其餘部分加密以支持網絡中的數據包採樣和檢查(如有必要)。

[圖]Google宣布開源offload友好協議PSP

Google 將 PSP 修補到他們的生產 Linux 內核、他們的 Andromeda 網絡虛擬化堆棧和他們的 Snap 網絡系統中。據報道,PSP 加密卸載可節省約 0.5% 的 Google 整體處理能力。今天,他們將 PSP 安全協議開源,以鼓勵其進一步採用。他們已經發布了他們的架構規範、參考軟件實現和一套測試用例。

(0)
上一篇 2022-05-20 08:41
下一篇 2022-05-20 08:41

相关推荐