Zoals in elke bedrijfstak, heeft de informatiebeveiligingsindustrie, beter bekend als “cybersecurity”, zich in al haar woedende debatten verzameld rond een klein corpus van best practices.

Eén van de hoogste op deze lijst is volledige schijfversleuteling, die door beveiligingsexperts als heilig wordt beschouwd, een no-brainer die iedereen op zijn minst zou moeten gebruiken. Dit is de encryptie die ervoor zorgt dat iemand die je apparaat jat, niet in staat zal zijn om alles te weten wat je erop hebt opgeslagen.

Ik ben hier om te pleiten dat de meesten van jullie beter af zijn als je het niet gebruikt. Ik weet dat dit misschien gek klinkt, omdat ik hier een beetje de veiligheidsman ben, maar luister naar me.

Ik ben op geen enkele manier van plan om u het gebruik van encryptie uit het hoofd te praten – zonder encryptie zouden de digitale instrumenten waar we elke dag op vertrouwen onbruikbaar zijn. Daarom pleit ik niet tegen encryptie, punt uit; maar specifiek tegen volledige schijfversleuteling, en alleen voor bepaalde gebruikers.

Wat ik beweer is dat, voor de meeste mensen die te maken hebben met de overweldigend meest voorkomende gebruikssituaties, volledige schijfversleuteling overkill is. Deze gebruikers hebben geen meetbare winst in veiligheid vergeleken met alternatieve versleuteling van gegevens in rust, maar ze betalen ervoor met een meetbare prestatie-achteruitgang. Dit is niet alleen een kwestie van efficiëntie of laadtijden, maar ook van letterlijk hogere kosten voor gebruikers.

Er bestaan alternatieven die normale dagelijkse gebruikers, met normale dagelijkse beveiligingsproblemen, een beschermingsniveau bieden dat overeenkomt met wat volledige schijfversleuteling biedt. Toegegeven, ze zijn een beetje van het gebaande pad af, aangezien de meeste technische bedrijven voor consumenten volledige schijfversleuteling hebben ingevoerd, maar ze zijn er.

Er moet een andere manier zijn

Heden ten dage is volledige schijfversleuteling verreweg de meest gebruikelijke vorm van versleuteling voor gegevens in ruste. Denk aan gegevens in ruste als de gegevens die u bewaart op een soort opslagmedium (zoals een harde schijf) voor later gebruik, niet het soort gegevens dat over een communicatiekanaal zoals het Internet beweegt (dat zouden gegevens in doorvoer zijn).

In het algemeen wordt volledige-schijfversleuteling geïmplementeerd op een niveau van computercomplexiteit dat zich bezighoudt met hoe ruwe bytes, losgekoppeld van de context van informatierepresentatie, worden georganiseerd op de harde schijf. We zullen dit het niveau van het blokapparaat noemen, omdat de volledige-schijfversleuteling wordt toegepast op het blokapparaat dat een harde-schijfpartitie is (gewoon een mooie naam voor een groot segment van uw harde schijf).

Dit niveau is hoger dan het elektrische signaalniveau, maar lager dan het bestandssysteem, dat het punt is waarop uw computer bytes ziet als bestanden in plaats van alleen bytes. Het bestandssysteem dient als een soort organogram dat uw computer vertelt hoe te vertellen welke bytes bij elkaar horen om bestanden te vormen, en hoe bestanden en bestandstypen uit elkaar te houden.

Dus wat is precies deze schijfversleuteling die geen volledige-schijfversleuteling is?

Het antwoord is versleuteling op bestandssysteemniveau. Bij versleuteling op bestandssysteemniveau, ook wel “bestands-gebaseerde versleuteling” genoemd, versleutelt een systeem bepaalde mappen (mappen) en alle bestanden en mappen daarin, recursief tot aan alles wat de bovenste map uiteindelijk bevat. Versleuteling op bestandssysteemniveau kan ook een geheel bestandssysteem versleutelen, waarbij automatisch alles wordt beschermd wat erop wordt opgeslagen. Voor ons doel beschouwen we echter het soort versleuteling op bestandsniveau waarbij gebruikers kunnen kiezen welke bestanden en mappen ze willen versleutelen, terwijl de rest met rust wordt gelaten.

Om precies te zijn, het model dat ik in gedachten heb is er een dat alleen de gebruikersdocumenten, media, en andere bestanden versleutelt die op Unix systemen in de subdirectory van de gebruiker onder de /home directory zouden komen te staan. Op deze manier worden de kern systeembestanden en software binaries voor draaiende programma’s met rust gelaten, en worden alleen je eigenlijke persoonlijke gegevens bewaakt.

Dit gebeurt, zoals de naam al aangeeft, op het niveau van het bestandssysteem, dat één niveau hoger is dan waar full-disk encryptie werkzaam is. Dit heeft enkele belangrijke implicaties. Om te beginnen worden alle versleutelde bestanden al gezien als bestanden, wat betekent dat ze afzonderlijk kunnen worden ontsleuteld.

Het stelt gebruikers ook in staat om de versleuteling van bestanden aan te vullen met controles op de bestandsrechten. Omdat de volledige schijf is versleuteld onder volledige schijfversleuteling, moet een gebruiker die het schijfdecodeerwachtwoord kent, dit invoeren voordat iets anders verder kan gaan. Maar naast de gebruikersbestanden zijn ook alle bestanden die het besturingssysteem nodig heeft om te draaien vergrendeld. Een succesvolle boot vereist dat het hele blok-apparaat wordt ontgrendeld, en zodra de schijf is ontgrendeld, is alles open.

Met encryptie op bestandsniveau dwingt uw volledige besturingssysteem het onderscheid af tussen wat wordt ontsleuteld en wanneer. Elke gebruiker kan bepalen welke bestanden worden versleuteld, en met welke wachtwoorden. Dus met versleuteling op bestandsniveau kan een gebruiker zijn bestanden ontsleutelen en de gegevens van een andere gebruiker nog steeds geblokkeerd laten. Je hoeft een versleutelde directory niet te ontsleutelen als je dat niet wilt – als je niet van plan bent een van je document- of mediabestanden te openen, kun je de computerprogramma’s gebruiken terwijl je je persoonlijke bestanden achter slot en grendel laat, zodat bijvoorbeeld malware ze niet kan infecteren.

Show Me What You’ve Got

Ik zou niet de moeite nemen om bestands-gebaseerde versleuteling naar voren te brengen als het niet een aantal echte voordelen had boven volledige-schijfversleuteling. De grootste kracht van bestands-gebaseerde encryptie is dat de snelheid ervan volledige-schijf-encryptie in het stof laat bijten. Dat komt omdat file-gebaseerde versleutelde systemen efficiënter lezen en schrijven naar de schijf.

Om te begrijpen waarom dat zo is, laten we eens kijken hoe versleutelde blok-apparaten (zoals een flash-opslag) werken. Om de terminologie nog even op te frissen: “cijfertekst” is de versleutelde vorm van informatie, die zonder de juiste sleutel onleesbaar is, terwijl “onbewerkte tekst” de informatie in de oorspronkelijke, begrijpelijke vorm is.

Wanneer u in rust gecodeerde gegevens ontcijfert, verandert uw computer niet letterlijk alle bits op de opslaghardware van cijfertekst in onbewerkte tekst. Dat zou te lang duren, en uw schijf zou binnen de kortste keren worden verbrand door het schrijven naar de hele schijf telkens wanneer u uw apparaat opstart en afsluit. In plaats daarvan blijven de fysieke bits op uw schijf zoals ze zijn, maar ze worden gelezen en geschreven via een buffer die in het geheugen bestaat nadat de juiste sleutel is toegepast. De buffer past een decryptiebewerking toe wanneer de informatie wordt gelezen, en een encryptiebewerking wanneer ze wordt geschreven, op de schijf. Terwijl uw gegevens worden gedecodeerd en gelezen, wordt de onbewerkte tekst in het geheugen bewaard zodat er gemakkelijk naar kan worden verwezen totdat u er klaar mee bent.

De toevoeging van deze vele extra stappen vertraagt de zaken aanzienlijk in vergelijking met ongecodeerd lezen en schrijven, met wel een factor tien. Bij volledige schijfversleuteling moet alles wat je op je computer doet door deze ontsleutelingsbuffer worden gelezen, omdat je hele blokapparaat, en de inhoud daarvan, versleuteld is. Cruciaal, dit omvat alle binaries die het OS zelf draaien en alle software erop.

