ECryptfs

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. július 7-én felülvizsgált verziótól ; az ellenőrzések 4 szerkesztést igényelnek .

Az eCryptfs  egy POSIX -kompatibilis réteges kriptográfiai fájlrendszer a Linux kernelben (a kernel 2.6.19-es verziójában került bevezetésre).

Általános információk

Az eCryptfs és a legtöbb más kriptográfiai fájlrendszer közötti különbség az, hogy minden kriptográfiai metaadatot a titkosított fájlban tárolnak. Ez lehetővé teszi az ilyen fájlok mozgatását megbízható csatornákon keresztül, miközben az arra jogosult személyek továbbra is hozzáférhetnek a fájlok tartalmához.

Az eCryptfs Linux kernelmodulként van megvalósítva, kiegészítve különféle segédprogramokkal a kulcsokkal való munkavégzéshez. Ez a modul titkosítja a fájlok tartalmát a kernel kriptográfiai API-jával. A kulcstároló modul információkat nyer ki az egyes fájlok fejlécéből, és elküldi a titkosító alkalmazásnak. A kapott információk alapján meghatározzák a titkosítási szabályokat, amelyek alapján döntés születik a további műveletekről (például jelszó beírására vagy a munkamenet kulcsának visszafejtésére a privát kulccsal).

Építészeti jellemzők

Az eCryptfs az RFC2440 [1] szabványban leírt OpenPGP fájlformátumon alapul . A fejlesztők ugyanakkor eltértek a szabványtól, hogy megőrizzék a véletlenszerű hozzáférés lehetőségét egy fájlban lévő adatokhoz. Az OpenPGP formátum szerint a titkosítási és visszafejtési műveleteket a fájl teljes tartalmán kell végrehajtani. Ez arra a tényre vezet, hogy egyetlen bájt sem olvasható ki a fájlból, amíg az teljesen visszafejtésre nem kerül. A probléma rendszerbiztonság veszélyeztetése nélkül való megkerülése érdekében az eCryptfs kiterjedésekre osztja fel az adatokat . Alapértelmezés szerint ezek a darabok a fájlrendszer oldalmérete (a kernelben beállítva, általában 4096 bájt ). Ahhoz, hogy egy darabból kiolvassuk az adatokat, azt teljesen dekódolni kell, az adatok blokkba írásához pedig a teljes blokkot titkosítani kell.

Minden blokknak megvan a maga egyedi inicializálási vektora. Több inicializálási vektor van tárolva egy blokkban, amely több egymást követő adatblokkot megelőz. Amikor adatot írunk egy blokkba, az ilyen vektorok blokkjában lévő megfelelő inicializálási vektor frissítésre és felülírásra kerül a blokk titkosítása előtt. A blokkok titkosítása az adott fájlhoz tartozó szabályok alapján kiválasztott blokkrejtjellel történik titkosított szöveg blokkösszefűzési módban .

A fájlrendszer szintű titkosítás megvalósítása és a kriptográfiai adatok tárolása a fájlokkal együtt bizonyos előnyökkel jár:

Fejléc szerkezete

Minden eCryptfs inode megfelel az alapul szolgáló fájlrendszer egy inódjának, és tartalmaz egy hozzá társított kriptográfiai környezetet. Ez a kontextus a következőket tartalmazza:

Az eCryptfs gyorsítótárba tudja helyezni az egyes fájlok kriptográfiai kontextusát, hogy felgyorsítsa a rendszert.

Munka jelszavakkal

A jelszavak elleni szótári támadások elkerülése érdekében az eCryptfs " salts " hitelesítési jelszavakat: a jelszót összefűzi egy "salt" karakterlánccal, majd az összefűzött karakterláncot iteratívan kivonatolja (alapértelmezés szerint 65537-szer), hogy a jelszónak megfelelő hitelesítési aláírást generáljon.

Munka a billentyűkkel

Az eCryptfs a lehető legátláthatóbban működik minden olyan alkalmazásnál, amely titkosított fájlokkal dolgozik. A legtöbb esetben, amikor a hozzáférés-vezérlést a gazdagép nem tudja teljes mértékben érvényesíteni, a fájl titkosítása nem jelenthet problémát a felhasználó számára. A titkosításnak értelemszerűen biztosítania kell az információk integritását és bizalmasságát, és a rendszer megoldja ezeket a problémákat a felhasználói hitelesítési adatok felhasználásával a kulcsok generálásához és a tartalom eléréséhez.

