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é la crittografia? Io stesso ne ho una conoscenza piuttosto superficiale. Sì, ho letto l'opera classica Bruce Schneier, ma molto tempo fa; Sì, capisco la differenza tra crittografia simmetrica e asimmetrica, capisco cosa sono le curve ellittiche, ma questo è tutto. Inoltre, le librerie crittografiche esistenti, con la loro simpatica abitudine di includere il nome completo dell'algoritmo nel nome di ciascuna funzione e un mucchio di inizializzatori che sporgono, mi danno un terribile colpo come programmatore.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, sulle informazioni riservate, ecc., ho la sensazione che stiamo scavando da qualche parte nel posto sbagliato o, più specificamente, stiamo cercando di risolvere problemi essenzialmente sociali con l’aiuto di tecniche mezzi (crittografia) . Parliamo di questo, non prometto scoperte epocali, né proposte concrete, i pensieri futili sono proprio questo: futili.

Un po' di storia, solo un po'

Nel 1976, gli Stati Uniti adottarono uno standard federale per gli algoritmi di crittografia simmetrica: DES. È stato il primo algoritmo crittografico pubblico e standardizzato creato in risposta alle crescenti richieste aziendali di protezione dei dati.

Curiosità barbuta

L'algoritmo è stato pubblicato per errore. È stato ottimizzato per l'implementazione hardware ed è stato considerato troppo complesso e inefficiente per l'implementazione software. Tuttavia, la Legge di Moore ha rapidamente rimesso ogni cosa al suo posto.

Sembrerebbe: la fine della storia, prendila, crittografa, decrittografa, se necessario, aumenta la lunghezza della chiave. Forse sai per certo che gli americani ci hanno lasciato dei segnalibri, quindi per te c'è un analogo russo: ГОСТ 28147-89, di cui probabilmente ti fidi ancora meno. Quindi usarli entrambi, uno sopra l'altro. Se credi che l'FBI e l'FSB si siano uniti per il tuo bene e si siano scambiati i loro segnalibri, allora ho buone notizie per te: non sei paranoico, hai una banale illusione di grandezza.
Come funziona la crittografia simmetrica? Entrambi i partecipanti conoscono la stessa chiave, detta anche password, e ciò che viene crittografato con essa può anche essere decrittografato. Lo schema funziona benissimo per le spie, ma è del tutto inadatto per l'Internet moderna, poiché questa chiave deve essere trasmessa in anticipo a ciascuno degli interlocutori. Per qualche tempo, mentre relativamente poche aziende proteggevano i propri dati durante la comunicazione con un partner precedentemente noto, il problema è stato risolto con l'aiuto di corrieri e posta sicura, ma poi Internet si è diffuso ed è entrato in scena.

Crittografia asimmetrica

