Logo nl.androidermagazine.com
Logo nl.androidermagazine.com

Wat is encryptie?

Inhoudsopgave:

Anonim

Onlangs hebben we een paar vragen over codering gehad. We hebben het gehad over hoe Android codering en de veranderingen die Nougat met zich meebrengt, omvat en om het meeste uit die discussies te halen is een goed begrip van de basisprincipes een must. Laten we het even over die basis hebben.

Wat is codering precies?

In de eenvoudigste zin verandert codering de manier waarop informatie wordt weergegeven, zodat deze wordt gemaskeerd en de enige manier waarop de ware vorm kan worden bekeken, is met een duidelijke set instructies.

U gebruikt elke dag codering en weet het misschien niet omdat deze transparant kan zijn.

Er zijn tal van manieren om dit te doen, vooral wanneer die informatie digitaal is en op een computer of een telefoon is opgeslagen. Als je ooit een zipbestand of Microsoft Office-document hebt ontvangen dat een wachtwoord nodig had om het te bekijken, was het gecodeerd. De gegevens die u wilde zien, werden in een container geplaatst (zie het als een map op uw telefoon of computer) en de container was beveiligd met een wachtwoord. Deze methode kan worden opgeschaald, zelfs met een volledige schijf of partitie. Om toegang te krijgen tot alles op de gecodeerde partitie, moet u het ontgrendelen met een wachtwoord.

Een andere manier om gegevens te coderen is door fysiek te wijzigen wat wordt weergegeven wanneer u deze bekijkt, tenzij u deze kunt decoderen. Denk aan een app waarin je een zin kunt typen en alle letters worden omgezet in cijfers van 1 tot 26. Je typt een zin en je ziet een aantal cijfers.

Maar de app weet dat 1 gelijk is aan a, dat geen getal hoger dan 26 geldig is en heeft toegang tot het woordenboek van het besturingssysteem om de spelling te controleren omdat 11 gelijk zou kunnen zijn aan "aa" of "k", afhankelijk van het woord waarin het wordt gebruikt. Wanneer iemand anders gebruikt de app om te lezen wat je hebt getypt, het ziet er normaal uit.

In de kern is encryptie ontworpen om iets moeilijk leesbaar te maken, tenzij u weet hoe u ernaar moet kijken.

Stel je nu voor dat als de volgorde van de getallen werd omgekeerd, 13 werd toegevoegd aan getallen tussen 11 en 15, de witruimte tussen woorden werd verwijderd en willekeurige gegevens die niet worden gelezen om de paar letters werden ingevoegd. Het bestand zou onmogelijk te lezen zijn zonder de app te gebruiken, in tegenstelling tot het eerste voorbeeld dat kon worden uitgezocht als iemand het wilde proberen. Dat is wat een coderingsalgoritme doet. Het helpt een programma om gegevens van welke aard dan ook in een warboel te veranderen die gemakkelijk door het algoritme zelf kan worden gedecodeerd, maar het kost veel moeite en tijd om zonder te kraken.

Computeralgoritmen kunnen dingen doen die veel gecompliceerder zijn dan mijn eenvoudige voorbeeld en veel minder tijd kosten dan het kostte om op mijn vingers te rekenen. Het coderen van een map of een hele schijf is een voorbeeld van een gecodeerde container, en gecodeerde gegevens zoals ons voorbeeld hierboven kunnen ook in een gecodeerde container worden geplaatst.

Onze gegevens nemen en coderen, en vervolgens zorgen dat de apps en services die toegang nodig hebben, kunnen ontsleutelen en gebruiken, is uiterst ingewikkeld. Gelukkig worden die ingewikkelde onderdelen afgehandeld door de hardware en het besturingssysteem en hoeven we alleen het juiste wachtwoord te hebben of de juiste service te gebruiken.

Versleuteling en Android

Android ondersteunt bestandsniveau en container (volledige schijf) codering. Als applicatieplatform kan het ook coderingsmethoden van derden ondersteunen voor zaken als beveiligde mappen of gecodeerde berichten en e-mail. Android ondersteunt ook hardware-back-encryptie. Dat betekent dat er een component in de SoC (System on Chip - waar de CPU en GPU live zijn) aanwezig is om gegevens direct te coderen en te decoderen. De daadwerkelijke sleutel voor het decoderen van bestanden wordt op dit apparaat opgeslagen en elke gebruikersinteractie - een wachtwoord, een vingerafdruk, een vertrouwd apparaat, enz. - die wordt gebruikt om toegang te krijgen tot gecodeerde gegevens, vraagt ​​het Secure Element in de hardware echt om het werk te doen. Sinds Android 6.0 Marshmallow kunnen alle cryptografische functies worden uitgevoerd met behulp van dit Secure Element en wordt de privésleutel (het token dat wordt gebruikt voor het coderen en decoderen van gegevens) nooit blootgesteld aan software. Dit betekent dat de gegevens zonder een token voor de hardware gecodeerd blijven.

Android is gebouwd met codering in gedachten en uw gegevens kunnen veilig en ontoegankelijk zijn voor iedereen behalve u.