Maar met onze gekozen configuratie van bestands-gebaseerde encryptie, hoeven alleen uw gebruikersdocument en mediabestanden te worden gedecodeerd. De meeste software die u dagelijks gebruikt, staat niet tussen deze bestanden. Er zijn genoeg computertaken waarvoor helemaal niets hoeft te worden ontsleuteld. Een voorbeeld: we leven zoveel in onze webbrowsers dat u waarschijnlijk op één hand kunt tellen hoeveel gebruikersbestanden u de afgelopen 24 uur hebt geopend.

Het is duidelijk dat uw computer soms gegevens zal moeten ontsleutelen, maar zelfs dan, omdat de versleuteling op het niveau van het bestandssysteem is geïmplementeerd, kan uw op bestanden gebaseerde versleutelde besturingssysteem dit efficiënter doen dan het op een volledige schijf versleutelde analoog zou doen.

Ultimately, all disk access, whether to a fully encrypted or filesystem encrypted disk, requires approval from the core of the operating system, the kernel. Maar omdat de versleuteling bij volledige schijfversleuteling wordt beheerd op het niveau van systeembeheerders met privileges, moet de kernel zich ook bemoeien met het lezen van het blokapparaat via de ontcijferingsbuffer.

Bestandssysteemversleuteling kent dit obstakel niet, omdat het alleen niet-bevoegde gebruikersrechten vereist om de eigen bestanden te ontcijferen. Als gevolg hiervan moet volledige schijfversleuteling een extra toestemming van de kernel krijgen voor het lezen of schrijven naar de schijf, vergeleken met hetzelfde proces in het bestandsgebaseerde model.

Efficiënter met minder slijtage

Een ander groot voordeel van bestandssysteemversleuteling is dat het de slijtage van uw schijf aanzienlijk vermindert. Voor elke afzonderlijke schrijfoperatie schrijft een systeem met bestandsversleuteling gewoon minder gegevens dan een systeem met volledige schijfversleuteling.

Wederom vindt de versleuteling bij volledige schijfversleuteling plaats op het niveau van het blokapparaat, dat alleen blokken ziet, eenheden van uniforme grootte, van bytes. Niet alle gegevens nemen echter een heel blok in beslag. In feite, veel gegevens niet. Dus versleuteling op blokniveau doorkruist in feite het ingebouwde efficiëntiemechanisme van de computer dat alleen die delen van een bestand verandert die werkelijk veranderd zijn. Zonder volledige schijfversleuteling kan een computer de bijgewerkte versie van een bestand in het geheugen vergelijken met de vorige versie op de schijf, bepalen welke delen nu anders zijn, en die nieuwe afwijkende delen naar het bestand schrijven.

Uw computer kan een soortgelijke economie van schrijven ook bereiken met file-based encryptie: wanneer de plaintext versie van uw bestand in het geheugen wordt bijgewerkt, wordt het bestand gefilterd door de encryptiebuffer en tijdelijk in het geheugen gehouden, en dan vergelijkt het OS de nieuwe versleutelde versie met de vorige versleutelde versie op uw schijf om te bepalen welke bits daadwerkelijk zijn veranderd, en schrijft alleen die.

Volledige schijfversleuteling is een ander verhaal.

In dat model weet het besturingssysteem welke delen van het bestand zijn gewijzigd, maar omdat de versleuteling per blok en niet per bestand geschiedt, moet het besturingssysteem nu bestanden in blokken vertalen, het blok versleutelen, en die blokken naar het blokapparaat schrijven. Revisies in een bestand die niet optellen tot een blok aan gegevens kunnen meerdere blokken omvatten, die dan allemaal door de versleutelde buffer moeten worden gefilterd en in hun geheel naar het blok-apparaat worden geschreven. Zelfs als alle gewijzigde gegevens in één blok zijn opgeslagen, wordt het hele blok herschreven, wat resulteert in een aanzienlijke schrijfoverhead.

Door zijn aard biedt versleuteling op bestandssysteemniveau flexibiliteit waar het volledige-schijfalternatief dat niet doet. Zoals hierboven opgemerkt, is volledige schijfversleuteling alles of niets. Het versleutelt uw hele systeem, de kernbestanden en alle gebruikersgegevens. Dat betekent dat niet-gevoelige gegevens die u sneller wilt laden (bijvoorbeeld video- of audiomedia voor bewerking) te maken krijgen met de lees- en schrijfvertraging.

