Wat is versleuteling en hoe werkt het?

0
271
wk1003mike/Shutterstock.com

Je hebt waarschijnlijk de term “encryption” gebruikt rond internet. Dus wat is het? Het is misschien wel de belangrijkste technologie die we hebben. De meeste digitale beveiligingsmaatregelen, van veilig browsen tot beveiligde e-mail, zijn hiervan afhankelijk. Zonder codering hebben we geen privacy.

Wat is versleuteling?

Als u iets opschrijft dat belangrijk, privé of gevoelig is, maakt u zich misschien zorgen dat iemand anders het gaat lezen. Als je het aan een boodschapper moet geven om naar een andere persoon te brengen, neemt het risico toe dat de verkeerde mensen dat bericht lezen. Versleuteling verandert de samenstelling van een bericht of gegevens, zodat alleen mensen die weten hoe ze het in zijn oorspronkelijke vorm moeten herstellen, het kunnen lezen. Voor iemand anders zal het verschijnen als wartaal of een betekenisloze verzameling karakters en symbolen.

The Scytale

Sinds de vroegste tijden hebben mensen verschillende technieken gebruikt om iemand te voorkomen maar de beoogde ontvanger van het lezen van privéberichten. De oude Grieken wikkelden een strook perkament in een strakke spiraal rond een houten staaf die een scytale wordt genoemd. Ze schreven hun boodschap langs de lengte van de roede, over het ingepakte perkament.

Ontrold, het schrijven op het perkament sloeg nergens op. Een boodschapper zou het perkament bezorgen bij de ontvanger die het bericht privé zou lezen nadat hij het eerst om zijn eigen, bijpassende zeis had gewikkeld. Dit is een vorm van transpositiecodering.

Het is een primitieve techniek, maar het heeft elementen die je in moderne versleutelingssystemen zult vinden. Zowel de afzender als de ontvanger moeten vooraf weten wat het versleutelingsschema is en hoe het te gebruiken. En daarvoor hebben ze allebei matching-mechanismen nodig.

Het Polybius-plein

Een andere methode die door de oude Grieken werd gebruikt, maakte gebruik van een Polybius-vierkant. Dit was een raster van vijf bij vijf of zes bij zes letters. Er werd naar een letter verwezen met de coördinaten, zoals de slagschepen van het spel. De eerste letter in de eerste rij werd gecodeerd als “11”, de vierde letter op de tweede rij zou worden geschreven als “42”, enzovoort.

Advertentie

Natuurlijk zijn er veel manieren om het raster met letters te vullen. Tenzij u de lay-out van de letters kent, is decodering moeilijk. Hiermee kun je een schema opzetten met meerdere vierkanten met verschillende lay-outs. U kunt bijvoorbeeld zeven vierkanten maken en voor elke dag van de week een ander vierkant gebruiken. Schema's die meerdere alfabetten gebruiken, worden polyalfabetische cijfers genoemd.

Een Polybius-vierkant is een vorm van code. Een code vervangt letters door andere tekens, in dit voorbeeld cijfers. Cijfers vervangen letters door andere letters.

Caesar's Cipher

Julius Caesar gaf zijn naam aan Caesar's Cipher. Dit gebruikt een offset—of “rotatie”— om een ​​letter te selecteren op een ingestelde afstand vanaf de letter die je aan het vercijferen bent. Als u een offset van twee gebruikt, zal “A” zou worden geschreven als “C”, en “D” zou worden geschreven als “F.” De ontvanger moet de juiste offset weten om het bericht te ontcijferen door de offset af te trekken van de letters die ze hebben ontvangen.

Een Caesar's Cipher met een offset van 13—bekend als “rotatie 13” of ROT13—heeft een bijzondere kwaliteit. Er zijn 26 letters in het standaard Engelse alfabet en 13 is precies twee keer in 26 te verdelen. Met deze offset, om iets te ontcijferen, kun je het opnieuw door het vercijferingsproces laten gaan. Door tweemaal te coderen keert u terug naar de oorspronkelijke tekst.

Gewoon: ABCDEFGHIJKLMNOPQRSTUVWXYZ ROT13: NOPQRSTUVWXYZABCDEFGHIJKLM

Als je de letters “GEEK” in het bovenste alfabet en noteer de overeenkomende letters in het lagere alfabet, je krijgt “TRRX”. Als je dat nog een keer doet met “TRRX” in het bovenste alfabet krijg je de letters “GEEK” van het onderste alfabet.

