Pensieri oziosi di una persona oziosa sulla crittografia e sulla protezione dei dati

Pensieri oziosi di una persona oziosa sulla crittografia e sulla protezione dei dati

Perché sulla crittografia? Ho solo conoscenze abbastanza superficiali in merito. Sì, ho letto il classico lavoro di Bruce Schneier, ma molto tempo fa; sì, capisco la differenza tra crittografia simmetrica e asimmetrica, so cosa sono le curve ellittiche, ma solo questo. Inoltre, le attuali librerie crittografiche, con la loro simpatica abitudine di includere il nome completo dell'algoritmo nel nome di ogni funzione e un sacco di inizializzatori in bella mostra, mi danno come programmatore un terribile mal di schiena.Pensieri oziosi di una persona oziosa sulla crittografia e sulla protezione dei dati
Allora perché? Probabilmente perché, leggendo l'attuale ondata di pubblicazioni sulla protezione dei dati, delle informazioni riservate e simili, ho la sensazione che stiamo scavando nel posto sbagliato, o più precisamente, stiamo cercando di risolvere problemi di natura sociale con strumenti tecnici (crittografia). Parliamone, non prometto scoperte epocali, né proposte concrete; le mie riflessioni sono solo queste.

Un po' di storia, giusto un accenno

Nel 1976, negli Stati Uniti, fu adottato uno standard federale per gli algoritmi di crittografia simmetrica — DES. Questo fu il primo algoritmo crittografico pubblico e standardizzato, creato in risposta alla crescente richiesta da parte delle imprese di protezione dei dati.

Una curiosità bizzarra

L'algoritmo fu pubblicato per errore. Era ottimizzato per attuazioni hardware e si riteneva troppo complesso e inefficiente per l'implementazione software. Tuttavia, la legge di Moore ha rapidamente corretto la situazione.

Sembrerebbe — fine della storia, prendi, cripta, decripta, e se necessario allunga la chiave. È probabile che tu sappia perfettamente che gli americani hanno lasciato delle backdoor al suo interno, quindi per te c'è un analogo russo — GOST 28147-89, al quale, però, probabilmente ti fidi ancora meno. Allora usa entrambi, uno sopra l'altro. Se credi che l'FBI e il FSB si siano unite per te e abbiano condiviso le loro backdoor, ho una buona notizia per te — non sei paranoico, hai solo una banale mania di grandezza.
Come funziona la crittografia simmetrica? Entrambi i partecipanti conoscono la stessa chiave, ovvero la password; ciò che è stato crittografato può essere decrittografato dalle stesse persone. Questo schema funziona perfettamente per gli spioni, ma non è affatto adatto per l'Internet moderno, poiché questa chiave deve essere trasmessa in anticipo a ciascuno dei conversatori. Per un certo periodo, mentre le aziende erano relativamente poche nel proteggere i propri dati comunicando con partner già noti, il problema veniva risolto tramite corrieri e posta sicura, ma poi Internet è diventato di massa e la scena è cambiata.

Crittografia asimmetrica

