Autentificeret kryptering returnerer to ting på én gang: ciphertext, der skjuler indholdet, og et tag, der lader modtageren opdage manipulation. Tidligere blev disse funktioner samlet af separate dele, og dårlige kombinationer gav subtile fejl. Moderne konstruktioner fastlægger kombinationen og de betingelser, hvorunder den holder. Ordet autentificeret henviser her til tagget, ikke til en person.

Begge garantier gælder den beskyttede pakke og intet uden for den.

To garantier i én konstruktion

Kryptering svarer på, om en observatør kan læse dette; integritet svarer på, om det er ændret. En tunnel har brug for begge, fordi ændret indhold er værre end ulæseligt indhold. AEAD definerer, hvordan de kombineres under én nøgle, sammen med associerede data, der autentificeres men ikke krypteres. Modtageren afviser input, der ikke består kontrollen.

Associerede data binder synlige felter til kontrollen. Hvilke felter der indgår, afhænger af protokollen, og det er ikke et løfte om, at enhver ydre adresse er blevet hemmelig: et felt kan være dækket af tagget og stadig være læsbart på nettet.

Nonce er ikke en detalje

Nøgler og nonce skal håndteres korrekt, og genbrug af nonce fejler hårdt. Gentagelse af en nonce under én nøgle kan afsløre relationer mellem beskeder og undergrave integritetsgarantien helt. Derfor ejer protokollen, ikke applikationen, generering og rækkefølge af nonce.

Det er en betingelse for garantien, ikke et implementeringsforslag. Uagtsomme nonce giver ikke den annoncerede egenskab.

Replay-beskyttelse er separat tilstand

En gyldig gammel pakke kan afspilles, mens dens tag forbliver intakt, fordi tagget beviser ægthed og ikke friskhed. Håndtering af replay kræver sin egen tilstand: sekvensnumre, et vindue og en regel for, hvad der accepteres. Denne tilstand lever i protokollens implementering og er uafhængig af valget af cipher. En tunnel med stærk kryptering og uden replay-beskyttelse accepterer stadig gårsdagens trafik.

De to mekanismer samarbejder uden at være den samme, og den ene kan være korrekt, mens den anden mangler.

Hvad tagget ikke fortæller dig

Peer-identitet fastslås med certifikater eller foruddelte nøgler, ikke ved at en cipher er autentificeret. Routing, navneopløsning og operatørens logpolitik ligger uden for den kryptografiske grænse. En vellykket algoritmeforhandling siger kun, at begge ender er enige om en suite, det handler om kompatibilitet, ikke om kvaliteten af implementeringen på nogen af siderne.

For brugere: vælg en vedligeholdt og understøttet protokolkonfiguration. AEAD er en egenskab ved den konfiguration, ikke en invitation til at bygge kryptering i hånden omkring en tunnel.

Notér, hvilken suite der blev forhandlet, om replay-beskyttelse er aktiv, og hvordan parterne identificeres. Tre fakta, tre forskellige garantier.

Relaterede artikler