In uw Android-instellingen kunt u het systeem mogelijk ook versleuteld houden telkens wanneer het opstart totdat een wachtwoord is ingevoerd. Het hebben van een telefoon die is gevuld met gecodeerde gegevens is redelijk veilig, maar het stoppen van het opstartproces totdat een wachtwoord is ingevoerd, voorkomt toegang tot de bestanden en fungeert als een dubbele beveiligingslaag. Hoe dan ook, uw inlogwachtwoord (of pincode of patroon of vingerafdruk) heeft nog steeds toegang tot gegevens via het beveiligde element en u hebt geen manier om de eigenlijke privéversleutelingssleutel te krijgen, wat het enige is dat precies weet hoe de gegevens zijn gecodeerd en hoe het weer in elkaar te zetten.

Uw berichten en internetten kunnen ook worden gecodeerd. Je hebt waarschijnlijk gezien dat veel sites in je browser de HTTPS-header gebruiken in plaats van HTTP. HTTP staat voor Hypertext Transfer Protocol en is het protocol (denkregels) dat wordt gebruikt om gegevens via internet te verzenden en ontvangen. HTTPS staat voor HTTP via SSL (Secure Sockets Layer), dat een coderingsstandaard aan het protocol toevoegt. Alles wat u in de webbrowser invoert, wordt "gecodeerd" met een openbare sleutel die u van de website hebt gedownload toen u daar aankwam, en alleen de privésleutel - die de webserver heeft - kan deze decoderen.

Wanneer u gegevens invoert die u als privé op internet beschouwt, moet u ervoor zorgen dat u een beveiligde HTTPS-verbinding hebt.

Gegevens die naar u worden teruggestuurd, worden gecodeerd op een manier die alleen uw unieke versie van de openbare sleutel kan decoderen. U hoeft niets te doen, behalve een beveiligde pagina bezoeken met de HTTPS-header. Uw telefoon zorgt ervoor dat de server echt is wie hij beweert te zijn, met behulp van een certificaat, en codeert en decodeert zelf gegevens via de browser-app.

Versleutelde berichten vereisen meestal een app die u moet downloaden van Google Play. Apps zoals Signal of What'sApp bieden zogenaamde end-to-end-codering, wat betekent dat de app sleutels toekent aan individuele contacten of groepen en dat alleen de persoon aan wie het is geadresseerd een bericht kan lezen. BlackBerry Messenger wordt door velen als veilig beschouwd, maar omdat er maar één globale sleutel is en elk BlackBerry-apparaat deze heeft, is er discussie over hoe veilig deze is. BBM Protected is beschikbaar voor groepen die een hogere encryptie of end-to-end encryptie vereisen. Apple's iMessage wordt ook end-to-end gecodeerd, maar alleen wanneer iedereen een iPhone gebruikt.

Je gebruikt deze apps op dezelfde manier als elke andere messenger - voeg een contact toe en verzend berichten. Het enige verschil is dat die berichten kunnen worden gecodeerd, zodat alleen de twee betrokken partijen ze kunnen lezen.

Is versleuteling slecht?

Encryptie doet niets op zichzelf. Het is de gebruiker die het "gevaarlijk" maakt.

Sommige mensen in sommige regeringen beweren dat het beschikbaar hebben van coderingstechnologie voor de eindgebruiker (dat zou jij en ik zijn) gevaarlijk is omdat het onmogelijk wordt om de communicatie van "belangstellenden" te volgen. Het argument kan overtuigend klinken als ons wordt verteld dat terroristen maandenlang communiceerden via een dienst zoals Facebook of WhatsApp. Maar codering zelf is nergens een gevaar voor en zonder dit zou geen van onze online transacties veilig zijn en zouden we geen garantie hebben dat onze chats privé zijn. Tegelijkertijd zou alle privéinformatie op onze telefoons gemakkelijk toegankelijk zijn voor iedereen met de juiste hulpmiddelen en motivatie.

Als we het recht op codering opgeven, geven we onze privacy op. Privacy is eng voor de overheid omdat ze willen weten wanneer we ons niet volledig aan de wet houden. Het idee dat potentiële criminelen kunnen worden betrapt en sommige misdaad kan worden voorkomen, is geweldig, maar het vereist dat de gezagsgetrouwe burgers die iets eenvoudigs willen doen als kopen bij Amazon, dat recht ook opgeven.

Alleen u kunt beslissen of u denkt dat codering voor het grotere goed uit de particuliere sector moet worden gehaald, maar u moet wel weten dat de technologie zelf geen kwaad doet. Zoals de meeste dingen kan het door de gebruiker worden misbruikt.

Dit krast echt alleen het oppervlak van wat codering is en hoe het werkt. er zijn tal van online bronnen die diepgaand ingaan op alle technische details. Maar dit zou je een basiskennis van dit alles moeten geven, en de volgende keer dat je iemand ziet praten over de verdiensten van end-to-end-codering of voordelen van een bepaald platform, zul je het kunnen begrijpen en eraan kunnen deelnemen.

Update: februari 2018: dit bericht is op versheid gecontroleerd en bijgewerkt, zodat mensen met vragen over de basisprincipes van codering aan de slag kunnen om het te begrijpen.