in cui partecipano due chiavi: pubblica, che non è tenuta segreta e viene comunicata a chiunque ne sia interessato; e privata, di cui è a conoscenza solo il suo proprietario. Ciò che è crittografato con la chiave pubblica può essere decrittografato solo con la chiave privata, e viceversa. In questo modo, chiunque può conoscere la chiave pubblica del destinatario e inviargli un messaggio, che può essere letto solo dal destinatario. Sembrerebbe che il problema sia risolto?
Ma l'Internet non funziona così, si presenta in tutta la sua evidenza il problema dell'autenticazione e, in particolare, dell'autenticazione iniziale, e c'è anche, in un certo senso, il problema opposto di anonimità. In breve, come posso essere certo che chi sto parlando sia davvero chi intendevo contattare? E che la chiave pubblica che sto usando appartenga realmente a lui? Soprattutto, se sto comunicando con lui per la prima volta? E come posso ispirare fiducia al mio partner mantenendo al contempo l'anonimato? Già qui, se si guarda attentamente, si può notare una contraddizione interna.
Consideriamo, in linea generale, quali schemi di interazione tra i partecipanti esistono e vengono applicati nella pratica:

  • server — server (o business — business, in questo contesto è la stessa cosa): questo è lo schema classico più semplice, per il quale è sufficiente la crittografia simmetrica; i partecipanti sanno tutto l'uno dell'altro, compresi i contatti extra-rete. Tuttavia, si noti che non si parla affatto di anonimato qui, e il numero di partecipanti è rigorosamente limitato a due. Si tratta quindi di uno schema quasi ideale per un numero estremamente limitato di comunicazioni e, in generale, è ovviamente poco applicabile.
  • server — anonimo (o business — cliente): qui è presente una certa asimmetria, che viene gestita con successo dalla crittografia asimmetrica. Il punto chiave qui è l'assenza di autenticazione dei clienti, al server non importa con chi sta scambiando dati; se dovesse essere necessaria, il server esegue una seconda autenticazione utilizzando una password precedentemente concordata, e allora tutto si riduce al caso precedente. D'altra parte, per il cliente è estremamente importante l'autenticazione del server, vuole essere sicuro che i suoi dati vadano esattamente a chi li ha inviati, questo aspetto si basa nella pratica su un sistema di certificati. In generale, questo schema è coperto in modo abbastanza conveniente e trasparente dal protocollo https://, tuttavia sorgono un paio di punti interessanti al confine tra crittografia e sociologia.
    1. fiducia nel server: anche se ho trasmesso alcune informazioni al server in modo assolutamente sicuro, tecnicamente ci sono persone esterne che hanno accesso ad esse. Questo problema è completamente al di fuori della responsabilità della crittografia, ma ti chiedo di ricordare questo punto, riemergerà più avanti.
    2. fiducia nel certificato del server: la gerarchia dei certificati si basa sul fatto che esiste un certo certificato radice meritevole di fiducia assoluta. Tecnologicamente, un malintenzionato abbastanza influente [, considerare il termine malintenzionato come un termine tecnico, non come una calunnia o un'offesa all'autorità esistente] può sostituire il certificato di qualsiasi livello inferiore, tuttavia si presume che il sistema di certificazione sia necessario a tutti in ugual misura, quindi questo certificatore sarà immediatamente soggetto a ostracismo e tutti i suoi certificati saranno revocati. Così è, ma notate che il sistema è basato non su mezzi tecnici, ma su una sorta di contratto sociale. A proposito, del caldo Nell'ambito dell'atteso apocalisse del RuNet, qualcuno ha analizzato la possibile chiusura del certificato radice russo e le sue conseguenze? Se qualcuno ha letto/scritto su questo argomento, inviate i link, li inserirò, mi sembra un tema interessante.Nell'ambito dell'aspettato apocalisse di isolamento di Runet, qualcuno ha analizzato la possibile separazione del certificato radice russo e le conseguenze che questo potrebbe comportare? Se qualcuno ha letto/scritto su questo argomento, inviatemi i link, mi sembra un tema interessante.
    3. la deanonimizzazione indiretta sul server è un argomento delicato, anche se il server non ha registrazione/autenticazione formale, ci sono molti modi per raccogliere informazioni sul cliente e infine identificarlo. Mi sembra che la radice del problema sia nel protocollo http:// esistente e simili, che prevedibilmente non potevano prevedere una tale situazione; e sarebbe perfettamente possibile creare un protocollo parallelo senza questi difetti. Tuttavia, ciò va contro tutte le pratiche di monetizzazione esistenti e quindi è poco probabile. E resta comunque interessante, qualcuno ha mai provato?
  • l'anonimo — l'anonimo: due persone si incontrano online, (opzione — si sono appena incontrate), (opzione — non due ma due mila), e vogliono chiacchierare delle proprie cose, ma in modo che Il Grande Fratello non senta (opzione — la mamma non lo sappia, ognuno ha le proprie priorità). Forse senti l'ironia nella mia voce, beh, è proprio perché è così. Applichiamo al compito il postulato di Schneier (qualsiasi algoritmo può essere violato, se si investono sufficienti risorse, quindi denaro e tempo). Da questo punto di vista, l'infiltrazione in un tale gruppo con metodi sociali non presenta alcuna difficoltà, per non parlare del denaro, cioè la resilienza crittografica dell'algoritmo è pari a zero anche con i metodi di crittografia più sofisticati.
    Tuttavia, in questo caso abbiamo il secondo bastione — l'anonimato, e su di esso poniamo tutte le nostre speranze, lasciate che tutti ci conoscano, ma nessuno potrà trovarci. Tuttavia, con i metodi di protezione tecnica più moderni, credete davvero di avere una possibilità? Ricordo che ora sto parlando solo di anonimizzazione, sembriamo aver già affrontato in modo convincente la protezione dei dati. Concordiamo per chiarezza che se il tuo nome è stato reso noto o l'indirizzo di casa o l'indirizzo IP, la missione è completamente fallita.
    A proposito di IP, qui si pone in tutta la sua essenza il già citato fiducia nel server, ma lui conosce il vostro ip senza dubbio. E qui tutto gioca contro di voi — dalla semplice curiosità umana e vanità, fino alle politiche aziendali e alla stessa monetizzazione. Solo tenete presente che VPS e VPN sono anch'essi server, per i teorici della crittografia queste abbreviazioni non significano nulla; sì, e la giurisdizione del server in caso di grande necessità non conta. Qui rientra anche la crittografia end-to-end — suona bello e solido, ma al server bisogna comunque dare fiducia.
    Qual è il ruolo del server in un tale messaggero? Prima di tutto, è trivialmente un postino che, se il destinatario non è a casa, entra ancora una volta più tardi. Ma soprattutto, e questo è molto più significativo, è un punto di incontro, non potete inviare una lettera direttamente al destinatario, la inviate al server per ulteriori trasmissioni. E la cosa più importante, il server effettua l'autenticazione necessaria, certificando per tutti che voi siete voi, e per voi che il vostro interlocutore è davvero colui di cui avete bisogno. E lo fa grazie al vostro telefono.
    Non vi sembra che il vostro messaggero sappia troppo su di voi? No-no, certo che ci fidiamo di lui (e per inciso, anche del nostro telefono, ehm), ma i crittografi assicurano che è un peccato, che non si può fidarsi di nessuno.
    Non sei convinto? Eppure esiste anche la stessa ingegneria sociale, se hai cento interlocutori nel tuo gruppo, devi semplicemente presumere che il 50% di loro sono nemici, il 49% sono o vanitosi, o stupidi, o semplicemente imprudenti. E l'uno per cento rimanente, per quanto tu sia esperto nei metodi di protezione delle informazioni, contro un buon psicologo in chat probabilmente non resisterai.
    L'unica strategia difensiva sembra essere quella di nascondersi tra milioni di gruppi simili, ma questo non è più di nostra competenza, stiamo di nuovo parlando di qualche spia-terrorista, per i quali né la fama online né la monetizzazione hanno valore.

