ECryptfs

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 7. července 2018; kontroly vyžadují 4 úpravy .

eCryptfs  je vrstvený kryptografický souborový systém kompatibilní s POSIX v jádře Linuxu (zavedený v jádře verze 2.6.19).

Obecné informace

Rozdíl mezi eCryptfs a většinou ostatních kryptografických souborových systémů je ten, že všechna kryptografická metadata jsou uložena uvnitř zašifrovaného souboru. To umožňuje, aby byly takové soubory přesouvány prostřednictvím důvěryhodných kanálů, a přitom stále umožňuje přístup k obsahu souborů oprávněným osobám.

eCryptfs je implementován jako modul linuxového jádra, doplněný o různé utility pro práci s klíči. Tento modul šifruje obsah souborů pomocí kryptografického API jádra. Modul úložiště klíčů extrahuje informace z hlaviček jednotlivých souborů a odesílá tato data do šifrovací aplikace. Na základě přijatých informací se určí šifrovací pravidla, podle kterých se rozhodne o dalším postupu (např. vyzvat uživatele k zadání hesla nebo dešifrovat klíč relace pomocí soukromého klíče).

Architektonické prvky

eCryptfs je založen na formátu souboru OpenPGP popsaném v RFC2440 [1] . Vývojáři se zároveň v zájmu zachování možnosti náhodného přístupu k datům v souboru odchýlili od standardu. Podle formátu OpenPGP musí být operace šifrování a dešifrování provedeny na celém obsahu souboru. To vede k tomu, že ze souboru nelze přečíst ani jeden bajt, dokud není zcela dešifrován. Aby se tento problém obešel bez ohrožení zabezpečení systému, eCryptfs rozděluje data do oblastí . Ve výchozím nastavení mají tyto části velikost stránky souborového systému (nastavená v jádře, obvykle 4096 bajtů ). Aby bylo možné číst data z jednoho kusu, musí být plně dešifrována a pro zápis dat do bloku musí být zašifrován celý blok.

Každý blok má svůj vlastní jedinečný inicializační vektor. Několik inicializačních vektorů je uloženo v bloku, který předchází několika následným datovým blokům. Když jsou data zapsána do bloku, odpovídající inicializační vektor v bloku takových vektorů je aktualizován a přepsán předtím, než je blok zašifrován. Bloky jsou šifrovány blokovou šifrou zvolenou na základě pravidel odpovídajících danému souboru v režimu zřetězení bloků šifrovaného textu .

Implementace šifrování na úrovni souborového systému a ukládání kryptografických dat spolu se samotnými soubory má určité výhody:

Struktura záhlaví

Každý inode eCryptfs odpovídá inodu základního souborového systému a obsahuje kryptografický kontext s ním spojený. Tento kontext zahrnuje:

eCryptfs může ukládat kryptografický kontext každého souboru do mezipaměti pro urychlení systému.

Práce s hesly

Aby se předešlo slovníkovým útokům na hesla, ověřovací hesla eCryptfs „ solí “: heslo je zřetězeno řetězcem „salt“ a poté je zřetězený řetězec iterativně hašován (ve výchozím nastavení 65537krát), aby se vygeneroval ověřovací podpis odpovídající heslu.

Práce s klávesami

eCryptfs funguje maximálně transparentně pro všechny aplikace, které pracují se šifrovanými soubory. Ve většině případů, kdy hostitel nemůže plně vynutit řízení přístupu, by fakt, že je soubor zašifrován, neměl být pro uživatele problémem. Šifrování musí ze své podstaty zajišťovat integritu a důvěrnost informací a systém tyto problémy řeší používáním autentizačních dat uživatele ke generování klíčů a přístupu k obsahu.

Klíče relace

Každý soubor obdrží náhodně vygenerovaný klíč relace, který se používá k zašifrování obsahu souboru. eCryptfs ukládá tento klíč relace do kryptografických metadat souboru. Ty zase ukládá příslušný uživatel. Když aplikace zavře nově vytvořený soubor, eCryptfs zašifruje klíč relace přesně jednou pro každý ověřovací token přidružený k tomuto souboru, podle pravidel šifrování. Tyto šifrované klíče relace jsou pak zapsány do hlaviček odpovídajících souborů. Když aplikace později otevře zašifrovaný soubor, eCryptfs načte zašifrované klíče relace a extrahuje je z kryptografického kontextu souboru. Systém se poté podívá na ověřovací tokeny uživatele a pokusí se porovnat šifrované klíče relace. První nalezený klíč se používá k dešifrování klíče relace. V případě, že žádný token není vhodný pro dešifrování, systém postupuje v souladu s pracovní politikou. Další akcí může být například požadavek na modul PKI nebo požadavek na heslo.

Použité šifrovací algoritmy

Pro šifrování se používají následující symetrické šifrovací algoritmy [2] :

  • AES s velikostí bloku 16; velikost klíče v bajtech - 16, 32
  • Blowfish s blokem velikosti 8; velikost klíče v bajtech - 16, 56
  • DES3_EDE s velikostí bloku 8; velikost klíče v bajtech - 24
  • Twofish s velikostí bloku 16; velikost klíče v bajtech - 16, 32
  • CAST6 s velikostí bloku 16; velikost klíče v bajtech - 16, 32
  • CAST5 s velikostí bloku 8; velikost klíče v bajtech - 5, 16

Další nástroje

eCryptfs má několik integrovaných nástrojů, které usnadňují práci se systémem.

Autentizační zásuvné moduly

Modul pluggable authentication module (PAM ) poskytuje  mechanismus, který pomáhá správci určit, jak budou ověřováni koncoví uživatelé. PAM získá heslo uživatele a uloží ho do uživatelských dat. Heslo je uloženo jako neslaný autentizační token. Výhodou tohoto systému je flexibilita. Ověření heslem lze tedy snadno nahradit ověřováním pomocí USB klíče.

PKI rozhraní

eCryptfs poskytuje přizpůsobitelné PKI (Infrastructure Public Key Infrastructure). Modul PKI přijímá klíče a data jako vstup a vrací zašifrovaná nebo dešifrovaná data.

Zabezpečení systému

V roce 2014 provedla stránka DefuseSec audit [3] eCryptfs (téměř současně s auditem systému EncFS). Podle jeho výsledků je v současné době systém eCryptfs bezpečný. Potřebuje však další bezpečnostní výzkum, protože nebyl vyvinut kryptografem.

Viz také

Poznámky

  1. Donnerhacke, Lutz, Callas, Jon. Formát zprávy OpenPGP . tools.ietf.org. Datum přístupu: 30. října 2015. Archivováno z originálu 16. listopadu 2015.
  2. Šifrovací algoritmy v ECryptfs . Získáno 19. září 2018. Archivováno z originálu 19. září 2018.
  3. Bezpečnostní audit eCryptfs . zneškodnit.ca. Datum přístupu: 30. října 2015. Archivováno z originálu 17. listopadu 2015.

Odkazy