Autentisert kryptering returnerer to ting samtidig: chiffertekst som skjuler innholdet, og en tag som lar mottakeren oppdage tukling. Tidligere ble disse funksjonene satt sammen av separate deler, og dårlige kombinasjoner ga subtile feil. Moderne konstruksjoner fastsetter kombinasjonen og vilkårene den gjelder under. Ordet autentisert viser her til taggen, ikke til en person.

Begge garantiene gjelder den beskyttede pakken og ingenting utenfor den.

To garantier i én konstruksjon

Kryptering svarer på om en observatør kan lese dette; integritet svarer på om det er endret. En tunnel trenger begge, fordi endret innhold er verre enn uleselig innhold. AEAD definerer hvordan de kombineres under én nøkkel, sammen med tilknyttede data som autentiseres men ikke krypteres. Mottakeren avviser input som ikke består kontrollen.

Tilknyttede data binder synlige felt til kontrollen. Hvilke felt det gjelder avhenger av protokollen, og det er ikke et løfte om at hver ytre adresse er blitt hemmelig: et felt kan være dekket av taggen og likevel lesbart på nettet.

Nonce er ikke en detalj

Nøkler og nonce må håndteres riktig, og gjenbruk av nonce feiler hardt. Gjentakelse av en nonce under én nøkkel kan avsløre relasjoner mellom meldinger og undergrave integritetsgarantien helt. Derfor eier protokollen, ikke applikasjonen, generering og rekkefølge av nonce.

Dette er et vilkår for garantien, ikke et implementeringsråd. Uforsiktige nonce gir ikke den annonserte egenskapen.

Replay-beskyttelse er egen tilstand

En gyldig gammel pakke kan spilles av på nytt mens taggen forblir intakt, fordi taggen beviser ekthet og ikke friskhet. Håndtering av replay krever sin egen tilstand: sekvensnumre, et vindu og en regel for hva som godtas. Denne tilstanden lever i protokollimplementasjonen og har ingenting med valg av chiffer å gjøre. En tunnel med sterk kryptering og uten replay-beskyttelse godtar fortsatt gårsdagens trafikk.

De to mekanismene samarbeider uten å være den samme, og én kan være riktig mens den andre mangler.

Hva taggen ikke forteller deg

Peer-identitet etableres med sertifikater eller forhåndsdelt nøkler, ikke ved at en chiffer er autentisert. Ruting, navneoppslag og operatørens loggpolicy ligger utenfor den kryptografiske grensen. En vellykket algoritmeforhandling sier bare at begge ender ble enige om en suite, det handler om kompatibilitet, ikke om kvaliteten på implementasjonen på noen av sidene.

For brukere: velg en vedlikeholdt og støttet protokollkonfigurasjon. AEAD er en egenskap ved den konfigurasjonen, ikke en invitasjon til å bygge kryptering for hånd rundt en tunnel.

Noter hvilken suite som ble forhandlet, om replay-beskyttelse er aktiv og hvordan parter identifiseres. Tre fakta, tre forskjellige garantier.

Relaterte artikler