Geauthenticeerde versleuteling levert twee dingen tegelijk: ciphertext die de inhoud verbergt, en een tag waarmee de ontvanger manipulatie opmerkt. Vroeger werden die functies uit losse onderdelen samengesteld, en slechte combinaties gaven subtiele fouten. Moderne constructies leggen de combinatie vast en de voorwaarden waaronder die geldt. Het woord geauthenticeerd verwijst hier naar de tag, niet naar een persoon.

Beide garanties gelden voor het beschermde pakket en voor niets daarbuiten.

Twee garanties in één constructie

Versleuteling beantwoordt of een waarnemer dit kan lezen; integriteit beantwoordt of het is gewijzigd. Een tunnel heeft beide nodig, want gewijzigde inhoud is erger dan onleesbare inhoud. AEAD bepaalt hoe ze onder één sleutel worden gecombineerd, samen met bijbehorende gegevens die worden geauthenticeerd maar niet versleuteld. De ontvanger weigert invoer die de controle niet doorstaat.

Bijbehorende gegevens binden zichtbare velden aan de controle. Welke velden dat zijn hangt van het protocol af, en dat is geen belofte dat elk buitenadres geheim is geworden: een veld kan door de tag gedekt zijn en toch leesbaar blijven op het net.

De nonce is geen detail

Sleutels en nonce moeten correct worden behandeld, en hergebruik van een nonce mislukt hard. Het herhalen van een nonce onder één sleutel kan relaties tussen berichten blootleggen en de integriteitsgarantie volledig ondermijnen. Daarom bezit het protocol, niet de toepassing, het genereren en ordenen van nonce.

Dat is een voorwaarde van de garantie, geen implementatieadvies. Zorgeloze nonce leveren de geadverteerde eigenschap niet.

Replay-bescherming is aparte toestand

Een geldig oud pakket kan opnieuw worden afgespeeld terwijl de tag intact blijft, omdat de tag echtheid bewijst en niet frisheid. Afhandeling van replay vereist eigen toestand: sequentienummers, een venster en een regel over wat wordt geaccepteerd. Die toestand leeft in de protocolimplementatie en staat los van de keuze van het cipher. Een tunnel met sterke versleuteling en zonder replay-bescherming accepteert nog steeds het verkeer van gisteren.

De twee mechanismen werken samen zonder hetzelfde te zijn, en het ene kan correct zijn terwijl het andere ontbreekt.

Wat de tag u niet vertelt

De identiteit van de peer wordt vastgesteld met certificaten of vooraf gedeelde sleutels, niet doordat een cipher geauthenticeerd is. Routering, naamresolutie en het logbeleid van de operator vallen buiten de cryptografische grens. Een geslaagde algoritmeonderhandeling zegt alleen dat beide uiteinden het over een suite eens zijn, dat gaat over compatibiliteit, niet over de kwaliteit van de implementatie aan beide kanten.

Voor gebruikers: kies een onderhouden en ondersteunde protocolconfiguratie. AEAD is een eigenschap van die configuratie, geen uitnodiging om versleuteling met de hand rond een tunnel te bouwen.

Noteer welke suite is onderhandeld, of replay-bescherming actief is en hoe peers worden geidentificeerd. Drie feiten, drie verschillende garanties.

Gerelateerde artikelen