9.8. Bidirectional Encryption (Cifratura bidirezionale)
9.8. Cifratura bidirezionale
Come discusso nella Sezione 5.2, la cifratura HPKE è unidirezionale dal mittente al destinatario. Le applicazioni che richiedono cifratura bidirezionale possono derivare il materiale di chiave necessario con l'interfaccia di esportazione dei segreti (Sezione 5.3). Il tipo e la lunghezza di tale materiale di chiave dipendono dal caso d'uso dell'applicazione.
Come esempio, se un'applicazione necessita di cifratura AEAD dal destinatario al mittente, può derivare una chiave e un nonce dal contesto HPKE corrispondente come segue:
key = context.Export("response key", Nk)
nonce = context.Export("response nonce", Nn)
In questo esempio, la lunghezza di ciascun segreto è basata sull'algoritmo AEAD utilizzato per il contesto HPKE corrispondente.
Si noti che le limitazioni di HPKE riguardo all'autenticazione del mittente diventano limiti sull'autenticazione del destinatario in questo contesto. In particolare, nella modalità Base, non c'è autenticazione della parte remota affatto. Anche nella modalità Auth, dove la parte remota ha dimostrato di possedere una chiave privata specifica, questa autenticazione è ancora soggetta all'impersonificazione per compromissione della chiave, come discusso nella Sezione 9.1.1.