Bene, mi sembra di aver giustificato (no, non provato, semplicemente giustificato) i miei pensieri severi riguardo alla protezione dei dati nel modello attuale della società. Le conclusioni sono semplici ma tristi: non dobbiamo aspettarci ulteriore aiuto dalla crittografia rispetto a ciò che abbiamo già; la crittografia ha fatto tutto ciò che poteva, ed è riuscita bene, ma il nostro modello di internet è completamente in contraddizione con il nostro desiderio di privacy e annulla tutti i nostri sforzi. In realtà non sono mai pessimista e vorrei dire qualcosa di positivo in questo momento, ma non so proprio cosa.
Prova a dare un'occhiata alla sezione successiva, ma ti avverto: ci sono fantasie scientifiche completamente irreali che potrebbero dare qualche speranza a qualcuno, e a qualcun altro almeno semplicemente divertire.

E si può fare qualcosa in generale?

Beh, ad esempio, riflettere su questo tema, preferibilmente liberando la mente e scartando pregiudizi. Ad esempio, diamoci il permesso di rinunciare completamente all'anonimato, per quanto terribile possa sembrare. Facciamo in modo che a ognuno venga assegnata alla nascita una chiave pubblica personale unica, e naturalmente la corrispondente chiave privata. Non urlatemi contro e non sbattete i piedi, in un mondo ideale questo è estremamente comodo: qui ci sono il passaporto, il codice fiscale e persino il numero di telefono in un unico contenitore. Inoltre, se ci aggiungiamo un certificato individuale, otteniamo un autentificatore/login universale; e in più — un notaio portatile con la possibilità di autenticare qualsiasi documento. Si può realizzare un sistema multilivello: in accesso pubblico solo la chiave pubblica e il certificato, per gli amici (la lista delle chiavi è allegata qui) si può rendere accessibile il telefono e ciò che gli amici possono fidarsi, ci possono essere livelli ancora più profondi, ma questo già implica una fiducia non necessaria nel server.
Con questo schema, la privacy delle informazioni inviate si ottiene automaticamente (anche se d'altra parte, perché, in un mondo ideale?), Alice scrive qualcosa a Bob, ma nessuno lo leggerà mai tranne Bob stesso. Tutti i messenger ricevono automaticamente la crittografia end-to-end, il loro ruolo si riduce a scatole postali e non ci possono essere reclami sul contenuto in linea di principio. E anche i server stessi diventano intercambiabili, si può mandare attraverso uno, attraverso un altro, oppure attraverso una catena di server, come una email. E si può anche inviare direttamente al destinatario, se si conosce il suo ip, senza coinvolgere intermediari. È fantastico, vero? Peccato solo che non sarà possibile vivere in questo bel periodo — né io, né te© Eh sì, di nuovo parlo di cose tristi.
Dopo, dove si conserverà tutto questo? Beh, a occhio, si potrebbe creare un sistema gerarchico aperto, qualcosa come l'attuale DNS, solo più potente e ramificato. Per non sovraccaricare gli amministratori dei DNS principali con aggiunte e modifiche, si potrebbe consentire registrazioni libere, l'unica verifica necessaria sarebbe sull'unicità. Tipo >> " Salve, siamo in cinque, la famiglia Ivanov. Ecco i nostri nomi/nick, ecco le chiavi pubbliche. Chi chiede — per favore inviatelo a noi. E inoltre, ecco un elenco di cinquecento nonne del nostro quartiere con le loro chiavi, se qualcuno le chiede, inviatelo a noi.«
Bisogna solo rendere l'installazione e la configurazione di un tale server domestico estremamente semplici e comode, in modo che chiunque possa capire se lo desidera, inoltre, nessuno caricherà ulteriormente vari server ufficiali statali.
Fermo!, e che c'entra allora lo stato?

Ora si può ripristinare l'anonimato con cautela. Se chiunque può generare una chiave personale e confermarla con un certificato individuale e impostare un server CA di livello inferiore, o chiedere a un vicino, o utilizzare un server pubblico, a cosa serve tutta questa burocrazia? E non c'è nemmeno bisogno di legarsi a un personaggio reale, c'è completa privacy, sicurezza e anonimato. È sufficiente che all'inizio della gerarchia ci sia qualcuno di cui ci si può fidare, beh, anche noi crediamo a TM o Let's Encrypt, e i DNS pubblici noti sembrano non aver mandato nessuno nel nulla. Da parte della burocrazia non dovrebbero esserci pretese, cioè, le pretese ci saranno naturalmente, ma a cosa serve realmente?
Forse, un giorno, sarà creata una simile sistema, o qualcosa di simile. E ovviamente, non possiamo contare su nessun altro che su noi stessi, nessuno degli stati che conosco creerà un tale sistema. Fortunatamente, già esistenti come Telegram, i2p, Tor, e sicuramente ho dimenticato qualcun altro, dimostrano che non c'è niente di impossibile in sostanza. Questa è la nostra rete e dobbiamo organizzarla se non ci soddisfa la situazione attuale.
Brrr, ho finito per caso su una nota patetica. In realtà, non mi piace, preferisco un po' di sarcasmo.

PS: tutto questo sono naturalmente sogni ad occhi aperti e fantasie giovanili
PPS: ma se per caso qualcuno decidesse di provare, riservatemi il nickname degs per favore, ci sono abituato
PPPS: e l'implementazione sembra piuttosto semplice, a dire il vero

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster