Som alla andra branscher har informationssäkerhetsbranschen, vanligen kallad ”cybersäkerhet”, trots alla debatter som rasar, samlats kring en liten samling av bästa praxis.

En av de främsta på denna lista är kryptering av full disk, som säkerhetsexperter betraktar som okränkbar, en självklarhet som alla bör använda på minsta möjliga sätt. Detta är den kryptering som garanterar att någon som snor din enhet inte kommer att kunna veta allt du har sparat på den.

Jag är här för att argumentera för att det är bättre för de flesta av er att inte använda den. Jag vet att det kanske låter galet, eftersom jag är lite av säkerhetskillen här, men lyssna på mig.

Jag är inte på något sätt ute efter att övertala dig att inte använda kryptering – utan den skulle de digitala verktyg som vi förlitar oss på varje dag vara oanvändbara. Det är därför jag inte argumenterar mot kryptering, punkt slut, utan specifikt mot kryptering av hela skivan, och endast för vissa användare.

Vad jag hävdar är att för de flesta människor som står inför de överväldigande vanligaste användningsfallen är kryptering av hela skivan överflödig. Dessa användare får ingen mätbar säkerhetsvinst jämfört med alternativ kryptering av data i vila, men de betalar för det med en mätbar prestandaförlust. Detta är inte bara en fråga om effektivitet eller laddningstider, utan också en bokstavligen ökad kostnad för användarna.

Det finns alternativ som ger normala vardagliga användare, med normala vardagliga säkerhetsproblem, en skyddsnivå som står i proportion till vad full-disk-kryptering erbjuder. De ligger visserligen lite utanför den upptrampade vägen, eftersom de flesta konsumenttekniska företag har infört kryptering av full disk, men de finns där ute.

Det måste finnas ett annat sätt

I dag är kryptering av full disk överlägset den vanligaste typen av krypteringssystem för data i vila. Tänk på data i vila som data som du behåller på något slags lagringsmedium (som en hårddisk) för att använda senare, inte den typ av data som rör sig över någon kommunikationskanal som Internet (det skulle vara data i transit).

I allmänhet implementeras full-disk-kryptering på en nivå av datorkomplexitet som handlar om hur råa bytes, frikopplade från sammanhanget för informationsrepresentation, är organiserade på hårddisken. Vi kommer att kalla detta för blockenhetsnivån, eftersom kryptering av en hel disk tillämpas på den blockenhet som är en hårddiskpartition (bara ett fint namn för ett stort segment av din hårddisk).

Denna nivå är högre än den elektriska signalnivån, men lägre än filsystemet, där det sistnämnda är den punkt där din dator ser bytes som filer i stället för bara bytes. Filsystemet fungerar som ett slags organisationsschema som talar om för din dator hur den ska avgöra vilka byte som hör ihop för att bilda filer och hur den ska skilja filer och filtyper åt.

Så vad exakt är denna disk-kryptering som inte är full-disk-kryptering?

Svaret är kryptering på filsystemnivå. Vid kryptering på filsystemnivå, även kallad ”filbaserad kryptering”, krypterar ett system vissa kataloger (dvs. mappar) och alla filer och kataloger i dem, rekursivt ner till allt som den översta katalogen i slutändan innehåller. Kryptering på filsystemnivå kan också kryptera ett helt filsystem, vilket automatiskt skyddar allt som sparas i det. För våra syften kommer vi dock att betrakta den typ av filbaserad kryptering som låter användaren välja vilka filer och kataloger som ska krypteras och lämnar resten ifred.

För att vara exakt är den modell som jag har i åtanke en modell som endast krypterar användardokumenten, medierna och andra filer som på Unix-system skulle hamna i användarens underkatalog under katalogen /home. På så sätt lämnas de centrala systemfilerna och binärfilerna för program som körs i fred, och endast dina faktiska personuppgifter skyddas.

Detta sker, som namnet antyder, på filsystemets nivå, vilket är en nivå högre än den nivå där kryptering av hela hårddiskar är verksam. Detta ger några viktiga implikationer. Till att börja med uppfattas alla dina krypterade filer redan som filer, vilket innebär att de kan dekrypteras individuellt.

Det gör det också möjligt för användare att utöka filkryptering med kontroll av filbehörighet. Eftersom hela disken är krypterad vid kryptering av hela disken måste en användare som känner till dekrypteringslösenordet för disken ange det innan något annat kan fortsätta. Men tillsammans med användarfilerna är alla filer som operativsystemet behöver för att kunna köras också låsta. En lyckad uppstart kräver att hela blockenheten låses upp, och när disken väl är upplåst är allt öppet.

Med kryptering på filnivå upprätthåller ditt fullständiga operativsystem skillnaderna för vad som dekrypteras och när. Varje användare kan definiera vilka av deras filer som krypteras och med vilka lösenord. Så med filbaserad kryptering kan en användare dekryptera sina filer och ändå lämna en annan användares data låst. Du behöver inte dekryptera en krypterad katalog om du inte vill – om du inte tänker öppna några av dina dokument- eller mediefiler kan du använda datorns program samtidigt som du lämnar dina personliga filer inlåsta där t.ex. skadlig kod inte kan infektera dem.

Show Me What You’ve Got

Jag skulle inte göra mig besväret att framföra filbaserad kryptering om den inte hade några reella fördelar jämfört med kryptering av hela diskar. Den största styrkan hos filbaserad kryptering är att dess snabbhet gör att den lämnar full-disk-kryptering i sticket. Det beror på att filbaserade krypterade system läser och skriver till disken mer effektivt.

För att förstå varför det är så, låt oss gå in på hur krypterade blockenheter (som flashlagring) fungerar. Bara för att friska upp terminologin: ”ciphertext” är den krypterade formen av information, som är oläsbar utan rätt nyckel, medan ”plaintext” är informationen i sin ursprungliga, begripliga form.

När du avkrypterar krypterad data i vila ändrar datorn inte bokstavligen alla bitar på lagringshårdvaran från ciphertext till plaintext. Det skulle ta för lång tid, och det skulle på nolltid steka din hårddisk från att skriva till hela hårddisken varje gång du startar och stänger av enheten. I stället förblir de fysiska bitarna på enheten oförändrade, men de läses och skrivs via en buffert som finns i minnet efter att rätt nyckel har använts. Bufferten tillämpar en dekrypteringsoperation när informationen läses, och en krypteringsoperation när den skrivs, på enheten. Medan uppgifterna dekrypteras och läses hålls klartexten kvar i minnet så att den lätt kan refereras tills du är klar med den.

Att lägga till dessa många extra steg gör att saker och ting blir mycket långsammare jämfört med okrypterad läsning och skrivning, med så mycket som en faktor tio. För kryptering av hela skivan måste allt du gör på din dator läsas genom denna dekrypteringsbuffert, eftersom hela din blockenhet, och dess innehåll, är krypterad. Detta inkluderar framför allt alla binärer som kör själva operativsystemet och all programvara på det.

Men med vår valda konfiguration av filbaserad kryptering är det bara dina användardokument och mediefiler som behöver dekrypteras. De flesta programvaror som du använder dagligen finns inte bland dessa filer. Det finns gott om datoruppgifter som inte skulle behöva dekryptera något alls. Som ett exempel kan nämnas att vi lever så mycket i våra webbläsare att du förmodligen kan räkna på en hand hur många användarfiler du har öppnat de senaste 24 timmarna.

Oppenbarligen kommer din dator att behöva dekryptera en del data någon gång, men även då kan ditt filbaserat krypterade operativsystem, eftersom krypteringen implementeras på filsystemnivå, göra det effektivare än vad en fullskivekrypterad analog skulle göra.

I slutändan kräver all diskåtkomst, oavsett om det är till en fullt krypterad eller filsystemkrypterad disk, ett godkännande från kärnan i operativsystemet, kärnan. Men eftersom krypteringen i fullständig disk-kryptering hanteras på den systemadministrativa priviligieringsnivån måste kärnan också engagera sig för att läsa blockenheten genom dekrypteringsbufferten.

Filbaserad kryptering möter inte detta hinder, eftersom den endast kräver icke-priviligierade användarrättigheter för att dekryptera användarens egna filer. Som ett resultat av detta måste kryptering av en hel disk få ytterligare tillstånd från kärnan för att läsa eller skriva på disken, jämfört med samma process i den filbaserade modellen.

Mer effektivt med mindre slitage

En annan stor fördel med filsystemkryptering är att den minskar slitaget på din disk. För varje enskild skrivoperation skriver ett system med filbaserad kryptering helt enkelt mindre data än ett system med full-disk-kryptering.

Också vid full-disk-kryptering sker krypteringen på blockenhetsnivå, som bara ser block, enhetligt stora enheter av bytes. Alla data tar dock inte upp ett helt block. Faktum är att mycket av det inte gör det. Så kryptering på blocknivå motverkar faktiskt datorns inbyggda effektivitetsmekanism som bara ändrar de delar av en fil som faktiskt har ändrats. Utan kryptering av hela disken kan en dator jämföra den uppdaterade versionen av en fil i minnet med den tidigare versionen på disken, avgöra vilka delar som nu är annorlunda och skriva dessa nya, annorlunda delar till filen.

Din dator kan uppnå en liknande besparing av skrivningar med filbaserad kryptering också: när klartextversionen av din fil i minnet uppdateras filtreras filen genom krypteringsbufferten och hålls tillfälligt i minnet, och sedan jämför operativsystemet den nya krypterade versionen med den tidigare krypterade versionen på din hårddisk för att avgöra vilka bitar som faktiskt har ändrats, och skriver bara dessa.

Kryptering av hela skivan är en annan historia.

Med den modellen vet operativsystemet vilka delar av filen som ändrats, men eftersom krypteringen sker per block och inte per fil måste operativsystemet nu översätta filer till block, kryptera blocket och skriva dessa block till blockenheten. Revideringar i en fil som inte uppgår till ett block av data kan omfatta flera block, som alla måste filtreras genom den krypterade bufferten och skrivas i sin helhet tillbaka till blockenheten. Även om alla ändrade data lagras i ett block skrivs hela blocket om, vilket leder till betydande skrivkostnader.

Kryptering på filsystemnivå ger av naturliga skäl flexibilitet där alternativet med full disk inte gör det. Som nämnts ovan är kryptering av en hel disk allt eller inget. Den krypterar hela systemet, kärnfilerna och alla användardata. Det innebär att icke-känsliga data som du vill ladda snabbare (t.ex. video- eller ljudmedia för redigering) drabbas av läs- och skrivfördröjning.

Full-disk-kryptering är inte heller idealisk för system med flera användare, t.ex. en delad hushållsenhet. Alla som vill använda enheten måste känna till lösenfrasen för dekryptering av hela skivan, annars kan enheten inte ens starta upp operativsystemet. Och om man låser upp enheten för en användare låser man upp data för alla användare. Det innebär också att du inte kan aktivera funktioner som obehöriga ”gäst”-konton som kan använda operativsystemet med blockerad åtkomst till användarfiler.

Till sist är filbaserad kryptering mer rimlig för vad de flesta människor behöver. Jag har själv sagt att säkerhet innebär olägenheter, och det är sant. Men när man utformar en uppsättning säkerhetsrutiner hjälper det inte att ta på sig mer olägenheter än nödvändigt för att minska risken för angrepp. Faktum är att det bara skadar: om en användares säkerhetsrutiner är för betungande kommer den användaren så småningom att skära ner på det.

Simpelt uttryckt är kryptering av hela skivan överdriven för det användningsfall som du troligen har. De två krypteringskonfigurationerna som vi har ställt mot varandra skyddar dig på olika sätt. Den största skillnaden i säkerhetsgrad mellan dem är att filbaserad kryptering endast skyddar dina användardokument och mediefiler. Däremot krypterar full-disk-kryptering dessa plus centrala OS-filer.

Några potentiella nackdelar

Som du lätt kan gissa finns det nackdelar med att inte kryptera allt på samma sätt som full-disk-kryptering gör. I teorin skulle en angripare med fysisk tillgång till din enhet som använder filbaserad kryptering kunna ändra de okrypterade OS-dataen. Därifrån startar angriparen antingen upp din maskin för att köra den kod som de just lagt dit, eller så väntar de tills du startar upp din maskin så att deras skadliga kod gör något för att sno dina data.

Det låter illa, och det är det också, men det kommer förmodligen inte heller att hända dig. Egentligen kommer de flesta eller ingen av dina motståndare ens att försöka. De är antingen så primitiva att kryptering på filsystemnivå räcker för att omintetgöra dem, eller så sofistikerade (dvs. kraftfulla) att de har effektivare metoder för att få tag på dina data.

För den överväldigande majoriteten av användarna är det problem som kryptering av data i vila löser att hindra tjuvar som fysiskt stjäl din enhet från att få tag på dina data. Det är därför smarta tjuvar inte räknar med att få tag på dina data och i stället tar till att fälla enheten för pengar. Filbaserad kryptering och kryptering av hela hårddiskar fungerar båda lika bra i detta scenario.

Omvänt, om din motståndare är en statlig myndighet (t.ex. brottsbekämpande myndigheter) kommer varken filbaserad kryptering eller kryptering av hela hårddiskar att rädda dig. Beroende på jurisdiktionen kan de juridiskt sett beordra dig att låsa upp din enhet. Nästan överallt annars kan regeringar utfärda order till tjänster som lagrar dina data i deras moln att bara lämna över det de vill ha – och under repressiva regimer, låt oss bara säga att de har mer direkta och smärtsamma sätt att få dig att lyda.

Låt oss säga, för argumentets skull, att du stirrar på en statlig aktör, och att alla de ovan nämnda teknikerna inte har fungerat. Kryptering av hela skivan skulle bara fungera om regeringen inte har ett mer sofistikerat sätt att angripa ditt system. Detta är inte ett problem för de flesta av världens mäktiga regeringar, eftersom de är tillräckligt avancerade för att kunna använda brute force eller kringgå krypteringen på något sätt.

Det finns alltså inte så många fall där full-disk-kryptering verkligen räddar dig: när din fiende är en regering och du kan stå emot fysisk tortyr, men regeringen är inte kapabel till den riktigt häftiga actionfilms-hackning som i princip alla G20-länder kan göra.

Det betyder inte att det, beroende på din motståndare, inte finns något att vinna på att göra det svårt för din angripare – att göra livet för din angripare så svårt som möjligt är en gammal hederlig säkerhetsstrategi – men inse bara att det är allt som full-disk-kryptering kan garantera dig. Men återigen, det är inte det som nästan ingen av er tittar på.

Praktisk kryptering, opraktisk implementering

De av er som är övertygade om att ni vill ha tillbaka er prestanda vid läs- och skrivning och SSD:s livslängd undrar antagligen var ni kan få tag på den här fina kryptotypen på filnivå. Det är där saker och ting blir komplicerade. Du förstår, det är svårt att sätta upp det i praktiken.

Den främsta anledningen till detta är att de stora konsumentoperativsystemen redan är krypterade på hela disken. Apple och Google har konfigurerat sina mobila enheter för full disk-kryptering och nekar användarna möjligheten att inaktivera den. Apple och Microsoft aktiverar också kryptering på hela hårddisken som standard, men båda erbjuder sätt att inaktivera den för de orädda.

För Linux-baserade operativsystem för stationära datorer (min personliga preferens) brukade det vara lika enkelt att installera systemet med kryptering på filsystemnivå som att kryssa i en ruta, men detta är snabbt på väg att försvinna. Ubuntu avskaffade nyligen detta installationsalternativ i sitt grafiska installationsprogram, vilket gör att Linux Mint är den enda distribution jag känner till som fortfarande erbjuder det. Även DIY-distributioner som Arch Linux avråder dig från att försöka konfigurera krypto på filnivå. Istället styr de dig mot blockkryptering, för vilken dokumentationen är mycket grundligare.

Om du är villig att gå till den nödvändiga längden för att stänga av din kryptering på hela disken, finns det några alternativ tillgängliga för dig. Ett av de mer robusta alternativen är VeraCrypt. VeraCrypt är ett grafiskt verktyg för att skapa krypterade katalogstrukturer ovanpå ett befintligt filsystem och föddes ur en önskan att ta över det nedlagda TrueCrypt:s mantel. Det har alternativ för läs- och skrivhastigheter i nivå med okrypterade filsystem, och till och med superspionagefunktioner som förnekbar kryptering, där dina krypterade data bara ser ut som vanligt oanvänt utrymme på din hårddisk. En utforskning av ens grundläggande VeraCrypt-funktioner skulle gå utanför ramen för detta redan långa stycke, men kanske har det förutsättningar för en framtida artikel.

Så varför tog jag all denna tid på mig för att berätta om något som inte är det mest (men absolut inte det minst) tillgängliga? I grund och botten är det viktigt att veta vad som är möjligt så att du kan göra de mest välgrundade valen, för att skapa den datorupplevelse som bäst motsvarar dina behov. Datorer är oändligt anpassningsbara, så det finns ingen anledning till att en användare ska förvägras den inställning som är bäst för honom eller henne – att inte känna till sina alternativ är den värsta orsaken.

Att uppskatta vad som är möjligt handlar om mer än att leva sitt bästa digitala liv, utan om att ge stöd, även om det bara är användarstöd, till de utvecklare som gör det möjligt. Om detta låter som något som skulle kunna göra ditt liv bättre, säger jag till dig, gå ut och pyssla!

Lämna ett svar

Din e-postadress kommer inte publiceras.