Ingenieure von Intel haben ein neues Protokoll namens HTTPA (HTTPS Attestable) vorgeschlagen, das HTTPS um zusĂ€tzliche Sicherheitsgarantien fĂŒr die durchgefĂŒhrten Berechnungen erweitert. HTTPA ermöglicht es, die IntegritĂ€t der Verarbeitung von Benutzeranfragen auf dem Server zu gewĂ€hrleisten und zu ĂŒberprĂŒfen, dass der Webdienst vertrauenswĂŒrdig ist und der auf dem Server laufende Code im TEE-Umfeld (Trusted Execution Environment) nicht infolge eines Hacks oder einer Sabotage durch den Administrator verĂ€ndert wurde.
HTTPS schĂŒtzt die ĂŒbermittelten Daten wĂ€hrend der Ăbertragung ĂŒber das Netzwerk, kann jedoch eine BeeintrĂ€chtigung ihrer IntegritĂ€t durch Angriffe auf den Server nicht ausschlieĂen. Isolierte Enklaven, die mithilfe von Technologien wie Intel SGX (Software Guard Extension), ARM TrustZone und AMD PSP (Platform Security Processor) geschaffen werden, ermöglichen es, wichtige Berechnungen zu schĂŒtzen und das Risiko von Lecks oder Ănderungen vertraulicher Informationen am Endpunkt zu verringern.
HTTPA ermöglicht die Nutzung der in Intel SGX bereitgestellten Zertifizierungsmittel zur GewĂ€hrleistung der AuthentizitĂ€t der Enklave, in der die Berechnungen durchgefĂŒhrt werden. Im Grunde erweitert HTTPA HTTPS um die Möglichkeit der Remote-Zertifizierung der Enklave und ermöglicht es zu ĂŒberprĂŒfen, dass sie in einer echten Intel SGX-Umgebung ausgefĂŒhrt wird und dem Webdienst vertraut werden kann. Das Protokoll wird von Anfang an als universell entwickelt und kann neben Intel SGX auch fĂŒr andere TEE-Systeme implementiert werden.

Neben dem fĂŒr HTTPS typischen Verfahren zur Einrichtung einer sicheren Verbindung erfordert HTTPA zusĂ€tzlich die Vereinbarung eines vertrauenswĂŒrdigen SitzungsschlĂŒssels. Das Protokoll fĂŒhrt eine neue HTTP-Methode namens âATTESTâ ein, die die Verarbeitung von drei Arten von Anfragen und Antworten ermöglicht:
- âpreflightâ zur ĂberprĂŒfung, ob die entfernte Seite die Zertifizierung von Enklaven unterstĂŒtzt;
- âattestâ zur Vereinbarung der Zertifizierungsparameter (Auswahl des kryptografischen Algorithmus, Austausch von fĂŒr die Sitzung einzigartigen Zufallsfolgen, Generierung einer Sitzungs-ID und Ăbertragung des öffentlichen SchlĂŒssels der Enklave an den Client);
- âtrusted sessionâ â Erstellung eines SitzungsschlĂŒssels fĂŒr den vertrauenswĂŒrdigen Austausch von Informationen. Der SitzungsschlĂŒssel wird basierend auf einer zuvor vereinbarten vorlĂ€ufigen geheimen Sequenz (pre-session secret) gebildet, die vom Client unter Verwendung des erhaltenen von Server des offenen SchlĂŒssels TEE und den von jeder Partei generierten Zufallsfolgen.

HTTPA impliziert, dass der Client vertrauenswĂŒrdig ist, der Server jedoch nicht, d.h. der Client kann dieses Protokoll zur Verifizierung von Berechnungen in der TEE-Umgebung verwenden. HTTPA garantiert jedoch nicht, dass die wĂ€hrend des Betriebs durchgefĂŒhrten Webserver weiteren Berechnungen, die nicht im TEE durchgefĂŒhrt werden, nicht kompromittiert wurden, was einen separaten Ansatz fĂŒr die Entwicklung von Webdiensten erfordert. Somit zielt HTTPA hauptsĂ€chlich auf die Nutzung mit spezialisierten Diensten ab, die erhöhte Anforderungen an die IntegritĂ€t der Informationen stellen, wie z.B. Finanz- und Gesundheitssysteme.
FĂŒr Situationen, in denen Berechnungen im TEE sowohl fĂŒr den Server als auch fĂŒr den Client verifiziert werden mĂŒssen, gibt es die Protokollvariante mHTTPA (Mutual HTTPA), die eine bidirektionale Verifizierung ausfĂŒhrt. Diese Variante ist aufgrund der Notwendigkeit der bidirektionalen Bildung von SitzungsschlĂŒsseln fĂŒr Server und Client komplexer.
Quelle: opennet.ru