Advertentie

In programmeertermen vereenvoudigt dit de zaken omdat je alleen een vercijferingsroutine hoeft te schrijven. Er is geen behoefte aan een ontcijferingsroutine. Daarom is het schrijven van een ROT13-implementatie een veel voorkomende oefening voor mensen die leren programmeren. ROT13 wordt ook vaak gezien als een voorbeeld van zeer slechte, laagwaardige versleuteling.

Je kunt het zelf proberen met deze online ROT13 motor. Probeer “Alaska Nynfxn” en vervolgens de uitvoer weer invoeren als invoer.

Dus, wat is versleuteling?

Alle voorbeelden die we hier hebben behandeld, zijn gemakkelijk te kraken, maar ze illustreren wel een gemeenschappelijk element dat door hen allemaal en door alle vormen van codering wordt gedeeld. Er is een reeks regels die u moet volgen om uw originele gegevens, de 'plaintext' genaamd, om te zetten in de vercijferde versie, ook wel de cijfertekst genoemd. Die set regels is een algoritme. En dat is versleuteling.

Het zijn algoritmen voor privacy.

Hoe werkt versleuteling?

Bakhtiar Zein/Shutterstock.com

Net als de persoon in het oude Griekenland, staat een persoon in het digitale tijdperk die privégegevens wil opslaan of verzenden, voor uitdagingen. Wat kunt u doen om te voorkomen dat onbevoegden toegang krijgen tot de gegevens? En wat kan er gedaan worden om het veilig te maken?

Alle oude systemen zouden kunnen worden overwonnen met kennis van het encryptiesysteem. Gebruik dezelfde diameter staaf en het scytale bericht wordt leesbaar. Caesar's Cipher kan worden verbroken door verschillende offsets op het eerste deel van het bericht te proberen. Je hebt er maximaal 25 om te proberen.

GERELATEERD< /sterk>Is de RSA zojuist vernietigd door een gepensioneerde Duitse wiskundige?

Polybiusvierkanten vormen een grotere uitdaging omdat de lay-out van de letters binnen het vierkant onvoorspelbaar is. Als je weet wat de indeling van het plein is, is het niet eens een uitdaging. Als je geen idee hebt van de lay-out van het vierkant, kun je proberen het bericht te ontcijferen door de cijfertekst zelf te bestuderen. Dat heet cryptanalyse.

Advertentie

Met een eenvoudig cijfer kunt u hulpmiddelen zoals letterfrequentietabellen gebruiken om uit te zoeken welke letter in cijfertekst welke letter in platte tekst vertegenwoordigt. Een veilig coderingsschema moet veilig zijn, ongeacht wie de mechanica van het schema kent, en de cijfertekst moet bestand zijn tegen aanvallen van cryptanalyse.

Geen tekens, bits

Robuuste digitale schema's doen dat niet 8217;t werkt niet één voor één aan letters en tekens zoals seriële cijfers doen. Ze verwerken de gegevens stuk voor stuk en worden blokcijfers genoemd.

Ze manipuleren de bits (al die enen en nullen) in elk blok volgens de regels van gecompliceerde wiskundige transformaties die zijn ingebed in de coderingsalgoritmen. Als een algoritme een blokgrootte van 128 bits gebruikt, zal het zich een weg banen door de gegevens in blokken van 128 bits. Als het laatste stuk dat moet worden verwerkt kleiner is dan 128 bits, wordt het opgevuld tot 128 bits.

Er zijn veel blokcoderingsschema's beschikbaar. De Advanced Encryption Standard (AES) is de officiële encryptiestandaard van de Amerikaanse overheid. Verschillende coderingsschema's gebruiken verschillende algoritmen en verschillende bloklengtes en maken gebruik van verschillende combinaties van wiskundige transformaties.

GERELATEERD: Wat is “Encryptie van militaire kwaliteit”?

Dat klinkt allemaal heel grondig, maar hoe voorkomen we dat een onbevoegd persoon hetzelfde versleutelingsschema gebruikt om onze versleutelde gegevens te ontsleutelen?

Hash Strings

We zullen eerst naar een speciaal geval kijken. Het is mogelijk om gegevens te versleutelen met behulp van een eenrichtingstransformatie. Dit is precies de antithese van ROT13 omdat de resulterende cijfertekst niet kan worden teruggezet naar leesbare tekst. Nauwkeuriger gezegd, het kan niet binnen een praktisch tijdsbestek worden gedecodeerd. Dit type codering wordt gebruikt in hash-functies waarbij een reeks leesbare tekst wordt gehasht in een reeks cijfertekst, de hash of hash-reeks genoemd. Alle hash-strings zijn even lang.

Advertentie

Hoe is dit nuttig? Welnu, een beveiligde website zal uw wachtwoord niet in platte tekst opslaan. Uw wachtwoord wordt gehasht en de hash-string wordt opgeslagen. Uw wachtwoord wordt nooit bewaard. Wanneer u de volgende keer inlogt en uw wachtwoord invoert, wordt het gehasht en wordt de hash-string vergeleken met de hash-string die is opgeslagen in uw accountgegevens. Als ze overeenkomen, kun je meedoen. Als u een onjuist wachtwoord invoert, komen de twee hash-strings niet overeen en wordt u niet toegelaten.

Hierdoor kan de website authenticatie gebruiken zonder de wachtwoorden in een zichtbare vorm op te slaan. Als ze worden gehackt, wordt geen van de wachtwoorden gecompromitteerd. Hashing-technieken kunnen ook unieke, willekeurige gegevens, een zout genaamd, aan de wachtwoorden toevoegen voordat ze worden gehasht. Dit betekent dat alle hashes uniek zijn, zelfs als twee of meer gebruikers hetzelfde wachtwoord hebben gekozen.

Versleutelde harde schijven

Om te voorkomen dat onbevoegden gegevens ontsleutelen, wordt een sleutel gebruikt die identificeert wie de gegevens heeft versleuteld en wie deze kan ontsleutelen. Een sleutel is een lange reeks bytes die wordt gegenereerd door een complex algoritme. Ze variëren doorgaans in grootte van 128 bytes tot 2048 bytes of meer. De sleutel wordt gebruikt door het versleutelingsalgoritme wanneer het de leesbare tekst versleutelt. De sleutelgrootte is onafhankelijk van de blokgrootte.

Om lokaal opgeslagen gegevens te beschermen, kunnen hele harde schijven worden versleuteld. De encryptie is gekoppeld aan de login-identiteit van de gebruiker en de sleutel wordt automatisch gegenereerd en automatisch toegepast. De gebruiker heeft geen directe interactie met de sleutel en de sleutel hoeft nooit naar iemand anders te worden verzonden.

Omdat de sleutel is gekoppeld aan de login-identiteit van de gebruiker, zal het verwijderen van de harde schijf van de computer en het aansluiten op een andere computer geen toegang tot de gegevens geven. Dit type bescherming beschermt gegevens die statisch of 'in rust' zijn. 8220;in transit.”

Beveiligde websites

Wanneer u verbinding maakt met een website en een hangslotsymbool in de adresbalk ziet, weet u dat u verbonden bent met een beveiligde website, toch? Soort van. Wat het eigenlijk betekent, is dat de verbinding tussen uw computer en website is versleuteld met SSL/TSL-codering.

GERELATEERDHoe beveiligen SSL-certificaten het web?

Dat is een goede zaak, maar het verifieert niet de veiligheid van de rest van de website. De website slaat mogelijk wachtwoorden op in platte tekst en gebruikt een standaard beheerderswachtwoord in de database. Maar als u het hangslot ziet, weet u dat uw communicatie met de website versleuteld is.

Deze versleuteling is mogelijk omdat uw browser en de website hetzelfde versleutelingsschema gebruiken met meerdere sleutels. Bij het begin van een verbindingssessie wisselen uw browser en de website openbare sleutels uit. Een openbare sleutel kan iets ontsleutelen dat is versleuteld met een privésleutel.

Uw browser en de website wisselen hun openbare sleutels uit en versleutelen vervolgens met hun privésleutels. Omdat elk uiteinde van de verbinding de openbare sleutel van het andere uiteinde heeft, kan elk uiteinde de informatie decoderen die ze van het andere uiteinde ontvangen. De privésleutels hoeven nooit openbaar te worden gemaakt.

Het vrijgeven van een openbare sleutel is veilig. Een openbare sleutel kan niet worden gebruikt om gegevens op frauduleuze wijze te versleutelen. Dus hoewel u een kopie van de openbare sleutel van een website ontvangt, kunt u zich niet voordoen als de echte website omdat u de privésleutel niet hebt. Dit roept de vraag op naar authenticiteit. Hoe weet u dat de website de echte eigenaar is van het openbare en privésleutelpaar, en niet een copycat-site die op de een of andere manier beide sleutels van de echte website heeft gestolen?

