Kryptering

Linux-filkryptering

Linux-filkryptering
Vi lever i en värld där integritet och säkerhet blir allt viktigare. Nästan varje dag finns nyheter om dataintrång eller läckage. Även om det finns andra åtgärder du kan vidta för att skydda dina data, är kryptering av filer en av de mer uppenbara.

Alternativ till filkryptering.

Innan vi dyker djupare in i filkryptering, låt oss överväga alternativen och se om filkrypteringen passar dina behov. Känsliga data kan krypteras på olika granularitetsnivåer: fullständig diskkryptering, filsystemnivå, databasnivå och applikationsnivå. Detta artikel gör ett bra jobb med att jämföra dessa tillvägagångssätt. Låt oss sammanfatta dem.

Full disk kryptering (FDE) är meningsfullt för enheter som är känsliga för fysisk förlust eller stöld, till exempel bärbara datorer. Men FDE kommer inte att skydda dina data från mycket annat inklusive fjärrhackingsförsök och är inte lämpligt för kryptering av enskilda filer.

När det gäller kryptering på filsystemnivå utför filsystemet krypteringen direkt. Detta kan åstadkommas genom att stapla ett kryptografiskt filsystem ovanpå det viktigaste eller så kan det vara inbyggt. Enligt det här wiki, några av fördelarna är: varje fil kan krypteras med en separat nyckel (hanteras av systemet) och ytterligare åtkomstkontroll genom offentlig nyckelkryptering. Naturligtvis kräver detta att du ändrar OS-konfigurationen och kanske inte passar alla användare. Det erbjuder dock skydd som passar de flesta situationer och det är relativt enkelt att använda. Det kommer att täckas ner nedan.

Kryptering på databasenivå kan rikta in sig på specifika delar av data, till exempel en specifik kolumn i en tabell. Detta är dock ett specialiserat verktyg som hanterar filinnehåll snarare än hela filer och ligger därmed utanför denna artikel.

Kryptering på applikationsnivå kan vara optimal när säkerhetspolicyer kräver att specifik information skyddas. En applikation kan använda kryptering för att skydda data på många sätt, och kryptering av en fil är verkligen en av dem. Vi kommer att diskutera en applikation för kryptering av filer nedan.

Kryptera en fil med ett program

Det finns flera verktyg tillgängliga för kryptering av filer under Linux. Detta artikel listar de vanligaste alternativen.  Från och med idag verkar GnuPG vara det enklaste valet. Varför? Eftersom chansen är att det redan är installerat på ditt system (till skillnad från ccrypt), är kommandoraden enkel (till skillnad från att använda openssl direkt), den utvecklas mycket aktivt och är konfigurerad för att använda en uppdaterad cypher (AES256 från och med idag ).

Om du inte har gpg installerat kan du installera det med hjälp av en pakethanterare som är lämplig för din plattform, t.ex. apt-get:

pi @ raspberrypi: ~ $ sudo apt-get install gpg
Läsning av paketlistor ... Klar
Byggnadsberoende träd
Läser information om tillstånd ... Klar

Kryptera en fil med GnuPG:

pi @ raspberrypi: ~ $ katthemlighet.Text
Topphemliga saker!
pi @ raspberrypi: ~ $ gpg -c hemlighet.Text
pi @ raspberrypi: ~ $ filhemlighet.Text.gpg
hemlighet.Text.gpg: GPG symmetriskt krypterade data (AES256-kryptering)
pi @ raspberrypi: ~ $ rm hemlighet.Text

Nu, för att dekryptera:

pi @ raspberrypi: ~ $ gpg --kryptera hemlighet.Text.gpg> hemlighet.Text
gpg: AES256 krypterad data
gpg: krypterad med 1 lösenfras
pi @ raspberrypi: ~ $ katthemlighet.Text
Topphemliga saker!

Observera “AES256” ovan. Detta är den cypher som används för att kryptera filen i exemplet ovan. Det är en 256-bitars blockstorlek (säker för nu) variant av "Advanced Encryption Standard" (även känd som Rijndae) cypher suit. Kolla in det här Wikipedia-artikel för mer information.

Konfigurera kryptering av filsystemnivå

Enligt det här fscrypt wiki-sida, ext4 filsystem har inbyggt stöd för filkryptering. Den använder fscrypt API för att kommunicera med OS-kärnan (förutsatt att krypteringsfunktionen är aktiverad). Det tillämpar krypteringen på katalognivå. Systemet kan konfigureras för att använda olika nycklar för olika kataloger. När en katalog är krypterad så är all filnamnsrelaterad data (och metadata) såsom filnamn, deras innehåll och underkataloger. Metadata som inte är filnamn, till exempel tidsstämplar, är undantagna från kryptering. Obs! Denna funktionalitet blev tillgänglig i Linux 4.1 släpp.

Medan detta LÄS har instruktioner, här är en kort översikt. Systemet följer begreppen ”skydd” och ”policy”. "Policy" är en verklig nyckel som används (av OS-kärnan) för kryptering av en katalog. ”Protector” är en användarlösenfras eller motsvarande som används för att skydda policyer. Detta tvånivåsystem gör det möjligt att kontrollera användarens tillgång till kataloger utan att behöva kryptera om varje gång det sker en ändring av användarkontona.

Ett vanligt användningsfall skulle vara att ställa in fscrypt-policy för att kryptera användarens hemkatalog med sina inloggningsfraser (erhållna via PAM) som ett skydd. Om du gör det kan du lägga till ytterligare en säkerhetsnivå och möjliggöra skydd av användardata även om angriparen lyckades få administratörsåtkomst till systemet. Här är ett exempel som illustrerar hur inställningen skulle se ut:

pi @ raspberrypi: ~ $ fscrypt kryptera ~ / secret_stuff /
Ska vi skapa ett nytt skydd? [y / N] y
Följande skyddskällor är tillgängliga:
1 - Din lösenfras för inloggning (pam_passphrase)
2 - En anpassad lösenfras (custom_passphrase)
3 - En rå 256-bitars nyckel (raw_key)
Ange källnumret för det nya skyddet [2 - anpassad_passfras]: 1
Ange lösenfras för inloggning för pi:
"/ home / pi / secret_stuff" är nu krypterat, upplåst och klart för användning.

Detta kan vara helt transparent för användaren när den har ställts in. Användaren kan lägga till en extra säkerhetsnivå i vissa underkataloger genom att ange olika skydd för dem.

Slutsats

Kryptering är ett djupt och komplext ämne och det finns mycket mer att täcka och det är också ett snabbt växande område, särskilt med tillkomsten av kvantberäkning. Det är avgörande att hålla kontakten med den nya tekniska utvecklingen, eftersom det som är säkert idag skulle kunna kracklas om några år. Var försiktig och var uppmärksam på nyheterna.

Citerade verk

De bästa Oculus App Lab-spelen
Om du är Oculus-headsetägare måste du vara förtjust i sidoladdning. Sideladdning är processen för att installera icke-butiksinnehåll på ditt headset. ...
Topp 10 spel att spela på Ubuntu
Windows-plattformen har varit en av de dominerande plattformarna för spel på grund av den enorma andelen spel som utvecklas idag för att stödja Window...
5 bästa arkadspel för Linux
Numera är datorer seriösa maskiner som används för spel. Om du inte kan få den nya poängen vet du vad jag menar. I det här inlägget kommer du att känn...