9.8. Bidirectional Encryption (Chiffrement bidirectionnel)
9.8. Chiffrement bidirectionnel
Comme discuté dans la Section 5.2, le chiffrement HPKE est unidirectionnel de l'expéditeur au destinataire. Les applications qui nécessitent un chiffrement bidirectionnel peuvent dériver le matériel de clé nécessaire avec l'interface d'exportation de secrets (Section 5.3). Le type et la longueur de ce matériel de clé dépendent du cas d'utilisation de l'application.
À titre d'exemple, si une application a besoin d'un chiffrement AEAD du destinataire vers l'expéditeur, elle peut dériver une clé et un nonce du contexte HPKE correspondant comme suit :
key = context.Export("response key", Nk)
nonce = context.Export("response nonce", Nn)
Dans cet exemple, la longueur de chaque secret est basée sur l'algorithme AEAD utilisé pour le contexte HPKE correspondant.
Notez que les limitations de HPKE concernant l'authentification de l'expéditeur deviennent des limites sur l'authentification du destinataire dans ce contexte. En particulier, dans le mode Base, il n'y a aucune authentification de la partie distante. Même dans le mode Auth, où la partie distante a prouvé qu'elle détient une clé privée spécifique, cette authentification est toujours sujette à l'usurpation par compromission de clé, comme discuté dans la Section 9.1.1.