Bestanden versleutelen: Alles over encryptie

Het versleutelen van bestanden is geen overbodige luxe. Je zorgt ervoor dat alleen jij bij je data kan, zonder dat inbrekers mee kunnen gluren. Maar wat zijn de beste opties? In dit artikel lees je alles over encryptie.

Lees ook: Verstuur data veilig met digitale certificaten 

AES, RSA, SHA

Het versleutelen van data en internetverbindingen kan op verschillende manieren. Veel mensen kennen vooral AES-256, een subversie van AES. Dit algoritme versleutelt bestanden in blokken van 128 bits, wat sneller is dan het bit voor bit versleutelen. Het getal 256 slaat op de lengte van de sleutel, die bij AES 128 bits, 192 bits of 256 bits lang kan zijn. Theoretisch gezien is een langere sleutel veiliger, omdat een computer meer tijd nodig heeft om deze te raden. Dit raden heet in het Engels brute forcing. Wordt er een sleutel van 256 bits gebruikt, dan zijn er 2^256 (2 tot de macht 256) mogelijke combinaties binnen de sleutel. En dat kunnen huidige computers domweg niet kraken, zelfs niet als gigantisch veel computers zouden samenwerken.

Maar er zijn meer soorten encryptie, die ieder weer voor een ander onderdeel doeleinde gebruikt worden. Waar AES vooral nuttig blijkt voor het versleutelen van bestanden op een computer, wordt de standaard RSA veel gebruikt bij het opzetten van een https-verbinding. Hierbij wordt een publieke sleutel gebruikt van de ontvanger om een bericht te versleutelen. Dit wordt eerst gedaan aan de hand van een omkeerbaar en niet-geheim protocol, bijvoorbeeld A=1 en B=2. Daarna worden de data aan de hand van een zogenaamde ontsleutelingsrelatie (C = n^e mod N) nogmaals omgezet, deze keer in onleesbare tekst. Die data worden vervolgens verstuurd en door de ontvanger weer omgezet in leesbare tekst met een eigen private sleutel.

Computers kunnen een 256 bits-sleutel domweg niet kraken

Een laatste standaard is SHA, dat onder meer gebruikt wordt om wachtwoorden op te slaan. Hierbij wordt een stuk tekst omgezet in een berichtensamenvatting van maximaal 1600 bits. Bijzonder hierbij is echter dat de versleutelde tekst nooit meer teruggezet kan worden naar de oorspronkelijke data. Maar versleutel dezelfde tekst opnieuw, dan is de uitkomst altijd hetzelfde. In het geval van wachtwoorden slaat de computer dus deze samenvatting - of hash - op. Vul je het wachtwoord vervolgens in, dan versleutelt de computer deze opnieuw en controleert hij of de uitkomst hetzelfde is als de opgeslagen variant.

Er zijn nog veel meer verschillende mogelijkheden binnen encryptie, maar deze drie zijn de huidige standaarden die door vrijwel iedereen - inclusief software en bedrijven - worden gebruikt. Hierbij geldt dat de een niet beter is dan de ander. Ze hebben gewoon verschillende doeleinden en werkwijzen. Dit heeft te maken met de vorm van encryptie waar ze binnen vallen: symmetrisch, asymmetrisch en hashing. Welke vorm je het beste kunt gebruiken, hangt af van wat je wilt bereiken.

Symetrische encryptie

Wil je weten hoe je data het beste kunt versleutelen, dan is het goed om te weten welke verschillende vormen van encryptie er zijn. Een zo’n variant is dus symmetrische encryptie. Deze vorm van versleuteling vereist dat je vooraf een sleutel met de ontvanger moet uitwisselen. Al je data worden namelijk met die sleutel van leesbare tekst omgezet naar onleesbare tekst, en alleen met dezelfde sleutel kun je dit weer terugdraaien. Die sleutel is vaak een reeks data, die het beste werkt als hij volledig willekeurig is. 

