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í.[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]
História
[upraviť | upraviť zdroj]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
[upraviť | upraviť zdroj]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]
Pozri aj
[upraviť | upraviť zdroj]Referencie
[upraviť | upraviť zdroj]- ↑ dm-crypt [online]. The Linux Kernel documentation, [cit. 2026-04-28]. Dostupné online. (po anglicky)
- 1 2 cryptsetup(8) — Linux manual page [online]. man7.org, [cit. 2026-04-28]. Dostupné online. (po anglicky)
- 1 2 3 Clemens Fruhwirth. LUKS1 On-Disk Format Specification [online]. cryptsetup project, [cit. 2026-04-28]. Dostupné online. (po anglicky)
- ↑ LUKS2 format documentation [online]. cryptsetup project, [cit. 2026-04-28]. Dostupné online. (po anglicky)
- ↑ cryptsetup 2.1.0 Release Notes [online]. cryptsetup project, [cit. 2026-04-28]. Dostupné online. (po anglicky)
- ↑ 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)
- ↑ cryptsetup-luksHeaderBackup(8) — Linux manual page [online]. man7.org, [cit. 2026-04-28]. Dostupné online. (po anglicky)
- ↑ crypttab(5) — Linux manual page [online]. man7.org, [cit. 2026-04-28]. Dostupné online. (po anglicky)
- 1 2 systemd-cryptenroll(1) — Linux manual page [online]. man7.org, [cit. 2026-04-28]. Dostupné online. (po anglicky)
- ↑ clevis-luks-bind(1) [online]. Arch Linux manual pages, [cit. 2026-04-28]. Dostupné online. (po anglicky)
- ↑ cryptsetup-benchmark(8) — Linux manual page [online]. man7.org, [cit. 2026-04-28]. Dostupné online. (po anglicky)