Certificaten worden gebruikt om de identiteit van websites te verifiëren. Deze worden afgegeven door certificeringsinstanties nadat zij de identiteit van de aanvrager hebben geverifieerd. De website verzendt het certificaat als onderdeel van de handshake aan het begin van een verbindingssessie, zodat de webbrowser het certificaat kan valideren.

Advertentie

Het doet dit door contact op te nemen met de certificeringsinstantie en bepaalde informatie op het certificaat te ontsleutelen. Hiervoor zijn nog meer sleutels nodig. Uw browser heeft openbare sleutels van grote certificeringsinstanties als onderdeel van de installatiebundel. En er zijn nog meer sleutels bij betrokken. Naast het uitwisselen van openbare sleutels, creëren uw browser en de website unieke sessiesleutels om hun communicatie verder te beveiligen.

Zodra uw browser de authenticiteit van de site en de sterkte van de codering heeft geverifieerd, plaatst hij het hangslot in de adresbalk.

GERELATEERD: Hoe in te schakelen ” Verbeterd veilig browsen” in Google Chrome

Beveiligde e-mail

Het concept van publieke en private sleutels duikt steeds weer op in encryptie. Een veelgebruikte methode om e-mails onderweg te beveiligen, maakt gebruik van openbare en privésleutels. Openbare sleutels kunnen veilig worden uitgewisseld, privésleutels worden niet gedeeld. Berichten worden versleuteld met de persoonlijke sleutel van de afzender. De ontvanger kan de openbare sleutel van de afzender gebruiken om deze te decoderen en te lezen. Ze kunnen hun eigen privésleutel gebruiken om een ​​antwoord te versleutelen.

OpenPGP is een bekend versleutelingsschema dat dit model volgt, met een twist.

De e-mailclient van de afzender genereert een willekeurige sleutel. Dit wordt gebruikt om het e-mailbericht te versleutelen. De willekeurige sleutel wordt vervolgens versleuteld met de openbare sleutel van de ontvanger. Het versleutelde bericht en de versleutelde willekeurige sleutel worden naar de ontvanger gestuurd. Het e-mailprogramma van de ontvanger gebruikt zijn privésleutel om de willekeurige sleutel te decoderen die vervolgens wordt gebruikt om het bericht te decoderen.

Het doel van de extra stap is om een ​​e-mail veilig naar meerdere ontvangers. Uw e-mailclient hoeft niet de hele e-mail voor elke ontvanger afzonderlijk te versleutelen, alleen de willekeurige sleutel.

GERELATEERDHoe OpenPGP-codering voor e-mails in Thunderbird te gebruiken

Natuurlijk hebben veilige e-mailsystemen ook te maken met authenticiteit. U moet de openbare sleutel vertrouwen die naar u is verzonden. Sleutels zijn gekoppeld aan e-mailadressen. Het is een goede eerste stap om de openbare sleutel naar u te laten verzenden vanaf het e-mailadres waarmee u gaat praten. De meeste e-mailclients kunnen het e-mailadres weergeven dat is gekoppeld aan een openbare sleutel.

Advertentie

Een andere methode om de authenticiteit van een openbare sleutel te controleren, is door deze uit een repository te halen. De openbare sleutels die naar repositories worden geüpload, worden door de repository geverifieerd voordat ze openbaar worden gemaakt.

Encryptie ondersteunt ons digitale leven

Encryptie ondersteunt tenminste ons digitale leven als we 8217; doe het goed. Vermijd elk type onbeveiligde externe verbindingen (of het nu gaat om werken op afstand of online kopen), gebruik e-mailclients die privéberichten kunnen versleutelen en gebruik messenger-apps met end-to-end-codering.

Lbhe cevinpl vf vzcbegnag, hfr gur nccebcevngr gbbyf gb fnsrthneq vg. Zoals Caesar zou hebben gezegd.

GERELATEERD: Wat is end-to-end-codering en waarom is het belangrijk?

LEES VOLGENDE

  • › Hoe u zich afmeldt bij uw Mac met behulp van Terminal
  • › Hoe u uw verjaardag op Facebook kunt wijzigen
  • › 'Niet storen' inschakelen Tijdens het rijden op Google Pixel
  • › Een afbeelding invoegen en bijsnijden om in een vorm te passen in Microsoft PowerPoint
  • › De “Taakweergave” verbergen Knop op Windows 11