Het meest ingewikkelde van symmetrische encryptie is dat de sleutel ook ergens opgeslagen moet worden, en alleen beschikbaar mag zijn voor de software die de sleutel nodig heeft. Het bekendste voorbeeld is het gebruik van een wachtwoord op de computer als je daar alles versleutelt: met de juiste combinatie van letters en cijfers kun je zelf de computer in, maar een ander - die de sleutel niet kent - kan dat niet. Groot nadeel is natuurlijk dat als een ander deze sleutel wel in handen krijgt, de gehele beveiliging geen nut meer heeft.

Symmetrische encryptie wordt met name gebruikt voor services die versleutelde data opslaan voor een gebruiker (denk aan een back-up in de cloud), waarbij de sleutel in de handen van de gebruiker blijft. Een ander doel is het versleutelen van een computer of een opslagapparaat, of om een veilig kanaal op te zetten tussen twee end-points in een netwerk, mits er een veilige alternatieve route is om de sleutel uit te wisselen.

Asymmetrische encryptie 

Asymmetrische encryptie doet ongeveer hetzelfde: het pakt data, maakt deze onleesbaar en maakt ze op verzoek en met de juiste sleutel weer leesbaar. Groot verschil is echter dat de sleutel van de ontvanger niet dezelfde is als die van de zender, waardoor er dus geen wachtwoord of andere sleutel verstuurd hoeft te worden. De data worden namelijk onleesbaar gemaakt met een publieke sleutel (public key), en een ontvanger kan zijn eigen private key gebruiken om het weer leesbaar te maken. De publieke sleutel mag dan ook openbaar gemaakt worden, wat eigenlijk zelfs de bedoeling is. De private key houd je echter voor jezelf, net als een wachtwoord. In sommige gevallen kan asymmetrische encryptie het ook toelaten om data te laten ondertekenen. Met de private key wordt in dat geval een handtekening gemaakt, de public key wordt daarna gebruikt om deze te verifiëren.

De sleutel van de verzender is niet dezelfde als die van de ontvanger

Natuurlijk zijn er ook bij asymmetrische versleuteling nadelen. Via een zogenaamde man-in-the-middle-aanval is het namelijk mogelijk om in te breken op een versleutelde verbinding met deze techniek. In dat geval krijg je een publieke sleutel om een ‘veilige verbinding’ op te zetten, maar in werkelijkheid wordt er gecommuniceerd met een geheel andere partij. Deze partij geeft jou hun eigen publieke sleutel, en geeft degene waar je mee wilde communiceren een geheel andere publieke sleutel en doet alsof die van jou is. De data die jij verstuurt naar de andere kant kunnen zij vervolgens lezen en opnieuw versleutelen voor ze deze doorsturen. Ze onderscheppen dus het bericht en kunnen meelezen. Vervelend als je bijvoorbeeld je bankgegevens aan het invoeren bent. Het enige wat je hier tegen kunt doen is er zeker van zijn dat je de juiste publieke sleutels hebt.

Asymmetrische encryptie wordt in de praktijk vooral gebruikt op het internet, bijvoorbeeld in de ssl-certificaten om een beveiligde verbinding (de https-verbinding) op te zetten tussen een browser en een website. Daarnaast is het hiermee mogelijk om een beveiligde verbinding op te zetten met servers die op afstand staan. Een computer gebruikt deze vorm van versleuteling ook als er software-updates zijn en hiervoor getekend moet worden. Daardoor weet het systeem namelijk zeker dat de software van een vertrouwde partij afkomstig is.

Hashing

Hashing is eigenlijk geen encryptie, maar een algoritme dat data zo erg door elkaar schudt dat het niet langer mogelijk is om te zien wat de originele data waren. Maar waar het bij encryptie mogelijk is om data ook weer leesbaar te maken, is dit bij hashing niet het geval. Eenmaal onleesbaar gemaakt, dan blijft het ook zo. Wat er wel gedaan kan worden is de originele gegevens opnieuw laten omzetten met hetzelfde algoritme. Komen de eerste en de tweede uitkomst overeen, dan weet je dat het om dezelfde data gaat. Het is namelijk niet mogelijk om dezelfde ‘hash’ uit twee verschillende stukken data te krijgen. De uitkomst van een soort data is echter altijd hetzelfde.

Het voornaamste doeleinde van hashing is het beschermen van wachtwoorden. Vul je dus een password in op je computer, dan controleert het systeem of de versleutelde uitkomst hetzelfde is met degene die opgeslagen staat. Het is echter niet mogelijk om de versleutelde uitkomst te gebruiken om binnen te dringen, en daarmee zien we meteen het voordeel van deze techniek. Steelt een hacker namelijk de hash op een computer, dan kan hij er nog niets mee. Hashing wordt onder meer gebruikt om wachtwoorden veilig op te slaan op een computer.

Bestanden versleutelen met Bitlocker

Zeggen dat je iets met AES versleuteld hebt en het daardoor veilig is, is dus iets te kort door de bocht. AES is namelijk een vorm van symmetrische encryptie en dus niet voor ieder doeleinde te gebruiken. In werkelijkheid wordt er bij veel vormen van beveiliging gebruik gemaakt van een combinatie tussen asymmetrische en symmetrische versleutelingen.

© PXimport

Gelukkig is het tegenwoordig vaak niet langer nodig om zelf alle soorten versleuteling uit te zoeken, want er zijn veel programma’s en bedrijven die zich hierin specialiseren. Om te beginnen is het goed om je computer te versleutelen. Mocht iemand dan aanvallen, dan treft de hacker alleen versleutelde gegevens aan. Dit kan vrij gemakkelijk met Microsoft BitLocker, mits je een Microsoft-computer gebruikt. Dit programma, dat vanaf Windows 7 in de Enterprise-edities van het besturingssysteem zit, versleutelt de gehele harde schijf op een computer.

BitLocker is aan te zetten door naar verkenner te gaan en met de rechtermuisknop op de map C: te klikken. In het menu staat dan ‘Zet BitLocker aan’. Microsoft vraagt op dat moment om een kopie van de herstelsleutel op te slaan, die nodig is om de versleuteling van de schijf af te halen. De sleutel is op te slaan in een Microsoft-account en in een bestand, maar ook af te drukken.

Apple FileVault, VeraCrypt, DiskCryptor en meer

Werk je met een iMac of MacBook, dan is Apple FileVault ook een mogelijkheid om de computer te versleutelen. Dit werkt vrijwel hetzelfde als Microsoft Bitlocker, maar de sleutel wordt alleen opgeslagen in een iCloud-account. Natuurlijk is het ook mogelijk om deze op te schrijven. Apple FileVault is aan te zetten via het System Preferences-menu onder Security & Privacy. Hier staat een FileVault-tabblad, waar je de computer kunt vergrendelen. Daarna moet de computer opnieuw worden opgestart.

In het geval van Linux wordt de harde schijf meestal versleuteld tijdens de installatie van het besturingssysteem, bijvoorbeeld met een tool als dm-crypt. Daarnaast zijn er ook nog programma’s van derde partijen die een harde schijf kunnen versleutelen. Bekende voorbeelden zijn TrueCrypt, VeraCrypt en DiskCryptor. Daarnaast zijn er partijen die anti-virussoftware verkopen, en direct encryptie in hun producten stoppen. Dit doen onder meer Symantec, Kaspersky, Sophos en ESET.

© PXimport

Gelukkig is het met de jaren steeds eenvoudiger geworden om data te versleutelen. Er zijn talloze bedrijven die zich hierin specialiseren en software aanbieden om het proces te versimpelen. Het beste is dan ook om te beginnen bij het begin: bedenk wat er allemaal versleuteld moet worden en begin bovenaan dat lijstje. Het kost misschien een dag werk, maar het resultaat is dat een cybercrimineel het een stuk moeilijker zal vinden om bij je gevoelige informatie te komen. En dat is een prettig gevoel.

Tekst: Eveline Meijer

Deel dit artikel
Voeg toe aan favorieten