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

Das Unternehmen Google hat die Spezifikationen und die Referenzimplementierung des PSP (PSP Security Protocol) veröffentlicht, das zur Verschlüsselung des Traffics zwischen Rechenzentren verwendet wird. Das Protokoll verwendet eine auf IPsec basierende ESP (Encapsulating Security Payloads) Architekturanwendung zur Kapselung von Traffic über IP, die Verschlüsselung, kryptografische Integritätskontrolle und Quellbestätigung bietet. Der Code für die Implementierung von PSP ist in C geschrieben und wird unter der Lizenz Apache 2.0 verbreitet.

Ein wesentliches Merkmal von PSP ist die Optimierung des Protokolls zur Beschleunigung von Berechnungen und zur Verringerung der Belastung der Zentraleinheit, indem Verschlüsselungs- und Entschlüsselungsoperationen auf die Netzwerkkarten ausgelagert werden (Offload). Für die Verwendung von 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 Übertragung von Daten wird das UDP-Protokoll verwendet. Ein PSP-Paket beginnt mit dem IP-Header, gefolgt von dem UDP-Header und dann 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 zur Überprüfung der Integrität endet. Der PSP-Header sowie der Header und die Daten des gekapselten Pakets sind immer authentifiziert, um die Echtheit des Pakets zu bestätigen. Die Daten des gekapselten Pakets können verschlüsselt werden, wobei die Möglichkeit besteht, eine selektive Verschlüsselung anzuwenden, bei der ein Teil des TCP-Headers im Klartext verbleibt (unter Beibehaltung der Integritätskontrolle), zum Beispiel um eine Inspektion von Paketen auf Transit-Netzwerkausrüstung zu ermöglichen.

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

Das PSP ist nicht an ein bestimmtes Schlüsselübertragungsprotokoll gebunden, sondern bietet mehrere Paketformatoptionen und unterstützt die Nutzung verschiedener kryptografischer Algorithmen. Zum Beispiel wird der AES-GCM-Algorithmus für die Verschlüsselung und Authentifizierung unterstützt sowie AES-GMAC zur Authentifizierung ohne Verschlüsselung der eigentlichen Daten, beispielsweise wenn die Daten keinen Wert darstellen, aber gewährleistet werden muss, dass sie während der Übertragung nicht geändert wurden und tatsächlich die sind, die ursprünglich gesendet wurden.

Im Gegensatz zu typischen VPN-Protokollen verwendet das PSP die Verschlüsselung auf Ebene einzelner Netzwerkverbindungen und nicht des gesamten Kommunikationskanals, d.h. PSP nutzt separate Verschlüsselungsschlüssel für verschiedene tunnellierte UDP- und TCP-Verbindungen. Dieser Ansatz ermöglicht eine strengere Isolierung des Traffics von verschiedenen Anwendungen und Prozessoren, was relevant ist, wenn auf einem Server Anwendungen und Diensten verschiedener Benutzer.

Bei Google wird das PSP-Protokoll sowohl zum Schutz eigener interner Kommunikation als auch zum Schutz des Traffics von Google Cloud-Kunden verwendet. Das Protokoll wurde ursprünglich für eine effiziente Funktionsweise in Infrastrukturleveln von Google entwickelt und soll eine hardwaregestützte Verschlüsselung unter Bedingungen mit Millionen aktiven Netzwerkverbindungen und Hunderttausenden neuer Verbindungen pro Sekunde gewährleisten.

Es werden zwei Betriebsmodi unterstützt — „stateful“ und „stateless“. Im „stateless“-Modus werden die Schlüssel zur Verschlüsselung im Netzwerkadapter im Paket-Descriptor übertragen, und zur Entschlüsselung werden sie aus dem im Paket vorhandenen SPI-Feld (Security Parameter Index) unter Verwendung eines Master-Schlüssels (256-Bit AES, der im Speicher des Netzwerkadapters gespeichert und alle 24 Stunden ersetzt wird) extrahiert. Dies spart Speicherplatz im Netzwerkadapter und minimiert die Informationen über den Zustand verschlüsselter Verbindungen, die auf der Hardwareseite gespeichert werden. 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 realisiert ist.

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

PSP bietet eine einzigartige Kombination von Möglichkeiten der TLS- und IPsec/VPN-Protokolle. TLS war aus Sicht von Google hinsichtlich des Schutzes auf der Ebene einzelner Verbindungen geeignet, bot jedoch nicht die erforderliche Flexibilität für die Hardwarebeschleunigung und unterstützte kein UDP. IPsec gewährte Unabhängigkeit von Protokollen und unterstützte Hardwarebeschleunigung gut, unterstützte jedoch nicht die Bindung von Schlüsseln an einzelne Verbindungen, war nur auf eine begrenzte Anzahl von Tunneln ausgelegt und hatte Probleme bei der Skalierung der Hardwarebeschleunigung aufgrund der Speicherung des vollständigen Verschlüsselungsstatus in Tabellen, die im Speicher der Netzwerkkarte platziert sind (zum Beispiel werden für die Verarbeitung von 10 Millionen Verbindungen 5 GB Speicher benötigt).

Im Fall von PSP kann die Information zum Verschlüsselungsstatus (Schlüssel, Initialisierungsvektoren, Sequenznummern usw.) im TX-Descriptor des Pakets oder in Form eines Zeigers auf den Speicher des Host-Systems übermittelt werden, ohne den Speicher der Netzwerkkarte zu beanspruchen. Laut Google wurden zuvor etwa 0,7 % der Rechenleistung und eine große Menge an Speicher für die Verschlüsselung von RPC-Traffic in der Infrastruktur des Unternehmens verwendet. Die Einführung von PSP unter Einbeziehung von Hardwarebeschleunigung konnte diesen Wert auf 0,2 % senken.

Quelle: opennet.ru

60GB SSD 8Gb DDR4