Volledige-schijfversleuteling is ook niet ideaal voor systemen met meerdere gebruikers, zoals een gedeeld huishoudelijk apparaat. Iedereen die het apparaat wil gebruiken, moet de wachtwoordzin voor het ontsleutelen van de volledige schijf kennen, anders kan het apparaat niet eens in het besturingssysteem opstarten. En als u het apparaat voor een gebruiker ontgrendelt, worden de gegevens voor alle gebruikers ontgrendeld. Dat betekent ook dat je functies als ongeprivilegieerde “gast”-accounts die het OS kunnen gebruiken terwijl de toegang tot gebruikersbestanden is geblokkeerd, niet kunt inschakelen.

Ten slotte is bestands-gebaseerde encryptie redelijker voor wat de meeste mensen nodig hebben. Ik heb het zelf gezegd dat veiligheid ongemak met zich meebrengt, en dat is waar. Maar bij het ontwerpen van veiligheidspraktijken helpt het niet om meer ongemak te veroorzaken dan nodig is om het risico van een aanval te verkleinen. In feite schaadt het alleen maar: als de beveiligingsprocedures voor een gebruiker te zwaar zijn, zal die gebruiker uiteindelijk de kantjes eraf lopen.

Simpel gezegd, volledige schijfversleuteling is overkill voor de gebruikssituatie die u waarschijnlijk hebt. De twee versleutelingsconfiguraties die we naast elkaar hebben gezet, beschermen u op verschillende manieren. Het belangrijkste verschil in de mate van beveiliging is dat bestands-gebaseerde versleuteling alleen uw gebruikersdocumenten en mediabestanden beschermt. Volledige schijfversleuteling daarentegen versleutelt deze bestanden plus de belangrijkste OS-bestanden.

Enkele mogelijke nadelen

Zoals u wellicht al kunt raden, zijn er nadelen aan het niet alles versleutelen zoals bij volledige schijfversleuteling het geval is. In theorie kan een aanvaller met fysieke toegang tot uw apparaat die bestands-gebaseerde versleuteling gebruikt, de onversleutelde OS-gegevens wijzigen. Van daaruit start de aanvaller uw machine op om de code uit te voeren die hij zojuist heeft geplaatst, of hij wacht tot u uw machine opstart, zodat zijn kwaadaardige code iets doet om uw gegevens te onderscheppen.

Dat klinkt slecht, en dat is het ook, maar het zal u waarschijnlijk ook niet overkomen. Echt, de meeste of geen van je tegenstanders zullen het zelfs maar proberen. Ze zijn ofwel zo primitief dat versleuteling op bestandssysteemniveau voldoende is om ze te dwarsbomen, of zo geavanceerd (d.w.z. krachtig) dat ze efficiëntere methoden hebben om uw gegevens te bemachtigen.

Voor de overgrote meerderheid van gebruikers is het probleem dat versleuteling van data-at-rest oplost, het voorkomen dat dieven die uw apparaat fysiek stelen, uw gegevens bemachtigen. Daarom rekenen slimme dieven er niet op dat ze uw gegevens te pakken krijgen, en nemen ze in plaats daarvan hun toevlucht tot het helen van het apparaat voor geld. Bestandsversleuteling en volledige-schijfversleuteling werken in dit scenario allebei even goed.

Omgekeerd, als uw tegenstander een overheidsinstantie is (bijv. wetshandhaving), zal noch bestandsversleuteling noch volledige-schijfversleuteling u redden. Afhankelijk van de jurisdictie kunnen ze u wettelijk bevelen uw apparaat te ontgrendelen. Bijna overal elders kunnen overheden diensten die uw gegevens in hun cloud opslaan, bevelen om u gewoon te geven wat ze willen – en onder repressieve regimes, laten we zeggen, hebben ze directere en pijnlijkere manieren om u te dwingen te voldoen.

Laten we, omwille van het argument, zeggen dat u een overheidsactor tegenover u hebt, en dat alle bovengenoemde technieken niet hebben gewerkt. Volledige schijfversleuteling zou alleen werken als de overheid geen meer geavanceerde manier had om uw systeem aan te vallen. Dit is geen probleem voor de meeste machtige regeringen in de wereld, omdat ze zo geavanceerd zijn dat ze de encryptie op de een of andere manier kunnen kraken of omzeilen.

Er zijn dus niet zo veel gevallen waarin volledige schijfversleuteling je echt zal redden: als je vijand een regering is en je fysieke marteling kunt weerstaan, maar de regering niet in staat is tot de echt coole actiefilmhacking die in principe elke G20-natie kan doen.

Dat wil niet zeggen dat, afhankelijk van je tegenstander, er niets te winnen valt bij het moeilijk maken van dingen voor je aanvaller – het leven van je aanvaller zo moeilijk mogelijk maken is een aloude beveiligingsstrategie – maar realiseer je gewoon dat dat alles is wat full-disk encryptie je kan garanderen. Maar, nogmaals, dat is niet waar bijna iedereen van jullie naar kijkt.

Praktische encryptie, onpraktische implementatie

Diegenen onder jullie die overtuigd zijn en hun lees-schrijf prestaties en SSD levensduur terug willen, vragen zich waarschijnlijk af waar je deze zoete file-level crypto in handen kunt krijgen. Nou, dat is waar het ingewikkeld wordt. U ziet, het is moeilijk om het in de praktijk op te zetten.

De belangrijkste reden hiervoor is dat de grote consumenten OS-en al full-disk versleuteld zijn. Apple en Google hebben hun mobiele apparaten geconfigureerd voor full-disk encryptie, en ontzeggen gebruikers de mogelijkheid om het uit te schakelen. Apple en Microsoft zetten volledige schijfversleuteling ook standaard aan, maar beiden bieden manieren om het uit te schakelen voor de onverschrokkenen.

Voor Linux-gebaseerde desktop OS-en (mijn persoonlijke voorkeur), was het installeren van je systeem met versleuteling op bestandssysteemniveau vroeger zo eenvoudig als het aanvinken van een vakje, maar dit gaat snel de weg van de dodo op. Ubuntu heeft onlangs deze installatie-optie in hun grafische installatieprogramma afgeschaft, waardoor Linux Mint de enige distributie is die het nog aanbiedt. Zelfs doe-het-zelf distro’s zoals Arch Linux ontmoedigen je om te proberen crypto op bestandsniveau te configureren. In plaats daarvan sturen ze je in de richting van blokversleuteling, waarvan de documentatie veel grondiger is.

Als je bereid bent de nodige moeite te doen om je volledige schijfversleuteling uit te schakelen, zijn er enkele opties voor je beschikbaar. Een van de meer robuuste opties is VeraCrypt. VeraCrypt is ontstaan uit de wens om de mantel van het ter ziele gegane TrueCrypt over te nemen, en is een grafisch hulpmiddel voor het maken van versleutelde mappenstructuren bovenop een bestaand bestandssysteem. Het biedt opties voor lees- en schrijfsnelheden die vergelijkbaar zijn met onversleutelde bestandssystemen, en zelfs super-spionage functies zoals ontkenbare encryptie, waarbij je versleutelde gegevens er gewoon uitzien als normale ongebruikte ruimte op je schijf. Een verkenning van zelfs de basismogelijkheden van VeraCrypt zou buiten het bestek van dit nu al lange stuk vallen, maar misschien heeft het de ingrediënten voor een toekomstig artikel.

Dus waarom heb ik al die tijd genomen om je te vertellen over iets dat niet de meest (maar zeker niet de minst) toegankelijke is? In wezen is het belangrijk te weten wat er mogelijk is, zodat u de best geïnformeerde keuzes kunt maken, om de computerervaring te creëren die het best beantwoordt aan uw behoeften. Computers zijn oneindig aanpasbaar, dus er is geen reden waarom een gebruiker niet de voor hem beste instelling zou mogen hebben – je opties niet kennen is de slechtste reden.

Het waarderen van wat mogelijk is, gaat over meer dan je beste digitale leven leiden, maar over het bieden van ondersteuning, zelfs al is het alleen maar gebruikersschap, aan de ontwikkelaars die het mogelijk maken. Als dit klinkt als iets dat uw leven beter zou kunnen maken, zeg ik tegen u, ga voort en knutsel!

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.