Google hat Entwicklungen im Zusammenhang mit dem sicheren Netzwerkprotokoll PSP veröffentlicht

Google hat die Spezifikationen und Referenzimplementierungen des PSP-Protokolls (PSP Security Protocol) veröffentlicht, das zur Verschlüsselung des Datenverkehrs zwischen Rechenzentren verwendet wird. Das Protokoll nutzt eine auf IPsec basierende ESP-Architektur (Encapsulating Security Payloads) zur Kapselung von Datenverkehr über IP, wodurch Verschlüsselung, kryptografische Integritätskontrolle und Quellauthentifizierung gewährleistet werden. Der PSP-Implementierungscode ist in C geschrieben und wird unter der Apache 2.0-Lizenz verteilt.

Ein besonderes Merkmal von PSP ist die Optimierung des Protokolls zur Beschleunigung von Berechnungen und zur Reduzierung der Belastung der CPU, indem die Verschlüsselungs- und Entschlüsselungsoperationen auf Netzwerkkarten ausgelagert werden (Offload). Für die Nutzung der Hardwarebeschleunigung sind spezielle Netzwerkkarten erforderlich, die mit PSP kompatibel sind. Für Systeme mit Netzwerkkarten, die PSP nicht unterstützen, wird eine Softwareimplementierung namens SoftPSP angeboten.

Für die Datenübertragung wird das UDP-Protokoll verwendet. Das PSP-Paket beginnt mit einem IP-Header, gefolgt von einem UDP-Header und anschließend dem PSP-Header, der Informationen zur Verschlüsselung und Authentifizierung enthält. Danach wird der Inhalt des ursprünglichen TCP/UDP-Pakets angehängt, das mit einem finalen PSP-Block endet, der eine Prüfziffer zur Bestätigung der Integrität enthält. Sowohl der PSP-Header als auch der Header und die Daten des eingekapselten Pakets werden immer authentifiziert, um die Echtheit des Pakets zu bestätigen. Die Daten des eingekapselten Pakets können verschlüsselt sein, wobei eine selektive Anwendung der Verschlüsselung zulässig ist, die es ermöglicht, Teile des TCP-Headers im Klartext zu belassen (unter Beibehaltung der Authentizitätskontrolle), zum Beispiel um eine Paketinspektion an Transitnetzwerken zu ermöglichen.

Google hat Entwicklungen im Zusammenhang mit dem sicheren Netzwerkprotokoll PSP veröffentlicht

PSP ist nicht an ein bestimmtes Schlüsselaustauschprotokoll gebunden, sondern bietet verschiedene Paketformatoptionen und unterstützt den Einsatz unterschiedlicher Kryptoalgorithmen. Beispielsweise wird der AES-GCM-Algorithmus für die Verschlüsselung und Authentifizierung (Überprüfung der Echtheit) sowie AES-GMAC für die Authentifizierung ohne Verschlüsselung von direkt übermittelten Daten unterstützt. Dies ist nützlich, wenn die Daten keinen Wert haben, aber sichergestellt werden muss, dass sie während der Übertragung nicht manipuliert wurden und tatsächlich die ursprünglich gesendeten sind.

Im Gegensatz zu standardisierten VPN-Protokollen verwendet PSP die Verschlüsselung auf Ebene individueller Netzwerkverbindungen und nicht für den gesamten Kommunikationskanal, das heißt, PSP nutzt separate Verschlüsselungsschlüssel für verschiedene tunneling UDP- und TCP-Verbindungen. Dieser Ansatz ermöglicht eine strengere Isolation des Datenverkehrs zwischen verschiedenen Anwendungen und Verarbeite, was besonders relevant ist, wenn mehrere Server Anwendungen und Dienste von verschiedenen Nutzern ausgeführt werden.

Im Google-Protokoll wird PSP sowohl zum Schutz interner Kommunikation als auch zum Schutz des Datenverkehrs der Google Cloud eingesetzt. Das Protokoll ist ursprünglich für den effizienten Betrieb in Google-Infrastrukturen konzipiert und soll eine hardwaregestützte Beschleunigung der Verschlüsselung gewährleisten, selbst bei Millionen aktiver Netzwerkverbindungen und Hunderttausenden neu eingefügten Verbindungen pro Sekunde.

Es werden zwei Betriebsmodi unterstützt — «stateful» und «stateless». Im «stateless»-Modus werden die Schlüssel für die Verschlüsselung im Netzwerkadapter im Paket-Descriptor übermittelt, während sie für die Entschlüsselung aus dem im Paket vorhandenen SPI-Feld (Security Parameter Index) mit einem Master-Schlüssel (256-Bit AES, der im Speicher des Netzwerkadapters gespeichert ist und alle 24 Stunden gewechselt wird) extrahiert werden. Dies spart Speicher im Netzwerkadapter und minimiert die Informationen über den Zustand der verschlüsselten Verbindungen, die auf der Geräte-Seite gespeichert sind. Im «stateful»-Modus werden die Schlüssel für jede Verbindung in einer speziellen Tabelle im Netzwerkadapter gespeichert, ähnlich wie die hardwaregestützte Beschleunigung in IPsec implementiert ist.

Google hat Entwicklungen im Zusammenhang mit dem sicheren Netzwerkprotokoll PSP veröffentlicht

PSP bietet eine einzigartige Kombination von TLS- und IPsec/VPN-Protokollfunktionen. TLS war für Google hinsichtlich des Schutzes auf Verbindungsebene geeignet, jedoch nicht flexibel genug für die Hardware-Beschleunigung und fehlte die Unterstützung für UDP. IPsec gewährleistet Protokollunabhängigkeit und unterstützt die Hardware-Beschleunigung gut, bietet jedoch keine Bindung von Schlüsseln an einzelne Verbindungen, ist lediglich für eine begrenzte Anzahl von Tunneln ausgelegt und hat Skalierungsprobleme bei der Hardware-Beschleunigung aufgrund der Speicherung des vollständigen Verschlüsselungsstatus in Tabellen, die im Speicher der Netzwerkkarte abgelegt sind (zum Beispiel benötigt man für die Verarbeitung von 10 Millionen Verbindungen 5 GB Arbeitsspeicher).

Bei PSP kann der Status der Verschlüsselung (Schlüssel, Initialisierungsvektoren, Seriennummern usw.) entweder im TX-Descriptor des Pakets oder als Zeiger auf den Speicher des Host-Systems übermittelt werden, ohne den Speicher der Netzwerkkarte zu belegen. Laut Google wurde zuvor etwa 0,7 % der Rechenleistung und großer Speicher für die Verschlüsselung des RPC-Verkehrs in der Unternehmensinfrastruktur verwendet. Durch die Einführung von PSP unter Verwendung von Hardwarebeschleunigung konnte dieser Wert auf 0,2 % gesenkt werden.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster