Zum Hauptinhalt springen

9.8. Bidirectional Encryption (Bidirektionale Verschlüsselung)

9.8. Bidirektionale Verschlüsselung

Wie in Abschnitt 5.2 diskutiert, ist die HPKE-Verschlüsselung unidirektional vom Sender zum Empfänger. Anwendungen, die bidirektionale Verschlüsselung benötigen, können notwendiges Schlüsselmaterial mit der Secret-Export-Schnittstelle (Abschnitt 5.3) ableiten. Der Typ und die Länge dieses Schlüsselmaterials hängen vom Anwendungsfall ab.

Als Beispiel, wenn eine Anwendung AEAD-Verschlüsselung vom Empfänger zum Sender benötigt, kann sie einen Schlüssel und eine Nonce aus dem entsprechenden HPKE-Kontext wie folgt ableiten:

key = context.Export("response key", Nk)
nonce = context.Export("response nonce", Nn)

In diesem Beispiel basiert die Länge jedes Geheimnisses auf dem für den entsprechenden HPKE-Kontext verwendeten AEAD-Algorithmus.

Beachten Sie, dass die Einschränkungen von HPKE in Bezug auf Sender-Authentifizierung in diesem Kontext zu Grenzen bei der Empfänger-Authentifizierung werden. Insbesondere gibt es im Base-Modus überhaupt keine Authentifizierung der entfernten Partei. Selbst im Auth-Modus, wo die entfernte Partei bewiesen hat, dass sie einen bestimmten privaten Schlüssel besitzt, unterliegt diese Authentifizierung immer noch der Identitätsvortäuschung durch Schlüsselkompromittierung, wie in Abschnitt 9.1.1 diskutiert.