CSI XII: Criptografie și criptare date

Ei bine, în ultimele postări de Lucruri care apar în Calcul, ne-am ocupat (și foarte mult) de problema codare, ceea ce nu este altceva decât utilizarea unei alte reprezentări a datelor dintr-un anumit motiv. Astăzi urmează să mă plantez și vă prezint ultima postare dedicată acestui subiect: apoi vom trece la ceva complet diferit. Dar, vorbind despre codificarea informațiilor, nu am vrut să las neatins unul dintre cele mai interesante și actuale subiecte: criptarea datelor.

martie

în mod eficient, cripta informația constă în transformarea acesteia urmând reguli sau algoritm. Când facem acest lucru este, în general, pentru că nu ne pasă că toată lumea ne poate înțelege mesajul. Prima abordare pentru a realiza acest lucru este cea care ni se pare cea mai evidentă: doar receptorul mesajului va ști care sunt regulile sau algoritmul pentru a descifra informațiile pe care le trimit. Acest lucru este cunoscut sub numele de criptarea algoritmului secret iar adevărul este că astăzi este puțin depășit. Să vedem de ce.

Oricine a făcut parte dintr-un club secret în copilărie probabil va ști la ce mă refer. Cel mai simplu lucru este să stabilim reguli pentru a codifica informațiile pe care le cunoaștem doar la club. În acest fel, va fi aproape imposibil, dacă regulile sunt complicate, ca oricine din exterior să poată descifra mesajul. Să luăm un exemplu, în loc de reguli simple.

Se numește cea mai veche criptare cunoscută Cifrul Cezar și constă în adăugarea unei sume la fiecare literă pentru ao converti într-o altă literă din același alfabet. Dacă dorim să codificăm „a” și cheia este 5, adăugăm 5 caractere la „a” (b, c, d, e,F) și îl schimbăm în „f”. Când ajungem la ultimele litere, desigur, le înlocuim cu primele. Astfel, un mesaj „abcdez” ar fi codificat ca „fghije”. Simplu.

Prea simplu, desigur. Dar aici a apărut un concept important, care este cel al cod cheie. Parola noastră era 5 și, în principiu, fără să o știm, nu am putut descifra mesajul. cunoscând încă regulile de codificare. Ei bine, în acest caz da, pentru că algoritmul este foarte simplu: știind că regula constă în adăugarea unui anumit număr, pentru a sparge cheia ar trebui să încercați doar să adăugați 1, apoi 2, apoi 3. la fiecare caracter până găsiți că cheia este 5 atunci când citiți un mesaj semnificativ: acest lucru este cunoscut sub numele de atac de forță brută

Dar, pe măsură ce algoritmul devine mai complicat și cheile sunt lungi și complexe, se poate asigura cu o anumită rigoare că un atac cu forță brută va găsi cheia, în cel mai rău caz, atunci când informațiile trimise nu mai sunt relevante. De aceea, astăzi tendința este de a folosi algoritmi publici -reguli- pentru a codifica informații. În plus, cu Internetul a apărut o problemă foarte importantă pentru algoritmii secreți: în clubul nostru pentru copii putem fi de acord asupra regulilor secrete într-o întâlnire secretă în casa copacului (secret). Dar pe Internet nu există o astfel de posibilitate!: Aveți nevoie de una canal securizat să răspândim regulile secrete și tocmai asta nu avem 1 .

Primul 'standard de facto„din algoritmii publici a fost DES (Standard de criptare a datelor). DES a fost aprobat în 1976 și în 1998 parola a fost spartă printr-un atac de forță brută care a durat 56 de ore 2. Dacă considerăm că puterea computerelor a crescut exponențial în toți acei ani, putem acorda mai mult decât o notabilitate acestui algoritm. Oricum, până atunci DES fusese deja înlocuit cu o variantă mai complexă Triple DES care în 2001 a fost „înlocuit” de un alt algoritm, AES (Standard de criptare avansat). Au fost speculate unele puncte slabe în AES, dar în acest moment nu există atacuri de forță brută cunoscute care ar putea funcționa. Atât de mult încât Guvernul SUA, obișnuit cu secretul algoritmilor, a anunțat că ar putea folosi această metodă publică pentru a cripta documentele sale TOP-SECRET. Deci este FOARTE FOARTE GRAV să rupi o cheie. Este MULT, MULT mai ușor să-l furi.

Se numeste criptografie cu cheie simetrică la care folosește aceeași cheie pentru a cripta și a decripta. Aceasta este cea mai evidentă și ceea ce ne-am gândit cu toții până acum. Dar aici este o problemă: cum să obțineți o cheie secretă? Dacă expeditorul și destinatarul împărtășesc un oraș sau o țară, lucrul este simplu: rămân o zi și, dacă sunt siguri că persoana din fața lor nu este un impostor, sunt de acord cu o parolă sigură. Dar dacă două persoane doresc să facă schimb de informații prin internet și nu se pot întâlni, cum sunt de acord cu cheia cu securitatea?.

O altă problemă: dacă vreau să comunic cu Juan, cheltuiesc o parolă secretă. Și cu María o altă cheie (ca nu cumva să afle Juan) și cu Antonio alta, Juan își petrece una diferită pentru a comunica cu Antonia. pe scurt, cu care să comunici n oameni de care am nevoie n chei diferite și acestea sunt multe: mai bine le notez într-un POST-IT, nu?.

Pentru a rezolva aceste probleme, criptografie cu cheie asimetrică care cheltuie practic o cheie pentru a cripta și un cuplu pentru a decripta. Și acest lucru oferă mult joc. Să presupunem că generez o pereche de chei acasă și păstrez una pentru a decripta: aceasta este cheia mea secretă. Dar cealaltă cheie o public pe un server: este cheia mea publică. Deci, dacă Juan vrea să-mi trimită ceva criptat, îmi ia cheia publică, criptează informațiile cu ea și mi le trimite. Grația este că numai cu cheia mea privată acest mesaj poate fi decriptat și am acea cheie ascunsă: oricine citește mesajul va găsi doar gâfâi. Și la fel poate Maria, Antonio.

Dar, fatalitate, aici problema este o altă problemă: când primesc un mesaj criptat cu cheia mea publică și semnat de Juan. De unde știu că Juan mi l-a trimis? Nu pot: Juan trebuie autentifica. Dar. Ce se întâmplă dacă o facem invers ?: Juan își publică parola a descifra. Criptați mesajul cu cheia mea publică pentru a cripta și criptați rezultatul cu cheia dvs. privată pentru a cripta. Atunci eu (și oricine) vom putea citi mesajul criptat al lui Juan fără a lua mai mult decât să luăm cheia publică a lui Juan. Textul va conține tâmpenii: numai eu îl pot înțelege cheltuind cheia mea privată. Se apelează mesajul criptat cu o cheie privată pentru autentificare semnatura digitala. Semnătura digitală autentifică, previne modificarea (adăugarea de conținut la mesaj) și nu este respingătoare: Juan nu poate pretinde că acest mesaj nu a fost al său.

E gata?. Nu. Să presupunem că Antonio vrea să-l suplinească pe Juan și să cripteze mesajul: „Bună, eu sunt Juan” cu cheia sa privată (a lui Juan nu o știe). Și în momentul în care accesam un server de chei pentru a afla cheia publică a lui Juan (și a decripta mesajul), Antonio interceptează comunicarea și îmi trimite cheia partenerului LUI: atunci voi crede că mesajul a fost semnat de Juan. Este necesar să existe Autoritățile de certificare (AC). Acestea servesc pentru a garanta că o anumită cheie publică corespunde cu cea a unei entități sau persoane. Pentru a face acest lucru, după verificarea identității solicitantului (și în cele mai grave cazuri este necesară prezența fizică), autoritatea de certificare asociază identitatea persoanei cu cheia publică într-un document și semn digital cu parola sa - AC - asociația respectivă.

Îi pot cere lui Juan să obțină semnătura sa digitală de la un CA de renume. De exemplu, dacă vreau să fac declarația de venit online, mi se va cere să am o semnătură digitală emisă de administrație. Când „Juan” mă va contacta, voi decripta semnătura digitală cu cheia publică a CA (care se presupune că este cunoscută) și voi obține cheia publică a lui Juan împreună cu datele sale personale. Și dacă cineva a falsificat cheia publică a lui Juan într-un mod rău intenționat, este vina AC. Ușor corect?.

Adevărul este că am extins foarte mult în această postare și am lăsat multe lucruri în curs de desfășurare. Este un subiect foarte interesant, care se pretează la gândire conspiraţie. Și este că orice comunicare prin Internet, la un moment dat, va fi nesigură. Dar asta este chestiunea despre conspiranoia: nu o puteți termina niciodată: puteți merge întotdeauna cu un pas mai departe și puteți include pe altcineva în complot. Normal că unele dintre aceste teorii sunt atât de reușite, nu?