Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   





Clic aici
PC Magazine





Soluții - PC Magazine Romania, Noiembrie 2004

Lumea lui Morse

Răzvan Sandu

Motto:
"Eternal Father, strong to save,
Whose arm hath bound the restless wave,
Who biddest the mighty ocean deep
Its own appointed limits keep;
Oh, hear us when we cry to Thee,
For those in peril on the sea!"

"Eternal Father, Strong To Save" ("Imnul Marinei")
Din serviciul religios oficiat la bordul Titanicului în dimineața zilei de duminică, 14 aprilie 1912

Deschid pagina web și îmi apăs mai tare căștile pe urechi. Încerc să-mi imaginez cum trebuie să fi sunat atunci, în acea noapte fatidică din aprilie, semnalele astea: puncte și linii încărcate de disperare împrăștiidu-se în cercuri iuți și nevăzute peste fața neagră a Oceanului... Omul care a recreat aceste sunete codificate - jurnal exact al comunicației radio din orele agoniei Titanicului - a făcut-o cu o minuțiozitate extraordinară: nu lipsește nici un detaliu, nici măcar tonul ușor răgușit și neclar al telegrafului Marconi cu eclator folosit la începutul secolului! Formidabil!

Astăzi, prieteni, vom vorbi despre comunicații criptate. Nu, nu despre submarinele germane și despre celebra mașină Enigma (http://uboat.net/technical/enigma.htm), nici despre telegrafiștii americani de la Western Union și codul Vail ("adevăratul Morse" sau "codul vechi" - http://www.du.edu/~jcalvert/tel/morse/morse.htm http://www.faradic.net/~gsraven/tools/tools1.html), ci despre modul cum puteți face ca mesajele voastre electronice să fie mai sigure.

Ai învățat să iscălești?

Sunt convins că fiecare dintre voi și-a pus problema securității mesajelor sale. Să trimiți sau să primești un mesaj electronic (să zicem, e-mail) a devenit banal. Dar de unde pot ști că persoana care îmi trimite mesajul este chiar cea care pretinde că este? În mediul electronic, întrebarea nu este deloc banală și nici nu are un singur răspuns...

Avem nevoie, deci, de soluții la următoarele probleme:

identitatea autorului - un document electronic trebuie să poată fi semnat de către autorul lui, astfel încât oricine să poată fi sigur asupra sursei documentului;

autenticitate și integritate - trebuie să se poată certifica faptul că un document electronic nu a fost modificat sau trunchiat (deci că se găsește în forma originală dată de autor);

confidențialitate - la cerere, un document electronic trebuie să poată fi cifrat, astfel încât să existe certitudinea că numai un anumit grup de persoane (cele cărora documentul le este destinat) pot avea acces la conținutul lui.

Există mai multe soluții posibile, dar metoda folosită în practică se bazează pe algoritmii de criptare asimetrică (cu chei publice).

Fără să repet cele spuse într-o întâlnire de-a noastră anterioară (vezi PC Magazine România, noiembrie 2002), vă voi reaminti că o schemă de criptare cu chei publice presupune ca fiecare utilizator să dețină o pereche de chei, generate în tandem:

cheia privată este, așa cum spune și denumirea, strict secretă. Ea este cunoscută exclusiv de către utilizatorul în cauză și servește pentru semnarea mesajelor provenite de la acel utilizator. Secretul cheii private este protejat cu ajutorul unei parole-frază (passphrase - numită așa pentru că poate conține și blank-uri), parolă care trebuie să fie cât mai bine aleasă.

cheia publică este derivată din cea privată și este folosită pentru criptarea mesajelor adresate posesorului cheii. Ea este adusă la cunoștința unui număr cât mai mare de persoane, fie direct, fie prin publicarea pe un server de chei specializat (keyserver).

În practică, cheile sunt materializate prin fișiere, fie în format binar, fie transpuse într-o înșiruire de caractere ASCII cu ajutorul programului standard Unix uuencode.

Un mesaj criptat folosind o cheie publică nu poate fi decriptat decât cu cheia privată-pereche. Precizez că, din punct de vedere matematic, este foarte greu (teoretic, imposibil) să se deducă cheia privată a unui utilizator pornind de la cheia sa publică (funcția folosită pentru generarea în tandem a cheilor nu admite funcție inversă).

Să presupunem acum că doi utilizatori, X și Y, doresc să poarte corespondență pe o cale sigură. Primul avantaj al algoritmilor cu chei publice este acela că utilizatorii nu au nevoie de un canal sigur cu ajutorul căruia să își comunice reciproc cheile secrete (clasicul film cu cei doi spioni care, la începutul colaborării, se întâlneau pe bancă în parc și făceau schimb de bilețele cu parole... ?). X va cifra mesajul său către Y cu cheia publică a lui Y și îl va semna cu propria sa cheie privată. Primind mesajul, Y va putea fi 100% sigur că el vine de la X (lucru care se poate verifica folosind cheia publică a lui X) și îl va putea citi, decriptând-ul cu cheia privată (a lui Y). Schema funcționează simetric dacă Y dorește să îi răspundă lui X prin aceeași metodă sigură.

Odă către Microsoft

În lumea algoritmilor de criptare cu chei publice funcționează - ce surpriză! - două standarde paralele. Fiecare dintre ele oferă o metodă proprie de a răspunde la întrebarea "de unde știu că o cheie publică, declarată ca fiind a utilizatorului X, aparține într-adevăr persoanei X ?". Microsoft și alte companii ne propun o soluție comercială, bazată pe așa-numitele "certificate de autenticitate X.509". Ceea ce are un utilizator de făcut este să se adreseze unui furnizor de servicii de certificare, cum ar fi Thawte sau VeriSign, care îi vor aloca un certificat electronic X.509. Cu ajutorul acestuia, utilizatorul va putea semna toate documentele emise de el, iar furnizorul de servicii garantează asupra autenticității.

Certificatele se obțin, bineînțeles, contra cost...?

Întrebarea imediat următoare este cât de sigură și de personală este o asemenea cheie, atâta timp cât ea nu se găsește sub controlul exclusiv al utilizatorului-posesor. Un duplicat după certificatul meu X.509 este păstrat și de către furnizorul de servicii de autentificare, pentru a servi ca backup? Ce se întâmplă dacă, în ciuda măsurilor de securitate, un asemenea certificat cade, fără știrea posesorului, în mâna unei terțe persoane sau instituții - fie aceasta un cracker, firmă concurentă sau vreun serviciu secret guvernamental? Vor apărea "pe piață" documente semnate (valid) de alții, în numele meu? Îmi va putea fi "golit" contul bancar? Poliția, Fiscul, șeful, soția sau "alte organe abilitate ale statului"? îmi vor putea citi e-mail-urile cifrate adresate duduiei din biroul vecin?

A doua întrebare ar putea fi dacă este normal ca un număr atât de mare de semnături electronice private, de la persoane din toată lumea, să se afle sub controlul aceleeași companii - furnizorul de servicii de certificare - oricât de credibil ar fi acesta. Ce se întâmplă dacă el dispare, falimentează sau se decide să vândă ilicit "marfa confidențială" existentă în gestiunea sa? Sau, pur și simplu, ridică la nivele prohibitive taxele legate de emiterea și prelungirea certificatelor X.509 ?

O alternativă

Făcând "flotări logice" ca să își poată răspunde la toate aceste întrebări?, programatorii din lumea Free Software au propus un alt model de securitate, gestionat în exclusivitate de către utilizatorul final (v. OpenPGP - RFC 2440). Recunoscând faptul că încrederea între oameni este un lucru subiectiv și tranzitiv, ei definesc așa-numita "rețea de încredere", în care persoanele implicate își certifică/garantează reciproc semnăturile, pe baza unor nivele de încredere. Mai clar, dacă persoana X este cunoscută (direct) de persoanele A,B, și C, iar X semnează un document, atunci în fața unei terțe persoane, Y, A, B și C pot garanta că X este cine susține că este (îi pot autentifica semnătura electronică). Desigur, este posibil ca A, B și C să îl cunoască mai mult sau mai puțin bine pe X, de aceea ei vor garanta pentru el cu ponderi diferite: persoana care îl cunoaște cel mai bine îi va acorda încrederea cea mai mare.

În practică, schema prezentată mai sus se reduce la următoarele: fiecare utilizator din rețea posedă câte o semnătură proprie, în care are încredere 100%. Cu ajutorul ei, utilizatorul "semnează semnăturile" altor utilizatori cunoscuți, acordând fiecăruia câte un nivel de încredere (mai mic sau egal cu 100%). Trebuie remarcat că nivelul de încredere acordat de mine unui alt utilizator nu se bazează exclusiv pe cât de bine îi cunosc eu identitatea. Luând familia ca exemplu, pot garanta în ceea ce privește identitatea soției mele, să zicem, dar dacă știu faptul că ea nu stăpânește foarte bine modul în care se folosește o semnătură electronică, nu voi acorda semnăturii ei un nivel de încredere de 100%. Asta fiindcă nu sunt convins că ea și-a folosit corect propria semnătură pentru a conferi, la rândul ei, nivele de încredere altor persoane (pe care eu nu le cunosc direct). În acest fel, gradul de încredere pe care eu îl pot acorda, prin tranzitivitate, altora, poate fi "reglat" destul de precis.

Din păcate, legea română a semnăturii electronice, recent adoptată (vezi http://www.legi-internet.ro/lgsemel.htm) pare să adere la schema proprietară de securitate descrisă la început. Poate că și acesta este unul dintre motivele pentru care semnarea electronică a documentelor este încă atât de puțin răspândită la noi.

Ce rămâne de spus

În rândurile de mai sus nu am abordat deloc o metodă practică de folosire a semnăturii electronice. Și asta fiindcă utilizarea corectă a unui asemenea program - atât de important pentru intimitatea fiecăruia - este un subiect mai vast, pe care îl vom aborda detaliat la întâlnirea noastră viitoare. Nu am dorit decât să vă ofer câteva elemente introductive, care să vă îndemne să citiți mai departe. Puteți începe la http://www.fsf.org sau la http://www.eff.org. Sau, de ce nu, de la http://www.linuxwill.go.ro

Până la următoarea întâlnire, vă sugerez să vizitați și aceste site-uri, care sunt sigur că vă vor face mare plăcere:
http://www.du.edu/~jcalvert/tel/telhom.htm
http://www.hf.ro
http://www.qsl.net/g3yrc/Titanic.htm
http://www.faradic.net/~gsraven/index.shtml
http://uboat.net/maps/black_sea.htm


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2004 Agora Media.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro