Basis en toepassingen van cryptografie
In protocollen zoals TLS 1.3 wordt het gedeelde geheim uit een ECDHE-sleuteluitwisseling niet direct als versleutelingssleutel gebruikt; in plaats daarvan worden sleutels gemaakt door het door een sleutelafleidingsfunctie (KDF) zoals HKDF te halen. Wat is daarvoor een passende reden?
- ADoor een sleutelafleidingsfunctie wordt het gedeelde geheim ook tegen kwantumcomputers veilig
- BDe waarde uit de sleuteluitwisseling is te kort, dus de berekening wordt opzettelijk traag gemaakt om brute force te vertragen
- CDe waarde uit de sleuteluitwisseling is niet per se uniform willekeurig, dus ze wordt omgezet in een sleutel zonder bias, en voor elk doel wordt een aparte sleutel afgeleid
Antwoord en toelichting tonen
Antwoord: C. De waarde uit de sleuteluitwisseling is niet per se uniform willekeurig, dus ze wordt omgezet in een sleutel zonder bias, en voor elk doel wordt een aparte sleutel afgeleid
Het gedeelde geheim uit een sleuteluitwisseling is bijvoorbeeld een coördinaat van een punt op een elliptische kromme, en niet al zijn bits zijn per se uniform willekeurig. HKDF gebruikt HMAC om eerst uit het gedeelde geheim een pseudowillekeurige sleutel zonder bias te halen (Extract) en die daarna samen met labels zoals „versleuteling van client naar server” uit te breiden (Expand) tot zoveel sleutels van de vereiste lengte als nodig. Met onafhankelijke sleutels per doel verspreidt een probleem met één sleutel zich minder makkelijk naar andere doelen. PBKDF2 en Argon2, die sleutels uit wachtwoorden afleiden, zijn opzettelijk traag, maar HKDF is een lichte bewerking die uitgaat van invoer met voldoende hoge entropie.
Verder: nog 9 vragen over Basis en toepassingen van cryptografie