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.

webmaster@pcmagazine.ro

LG - Life´s Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro