Nutteloze gedachten van een nutteloos persoon over cryptografie en gegevensbescherming

Nutteloze gedachten van een nutteloos persoon over cryptografie en gegevensbescherming

Waarom cryptografie? Zelf heb ik er redelijk oppervlakkige kennis over. Ja, ik heb het klassieke werk gelezen Bruce Schneier, maar heel lang geleden; Ja, ik begrijp het verschil tussen symmetrische en asymmetrische codering, ik begrijp wat elliptische curven zijn, maar dat is alles. Bovendien geven de bestaande cryptografische bibliotheken, met hun leuke gewoonte om de volledige naam van het algoritme in de naam van elke functie op te nemen en een aantal uitstekende initialisatieprogramma's, mij als programmeur een vreselijke stomp.Nutteloze gedachten van een nutteloos persoon over cryptografie en gegevensbescherming
Dus waarom? Waarschijnlijk omdat ik bij het lezen van de huidige golf van publicaties over gegevensbescherming, vertrouwelijke informatie, enz. het gevoel krijg dat we ergens op de verkeerde plek aan het graven zijn, of specifieker: we proberen in wezen sociale problemen op te lossen met behulp van technische oplossingen. betekent (cryptografie). Laten we hierover praten, ik beloof geen baanbrekende ontdekkingen, maar ook geen concrete voorstellen, ijdele gedachten zijn precies dat: ijdele gedachten.

Een klein stukje geschiedenis, gewoon een klein beetje

In 1976 namen de Verenigde Staten een federale standaard voor symmetrische encryptie-algoritmen aan: DES. Het was het eerste openbare en gestandaardiseerde cryptografische algoritme dat werd ontwikkeld als reactie op de groeiende zakelijke vraag naar gegevensbescherming.

Bebaarde nieuwsgierigheid

Het algoritme is per ongeluk gepubliceerd. Het was geoptimaliseerd voor hardware-implementatie en werd als te complex en inefficiënt beschouwd voor software-implementatie. De wet van Moore zette echter snel alles op zijn plaats.

Het lijkt erop dat het einde van het verhaal is, neem het, codeer, decodeer, indien nodig, vergroot de lengte van de sleutel. Misschien weet je zeker dat de Amerikanen er bladwijzers in hebben achtergelaten, dan is er een Russische analoog voor jou - GOST 28147-89, die u waarschijnlijk nog minder vertrouwt. Gebruik dan beide, boven elkaar. Als je gelooft dat de FBI en de FSB zich ter wille van jou hebben verenigd en hun bladwijzers hebben uitgewisseld, dan heb ik goed nieuws voor je: je bent niet paranoïde, je hebt een banaal grootheidswaanzin.
Hoe werkt symmetrische encryptie? Beide deelnemers kennen dezelfde sleutel, ook wel het wachtwoord genoemd, en wat daarmee versleuteld is, kan er ook mee ontsleuteld worden. Het schema werkt prima voor spionnen, maar is volkomen ongeschikt voor het moderne internet, omdat deze sleutel vooraf aan elk van de gesprekspartners moet worden doorgegeven. Terwijl relatief weinig bedrijven hun gegevens beschermden tijdens de communicatie met een voorheen bekende partner, werd het probleem enige tijd opgelost met behulp van koeriers en beveiligde post, maar toen werd internet wijdverspreid en kwam in beeld.

Asymmetrische cryptografie

waarbij twee sleutels betrokken zijn: openbaar, die niet geheim wordt gehouden en aan iedereen wordt meegedeeld; En privaat, wat alleen de eigenaar weet. Wat met een publieke sleutel is versleuteld, kan alleen met een privésleutel worden ontsleuteld, en omgekeerd. Zo kan iedereen de publieke sleutel van de ontvanger achterhalen en hem een ​​bericht sturen, alleen de ontvanger zal deze lezen. Het lijkt erop dat het probleem is opgelost?
Maar internet werkt niet zo, het probleem doet zich met volle kracht voor authenticatie En in het bijzonder, initiële authenticatie, en in zekere zin het tegenovergestelde probleem anonimiteit. Kortom, hoe kan ik er zeker van zijn dat de persoon met wie ik praat ook echt de persoon is met wie ik wilde praten? en de publieke sleutel die ik gebruik behoort eigenlijk toe aan de persoon met wie ik ging praten? Vooral als dit de eerste keer is dat ik met hem communiceer? En hoe kunt u vertrouwen wekken bij uw partner terwijl u de anonimiteit behoudt? Als je goed kijkt, kun je hier al een interne tegenstrijdigheid opmerken.
Laten we in algemene termen kijken naar welke interactiepatronen tussen deelnemers bestaan ​​en in de praktijk worden gebruikt:

  • server - server (of bedrijf - bedrijf, in deze context zijn ze hetzelfde): dit is het eenvoudigste klassieke schema, waarvoor symmetrische cryptografie ruimschoots voldoende is, de deelnemers weten alles van elkaar, inclusief contacten buiten het netwerk. Houd er echter rekening mee dat we het hier niet eens over anonimiteit hebben en dat het aantal deelnemers strikt beperkt is tot twee. Dat wil zeggen, dit is een vrijwel ideaal schema voor een uiterst beperkt aantal communicaties en heeft in het algemeen uiteraard weinig nut.
  • server - anoniem (of zakelijk - client): er is hier sprake van enige asymmetrie, die met succes wordt gediend door asymmetrische cryptografie. Het belangrijkste punt hier is het gebrek aan clientauthenticatie; het maakt de server niet uit met wie hij precies gegevens uitwisselt; als het plotseling nodig is, dirigeert de server secundaire authenticatie met behulp van een vooraf overeengekomen wachtwoord, en dan komt alles neer op het vorige geval. Aan de andere kant de klant extreem belangrijk serverauthenticatie wil hij er zeker van zijn dat zijn gegevens precies terechtkomen bij de persoon naar wie hij deze heeft gestuurd, deze kant is in de praktijk gebaseerd op een certificatensysteem. Over het algemeen wordt dit schema vrij gemakkelijk en transparant gedekt door het https://-protocol, maar er doen zich een aantal interessante punten voor op het snijvlak van cryptografie en sociologie.
    1. vertrouwen in de server: zelfs als ik op een absoluut veilige manier wat informatie naar het noorden heb gestuurd, hebben buitenstaanders daar technisch gezien toegang toe. Dit probleem valt volledig buiten het bereik van encryptie, maar ik vraag u dit punt te onthouden; het zal later ter sprake komen.
    2. vertrouwen in het servercertificaat: de hiërarchie van certificaten is gebaseerd op het feit dat er een bepaald certificaat is wortel certificaat waardig absoluut vertrouwen. Technisch gezien kan een voldoende invloedrijke aanvaller [beschouw het woord aanvaller als een technische term, en niet als laster of belediging van de bestaande overheid] een certificaat van elk lager niveau vervangen, maar er wordt aangenomen dat het certificeringssysteem door iedereen nodig is gelijkelijk, d.w.z. deze certificeerder zal onmiddellijk worden uitgesloten en al zijn certificaten zullen worden ingetrokken. Dat is dus zo, maar houd er rekening mee dat het systeem niet gebaseerd is op technische middelen, maar op een soort sociaal contract. Trouwens, ongeveer heetHeeft iemand, als onderdeel van de verwachte verpopping van het RuNet op de dag des oordeels, de mogelijke verpopping van het Russische wortelcertificaat en de gevolgen geanalyseerd? Als iemand over dit onderwerp heeft gelezen/geschreven, stuur mij dan links, ik zal ze toevoegen, ik denk dat het onderwerp interessant is
    3. indirecte de-anonimisering op de server: ook een lastig onderwerp, zelfs als de server geen formele registratie/authenticatie heeft, zijn er veel manieren om informatie over de klant te verzamelen en hem uiteindelijk te identificeren. Het lijkt mij dat de wortel van het probleem ligt in het bestaande http://-protocol en soortgelijke protocollen, die, zoals verwacht, een dergelijke verontwaardiging niet hadden kunnen voorzien; en dat het heel goed mogelijk zou zijn om een ​​parallel protocol te creëren zonder deze lekke banden. Dit druist echter in tegen alle bestaande praktijken voor het genereren van inkomsten en is daarom onwaarschijnlijk. Ik vraag me nog steeds af: heeft iemand het al geprobeerd?
  • anoniem - anoniem: twee mensen ontmoeten elkaar online (optie - net ontmoet), (optie - niet twee maar tweeduizend), en willen over hun eigen dingen praten, maar op zo'n manier dat Grote broer niet gehoord (optie: moeder kwam er niet achter, iedereen heeft zijn eigen prioriteiten). Je hoort misschien ironie in mijn stem, maar dat komt omdat het zo is. Laten we het postulaat van Schneier op het probleem toepassen (elk algoritme kan worden gekraakt als er voldoende middelen in worden geïnvesteerddat wil zeggen geld en tijd). Vanuit dit oogpunt levert de penetratie in een dergelijke groep via sociale methoden geen enkel probleem op, om nog maar te zwijgen van geld, dat wil zeggen de cryptografische kracht van het algoritme. nul met de meest geavanceerde encryptiemethoden.
    Voor dit geval hebben we echter een tweede bastion: anonimiteit, en we vestigen al onze hoop op hem, ook al kent iedereen ons, maar niemand kan ons vinden. Denkt u echter serieus dat u met de modernste technische beschermingsmethoden een kans maakt? Ik wil u eraan herinneren dat ik het nu alleen over anonimisering heb; het lijkt erop dat we de gegevensbescherming al op overtuigende wijze hebben afgeschaft. Voor alle duidelijkheid: laten we dat afspreken als uw naam bekend wordt of thuisadres of IP-adres, opkomst mislukt volledig.
    Over IP gesproken, dit is waar het bovenstaande een rol speelt vertrouwen in de server, hij kent zonder twijfel uw IP. En hier speelt alles tegen je - van simpele menselijke nieuwsgierigheid en ijdelheid tot bedrijfsbeleid en hetzelfde geld verdienen. Houd er rekening mee dat VPS en VPN ook servers zijn; voor cryptografietheoretici zijn deze afkortingen op de een of andere manier irrelevant; Ja, en bij grote nood speelt de jurisdictie van de server geen rol. Dit omvat ook end-to-end-encryptie - het klinkt mooi en solide, maar de server moet het nog steeds op zijn woord geloven.
    Wat is de algemene rol van de server in zo’n messenger? Ten eerste is het triviaal dat de postbode, als de ontvanger niet thuis is, later nog eens langskomt. Maar ook, en dit is veel belangrijker, dit is het ontmoetingspunt, je kunt de brief niet rechtstreeks naar de ontvanger sturen, je stuurt hem naar de server voor verdere verzending. En het allerbelangrijkste: de server geleidt noodzakelijke authenticatie, waarmee u aan iedereen bevestigt dat u uzelf bent, en aan u - dat uw gesprekspartner echt degene is die u nodig heeft. En hij doet dit met behulp van je telefoon.
    Denkt u niet dat uw boodschapper te veel over u weet? Nee, nee, natuurlijk geloven we hem (en trouwens ook onze telefoon, hmm), maar cryptografen verzekeren ons dat dit tevergeefs is, dat we helemaal niemand kunnen vertrouwen.
    Niet overtuigd? Maar er is ook dezelfde social engineering: als je honderd gesprekspartners in een groep hebt, moet je er gewoon van uitgaan dat 50% van hen vijanden zijn, en 49% ijdel, dom of gewoon onzorgvuldig. En de resterende één procent, hoe sterk je ook bent in informatiebeveiligingsmethoden, kun je hoogstwaarschijnlijk niet weerstaan ​​aan een goede psycholoog in een chat.
    De enige defensieve strategie lijkt te zijn om te verdwalen tussen miljoenen vergelijkbare groepen, maar dit gaat niet langer over ons, opnieuw over een aantal spionageterroristen die geen behoefte hebben aan online bekendheid of het genereren van inkomsten.

Welnu, het lijkt mij dat ik op de een of andere manier mijn harde gedachten over gegevensbescherming in het moderne samenlevingsmodel heb onderbouwd (nee, ik heb het niet bewezen, ik heb het alleen maar onderbouwd). De conclusies zijn eenvoudig maar triest: we moeten niet rekenen op meer hulp van gegevensversleuteling dan we al hebben, cryptografie heeft alles gedaan wat ze kon, en goed gedaan, maar ons model van internet is volledig in tegenspraak met ons verlangen naar privacy en maakt al onze inspanningen teniet. . Eigenlijk ben ik nooit een pessimist en ik zou nu heel graag iets positiefs willen zeggen, maar ik weet gewoon niet wat.
Probeer het volgende gedeelte te bekijken, maar ik waarschuw je: er zijn volledig roze, onwetenschappelijke fantasieën, maar ze kunnen iemand geruststellen, en in ieder geval iemand amuseren.

Is het überhaupt mogelijk om iets te doen?

Denk bijvoorbeeld eens over dit onderwerp na, bij voorkeur door je bewustzijn te bevrijden en vooroordelen weg te gooien. Laten we bijvoorbeeld tijdelijk helemaal laten we de anonimiteit opofferen, hoe vreselijk het ook klinkt. Laat iedereen vanaf de geboorte een unieke persoonlijke publieke sleutel krijgen, en uiteraard een bijbehorende private sleutel. Je hoeft niet tegen mij te schreeuwen en met je voeten te stampen, ideale wereld dit is uiterst handig: hier heeft u uw paspoort, belastingidentificatienummer en zelfs een telefoonnummer in één fles. Als u hier bovendien een individueel certificaat aan toevoegt, krijgt u een universele authenticator/login; en ook een zaknotaris met de mogelijkheid om alle documenten te certificeren. Je kunt het systeem op meerdere niveaus maken - alleen de openbare sleutel en het certificaat zijn openbaar beschikbaar, voor vrienden (waarvan de lijst met sleutels hier is bijgevoegd) kun je je telefoon beschikbaar maken en wat ze nog meer vertrouwen, vrienden, er kan nog dieper zijn niveaus, maar dit impliceert al onnodig vertrouwen in de server.
Met dit schema wordt de privacy van de verzonden informatie automatisch bereikt (hoewel aan de andere kant, waarom, in een ideale wereld?), Alice schrijft iets aan Bob, maar niemand zal het ooit lezen behalve Bob zelf. Alle messengers ontvangen automatisch end-to-end-encryptie, hun rol wordt beperkt tot mailboxen en over de inhoud kan in principe niet worden geklaagd. En de servers zelf worden uitwisselbaar, je kunt ze via de ene, of via de andere, of zelfs via een keten van servers verzenden, zoals een e-mail. U kunt het ook rechtstreeks naar de ontvanger sturen als zijn IP-adres bekend is, zonder dat u contact hoeft op te nemen met tussenpersonen. Is dat niet geweldig? Het is alleen jammer dat we niet in deze prachtige tijd hoeven te leven - noch voor mij, noch voor jou. Nn-ja, ik heb het weer over verdrietige dingen.
Vervolgens, waar moet dit allemaal worden opgeslagen? Nou, uit mijn hoofd: creëer een open hiërarchisch systeem, zoiets als de huidige DNS, maar dan krachtiger en uitgebreider. Om de root-DNS-beheerders niet te belasten met toevoegingen en wijzigingen, kunt u een gratis registratie uitvoeren, de enige noodzakelijke controle is op uniciteit. Vind ik leuk >> " Hallo, wij zijn met vijf mensen, de familie Ivanov. Hier zijn onze namen/bijnamen, hier zijn de publieke sleutels. Als iemand erom vraagt, stuur het dan naar ons. En hier is een lijst van honderdvijfhonderd grootmoeders uit onze omgeving met hun sleutels. Als ze gevraagd worden, stuur ze dan ook naar ons.«
Je hoeft alleen maar de installatie en configuratie van zo'n thuisserver uiterst eenvoudig en handig te maken, zodat iedereen er achter kan komen als hij of zij wil. Nogmaals, niemand zal nog een keer officiële overheidsservers laden.
Stop!, maar wat heeft de staat er dan mee te maken?

Maar nu kunt u de anonimiteit zorgvuldig herstellen. Als iemand een persoonlijke sleutel voor zichzelf kan genereren en deze kan bevestigen met een individueel certificaat en een CA-server op een lager niveau voor zichzelf kan installeren, of het aan een buur kan vragen, of aan een openbare server, waarom is al dit ambtenarenwerk dan nodig? En dan is het niet nodig om gehecht te raken aan een echt karakter, volledige privacy, veiligheid en anonimiteit. Het is voldoende dat er aan het begin van de hiërarchie iemand betrouwbaar is, nou ja, wij geloven in TM of Let's Encrypt, en bekende openbare DNS's hebben nog niemand naar de steppe gestuurd. Het lijkt erop dat er ook geen klachten van de bureaucraten mogen komen, dat wil zeggen dat er natuurlijk wel klachten zullen zijn, maar met welk doel?
Misschien zal er ooit zo'n systeem, of iets dergelijks, worden gecreëerd. En natuurlijk hebben we niemand anders om op te rekenen dan onszelf; geen van de mij bekende staten zal een dergelijk systeem bouwen. Gelukkig laten het reeds bestaande Telegram, i2p, Tor en waarschijnlijk iemand anders die ik vergeten ben, zien dat niets fundamenteel onmogelijk is. Dit is ons netwerk, en we moeten het uitrusten als we niet tevreden zijn met de huidige stand van zaken.
Brrr, ik eindigde per ongeluk op een zielige noot. Eigenlijk vind ik dit niet leuk, ik geef op de een of andere manier de voorkeur aan sarcasme.

PS: dit is natuurlijk allemaal roze snot en meisjesachtige dromen
PPS: maar als iemand plotseling besluit het te proberen, reserveer dan een bijnaam voor mij graden alsjeblieft, ik ben eraan gewend
PPPS: en de implementatie lijkt overigens vrij eenvoudig

Bron: www.habr.com

Voeg een reactie