Preskočiť na obsah

Linux Unified Key Setup

z Wikipédie, slobodnej encyklopédie

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í.[1][2]

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.[3]

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.[3]

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.[4][5]

Technická charakteristika

[upraviť | upraviť zdroj]

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.[3]

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

[upraviť | upraviť zdroj]
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

[upraviť | upraviť zdroj]

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.[6]

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.[7]

Integrácia v systéme Linux

[upraviť | upraviť zdroj]

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.[2]

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.[8][9]

Podpora hardvérového a automatizovaného odomykania

[upraviť | upraviť zdroj]

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.[9]

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

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.[11]

Referencie

[upraviť | upraviť zdroj]
  1. ↑ dm-crypt [online]. The Linux Kernel documentation, [cit. 2026-04-28]. Dostupné online. (po anglicky)
  2. 1 2 cryptsetup(8) — Linux manual page [online]. man7.org, [cit. 2026-04-28]. Dostupné online. (po anglicky)
  3. 1 2 3 Clemens Fruhwirth. LUKS1 On-Disk Format Specification [online]. cryptsetup project, [cit. 2026-04-28]. Dostupné online. (po anglicky)
  4. ↑ LUKS2 format documentation [online]. cryptsetup project, [cit. 2026-04-28]. Dostupné online. (po anglicky)
  5. ↑ cryptsetup 2.1.0 Release Notes [online]. cryptsetup project, [cit. 2026-04-28]. Dostupné online. (po anglicky)
  6. ↑ Silvia Bossi; Alessandro Visconti. What users should know about Full Disk Encryption based on LUKS [online]. Università degli Studi di Milano, [cit. 2026-04-28]. Dostupné online. (po anglicky)
  7. ↑ cryptsetup-luksHeaderBackup(8) — Linux manual page [online]. man7.org, [cit. 2026-04-28]. Dostupné online. (po anglicky)
  8. ↑ crypttab(5) — Linux manual page [online]. man7.org, [cit. 2026-04-28]. Dostupné online. (po anglicky)
  9. 1 2 systemd-cryptenroll(1) — Linux manual page [online]. man7.org, [cit. 2026-04-28]. Dostupné online. (po anglicky)
  10. ↑ clevis-luks-bind(1) [online]. Arch Linux manual pages, [cit. 2026-04-28]. Dostupné online. (po anglicky)
  11. ↑ cryptsetup-benchmark(8) — Linux manual page [online]. man7.org, [cit. 2026-04-28]. Dostupné online. (po anglicky)

Externé odkazy

[upraviť | upraviť zdroj]