Google開源offload友好協議PSP,目前已正式部署到生產中

Google開源offload友好協議PSP,目前已正式部署到生產中

整理 | 於軒 責編 | 張紅月

出品 | CSDN(ID:CSDNnews)

5月20日,Google宣佈PSP(PSP Security Protocol的縮寫)協議開源。該協議旨在處理資料中心規模的加密硬體offloading,目前已部署到了Google的生產中。

Google開源offload友好協議PSP,目前已正式部署到生產中

圖源:Google Cloud官網截圖

為了保護使用者隱私,Google大約在十年前就對資料中心之間的流量進行加密。從那時起,幾乎所有Google傳輸的資料都進行了加密。

雖然這項工作提供了寶貴的隱私和安全優勢,但軟體加密付出了巨大的代價:加密和解密RPC需要花費Google約0。7%的處理能力,以及相應的記憶體量。

這些成本促使Google使用PSP將加密offload到網路介面卡(NIC)上。而offload是將本來該作業系統進行的一些資料包處理(如TCP分段、IP分片、重組、checksum、TCP協議處理等)放到網絡卡硬體中去做, 降低系統CPU消耗的同時,提高處理的效能。

由於TLS對offload不夠友好、缺乏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將PSP修補到他們生產的Linux核心、Andromeda網路虛擬化堆疊和Snap網路系統中。據報道,PSP加密offload可以節省Google約0。5%的整體處理能力。如今,Google正在將PSP安全協議開源,以鼓勵其進一步採用。他們已經發布PSP架構規範、一個參考軟體實現和一套測試案例。更多關於PSP開源專案的資訊,可以透過Google Cloud部落格或者GitHub(https://github。com/google/psp)去了解。

參考連結:

https://blog。csdn。net/u012247418/article/details/117715650

https://cloud。google。com/blog/products/identity-security/announcing-psp-security-protocol-is-now-open-source

https://www。phoronix。com/scan。php?page=news_item&px=Google-PSP-Security-Protocol

頂部