ECryptfs

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 7. juli 2018; checks kræver 4 redigeringer .

eCryptfs  er et POSIX -kompatibelt lagdelt kryptografisk filsystem i Linux-kernen (introduceret i kerneversion 2.6.19).

Generel information

Forskellen mellem eCryptfs og de fleste andre kryptografiske filsystemer er, at alle kryptografiske metadata er gemt inde i den krypterede fil. Dette gør det muligt at flytte sådanne filer gennem betroede kanaler, mens de stadig giver autoriserede personer adgang til indholdet af filerne.

eCryptfs er implementeret som et Linux-kernemodul, suppleret med forskellige hjælpeprogrammer til at arbejde med nøgler. Dette modul krypterer indholdet af filer ved hjælp af kernens kryptografiske API. Nøglelagermodulet trækker information fra overskrifterne på individuelle filer og sender disse data til krypteringsapplikationen. Baseret på de modtagne oplysninger bestemmes krypteringsregler, i henhold til hvilke der træffes en beslutning om yderligere handlinger (for eksempel bede brugeren om at indtaste en adgangskode eller dekryptere sessionsnøglen ved hjælp af den private nøgle).

Arkitektoniske træk

eCryptfs er baseret på OpenPGP-filformatet beskrevet i RFC2440 [1] . Samtidig afveg udviklerne fra standarden for at bevare muligheden for tilfældig adgang til data i en fil. I henhold til OpenPGP-formatet skal kryptering og dekryptering udføres på hele indholdet af filen. Dette fører til, at der ikke kan læses en eneste byte fra filen, før den er fuldstændig dekrypteret. For at omgå dette problem uden at kompromittere systemsikkerheden opdeler eCryptfs dataene i omfang . Som standard er disse bidder filsystemets sidestørrelse (indstillet i kernen, typisk 4096 bytes ). For at læse data fra ét stykke skal det være fuldt dekrypteret, og for at skrive data til en blok skal hele blokken være krypteret.

Hver blok har sin egen unikke initialiseringsvektor. Adskillige initialiseringsvektorer er lagret i en blok, der går forud for flere efterfølgende datablokke. Når data skrives til en blok, bliver den tilsvarende initialiseringsvektor i blokken af ​​sådanne vektorer opdateret og overskrevet, før blokken krypteres. Blokkene krypteres med en blokchiffer valgt baseret på reglerne svarende til den givne fil i chiffertekstbloksammenkædningstilstanden .

Implementering af kryptering på filsystemniveau og lagring af kryptografiske data sammen med selve filerne har visse fordele:

Overskriftsstruktur

Hver eCryptfs-inode svarer til en inode i det underliggende filsystem og indeholder en kryptografisk kontekst forbundet med den. Denne kontekst omfatter:

eCryptfs kan cache den kryptografiske kontekst af hver fil for at fremskynde systemet.

Arbejde med adgangskoder

For at undgå ordbogsangreb på adgangskoder, "salter" eCryptfs autentificeringsadgangskoder : adgangskoden er sammenkædet med en "salt"-streng, derefter hashes den sammenkædede streng iterativt (65537 gange som standard) for at generere en godkendelsessignatur, der svarer til adgangskoden.

Arbejde med nøgler

eCryptfs fungerer så gennemsigtigt som muligt for alle applikationer, der arbejder med krypterede filer. I de fleste tilfælde, hvor adgangskontrol ikke kan håndhæves fuldt ud af værten, bør det faktum, at filen er krypteret, ikke være et problem for brugeren. Kryptering skal pr. definition sikre informationernes integritet og fortrolighed, og systemet løser disse problemer ved at bruge brugerautentificeringsdata til at generere nøgler og få adgang til indhold.

Sessionsnøgler

Hver fil modtager en tilfældigt genereret sessionsnøgle, som bruges til at kryptere indholdet af filen. eCryptfs gemmer denne sessionsnøgle i filens kryptografiske metadata. Disse lagres igen af ​​den respektive bruger. Når et program lukker en nyoprettet fil, krypterer eCryptfs sessionsnøglen nøjagtigt én gang for hvert godkendelsestoken, der er knyttet til den pågældende fil, i henhold til krypteringsreglerne. Disse krypterede sessionsnøgler skrives derefter til overskrifterne på de tilsvarende filer. Når applikationen senere åbner den krypterede fil, læser eCryptfs de krypterede sessionsnøgler og udtrækker dem fra filens kryptografiske kontekst. Systemet ser derefter på brugerens godkendelsestokens og prøver at matche de krypterede sessionsnøgler. Den først fundne nøgle bruges til at dekryptere sessionsnøglen. I det tilfælde, hvor intet token er egnet til dekryptering, handler systemet i overensstemmelse med arbejdspolitikken. Den næste handling kan for eksempel være en anmodning til PKI-modulet eller en anmodning om en adgangskode.

Brugte krypteringsalgoritmer

Følgende symmetriske krypteringsalgoritmer [2] bruges til kryptering :

  • AES med en blokstørrelse på 16; nøglestørrelse i bytes - 16, 32
  • Blowfish med blokstørrelse 8; nøglestørrelse i bytes - 16, 56
  • DES3_EDE med blokstørrelse 8; nøglestørrelse i bytes - 24
  • Twofish med en blokstørrelse på 16; nøglestørrelse i bytes - 16, 32
  • CAST6 med blokstørrelse 16; nøglestørrelse i bytes - 16, 32
  • CAST5 med blokstørrelse 8; nøglestørrelse i bytes - 5, 16

Yderligere hjælpeprogrammer

eCryptfs har flere værktøjer integreret for at gøre det nemmere at arbejde med systemet.

Godkendelse plug-ins

Det pluggbare autentificeringsmodul (PAM ) giver en  mekanisme, der hjælper administratoren med at bestemme, hvordan slutbrugere vil blive autentificeret. PAM henter brugerens adgangskode og gemmer den i brugerdata. Adgangskoden gemmes som et usaltet godkendelsestoken. Fordelen ved dette system er fleksibilitet. Så adgangskodegodkendelse kan nemt erstattes med USB-nøglegodkendelse.

PKI-grænseflade

eCryptfs giver en brugerdefinerbar PKI (Public Key Infrastructure). PKI-modulet accepterer nøgler og data som input og returnerer krypterede eller dekrypterede data.

Systemsikkerhed

I 2014 reviderede webstedet DefuseSec [3] eCryptfs (næsten samtidig med revisionen af ​​EncFS-systemet). Ifølge hans resultater er eCryptfs-systemet i øjeblikket sikkert at bruge. Det har dog brug for mere sikkerhedsforskning, da det ikke er udviklet af en kryptograf.

Se også

Noter

  1. Donnerhacke, Lutz, Callas, Jon. OpenPGP-meddelelsesformat . tools.ietf.org. Dato for adgang: 30. oktober 2015. Arkiveret fra originalen 16. november 2015.
  2. Krypteringsalgoritmer i ECryptfs . Hentet 19. september 2018. Arkiveret fra originalen 19. september 2018.
  3. eCryptfs sikkerhedsrevision . defuse.ca. Dato for adgang: 30. oktober 2015. Arkiveret fra originalen den 17. november 2015.

Links