Google hat Entwicklungen im Zusammenhang mit dem sicheren Netzwerkprotokoll PSP entdeckt

Google hat die Veröffentlichung von Spezifikationen und einer Referenzimplementierung des PSP (PSP Security Protocol) angekündigt, das zur Verschlüsselung des Datenverkehrs zwischen Rechenzentren verwendet wird. Das Protokoll verwendet eine Verkehrskapselungsarchitektur ähnlich wie IPsec ESP (Encapsulated Security Payloads) über IP und bietet Verschlüsselung, kryptografische Integritätskontrolle und Quellenauthentifizierung. Der PSP-Implementierungscode ist in C geschrieben und wird unter der Apache 2.0-Lizenz vertrieben.

Ein Merkmal von PSP ist die Optimierung des Protokolls, um Berechnungen zu beschleunigen und die Belastung des Zentralprozessors zu verringern, indem Verschlüsselungs- und Entschlüsselungsvorgänge auf die Seite der Netzwerkkarten verlagert werden (Offload). Für die Hardwarebeschleunigung sind spezielle PSP-kompatible Netzwerkkarten erforderlich. Für Systeme mit Netzwerkkarten, die PSP nicht unterstützen, wird eine Softwareimplementierung von SoftPSP vorgeschlagen.

Als Transportmittel für die Datenübertragung wird das UDP-Protokoll verwendet. Ein PSP-Paket beginnt mit einem IP-Header, gefolgt von einem UDP-Header und dann einem eigenen PSP-Header mit Verschlüsselungs- und Authentifizierungsinformationen. Als nächstes wird der Inhalt des ursprünglichen TCP/UDP-Pakets angehängt und mit einem abschließenden PSP-Block mit einer Prüfsumme zur Bestätigung der Integrität abgeschlossen. Der PSP-Header sowie der Header und die Daten des gekapselten Pakets werden immer authentifiziert, um die Identität des Pakets zu bestätigen. Die Daten des gekapselten Pakets können verschlüsselt werden, während es möglich ist, selektiv eine Verschlüsselung anzuwenden und dabei einen Teil des TCP-Headers im Klartext zu lassen (unter Beibehaltung der Authentizitätskontrolle), um beispielsweise die Möglichkeit zu bieten, Pakete auf Transit-Netzwerkgeräten zu überprüfen.

Google hat Entwicklungen im Zusammenhang mit dem sicheren Netzwerkprotokoll PSP entdeckt

PSP ist nicht an ein bestimmtes Schlüsselaustauschprotokoll gebunden, bietet mehrere Paketformatoptionen und unterstützt die Verwendung verschiedener kryptografischer Algorithmen. Unterstützt werden beispielsweise der AES-GCM-Algorithmus zur Verschlüsselung und Authentifizierung (Authentifizierung) und AES-GMAC zur Authentifizierung ohne Verschlüsselung der tatsächlichen Daten, beispielsweise wenn die Daten nicht wertvoll sind, Sie aber sicherstellen müssen, dass dies nicht der Fall ist bei der Übertragung manipuliert wurde und dass es sich um die richtige handelt. die ursprünglich gesendet wurde.

Im Gegensatz zu typischen VPN-Protokollen verwendet PSP die Verschlüsselung auf der Ebene einzelner Netzwerkverbindungen und nicht des gesamten Kommunikationskanals, d. h. PSP verwendet separate Verschlüsselungsschlüssel für verschiedene getunnelte UDP- und TCP-Verbindungen. Dieser Ansatz ermöglicht eine strengere Isolierung des Datenverkehrs von verschiedenen Anwendungen und Prozessoren, was wichtig ist, wenn Anwendungen und Dienste verschiedener Benutzer auf demselben Server ausgeführt werden.

Google verwendet das PSP-Protokoll sowohl zum Schutz seiner eigenen internen Kommunikation als auch zum Schutz des Datenverkehrs von Google Cloud-Clients. Das Protokoll ist ursprünglich für den effektiven Einsatz in Infrastrukturen auf Google-Ebene konzipiert und soll eine Hardwarebeschleunigung der Verschlüsselung bei Millionen aktiver Netzwerkverbindungen und dem Aufbau Hunderttausender neuer Verbindungen pro Sekunde ermöglichen.

Es werden zwei Betriebsarten unterstützt: „Stateful“ und „Stateless“. Im „zustandslosen“ Modus werden Verschlüsselungsschlüssel im Paketdeskriptor an die Netzwerkkarte übertragen und zur Entschlüsselung mithilfe eines Hauptschlüssels (256-Bit-AES, gespeichert in) aus dem im Paket vorhandenen SPI-Feld (Security Parameter Index) extrahiert Der Speicher wird auf der Netzwerkkarte gespeichert und alle 24 Stunden ausgetauscht. Dadurch können Sie Netzwerkkartenspeicher einsparen und die auf der Geräteseite gespeicherten Informationen über den Status verschlüsselter Verbindungen minimieren. Im „Stateful“-Modus werden die Schlüssel für jede Verbindung in einer speziellen Tabelle auf der Netzwerkkarte gespeichert, ähnlich wie bei der Implementierung der Hardwarebeschleunigung in IPsec.

Google hat Entwicklungen im Zusammenhang mit dem sicheren Netzwerkprotokoll PSP entdeckt

PSP bietet eine einzigartige Kombination aus TLS- und IPsec/VPN-Protokollfunktionen. TLS eignete sich hinsichtlich der Sicherheit pro Verbindung für Google, war jedoch aufgrund mangelnder Flexibilität für die Hardwarebeschleunigung und fehlender UDP-Unterstützung nicht geeignet. IPsec bot Protokollunabhängigkeit und unterstützte die Hardwarebeschleunigung gut, unterstützte jedoch keine Schlüsselbindung an einzelne Verbindungen, war nur für eine kleine Anzahl erstellter Tunnel konzipiert und hatte Probleme bei der Skalierung der Hardwarebeschleunigung, da der vollständige Verschlüsselungsstatus in Tabellen im Speicher gespeichert wurde der Netzwerkkarte (z. B. sind 10 GB Speicher erforderlich, um 5 Millionen Verbindungen zu verarbeiten).

Im Falle von PSP können Informationen über den Zustand der Verschlüsselung (Schlüssel, Initialisierungsvektoren, Sequenznummern usw.) im TX-Paketdeskriptor oder in Form eines Zeigers auf den Host-Systemspeicher übertragen werden, ohne den Speicher der Netzwerkkarte zu belegen. Laut Google wurden bisher etwa 0.7 % der Rechenleistung und viel Speicher für die Verschlüsselung des RPC-Verkehrs in der Infrastruktur des Unternehmens aufgewendet. Durch die Einführung von PSP durch den Einsatz von Hardwarebeschleunigung konnte dieser Wert auf 0.2 % gesenkt werden.

Source: opennet.ru

Kommentar hinzufügen