factograf
SK
Sign in

Linux Unified Key Setup

Linux Unified Key Setup (skrátene LUKS) je štandardizovaný formát a mechanizmus správy kľúčov používaný pri blokovom šifrovaní v systémoch Linux. V praxi sa najčastejšie používa spolu s nástrojom cryptsetup a jadrovým subsystémom dm-crypt, ktorý zabezpečuje transparentné šifrovanie blokových zariadení.

LUKS nezavádza vlastný šifrovací algoritmus, ale definuje spôsob uloženia metadát, hlavičky, keyslotov a odvodených kľúčov. Umožňuje, aby bolo jedno šifrované zariadenie odomykateľné viacerými heslami alebo kľúčovými súbormi bez potreby opätovne šifrovať celý obsah zariadenia.

História

LUKS navrhol Clemens Fruhwirth ako štandardizovaný formát pre správu kľúčov pri diskovom šifrovaní. Cieľom bolo zjednotiť spôsob ukladania metadát a hesiel pri šifrovaných blokových zariadeniach a zlepšiť interoperabilitu medzi nástrojmi.

Pôvodný formát LUKS1 používal pevnú binárnu hlavičku a osem keyslotov. Novší formát LUKS2 zaviedol flexibilnejšie metadáta, časť z nich uloženú vo forme JSON, podporu tokenov a modernejšie metódy odvodenia kľúčov, napríklad Argon2.

Technická charakteristika

LUKS používa dvojúrovňový model kľúčov. Samotné dáta sú šifrované objemovým kľúčom. Používateľské heslo alebo kľúčový súbor nešifruje priamo dáta, ale slúži na odomknutie keyslotu, v ktorom je uložená chránená kópia objemového kľúča.

Formát podporuje zmenu používateľského hesla bez nutnosti opätovne šifrovať celý disk. To je rozdiel oproti jednoduchším schémam, kde je používateľské heslo priamo previazané so šifrovaním dát.

LUKS1 a LUKS2

Vlastnosť LUKS1 LUKS2
Formát metadát Pevná binárna hlavička Flexibilné metadáta, čiastočne vo formáte JSON
Keysloty 8 keyslotov Viac keyslotov podľa konfigurácie a veľkosti metadátovej oblasti
Podporované PBKDF PBKDF2 PBKDF2, Argon2i, Argon2id
Tokeny Nie Áno
Použitie Staršie systémy a kompatibilita Novšie nasadenia

Bezpečnostný model

LUKS je určený najmä na ochranu dát v pokoji, napríklad pri strate alebo krádeži vypnutého zariadenia. Nechráni však pred útokom na už odomknutý systém, kompromitovaným bootovacím reťazcom, slabým heslom alebo získaním kľúčov z operačnej pamäte.

Dôležitou prevádzkovou zásadou je zálohovanie hlavičky LUKS. Poškodenie hlavičky alebo keyslotov môže znemožniť prístup k dátam aj v prípade, že používateľ pozná správne heslo.

Integrácia v systéme Linux

V bežnom systéme Linux sa LUKS používa spolu s nástrojom cryptsetup. Po odomknutí zariadenia sa vytvorí mapovanie v /dev/mapper/, nad ktorým možno vytvoriť súborový systém, LVM alebo inú úložiskovú vrstvu.

Pri automatizovanom pripájaní počas štartu systému sa často používa súbor /etc/crypttab a služby systemd, najmä systemd-cryptsetup a systemd-cryptenroll.

Podpora hardvérového a automatizovaného odomykania

LUKS2 umožňuje používanie tokenov a integráciu s mechanizmami ako TPM2, FIDO2 alebo PKCS#11. Tieto mechanizmy sa používajú napríklad na automatizované odomykanie šifrovaných oddielov pri štarte systému.

V enterprise prostrediach sa používa aj riešenie Clevis a Tang, ktoré umožňuje sieťovo viazané odomykanie šifrovaných LUKS zariadení.

Výkon

Výkon LUKS závisí od použitého šifrovacieho algoritmu, režimu šifrovania, procesorovej akcelerácie, parametrov dm-crypt a použitého úložiska. Benchmark nástroja cryptsetup poskytuje iba orientačné údaje a nemusí zodpovedať reálnemu výkonu konkrétneho disku alebo pracovnej záťaže.

Externé odkazy

  • Oficiálny repozitár projektu cryptsetup
  • Dokumentácia formátu LUKS2
  • Dokumentácia dm-crypt v jadre Linux

Read next

In 17 languages

Text from Wikipedia, CC BY-SA 4.0 · Source article