dove sono coinvolte due chiavi: pubblico, che non è tenuto segreto ed è comunicato a chiunque; E privato, che solo il suo proprietario conosce. Ciò che viene crittografato con una chiave pubblica può essere decrittografato solo con una chiave privata e viceversa. Pertanto, chiunque può scoprire la chiave pubblica del destinatario e inviargli un messaggio, solo il destinatario lo leggerà. Sembrerebbe che il problema sia risolto?
Ma internet non funziona in questo modo, il problema si pone in tutta la sua forza autenticazione e soprattutto autenticazione iniziale, e in un certo senso il problema opposto di anonimato. In breve, come posso essere sicuro che la persona con cui sto parlando sia davvero la persona con cui intendevo parlare? e la chiave pubblica che sto utilizzando appartiene effettivamente alla persona con cui stavo per parlare? Soprattutto se è la prima volta che comunico con lui? E come puoi infondere fiducia nel tuo partner mantenendo l'anonimato? Già qui, se guardi da vicino, puoi notare una contraddizione interna.
Diamo un'occhiata in termini generali a quali modelli di interazione tra i partecipanti esistono e vengono utilizzati nella pratica:

  • server - server (o business - business, in questo contesto sono la stessa cosa): questo è lo schema classico più semplice, per il quale la crittografia simmetrica è abbastanza sufficiente, i partecipanti sanno tutto l'uno dell'altro, compresi i contatti fuori rete. Tuttavia, tieni presente che qui non stiamo nemmeno parlando di anonimato e il numero di partecipanti è strettamente limitato a due. Si tratta cioè di uno schema quasi ideale per un numero estremamente limitato di comunicazioni e, nel caso generale, ovviamente è di scarsa utilità.
  • server - anonimo (o business - client): qui c'è una certa asimmetria, che viene servita con successo dalla crittografia asimmetrica. Il punto chiave qui è la mancanza di autenticazione del client; al server non interessa esattamente con chi scambia i dati; se improvvisamente necessario, il server conduce autenticazione secondaria utilizzando una password pre-concordata, e poi tutto si riconduce al caso precedente. D'altra parte, il cliente essenziale autenticazione del server, vuole essere sicuro che i suoi dati arrivino esattamente alla persona a cui li ha inviati, questo lato in pratica si basa su un sistema di certificati. In generale, questo schema è coperto in modo abbastanza conveniente e trasparente dal protocollo https://, ma un paio di punti interessanti emergono all'intersezione tra crittografia e sociologia.
    1. fidatevi del server: anche se ho inviato alcune informazioni al nord in modo assolutamente sicuro, tecnicamente lì gli estranei hanno accesso ad esse. Questo problema esula completamente dall'ambito della crittografia, ma ti chiedo di ricordare questo punto, verrà fuori più tardi.
    2. fiducia nel certificato del server: la gerarchia dei certificati si basa sul fatto che ne esiste un certo radice certificato degno assoluto Fiducia. Tecnicamente, un aggressore sufficientemente influente [considerate la parola aggressore come un termine tecnico e non come una calunnia o un insulto al governo esistente] può sostituire un certificato di qualsiasi livello inferiore, ma si presuppone che il sistema di certificazione sia necessario a tutti ugualmente, cioè tale certificatore verrà immediatamente ostracizzato e tutti i suoi certificati verranno revocati. È così, ma va comunque notato che il sistema non si basa su mezzi tecnici, ma su una sorta di contratto sociale. A proposito, a proposito di caldoNell'ambito dell'atteso pupamento apocalittico della RuNet, qualcuno ha analizzato la possibile pupatazione del certificato radice russo e le conseguenze? Se qualcuno ha letto/scritto su questo argomento, mi mandi i link, li aggiungerò, penso che l'argomento sia interessante
    3. de-anonimizzazione indiretta sul server: anch'esso un argomento dolente, anche se il server non ha una registrazione/autenticazione formale, ci sono molti modi per raccogliere informazioni sul cliente e infine identificarlo. Mi sembra che la radice del problema sia nell'attuale protocollo http:// e in altri simili, che, come previsto, non avrebbero potuto prevedere un simile oltraggio; e che sarebbe del tutto possibile creare un protocollo parallelo senza queste lacune. Tuttavia, ciò va contro tutte le pratiche di monetizzazione esistenti ed è quindi improbabile. Mi chiedo ancora, qualcuno l'ha provato?
  • anonimo - anonimo: due persone si incontrano online, (opzione - appena conosciute), (opzione - non due ma duemila), e vogliono parlare delle proprie cose, ma in modo tale che Fratello maggiore non ho sentito (opzione: la mamma non l'ha scoperto, ognuno ha le proprie priorità). Potresti sentire dell'ironia nella mia voce, ma è perché è di questo che si tratta. Applichiamo il postulato di Schneier al problema (qualsiasi algoritmo può essere violato se vengono investite risorse sufficienti, cioè denaro e tempo). Da questo punto di vista, la penetrazione in un gruppo del genere con metodi sociali non rappresenta alcuna difficoltà, per non parlare del denaro, cioè della forza crittografica dell'algoritmo zero con i metodi di crittografia più sofisticati.
    Tuttavia, in questo caso abbiamo un secondo bastione: anonimia, e riponiamo in Lui tutte le nostre speranze, anche se tutti ci conoscono, ma nessuno ci trova. Tuttavia, con i più moderni metodi tecnici di protezione, pensi seriamente di avere una possibilità? Vorrei ricordarvi che ora sto parlando solo di anonimizzazione; sembra che abbiamo già eliminato in modo convincente la protezione dei dati. Per essere chiari, siamo d'accordo che se il tuo nome diventa noto o indirizzo di casa o Indirizzo IP, affluenza alle urne completamente fallita.
    Parlando di IP, è qui che entra in gioco quanto sopra confidare nel server, conosce senza dubbio il tuo IP. E qui tutto gioca contro di te: dalla semplice curiosità umana e vanità, alle politiche aziendali e alla stessa monetizzazione. Tieni solo presente che anche VPS e VPN sono server; per i teorici della crittografia, queste abbreviazioni sono in qualche modo irrilevanti; Sì, e la giurisdizione del server non ha alcun ruolo in caso di grande necessità. Ciò include anche la crittografia end-to-end: sembra bello e solido, ma il server deve ancora crederci sulla parola.
    Qual è il ruolo generale del server in un tale messenger? Innanzitutto è banale che il postino, se il destinatario non è a casa, torni più tardi. Ma anche, e questo è molto più significativo, questo è il punto d'incontro, non puoi inviare la lettera direttamente al destinatario, la invii al server per l'ulteriore trasmissione. E, soprattutto, il server conduce autenticazione necessaria, confermando a tutti che sei tu, e a te - che il tuo interlocutore è davvero quello di cui hai bisogno. E lo fa usando il tuo telefono.
    Non pensi che il tuo messaggero sappia troppo di te? No, no, ovviamente gli crediamo (e, a proposito, al nostro telefono allo stesso tempo, hmm), ma i crittografi ci assicurano che questo è vano, che non possiamo fidarci di nessuno.
    Non convinto? Ma c'è anche la stessa ingegneria sociale, se hai un centinaio di interlocutori in un gruppo, devi semplicemente supporre che il 50% di loro siano nemici, il 49% siano vanitosi, stupidi o semplicemente negligenti. E il restante XNUMX%, non importa quanto sei forte nei metodi di sicurezza delle informazioni, molto probabilmente non potrai resistere a un buon psicologo in una chat.
    L’unica strategia difensiva sembra essere quella di perdersi tra milioni di gruppi simili, ma non si tratta più di noi, ma di alcuni terroristi-spia che non hanno bisogno di fama o monetizzazione online.

Ebbene, mi sembra di aver in qualche modo motivato (no, non ho dimostrato, ho solo motivato) i miei pensieri duri sulla protezione dei dati nel modello moderno di società. Le conclusioni sono semplici ma tristi: non dovremmo contare sull'aiuto della crittografia dei dati più di quanto già abbiamo, la crittografia ha fatto tutto ciò che poteva, e ha funzionato bene, ma il nostro modello di Internet contraddice completamente il nostro desiderio di privacy e annulla tutti i nostri sforzi . In effetti, non sono mai pessimista e vorrei davvero dire qualcosa di brillante adesso, ma non so proprio cosa.
Prova a dare un'occhiata alla sezione successiva, ma ti avverto: ci sono fantasie non scientifiche completamente color rosa, ma possono rassicurare qualcuno, o almeno divertire qualcuno.

È possibile fare qualsiasi cosa?

Ebbene, ad esempio, pensa a questo argomento, preferibilmente liberando la tua coscienza e buttando via i pregiudizi. Ad esempio, temporaneamente completamente sacrifichiamo l'anonimato, non importa quanto terribile possa sembrare. Lasciamo che a tutti venga assegnata una chiave pubblica personale univoca fin dalla nascita e, ovviamente, una chiave privata corrispondente. Non c'è bisogno di urlarmi contro e battere i piedi, mondo ideale questo è estremamente conveniente: qui hai il tuo passaporto, il numero di identificazione fiscale e persino un numero di telefono in una bottiglia. Inoltre, se aggiungi un certificato individuale a questo, ottieni un autenticatore/login universale; e anche un notaio tascabile con la capacità di certificare qualsiasi documento. Puoi rendere il sistema multilivello: solo la chiave pubblica e il certificato sono disponibili pubblicamente, per gli amici (il cui elenco delle chiavi è allegato qui) puoi rendere disponibile il tuo telefono e cos'altro si fidano degli amici, potrebbe esserci qualcosa di ancora più profondo livelli, ma ciò implica già una fiducia non necessaria nel server.
Con questo schema, la riservatezza delle informazioni trasmesse viene raggiunta 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 è ridotto alle caselle di posta e, in linea di principio, non possono esserci reclami sul contenuto. E i server stessi diventano intercambiabili, puoi inviare tramite uno, oppure tramite un altro, o anche tramite una catena di server, come un'e-mail. Puoi anche inviarlo direttamente al destinatario se il suo IP è noto, senza contattare alcun intermediario. Non è fantastico? È solo un peccato che non dovremo vivere in questo periodo meraviglioso, né per me né per te. Nn-sì, sto parlando ancora una volta di cose tristi.
Quindi, dove conservare tutto questo? Bene, a priori, crea un sistema gerarchico aperto, qualcosa come l'attuale DNS, solo più potente ed esteso. Per non gravare gli amministratori dei DNS root con aggiunte e modifiche, è possibile effettuare una registrazione gratuita, l'unico controllo necessario è l'univocità. Mi piace >> " Ciao, siamo cinque persone, la famiglia Ivanov. Ecco i nostri nomi/soprannomi, ecco le chiavi pubbliche. Se qualcuno ce lo chiede, per favore inviatecelo. Ed ecco l’elenco di centocinquecento nonne della nostra zona con le loro chiavi, se gliele chiederanno inviatele anche a noi.«
Devi solo rendere l'installazione e la configurazione di un server domestico di questo tipo estremamente semplici e convenienti, in modo che chiunque possa capirlo se lo desidera, ancora una volta, nessuno caricherà nuovamente alcun server governativo ufficiale.
Stop!, ma allora cosa c'entra lo Stato?

Ma ora puoi ripristinare con attenzione l'anonimato. Se qualcuno può generare una chiave personale per se stesso e confermarla con un certificato individuale e installare per sé un server CA di livello inferiore, o chiedere a un vicino o a qualche server pubblico, perché è necessaria tutta questa burocrazia? E poi non c'è bisogno di affezionarsi a un personaggio reale, completa privacy, sicurezza e anonimato. È sufficiente che all'inizio della gerarchia ci sia qualcuno degno di fiducia, beh, noi crediamo nella TM o Let's Encrypt, e i noti DNS pubblici non hanno ancora mandato nessuno nella steppa. Sembra che non dovrebbero esserci lamentele nemmeno da parte dei burocrati, ovviamente ci saranno lamentele, ma a quale scopo?
Forse un giorno un sistema del genere, o qualcosa di simile, verrà creato. E, naturalmente, non possiamo contare su nessuno se non su noi stessi; nessuno degli Stati da me conosciuti costruirà un sistema del genere. Fortunatamente i già esistenti Telegram, i2p, Tor e probabilmente qualcun altro che avevo dimenticato dimostrano che nulla è fondamentalmente impossibile. Questa è la nostra rete e dobbiamo attrezzarla se non siamo soddisfatti della situazione attuale.
Brrr, ho accidentalmente concluso con una nota patetica. In effetti, questo non mi piace, in qualche modo preferisco il sarcasmo.

PS: questo è tutto, ovviamente, moccio rosa e sogni da ragazza
PPS: ma se all'improvviso qualcuno decide di provarlo riservatemi un nickname gradi per favore, ci sono abituato
PPPS: e comunque l'implementazione sembra abbastanza semplice

Fonte: habr.com

Aggiungi un commento