Wat is Diffie-Hellman-sleuteluitwisseling?

Een methode waarmee twee partijen alleen via een openbaar kanaal een gedeeld geheim maken, in 1976 gepubliceerd door Diffie en Hellman. Een priemgetal p en een generator g zijn openbaar; A en B maken uit hun geheime waarden a en b de waarden g^a mod p en g^b mod p en sturen die naar elkaar, en elk verheft de waarde van de ander tot de eigen geheime macht, zodat beiden dezelfde g^(ab) mod p krijgen. De veiligheid berust op de moeilijkheid van het discrete-logaritmeprobleem. De variant op een elliptische kromme heet ECDH, en de varianten met wegwerpwaarden voor elke verbinding heten DHE en ECDHE; die laatste bieden forward secrecy. De methode controleert de andere partij niet, dus ze wordt gecombineerd met handtekeningen en certificaten om man-in-the-middle-aanvallen te voorkomen.

Japanse benaming: ディフィー・ヘルマン鍵交換

“Diffie-Hellman-sleuteluitwisseling” komt voor in 9 oefenvragen uit 2 onderwerpen, bijv. Basis en toepassingen van cryptografie, Basis van computernetwerken.

Vakgebied: Basis en toepassingen van cryptografie

Nu oefenen: vragen over Diffie-Hellman-sleuteluitwisseling

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?

  1. ADoor een sleutelafleidingsfunctie wordt het gedeelde geheim ook tegen kwantumcomputers veilig
  2. BDe waarde uit de sleuteluitwisseling is te kort, dus de berekening wordt opzettelijk traag gemaakt om brute force te vertragen
  3. 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.

Bij de Diffie-Hellman-sleuteluitwisseling zijn een priemgetal p en een generator g openbaar; A en B kiezen geheime waarden a en b en sturen elkaar g^a mod p en g^b mod p. Waarom wordt aangenomen dat een afluisteraar het gedeelde geheim g^(ab) mod p niet kan vinden, ook al ziet hij al deze openbare waarden?

  1. AHet probleem om a te vinden uit g^a mod p (het discrete-logaritmeprobleem) wordt voor grote p niet efficiënt oplosbaar geacht
  2. Bg^a mod p en g^b mod p worden vóór het versturen nog met de publieke sleutel van de andere partij versleuteld, zodat de afluisteraar ze niet kan lezen
  3. CHet gedeelde geheim wordt gemaakt uit een wachtwoordzin die de twee vooraf bij een ontmoeting hebben afgesproken
Antwoord en toelichting tonen

Antwoord: A. Het probleem om a te vinden uit g^a mod p (het discrete-logaritmeprobleem) wordt voor grote p niet efficiënt oplosbaar geacht

g^a mod p berekenen gaat snel, maar uit het resultaat a vinden wordt voor voldoende grote p in een realistische tijd onmogelijk geacht (het discrete-logaritmeprobleem). Ook als de afluisteraar g^a mod p en g^b mod p ziet, kan hij zonder a of b te kennen g^(ab) mod p niet maken. A verheft daarentegen gewoon de waarde van B tot de macht a en B die van A tot de macht b, en beiden krijgen zo dezelfde g^(ab) mod p. Hetzelfde op een elliptische kromme doen heet ECDH, dat berust op de moeilijkheid van het discrete-logaritmeprobleem op elliptische krommen.

“Diffie-Hellman-sleuteluitwisseling” in de toelichting

Vragen met “Diffie-Hellman-sleuteluitwisseling” (9)

  1. 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?
  2. Bij de Diffie-Hellman-sleuteluitwisseling zijn een priemgetal p en een generator g openbaar; A en B kiezen geheime waarden a en b en sturen elkaar g^a mod p en g^b mod p. Waarom wordt aangenomen dat een afluisteraar het gedeelde geheim g^(ab) mod p niet kan vinden, ook al ziet hij al deze openbare waarden?
  3. De Diffie-Hellman-sleuteluitwisseling wordt met kleine getallen gecontroleerd. Neem p = 23 en g = 5; A kiest de geheime waarde a = 6 en B de geheime waarde b = 15. A stuurt A = g^a mod p en B stuurt B = g^b mod p. Welk gedeeld geheim krijgen de twee?
  4. Welke combinatie van een zwakte van de Diffie-Hellman-sleuteluitwisseling zonder authenticatie en de tegenmaatregel daartegen is juist?
  5. Welke uitspraak beschrijft juist het idee van hybride sleuteluitwisseling, die tijdens de migratie naar post-kwantumcryptografie wordt gebruikt en X25519 (Diffie-Hellman-sleuteluitwisseling op een elliptische kromme) met ML-KEM combineert?
  6. Waarom kan een browser bij TLS concluderen dat de server waarmee hij verbinding maakt geen bedrieger is?
  7. Welke methode van sleuteluitwisseling in TLS biedt de eigenschap dat eerder opgenomen communicatie niet kan worden ontsleuteld, ook als de privésleutel van het servercertificaat later uitlekt (forward secrecy)?
  8. Welke uitspraak beschrijft juist een verandering in TLS 1.3 (RFC 8446) ten opzichte van TLS 1.2?
  9. Welke combinatie geeft juist aan wat de cipher suite TLS_AES_128_GCM_SHA256 van TLS 1.3 vastlegt?

Verwante termen

TLS (Transport Layer Security) RSA-cryptosysteem HMAC Modulo-operatie Forward secrecy Geauthenticeerde versleuteling (AEAD) Informatie-entropie Post-kwantumcryptografie (PQC) ML-KEM Certificaatautoriteit

Naar de woordenlijst