Session keys

Minden fájl véletlenszerűen generált munkamenet-kulcsot kap, amely a fájl tartalmának titkosítására szolgál. Az eCryptfs ezt a munkamenet-kulcsot a fájl kriptográfiai metaadatai között tárolja. Ezeket pedig az adott felhasználó tárolja. Amikor egy alkalmazás bezár egy újonnan létrehozott fájlt, az eCryptfs a titkosítási szabályok szerint pontosan egyszer titkosítja a munkamenet kulcsát az adott fájlhoz társított minden egyes hitelesítési tokenhez. Ezek a titkosított munkamenetkulcsok ezután a megfelelő fájlok fejlécébe kerülnek. Amikor az alkalmazás később megnyitja a titkosított fájlt, az eCryptfs beolvassa a titkosított munkamenet-kulcsokat, és kivonja azokat a fájl kriptográfiai környezetéből. A rendszer ezután megvizsgálja a felhasználó hitelesítési tokenjeit, és megpróbálja megegyezni a titkosított munkamenetkulcsokkal. Az első talált kulcs a munkamenetkulcs visszafejtésére szolgál. Abban az esetben, ha egyetlen token sem alkalmas a visszafejtésre, a rendszer a munkarendnek megfelelően jár el. A következő művelet lehet például egy kérés a PKI modulhoz vagy egy jelszó kérése.

Használt titkosítási algoritmusok

A következő szimmetrikus titkosítási algoritmusokat [2] használják a titkosításhoz :

  • AES 16-os blokkmérettel; kulcsméret bájtokban - 16, 32
  • Blowfish 8-as blokkmérettel; kulcsméret bájtokban - 16, 56
  • DES3_EDE 8-as blokkmérettel; kulcsméret bájtban - 24
  • Twofish 16-os blokkmérettel; kulcsméret bájtokban - 16, 32
  • CAST6 16-os blokkmérettel; kulcsméret bájtokban - 16, 32
  • CAST5 8-as blokkmérettel; kulcsméret bájtokban - 5, 16

További segédprogramok

Az eCryptfs számos eszközt tartalmaz, amelyek megkönnyítik a rendszerrel való munkát.

Hitelesítési beépülő modulok

A csatlakoztatható hitelesítési modul (PAM ) olyan  mechanizmust biztosít, amely segít a rendszergazdának meghatározni a végfelhasználók hitelesítésének módját. A PAM beszerzi a felhasználó jelszavát, és eltárolja azt a felhasználói adatok között. A jelszót a rendszer sótlan hitelesítési tokenként tárolja. Ennek a rendszernek az előnye a rugalmasság. Így a jelszavas hitelesítés könnyen helyettesíthető USB-kulcsos hitelesítéssel.

PKI interfész

Az eCryptfs testreszabható PKI -t (Public Key Infrastructure) biztosít. A PKI modul kulcsokat és adatokat fogad be bemenetként, és titkosított vagy visszafejtett adatokat ad vissza.

Rendszerbiztonság

2014-ben a DefuseSec oldal [3] eCryptfs-t auditált (az EncFS rendszer auditálásával szinte egyidőben). Eredményei szerint az eCryptfs rendszer jelenleg biztonságosan használható. Azonban további biztonsági kutatásokat igényel, mivel nem kriptográfus fejlesztette ki.

Lásd még

Jegyzetek

  1. Donnerhacke, Lutz, Callas, Jon. OpenPGP üzenetformátum . tools.ietf.org. Hozzáférés dátuma: 2015. október 30. Az eredetiből archiválva : 2015. november 16.
  2. Titkosító algoritmusok az ECryptfs-ben . Letöltve: 2018. szeptember 19. Az eredetiből archiválva : 2018. szeptember 19.
  3. eCryptfs biztonsági audit . hatástalanítani.ca. Hozzáférés dátuma: 2015. október 30. Az eredetiből archiválva : 2015. november 17.

Linkek