Přejít na obsah
Domů

Funkce odvození klíče (KDF)

Popis principu, vstupů, typů a použití funkcí odvození klíče v kryptografii, včetně bezpečnostních doporučení a rozdílů oproti běžným hashům.

Funkce odvození klíče (anglicky Key Derivation Function, KDF) je kryptografický mechanismus, který z proměnlivé a často kratší tajné hodnoty vytvoří jedna nebo více klíčových hodnot vhodných pro symetrické šifrování, autentizaci nebo jiná kryptografická použití. KDF zajistí, že výstup vypadá jako náhodný binární řetězec a lze jej bezpečně použít místo původní fráze, například hesla či sdíleného tajemství z výměny klíčů.

Galerie obrázků

1 Obrázek

Vstupy a hlavní vlastnosti

Typické vstupy do KDF jsou: tajná fráze (heslo nebo sdílený klíč), náhodný sůl (salt) a volitelné kontextové informace (např. identifikátor účelu). KDF obvykle poskytuje parametry pro nastavení výpočetní náročnosti (počet iterací) a někdy i paměťové náročnosti, což ztěžuje útok hrubou silou. Správné použití soli zabraňuje použití předpočítaných slovníků a zajišťuje jedinečnost výstupu pro odlišné účely.

Typy a vývoj

  • PBKDF2: starší standard založený na iterovaném HMACu, široce rozšířený a uvedený v RFC.
  • bcrypt: adaptivní hash založený na Blowfishu, navržený pro ukládání hesel s možnou úpravou náročnosti.
  • scrypt: přidává paměťovou náročnost, aby znesnadnil paralelní útoky pomocí specializovaného hardwaru.
  • Argon2: vítěz soutěže Password Hashing Competition, moderní návrh s konfigurovatelnou paměťovou a výpočetní zátěží.

Pro derivaci klíčů z kryptografických sdílených sekretů se často používají konstrukce jako HKDF, které vycházejí z pevného pseudonáhodného funkčního bloku a umožňují odvození více nezávislých klíčů.

Použití a příklady

KDF se používají pro bezpečné ukládání hesel, rozšíření síly hesel (key stretching), odvození šifrovacích klíčů z hesel nebo z výsledku protokolu Diffie–Hellman. Praktické příklady: odvození klíče pro symetrické šifry (např. AES) z hesla, vytváření MAC klíčů, nebo generování samostatných klíčů pro šifrování a autentizaci v protokolech jako TLS či SSH. Obecně platí, že výstup KDF je rovnocenný s klíčem získaným z náhodné fráze.

Bezpečnostní doporučení a rozdíly

Bezpečné nasazení KDF vyžaduje: použití unikátního, náhodného saltu; nastavení parametrů tak, aby odolávaly aktuálním možnostem útočníků (vyšší počet iterací nebo větší paměť); a volbu vhodného algoritmu podle hrozeb (např. Argon2 nebo scrypt proti útokům na specializovaný hardware). KDF se liší od jednosměrných hashovacích funkcí tím, že jsou navrženy konkrétně pro odvození klíčů a mohou mít adaptivní nastavení zátěže; oproti čistým PRF nebo MAC konstrukcím kladou důraz na parametry proti útokům hrubou silou.

Další informace o roli KDF v kryptografii, použití s hesly (heslo), ochraně proti slovníkovým útokům (náhodná fráze) a v protokolech jako Diffie–Hellman (Diffie–Hellman) či při šifrování dat v AES (AES) lze nalézt v odborné literatuře a standardech.

Použijte

Funkce odvozování klíčů jsou v oblasti bezpečnosti důležité. Umožňují rozšířit menší "tajnou frázi" do většího klíče (o pevné délce určené velikostí digestu KDF). To ztěžuje pokus o nalezení původní "tajné fráze". Délka klíče ztěžuje odhalení fráze nebo skrytého tajemství metodou pokusu a omylu (tj. pomocí hrubého vynucení) tím, že ztěžuje její uhodnutí počítačem. Někdy se k tajné frázi před jejím použitím s KDF přidává malý kousek náhodných dat (tzv. "sůl"), aby se ztížilo uhodnutí původní "tajné fráze" pomocí seznamu známých "hashů".

Kontrola hesel je tak bezpečnější bez použití skutečného hesla. Místo skutečného hesla se uchovává "hash" klíče a při kontrole hesla se "hash" skutečného hesla porovnává se vstupem. Některé programy stanovují omezení délky hesla a někdy se používají ke zmenšení větších tajných frází. KDF jsou také vytvořeny tak, aby počítač musel vynaložit určité úsilí na vytvoření "hashe". To ztěžuje vytváření seznamu možných kombinací.

 

Běžně používané KDF

  • SHA-2
  • PBKDF2
  • Scrypt
  • Bcrypt
  • Argon2
  • Chacha20
 

Související články

Autor

AlegsaOnline.com Funkce odvození klíče (KDF)

URL: https://cs.alegsaonline.com/art/53106

Sdílet

Zdroje