AEAD tillför integritet, inte en inloggning eller en fungerande rutt
Autentiserad kryptering döljer innehållet och upptäcker manipulation samtidigt. Identitet, färskhet och routing är separata mekanismer med egna bevis.
Autentiserad kryptering returnerar två saker samtidigt: chiffertext som döljer innehållet, och en tagg som låter mottagaren upptäcka manipulation. Tidigare sattes dessa funktioner ihop av separata delar, och dåliga kombinationer gav subtila fel. Moderna konstruktioner fastställer kombinationen och villkoren under vilka den gäller. Ordet autentiserad syftar här på taggen, inte på en person.
Båda garantierna gäller det skyddade paketet och ingenting utanför det.
Två garantier i en konstruktion
Kryptering svarar på om en observatör kan läsa detta; integritet svarar på om det har ändrats. En tunnel behöver båda, eftersom ändrat innehåll är värre än oläsligt innehåll. AEAD bestämmer hur de kombineras under en nyckel, tillsammans med associerade data som autentiseras men inte krypteras. Mottagaren avvisar indata som inte klarar kontrollen.
Associerade data binder synliga fält till kontrollen. Vilka fält det gäller beror på protokollet, och det är inget löfte om att varje yttre adress har blivit hemlig: ett fält kan täckas av taggen och ändå vara läsbart i nätet.
Nonce är inte en detalj
Nycklar och nonce måste hanteras korrekt, och återanvändning av nonce misslyckas hårt. Att upprepa en nonce under en nyckel kan avslöja relationer mellan meddelanden och undergräva integritetsgarantin helt. Därför äger protokollet, inte applikationen, genereringen och ordningen av nonce.
Det är ett villkor för garantin, inte ett implementeringsråd. Slarviga nonce ger inte den annonserade egenskapen.
Replay-skydd är ett eget tillstånd
Ett giltigt gammalt paket kan spelas upp igen medan dess tagg förblir intakt, eftersom taggen bevisar äkthet och inte färskhet. Hantering av replay kräver sitt eget tillstånd: sekvensnummer, ett fönster och en regel för vad som accepteras. Det tillståndet lever i protokollimplementeringen och har inget med valet av chiffer att göra. En tunnel med stark kryptering och utan replay-skydd accepterar fortfarande gårdagens trafik.
De två mekanismerna samarbetar utan att vara samma, och den ena kan vara korrekt medan den andra saknas.
Vad taggen inte berättar
Peer-identitet fastställs med certifikat eller i förväg delade nycklar, inte genom att ett chiffer är autentiserat. Routing, namnsuppslagning och operatörens loggpolicy ligger utanför den kryptografiska gränsen. En lyckad algoritmförhandling säger bara att båda ändarna enats om en svit, det handlar om kompatibilitet, inte om kvaliteten på implementeringen på någon av sidorna.
För användare: välj en underhållen och stödd protokollkonfiguration. AEAD är en egenskap hos den konfigurationen, inte en inbjudan att bygga kryptering för hand runt en tunnel.
Notera vilken svit som förhandlades, om replay-skyddet är aktivt och hur parter identifieras. Tre fakta, tre olika garantier.