eCryptfs on POSIX -yhteensopiva kerrostettu salaustiedostojärjestelmä Linux -ytimessä ( sisään ytimen versiossa 2.6.19).
Ero eCryptfs:n ja useimpien muiden salaustiedostojärjestelmien välillä on se, että kaikki kryptografiset metatiedot tallennetaan salatun tiedoston sisään. Tämä mahdollistaa tällaisten tiedostojen siirtämisen luotettujen kanavien kautta samalla kun valtuutetut henkilöt pääsevät käsiksi tiedostojen sisältöön.
eCryptfs on toteutettu Linux-ydinmoduulina, jota on täydennetty erilaisilla apuohjelmilla avainten kanssa työskentelemiseen. Tämä moduuli salaa tiedostojen sisällön ytimen kryptografisen API:n avulla. Avainten tallennusmoduuli poimii tiedot yksittäisten tiedostojen otsikoista ja lähettää nämä tiedot salaussovellukseen. Saatujen tietojen perusteella määritetään salaussäännöt, joiden mukaan päätetään jatkotoimista (esimerkiksi kehotetaan käyttäjää syöttämään salasana tai purkaa istuntoavaimen salaus yksityisellä avaimella).
eCryptfs perustuu OpenPGP-tiedostomuotoon, joka on kuvattu RFC2440:ssä [1] . Samaan aikaan, säilyttääkseen mahdollisuuden satunnaiseen pääsyyn tiedostoon, kehittäjät poikkesivat standardista. OpenPGP-muodon mukaan salaus- ja salauksenpurkutoimenpiteet on suoritettava koko tiedoston sisällölle. Tämä johtaa siihen, että tiedostosta ei voida lukea yhtään tavua ennen kuin sen salaus on purettu kokonaan. Jotta tämä ongelma voidaan kiertää vaarantamatta järjestelmän turvallisuutta, eCryptfs jakaa tiedot laajuuksiin . Oletusarvoisesti nämä palat ovat tiedostojärjestelmän sivukokoa (asetettu ytimessä, tyypillisesti 4096 tavua ). Tietojen lukeminen yhdestä kappaleesta on purettava kokonaan, ja tietojen kirjoittamiseksi lohkoon koko lohko on salattava.
Jokaisella lohkolla on oma ainutlaatuinen alustusvektorinsa. Useita alustusvektoreita on tallennettu lohkoon, joka edeltää useita peräkkäisiä datalohkoja. Kun dataa kirjoitetaan lohkoon, vastaava alustusvektori tällaisten vektoreiden lohkossa päivitetään ja kirjoitetaan päälle ennen lohkon salausta. Lohkot salataan lohkosalauksella, joka valitaan annettua tiedostoa vastaavien sääntöjen perusteella salatekstilohkojen ketjutustilassa .
Salauksen toteuttamisella tiedostojärjestelmätasolla ja salaustietojen tallentamisessa itse tiedostojen kanssa on tiettyjä etuja:
Jokainen eCryptfs-inodi vastaa taustalla olevan tiedostojärjestelmän inodia ja sisältää siihen liittyvän kryptografisen kontekstin. Tämä konteksti sisältää:
eCryptfs voi tallentaa jokaisen tiedoston salauskontekstin välimuistiin nopeuttaakseen järjestelmää.
Välttääkseen sanakirjahyökkäyksiä salasanoja vastaan eCryptfs " salts " -todennussalasanat: salasana ketjutetaan "salt"-merkkijonoon, jonka jälkeen ketjutettu merkkijono tiivistetään iteratiivisesti (oletusarvoisesti 65537 kertaa) salasanaa vastaavan todennusallekirjoituksen luomiseksi.
eCryptfs toimii mahdollisimman läpinäkyvästi kaikissa sovelluksissa, jotka toimivat salattujen tiedostojen kanssa. Useimmissa tapauksissa, joissa isäntä ei voi täysin valvoa pääsyn valvontaa, tiedoston salauksen ei pitäisi olla ongelma käyttäjälle. Salauksen on määritelmän mukaan varmistettava tietojen eheys ja luottamuksellisuus, ja järjestelmä ratkaisee nämä ongelmat käyttämällä käyttäjän todennusdataa avaimien luomiseen ja sisällön käyttämiseen.
IstuntoavaimetJokainen tiedosto saa satunnaisesti luodun istuntoavaimen, jota käytetään tiedoston sisällön salaamiseen. eCryptfs tallentaa tämän istuntoavaimen tiedoston kryptografisiin metatietoihin. Nämä puolestaan tallentuvat vastaavan käyttäjän toimesta. Kun sovellus sulkee äskettäin luodun tiedoston, eCryptfs salaa istuntoavaimen täsmälleen kerran kullekin kyseiseen tiedostoon liitetylle todennustunnisteelle salaussääntöjen mukaisesti. Nämä salatut istuntoavaimet kirjoitetaan sitten vastaavien tiedostojen otsikoihin. Kun sovellus myöhemmin avaa salatun tiedoston, eCryptfs lukee salatut istuntoavaimet ja poimii ne tiedoston salauskontekstista. Järjestelmä tarkastelee sitten käyttäjän todennustunnuksia ja yrittää täsmäyttää salattuja istuntoavaimia. Ensimmäistä löydettyä avainta käytetään istuntoavaimen salauksen purkamiseen. Siinä tapauksessa, että mikään token ei sovellu salauksen purkamiseen, järjestelmä toimii työpolitiikan mukaisesti. Seuraava toiminto voi olla esimerkiksi pyyntö PKI-moduulille tai salasanapyyntö.
Käytetyt salausalgoritmitSalaukseen käytetään seuraavia symmetrisiä salausalgoritmeja [2] :
eCryptfsissä on useita integroituja työkaluja, jotka helpottavat järjestelmän käyttöä.
Kytkettävä todennusmoduuli (PAM ) tarjoaa mekanismin, joka auttaa järjestelmänvalvojaa määrittämään, kuinka loppukäyttäjät todennetaan. PAM hankkii käyttäjän salasanan ja tallentaa sen käyttäjätietoihin. Salasana tallennetaan suolattomana todennustunnuksena. Tämän järjestelmän etuna on joustavuus. Joten salasanatodennus voidaan helposti korvata USB-avaimella.
eCryptfs tarjoaa muokattavan PKI :n (Public Key Infrastructure). PKI-moduuli hyväksyy avaimet ja tiedot syötteenä ja palauttaa salatut tai salatut tiedot.
Vuonna 2014 DefuseSec -sivusto auditoi [3] eCryptfs:ää (melkein samanaikaisesti EncFS-järjestelmän auditoinnin kanssa). Hänen tulosten mukaan eCryptfs-järjestelmä on tällä hetkellä turvallinen käyttää. Se vaatii kuitenkin lisää turvallisuustutkimusta, koska sitä ei ole kehittänyt kryptografi.