Advertentie
De kans is groot dat u bekend bent met het woord encryptie. Je hebt waarschijnlijk gehoord hoe belangrijk het is, en hoe belangrijk het is om zoveel van onze hyper-genetwerkte levens veilig te houden.
WhatsApp gebruiken? Je gebruikt encryptie. Inloggen bij online bankieren? Weer hetzelfde. Moet je de barista om een wifi-code vragen? Dat komt omdat u verbinding maakt met een netwerk door middel van codering: het wachtwoord is de sleutel.
Maar ook al gebruiken we encryptie in ons dagelijks leven, veel terminologie blijft mysterieus. Hier is een lijst met acht essentiële versleutelingsvoorwaarden die u moet begrijpen.
1. Platte tekst
Laten we beginnen met de meest basale term die u moet kennen, die eenvoudig is maar net zo belangrijk als de andere: platte tekst is een leesbare, duidelijke boodschap die iedereen kan lezen.
2. Cijfertekst
Cijfertekst is het resultaat van het coderingsproces. De gecodeerde platte tekst verschijnt als schijnbaar willekeurige tekenreeksen, waardoor ze onbruikbaar worden. Een cijfer is een andere manier om te verwijzen naar het versleutelingsalgoritme dat de platte tekst transformeert, vandaar de term cijfertekst.
3. Versleuteling
Versleuteling is het proces waarbij een wiskundige functie wordt toegepast op een bestand dat de inhoud onleesbaar en ontoegankelijk maakt, tenzij je de decoderingssleutel hebt.
Stel dat u een Microsoft Word-document heeft. U past een wachtwoord toe met behulp van de ingebouwde coderingsfunctie van Microsoft Office. Het bestand is nu onleesbaar en niet toegankelijk voor iedereen zonder het wachtwoord. Je kan zelfs codeer uw volledige harde schijf voor Veiligheid.
Decodering
Als de codering het bestand vergrendelt, keert de decodering het proces om, waardoor de cijfertekst weer wordt omgezet in platte tekst. Decodering vereist twee elementen: het juiste wachtwoord en het bijbehorende decoderingsalgoritme.
4. Sleutels
Het coderingsproces vereist een cryptografische sleutel die het algoritme vertelt hoe de platte tekst in cijfertekst kan worden omgezet. Het principe van Kerckhoffs stelt dat 'alleen de geheimhouding van de sleutel veiligheid biedt', terwijl Shannons stelregel verdergaat 'de vijand kent het systeem'.
Deze twee verklaringen hebben invloed op de rol van encryptie en de sleutels daarin.
Het is buitengewoon moeilijk om de details van een volledig versleutelingsalgoritme geheim te houden; het is gemakkelijker om een veel kleinere sleutel geheim te houden. De sleutel vergrendelt en ontgrendelt het algoritme, waardoor het coderings- of decoderingsproces kan werken.
Is een sleutel een wachtwoord?
Nee. Nou ja, in ieder geval niet helemaal. Het maken van sleutels is het resultaat van het gebruik van een algoritme, terwijl een wachtwoord meestal een keuze van de gebruiker is. De verwarring ontstaat omdat we zelden specifiek communiceren met een cryptografische sleutel, terwijl wachtwoorden deel uitmaken van het dagelijks leven.
Wachtwoorden maken soms deel uit van het sleutelcreatieproces. Een gebruiker voert zijn supersterke wachtwoord in met behulp van allerlei tekens en symbolen, en het algoritme genereert een sleutel met behulp van hun invoer.
5. Hash
Dus wanneer een website uw wachtwoord codeert, gebruikt deze een coderingsalgoritme om uw wachtwoord in platte tekst naar een hash te converteren. EEN hasj verschilt van versleuteling doordat de gegevens niet meer kunnen worden gehasht zodra ze zijn gehasht. Of liever gezegd, het is buitengewoon moeilijk.
Hashen is erg handig wanneer u de authenticiteit van iets moet verifiëren, maar niet wilt laten teruglezen. Hierin biedt wachtwoordhashing enige bescherming tegen aanvallen met brute kracht (waarbij de aanvaller elke mogelijke wachtwoordcombinatie probeert).
Je hebt misschien zelfs gehoord van enkele van de veelgebruikte hash-algoritmen, zoals MD5, SHA, SHA-1 en SHA-2. Sommige zijn sterker dan andere, terwijl sommige, zoals MD5, ronduit kwetsbaar zijn. Als je bijvoorbeeld naar de site gaat MD5 online, je zult merken dat ze 123.255.542.234 woorden hebben in hun MD5 hash-database. Ga je gang, probeer het eens.
- Selecteer MD5 versleutelen vanuit het hoofdmenu.
- Typ je wachtwoord, druk op Versleutelen bekijk de MD5-hash.
- Selecteer de hash en druk op Ctrl + C om de hash te kopiëren en selecteer MD5 Decrypt vanuit het hoofdmenu.
- Selecteer het vak en druk op Ctrl + V om de hash te plakken, vult u de CAPTCHA in en drukt u op Ontsleutelen.
Zoals je ziet, betekent een gehasht wachtwoord niet automatisch dat het veilig is (afhankelijk van het gekozen wachtwoord natuurlijk). Maar er zijn extra versleutelingsfuncties die de beveiliging verbeteren.
6. Zout
Als wachtwoorden deel uitmaken van het maken van sleutels, vereist het coderingsproces aanvullende beveiligingsstappen. Een van die stappen is zouten de wachtwoorden. Op een basisniveau voegt een zout willekeurige gegevens toe aan een eenrichtings-hashfunctie. Laten we eens kijken wat dat betekent met een voorbeeld.
Er zijn twee gebruikers met exact hetzelfde wachtwoord: jager 2.
Wij rennen jager 2 via een SHA256 hash-generator en ontvang f52fbd32b2b3b86ff88ef6c490628285f482af15ddcb29541f94bcf526a3f6c7.
Iemand hackt de wachtwoorddatabase en controleert deze hash; elk account met de bijbehorende hash is direct kwetsbaar.
Deze keer gebruiken we een individueel zout en voegen we een willekeurige gegevenswaarde toe aan elk gebruikerswachtwoord:
- Zoutvoorbeeld # 1: jager 2 + worst: 3436d420e833d662c480ff64fce63c7d27ddabfb1b6a423f2ea45caa169fb157
- Zoutvoorbeeld # 2: jager 2 + spek: 728963c70b8a570e2501fa618c975509215bd0ff5cddaf405abf06234b20602c
Vergelijk snel de hashes voor dezelfde wachtwoorden met en zonder het (extreem basale) zout:
- Zonder zout: f52fbd32b2b3b86ff88ef6c490628285f482af15ddcb29541f94bcf526a3f6c7
- Zoutvoorbeeld # 1: 3436d420e833d662c480ff64fce63c7d27ddabfb1b6a423f2ea45caa169fb157
- Zoutvoorbeeld # 2: 728963c70b8a570e2501fa618c975509215bd0ff5cddaf405abf06234b20602c
Je ziet dat de toevoeging van het zout de hashwaarde voldoende willekeurig maakt dat je wachtwoord (bijna) volledig veilig blijft tijdens een inbreuk. En nog beter, het wachtwoord linkt nog steeds naar uw gebruikersnaam, dus er is geen verwarring in de database wanneer u zich aanmeldt bij de site of service.
7. Symmetrische en asymmetrische algoritmen
Bij moderne computers zijn er twee primaire typen coderingsalgoritmen: symmetrisch en asymmetrisch. Ze coderen allebei gegevens, maar werken op een iets andere manier.
- Symmetrisch algoritme: Gebruik dezelfde sleutel voor zowel codering als decodering. Beide partijen moeten overeenstemming bereiken over de algoritmesleutel voordat met communicatie wordt begonnen.
- Asymmetrisch algoritme: Gebruik twee verschillende sleutels: een openbare sleutel en een privésleutel. Dit maakt veilige codering mogelijk tijdens het communiceren zonder vooraf een wederzijds algoritme op te stellen. Dit staat ook bekend als public key cryptology (zie de volgende sectie).
De overgrote meerderheid van online services die we in ons dagelijks leven gebruiken, implementeert een vorm van public key cryptology.
8. Openbare en privésleutels
Nu we meer weten over de functie van sleutels in het coderingsproces, kunnen we naar openbare en privésleutels kijken.
Een asymmetrisch algoritme gebruikt twee sleutels: a publieke sleutel en een prive sleutel. De openbare sleutel kan naar andere mensen worden verzonden, terwijl de privésleutel alleen bekend is bij de eigenaar. Wat is het doel hiervan?
Welnu, iedereen met de openbare sleutel van de beoogde ontvanger kan een privébericht voor hen versleutelen, terwijl de de ontvanger kan de inhoud van dat bericht alleen lezen als hij toegang heeft tot de gekoppelde privé sleutel. Bekijk de onderstaande afbeelding voor meer duidelijkheid.
Openbare en privésleutels spelen ook een essentiële rol in Digitale handtekeningen, waarbij een afzender zijn bericht kan ondertekenen met zijn persoonlijke coderingssleutel. Degenen met de openbare sleutel kunnen het bericht vervolgens verifiëren, in de wetenschap dat het oorspronkelijke bericht afkomstig is van de privésleutel van de afzender.
EEN sleutelpaar is de wiskundig gekoppelde openbare en privésleutel die wordt gegenereerd door een versleutelingsalgoritme.
9. HTTPS
HTTPS (HTTP Secure) is een nu op grote schaal geïmplementeerde beveiligingsupgrade voor het HTTP-toepassingsprotocol dat de basis is van het internet zoals wij dat kennen. Wanneer u een HTTPS-verbinding gebruikt, worden uw gegevens gecodeerd met Transport Layer Security (TLS), waardoor uw gegevens tijdens het transport worden beschermd.
HTTPS genereert persoonlijke en openbare sleutels op lange termijn die op hun beurt worden gebruikt om een sessiesleutel op korte termijn te creëren. De sessiesleutel is een symmetrische sleutel voor eenmalig gebruik die de verbinding vernietigt zodra u de HTTPS-site verlaat (de verbinding wordt verbroken en de codering wordt beëindigd). Wanneer u de site echter opnieuw bezoekt, ontvangt u nog een sessiesleutel voor eenmalig gebruik om uw communicatie te beveiligen.
Een site moet volledig voldoen aan HTTPS om gebruikers volledige beveiliging te bieden. Inderdaad, 2018 was het eerste jaar dat de meeste sites online begonnen met het aanbieden van HTTPS-verbindingen via standaard HTTP.
10. End-to-end encryptie
Een van de grootste versleutelingsmodewoorden is die van end-to-end encryptie. Social messaging platform service WhatsApp begon zijn gebruikers in 2016 end-to-end encryptie (E2EE) aan te bieden, om ervoor te zorgen dat hun berichten te allen tijde privé zijn.
In het kader van een berichtenservice betekent EE2E dat zodra u op de verzendknop drukt, de codering blijft bestaan totdat de ontvanger de berichten ontvangt. Wat gebeurt hier? Welnu, dit betekent dat de privésleutel die wordt gebruikt voor het coderen en decoderen van uw berichten, nooit uw apparaat verlaat, en op zijn beurt ervoor zorgt dat niemand anders dan u berichten kunt verzenden met uw naam.
WhatsApp is niet de eerste of zelfs de enige berichtenservice om end-to-end encryptie aan te bieden 4 Gladde WhatsApp-alternatieven die uw privacy beschermenFacebook heeft WhatsApp gekocht. Nu we over de schok van dat nieuws heen zijn, maakt u zich zorgen over uw gegevensprivacy? Lees verder . Het bracht echter het idee van versleuteling van mobiele berichten verder naar de mainstream - tot grote woede van talloze overheidsinstanties over de hele wereld.
Versleuteling tot het einde
Helaas zijn er veel overheden en andere organisaties die encryptie echt niet leuk vinden Waarom we de regering nooit de codering mogen laten verbrekenLeven met terrorist betekent dat we regelmatig te maken krijgen met een echt belachelijk idee: creëer door de overheid toegankelijke encryptie achterdeurtjes. Maar praktisch is het niet. Dit is waarom encryptie van vitaal belang is voor het dagelijks leven. Lees verder . Ze haten het om dezelfde redenen als wij denken dat het fantastisch is: het houdt uw communicatie privé en, niet in de laatste plaats, helpt het internet te functioneren.
Zonder internet zou internet een uiterst gevaarlijke plaats worden. U zou uw online bankieren zeker niet afmaken, nieuwe slippers bij Amazon kopen of uw arts vertellen wat er met u aan de hand is.
Op het eerste gezicht lijkt encryptie ontmoedigend. Ik zal niet liegen; de wiskundige onderbouwing van encryptie is soms ingewikkeld. Maar je kunt codering nog steeds waarderen zonder de cijfers, en dat alleen al is erg handig.
Gavin is Senior Writer voor MUO. Hij is ook de redacteur en SEO-manager voor MakeUseOf's crypto-gerichte zustersite, Blocks Decoded. Hij heeft een BA (Hons) Contemporary Writing with Digital Art Practices geplunderd uit de heuvels van Devon, evenals meer dan een decennium aan professionele schrijfervaring. Hij houdt van veel thee.