ECryptfs

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 7 iulie 2018; verificările necesită 4 modificări .

eCryptfs  este un sistem de fișiere criptografic stratificat compatibil POSIX în nucleul Linux (introdus în versiunea 2.6.19 de kernel).

Informații generale

Diferența dintre eCryptfs și majoritatea altor sisteme de fișiere criptografice este că toate metadatele criptografice sunt stocate în fișierul criptat. Acest lucru permite ca astfel de fișiere să fie mutate prin canale de încredere, permițând totuși persoanelor autorizate să acceseze conținutul fișierelor.

eCryptfs este implementat ca un modul kernel Linux, suplimentat cu diverse utilitare pentru lucrul cu chei. Acest modul criptează conținutul fișierelor folosind API-ul criptografic al nucleului. Modulul de stocare a cheilor extrage informații din anteturile fișierelor individuale și trimite aceste date către aplicația de criptare. Pe baza informațiilor primite, se determină reguli de criptare, conform cărora se ia o decizie cu privire la acțiuni ulterioare (de exemplu, solicitați utilizatorului să introducă o parolă sau să decripteze cheia de sesiune folosind cheia privată).

Caracteristici arhitecturale

eCryptfs se bazează pe formatul de fișier OpenPGP descris în RFC2440 [1] . În același timp, pentru a păstra posibilitatea de acces aleatoriu la datele dintr-un fișier, dezvoltatorii au deviat de la standard. Conform formatului OpenPGP, operațiunile de criptare și decriptare trebuie efectuate asupra întregului conținut al fișierului. Acest lucru duce la faptul că niciun octet nu poate fi citit din fișier până când nu este complet decriptat. Pentru a rezolva această problemă fără a compromite securitatea sistemului, eCryptfs împarte datele în extensii . În mod implicit, aceste bucăți sunt dimensiunea paginii sistemului de fișiere (setată în nucleu, de obicei 4096 de octeți ). Pentru a citi date dintr-o singură bucată, acestea trebuie să fie complet decriptate, iar pentru a scrie date într-un bloc, întregul bloc trebuie să fie criptat.

Fiecare bloc are propriul său vector de inițializare unic. Mai mulți vectori de inițializare sunt stocați într-un bloc care precede mai multe blocuri de date ulterioare. Când datele sunt scrise într-un bloc, vectorul de inițializare corespunzător din blocul unor astfel de vectori este actualizat și suprascris înainte ca blocul să fie criptat. Blocurile sunt criptate cu un cifr de bloc ales pe baza regulilor corespunzătoare fișierului dat în modul de concatenare a blocurilor de text cifrat .

Implementarea criptării la nivel de sistem de fișiere și stocarea datelor criptografice împreună cu fișierele în sine are anumite avantaje:

Structura antetului

Fiecare inod eCryptfs corespunde unui inod al sistemului de fișiere de bază și conține un context criptografic asociat cu acesta. Acest context include:

eCryptfs poate stoca în cache contextul criptografic al fiecărui fișier pentru a accelera sistemul.

Lucrul cu parole

Pentru a evita atacurile de dicționar asupra parolelor, parolele de autentificare eCryptfs „ sare ”: parola este concatenată cu un șir de „sare”, apoi șirul concatenat este hashing iterativ (de 65537 ori în mod implicit) pentru a genera o semnătură de autentificare corespunzătoare parolei.

Lucrul cu taste

eCryptfs funcționează cât mai transparent posibil pentru toate aplicațiile care funcționează cu fișiere criptate. În majoritatea cazurilor în care controlul accesului nu poate fi aplicat pe deplin de către gazdă, faptul că fișierul este criptat nu ar trebui să fie o problemă pentru utilizator. Criptarea, prin definiție, trebuie să asigure integritatea și confidențialitatea informațiilor, iar sistemul rezolvă aceste probleme prin utilizarea datelor de autentificare a utilizatorilor pentru a genera chei și a accesa conținut.

Tastele de sesiune

Fiecare fișier primește o cheie de sesiune generată aleatoriu, care este folosită pentru a cripta conținutul fișierului. eCryptfs stochează această cheie de sesiune în metadatele criptografice ale fișierului. Acestea, la rândul lor, sunt stocate de către utilizatorul respectiv. Când o aplicație închide un fișier nou creat, eCryptfs criptează cheia de sesiune exact o dată pentru fiecare jeton de autentificare asociat cu acel fișier, conform regulilor de criptare. Aceste chei de sesiune criptate sunt apoi scrise în anteturile fișierelor corespunzătoare. Când aplicația deschide ulterior fișierul criptat, eCryptfs citește cheile de sesiune criptate și le extrage din contextul criptografic al fișierului. Sistemul analizează apoi jetoanele de autentificare ale utilizatorului, încercând să se potrivească cu cheile de sesiune criptate. Prima cheie găsită este folosită pentru a decripta cheia de sesiune. În cazul în care niciun token nu este potrivit pentru decriptare, sistemul acționează în conformitate cu politica de lucru. Următoarea acțiune poate fi, de exemplu, o solicitare către modulul PKI sau o solicitare pentru o parolă.

Algoritmi de criptare utilizați

Următorii algoritmi de criptare simetrică [2] sunt utilizați pentru criptare :

  • AES cu dimensiunea blocului de 16; dimensiunea cheii în octeți - 16, 32
  • Blowfish cu bloc de dimensiune 8; dimensiunea cheii în octeți - 16, 56
  • DES3_EDE cu dimensiunea bloc 8; dimensiunea cheii în octeți - 24
  • Doi pești cu dimensiunea blocului de 16; dimensiunea cheii în octeți - 16, 32
  • CAST6 cu dimensiunea blocului 16; dimensiunea cheii în octeți - 16, 32
  • CAST5 cu dimensiunea blocului 8; dimensiunea cheii în octeți - 5, 16

Utilități suplimentare

eCryptfs are mai multe instrumente integrate pentru a facilita lucrul cu sistemul.

Pluginuri de autentificare

Modulul de autentificare conectabil ( PAM ) oferă un  mecanism pentru a ajuta administratorul să determine cum vor fi autentificați utilizatorii finali. PAM obține parola utilizatorului și o stochează în datele utilizatorului. Parola este stocată ca un simbol de autentificare nesărat. Avantajul acestui sistem este flexibilitatea. Deci, autentificarea prin parolă poate fi înlocuită cu ușurință cu autentificarea prin cheie USB.

Interfață PKI

eCryptfs oferă o PKI personalizabilă (Infrastructură cheie publică). Modulul PKI acceptă chei și date ca intrare și returnează date criptate sau decriptate.

Securitatea sistemului

În 2014, site-ul DefuseSec a auditat [3] eCryptfs (aproape simultan cu auditul sistemului EncFS). Conform rezultatelor sale, sistemul eCryptfs este în prezent sigur de utilizat. Cu toate acestea, are nevoie de mai multe cercetări de securitate, deoarece nu a fost dezvoltat de un criptograf.

Vezi și

Note

  1. Donnerhacke, Lutz, Callas, Jon. Format mesaj OpenPGP . tools.ietf.org. Data accesului: 30 octombrie 2015. Arhivat din original pe 16 noiembrie 2015.
  2. Algoritmi de criptare în ECryptfs . Preluat la 19 septembrie 2018. Arhivat din original la 19 septembrie 2018.
  3. Auditul de securitate eCryptfs . dezamorsează.ca. Data accesului: 30 octombrie 2015. Arhivat din original pe 17 noiembrie 2015.

Link -uri