Basis en toepassingen van cryptografie
Het gebruik van de hashwaarde SHA-256(K ‖ m) van een geheime sleutel K gevolgd door een bericht m als tag om manipulatie te detecteren, wordt als gevaarlijk beschouwd. Wat is de reden daarvoor?
- AAls de tag en de lengte van de invoer bekend zijn, kan zonder K te kennen de tag worden berekend van een bericht waarbij achter m gegevens zijn toegevoegd
- BEr is een efficiënte methode bekend om uit de uitvoer van SHA-256 alleen de sleutel K aan het begin van de invoer terug te rekenen
- CDoor de sleutel K vóór het bericht te plaatsen wordt de invoer langer, en bij SHA-256 worden botsingen dan makkelijker te vinden
Antwoord en toelichting tonen
Antwoord: A. Als de tag en de lengte van de invoer bekend zijn, kan zonder K te kennen de tag worden berekend van een bericht waarbij achter m gegevens zijn toegevoegd
Bij een hashfunctie met een Merkle–Damgård-constructie zoals SHA-256 is de uitgevoerde hashwaarde precies de interne toestand na het verwerken van het laatste blok. Een aanvaller kan daarom de tag als interne toestand nemen en de berekening voortzetten, en zo zonder K te kennen de hashwaarde berekenen van een bericht dat bestaat uit K ‖ m gevolgd door padding van een vaste vorm en willekeurige gegevens (een lengte-extensieaanval). HMAC gebruikt twee uit de sleutel afgeleide waarden en hasht de binnenste hashwaarde nog een keer samen met de sleutel; deze structuur voorkomt de aanval. SHA-3 is door zijn constructie niet vatbaar voor deze aanval, en daarom is ook KMAC gestandaardiseerd, dat de sleutel eenvoudig vooraan zet.
Verder: nog 9 vragen over Basis en toepassingen van cryptografie