SECURITATEA RE ELELOR - digital.ubm.rodigital.ubm.ro/?download=Computer Networks Cap 8.pdf645 8...

100
645 8 SECURITATEA REELELOR În primele decenii ale existenei lor, reelele de calculatoare au fost folosite de cercettorii din universiti pentru trimiterea potei electronice i de ctre funcionarii corporaiilor pentru a partaja imprimantele. În aceste condi ii, problema securitii nu atrgea prea mult atenia. Dar acum, când milioane de ceteni obinuii folosesc reelele pentru operaiuni bancare, cumprturi i plata taxe- lor, securitatea reelei apare la orizont ca o mare problem potenial. În acest capitol, vom studia securitatea reelei din mai multe unghiuri, evideniind numeroase pericole i discutând muli algo- ritmi i protocoale destinate a face reelele mai sigure. Securitatea este un subiect vast i acoper o multitudine de imperfeciuni. În forma sa cea mai simpl, ea asigur c persoane curioase nu pot citi sau, i mai ru, modifica mesajele adresate altor destinatari. Ea se ocup de cei care încearc s apeleze servicii la distan, dei nu sunt autorizai s le foloseasc. De asemenea, securitatea implic verificarea dac un mesaj, ce pretinde c vine de la IRS i spune: „Pltete pân vineri”, provine într-adevr de la IRS i nu de la Mafie. Securitatea se ocup de problemele legate de capturarea i falsificarea mesajelor autorizate i de cei ce încearc s nege faptul c au trimis anumite mesaje. Majoritatea problemelor de securitate sunt cauzate intenionat de persoane ruvoitoare care în- cearc s obin anumite beneficii, s atrag atenia, sau s provoace ru cuiva. Câiva dintre cei care comit în mod obinuit astfel de fapte sunt menionai în fig. 8-. Din aceast list trebuie s rezulte clar c realizarea unei reele sigure implic ceva mai mult decât pstrarea ei fr erori de programa- re. Aceasta implic surclasarea unor adversari adeseori inteligeni, dedicai i uneori bine dotai ma- terial. Trebuie de asemenea s fie clar c msurile care pot contracara inamici accidentali vor avea un impact redus asupra unor adversari serioi. Arhivele poli iei arat c cele mai multe atacuri nu au fost svârite de strini prin ascultarea unor linii telefonice, ci de ctre angajai ranchiunoi. În con- secin, sistemele de securitate ar trebui proiectate inând seama de acest fapt.

Transcript of SECURITATEA RE ELELOR - digital.ubm.rodigital.ubm.ro/?download=Computer Networks Cap 8.pdf645 8...

645

8 SECURITATEA RE ELELOR

În primele decenii ale existen ei lor, re elele de calculatoare au fost folosite de cercet!torii din universit! i pentru trimiterea po"tei electronice "i de c!tre func ionarii corpora iilor pentru a partaja imprimantele. În aceste condi ii, problema securit! ii nu atr!gea prea mult aten ia. Dar acum, când milioane de cet! eni obi"nui i folosesc re elele pentru opera iuni bancare, cump!r!turi "i plata taxe-lor, securitatea re elei apare la orizont ca o mare problem! poten ial!. În acest capitol, vom studia securitatea re elei din mai multe unghiuri, eviden iind numeroase pericole "i discutând mul i algo-ritmi "i protocoale destinate a face re elele mai sigure.

Securitatea este un subiect vast "i acoper! o multitudine de imperfec iuni. În forma sa cea mai simpl!, ea asigur! c! persoane curioase nu pot citi sau, "i mai r!u, modifica mesajele adresate altor destinatari. Ea se ocup! de cei care încearc! s! apeleze servicii la distan !, de"i nu sunt autoriza i s! le foloseasc!. De asemenea, securitatea implic! verificarea dac! un mesaj, ce pretinde c! vine de la IRS "i spune: „Pl!te"te pân! vineri”, provine într-adev!r de la IRS "i nu de la Mafie. Securitatea se ocup! de problemele legate de capturarea "i falsificarea mesajelor autorizate "i de cei ce încearc! s! nege faptul c! au trimis anumite mesaje.

Majoritatea problemelor de securitate sunt cauzate inten ionat de persoane r!uvoitoare care în-cearc! s! ob in! anumite beneficii, s! atrag! aten ia, sau s! provoace r!u cuiva. Câ iva dintre cei care comit în mod obi"nuit astfel de fapte sunt men iona i în fig. 8-#. Din aceast! list! trebuie s! rezulte clar c! realizarea unei re ele sigure implic! ceva mai mult decât p!strarea ei f!r! erori de programa-re. Aceasta implic! surclasarea unor adversari adeseori inteligen i, dedica i "i uneori bine dota i ma-terial. Trebuie de asemenea s! fie clar c! m!surile care pot contracara inamici accidentali vor avea un impact redus asupra unor adversari serio"i. Arhivele poli iei arat! c! cele mai multe atacuri nu au fost s!vâr"ite de str!ini prin ascultarea unor linii telefonice, ci de c!tre angaja i ranchiuno"i. În con-secin !, sistemele de securitate ar trebui proiectate inând seama de acest fapt.

646 SECURITATEA RE ELELOR CAP. 8

Adversar Scop

Student Pentru a se distra furând po ta electronic! a celorlal"i Sp!rg!tor Pentru a testa securitatea sistemului cuiva; pentru a fura date Responsabil de vânz!ri Pentru a pretinde c! reprezint! toat! Europa, nu numai Andorra Om de afaceri Pentru a descoperi planul strategic de marketing al competitorului Fost func"ionar Pentru a se r!zbuna c! a fost concediat Contabil Pentru a sustrage bani de la o companie Agent de vânz!ri Pentru a nega o promisiune f!cut! clientului prin po t! electronic! #arlatan Pentru a fura numere de c!r"i de credit i a le vinde Spion Pentru a afla puterea militar! a inamicului sau secrete industriale Terorist Pentru a fura secrete legate de conflicte armate

Fig. 8-!. Câteva persoane ce genereaz! probleme de securitate "i motivele acestora.

Problemele securit! ii re elei pot fi împ!r ite, în mare, în patru domenii strâns interconectate: confiden ialitate, autentificare, nerepudiere "i controlul integrit! ii. P!strarea secretului, denumit! de asemenea "i confiden ialitate, se refer! la p!strarea informa iei departe de utilizatorii neautori-za i. Aceasta este ceea ce vine în mintea oamenilor atunci când se gândesc la securitatea re elei. Au-tentificarea reprezint! determinarea identit! ii persoanei cu care vorbe"ti înainte de a dezv!lui in-forma ii importante sau de a intra într-o afacere. Nerepudierea implic! semn!turi: cum s! dovede"ti c! un client a f!cut într-adev!r o comand! pentru zece milioane de nimicuri de 89 de cen i fiecare, dac!, mai târziu, el pretinde c! pre ul era de 69 de cen i? Sau poate sus ine c! nu a f!cut nici o co-mand!. În fine, cum po i fi sigur c! un mesaj pe care l-ai primit a fost cel trimis cu adev!rat "i nu unul pe care un adversar r!ut!cios l-a modificat în tranzit sau l-a m!sluit?

Toate aceste aspecte (confiden ialitate, autentificare, nerepudiere "i controlul integrit! ii) apar "i în sistemele tradi ionale, dar cu câteva diferen e semnificative. Integritatea "i confiden ialitatea sunt realizate prin folosirea po"tei înregistrate "i prin sigilarea documentelor. Jefuirea trenului ce duce po"ta este mai greu de realizat decât era în zilele lui Jesse James.

De asemenea, oamenii pot de obicei s! spun! ce diferen ! este între un document original "i o fotocopie "i adeseori numai primul are valoare pentru ei. Ca test, face i o fotocopie a unui cec valid. Încerca i luni s! încasa i de la banc! banii pe cecul original. Apoi încerca i mar i s! încasa i banii pe fotocopie. Observa i diferen a din comportamentul b!ncii. Cu cecuri electronice, originalul "i copia nu sunt distinctibile. Va trece ceva vreme pân! când b!ncile vor "ti cum s! trateze astfel de situa ii.

Oamenii autentific! al i oameni prin recunoa"terea fe elor, vocilor "i scrisului lor. Dovada sem-n!rii se face prin semn!turi pe scrisori cu antet, sigilii etc. Falsificarea poate fi de obicei detectat! prin scris, hârtie "i exper i în grafologie. Nici una din aceste op iuni nu este disponibil! electronic. Evident, sunt necesare alte solu ii.

Înainte de a intra în prezentarea acestor solu ii, merit! s! consum!m câteva minute pentru a sta-bili unde anume în stiva de protocoale se situeaz! securitatea re elei. Probabil c! nu exist! un singur loc. Fiecare nivel poate contribui cu ceva. La nivelul fizic, ascultarea firelor poate fi z!d!rnicit! prin încapsularea liniilor de transmisie în tuburi sigilate con inând gaz de argon la presiuni înalte. Orice încercare de a perfora tubul va duce la pierderi de gaz, reducând presiunea "i tr!gând alarma. Câte-va sisteme militare folosesc aceast! tehnic!.

La nivelul leg!tur! de date, pachetele transmise pe o linie punct-la-punct pot fi codificate când p!r!sesc una dintre ma"ini "i decodificate când intr! în cealalt!. Toate detaliile pot fi manipulate la nivelul leg!tur! de date, f!r! ca nivelurile mai înalte s! aib! cuno"tin ! de ceea ce se petrece. Aceas-

CAP. 8 SECURITATEA RE ELELOR 647

t! solu ie e"ueaz!, totu"i, atunci când pachetele trebuie s! traverseze mai multe rutere, deoarece pachetele trebuie decriptate în fiecare ruter, f!cându-le astfel vulnerabile la atacurile din interiorul ruterelor. De asemenea, ea nu permite ca anumite sesiuni s! fie protejate (de exemplu, acelea ce implic! cump!r!turile on-line folosind c!r i de credit), iar altele nu. Cu toate acestea, criptarea leg"-turii (eng.: link encryption), cum este numit! aceast! metod!, poate fi ad!ugat! cu u"urin ! la orice re ea "i este adeseori util!.

La nivelul re ea, pot fi instalate ziduri de protec ie pentru a p!stra pachetele în interior sau pen-tru a p!stra pachetele în afara acestuia. Securitatea IP func ioneaz! de asemenea la acest nivel.

La nivelul transport, pot fi criptate conexiuni întregi, de la un cap!t la cel!lalt, adic! de la un pro-ces la cel!lalt. Pentru o securitate maxim!, este necesar! securitatea cap!t-la-cap!t ( eng.: end-to-end security).

În sfâr"it, problemele cum sunt autentificarea utilizatorilor "i nerepudierea nu pot fi tratate decât la nivelul aplica ie.

Din moment ce securitatea nu se potrive"te perfect cu nici un nivel, nu se potrive"te în nici un capitol al acestei c!r i. Din acest motiv, ea are propriul capitol.

Chiar dac! acest capitol este lung, tehnic "i esen ial, el este cvasi-irelevant pentru moment. Este bine "tiut faptul c! cele mai multe probleme de securitate la b!nci, de exemplu, se datoreaz! angaja- ilor incompeten i, procedurilor de securitate slabe, sau fraudelor interne mai degrab! decât unor criminali inteligen i care ascult! liniile telefonice "i apoi decodeaz! mesajele criptate. Dac! o per-soan! poate intra într-o filier! oarecare a unei b!nci cu o hârtie ATM pe care a g!sit-o pe strad! sus inând c! a uitat num!rul de PIN "i poate primi unul nou pe loc ( în numele unor bune rela ii cu clien ii ), atunci toat! criptografia din lume nu va preveni abuzurile. În aceast! privin !, cartea lui Roy Anderson v! ajut! s! „deschide i ochii”, deoarece documenteaz! sute de exemple de e"ecuri ale securit! ii în numeroase industrii, aproape toate dintre ele datorându-se unor (ceea ce s-ar putea numi politicos) practici neglijente de afaceri sau lipsei de grij! pentru securitate (Anderson, 200#). Cu toate acestea, noi suntem optimi"ti c! odat! cu extinderea comer ului electronic (eng.: e-commerce), companiile î"i vor îmbun!t! i procedurile opera ionale, eliminând aceast! fisur! "i adu-când din nou aspectele de securitate în centrul aten iei.

Exceptând securitatea de la nivelul fizic, aproape toat! securitatea se bazeaz! pe principii cripto-grafice. Din acest motiv, vom începe studiul nostru asupra securit! ii prin examinarea detaliat! a criptografiei. În sec iunea 8.#, vom studia câteva dintre principiile de baz!. Între sec iunile 8-2 "i 8-5 vom examina câ iva dintre algoritmii "i structurile de date fundamentale folosite în criptografie. Apoi vom examina în detaliu cum pot fi folosite aceste concepte pentru a ob ine securitatea în re e-le. Vom concluziona cu câteva scurte gânduri despre tehnologie "i societate.

Înainte de a începe, se impune o ultim! observa ie: ce nu este acoperit. Am încercat s! ne con-centr!m asupra problemelor din re ea, mai degrab! decât asupra problemelor de sisteme de operare sau aplica ii, chiar dac! este deseori greu de tras o linie de demarca ie. De exemplu, nu am spus ni-mic despre autentificarea utilizatorilor folosind biometria, securitatea parolelor, atacurile prin inun-darea tampoanelor de memorie (eng. : buffer overflow), cai Troieni, falsificarea login-ului, bombe logice, viru"i, viermi "i altele. Toate aceste subiecte sunt acoperite în detaliu în Cap. 9 din Sisteme de operare moderne (Tanenbaum, 200#). Cititorul interesat de aspectele securit! ii sistemelor este în-drumat c!tre aceast! carte. Acum haide i s! începem c!l!toria noastr!.

648 SECURITATEA RE ELELOR CAP. 8

8.! CRIPTOGRAFIA

Criptografie provine din cuvintele grece"ti pentru „scriere secret!”. Criptografia are o istorie lung! "i pitoreasc! ce dateaz! cu mii de ani în urm!. În aceast! sec iune, vom schi a doar câteva din-tre aspecte, ca informa ii de baz! pentru ceea ce urmeaz!. Pentru o istorie complet! este recoman-dat! cartea lui Kahn (#995). Pentru o tratare detaliat! a situa iei actuale în securitate "i algoritmi, protocoale "i aplica ii criptografice, a se vedea (Kaufman et. al 2002). Pentru o abordare mai mate-matizat!, a se vedea (Stinson, 2002). Pentru o abordare mai pu in matematic!, a se vedea (Burnett "i Paine, 200#).

Profesioni"tii fac o distinc ie între cifruri "i coduri. Un cifru este o transformare caracter-cu-caracter sau bit-cu-bit a mesajului, f!r! a ine cont de structura lingvistic! a acestuia. Prin contrast, un cod înlocuie"te un cuvânt cu un alt cuvânt sau cu un simbol. Codurile nu mai sunt folosite, de"i au avut o istorie glorioas!. Cel mai reu"it cod inventat vreodat! a fost folosit de for ele armate ale S.U.A. în timpul celui de-al doilea r!zboi mondial în Pacific. Pur "i simplu au pus indieni Navajo s! vorbeasc! între ei folosind cuvinte specifice dialectului Navajo pentru termenii militari, de exemplu chay-da-gahi-nail-tsaidi ( literal: uciga" de broa"te estoase ) pentru armele anti-tanc. Limbajul Navajo este foarte tonal, extrem de complex "i nu are o form! scris!. $i nimeni din Japonia nu "tia nimic despre el.

În septembrie #945, San Diego Union descria codul spunând: „Pentru trei ani, oriunde acostau trupele Marine, Japonezii auzeau o mân! de zgomote bolborosite r!spândite printre alte sunete care sem!nau cu strig!tul unui c!lug!r Tibetan "i cu sunetul golirii unei sticle cu ap! fierbinte. Japonezii nu au spart niciodat! codul "i mul i vorbitori de cod Navajo au fost r!spl!ti i cu onoruri militare înal-te pentru servicii "i curaj extraordinare. Faptul c! S.U.A. a spart codul japonez, dar c! japonezii nu au reu"it niciodat! s! sparg! codul Navajo a jucat un rol crucial în victoriile americane din Pacific.

8.!.! Introducere în criptografie

Din punct de vedere istoric, patru grupuri de oameni au contribuit "i au folosit arta criptografiei: armata, corpurile diplomatice, cei ce au inut jurnale "i îndr!gosti ii. Dintre acestea, armata a avut rolul cel mai important "i a dat contur domeniului de-a lungul secolelor. În interiorul organiza iilor militare, mesajele ce trebuiau criptate erau de obicei date pentru criptare "i transmitere unor func i-onari codori de nivel sc!zut, prost pl!ti i. Volumul de mesaje nu permitea ca aceast! munc! s! fie f!cut! doar de câ iva speciali"ti de elit!.

Pân! la apari ia calculatoarelor, una din marile constrângeri ale criptografiei a fost capacitatea func ionarilor codori de a realiza transform!rile necesare, adeseori pe câmpul de lupt!, cu echipa-ment redus. O constrângere suplimentar! a fost dificultatea de comutare rapid! de la o metod! crip-tografic! la alta, deoarece aceasta implica reantrenarea unui num!r mare de oameni. Totu"i, perico-lul ca un func ionar codor s! fie capturat de c!tre inamic a f!cut s! devin! esen ial! posibilitatea de a schimba metoda criptografic! instantaneu, în caz de necesitate. Aceste cerin e antagoniste au dat na"tere modelului din fig. 8-2.

SEC. 8.# CRIPTOGRAFIA 649

Fig. 8-2. Modelul de criptare (pentru un cifru cu chei simetrice).

Mesajele ce trebuie criptate, cunoscute sub numele de text clar (eng.: plain text), sunt transfor-

mate printr-o func ie parametrizat! de o cheie (eng.: key). Rezultatul procesului de criptare, cunos-cut sub numele de text cifrat (eng.: ciphertext), este apoi transmis, adeseori prin curier sau radio. Presupunem c! inamicul, sau intrusul, ascult! "i copiaz! cu acurate e tot textul cifrat. Totu"i, spre deosebire de destinatarul la care trebuie s! ajung!, el nu "tie care este cheia de decriptare "i astfel nu poate decripta prea u"or textul cifrat. Uneori intrusul poate nu numai s! asculte canalul de comuni-ca ie (intrus pasiv), ci "i s! înregistreze mesajele "i s! le retransmit! mai târziu, s! injecteze propriile sale mesaje sau s! modifice mesajele legitime înainte ca ele s! fi fost preluate de receptor (intrus activ). Arta de a sparge cifruri se nume"te criptanaliz" (eng.: cryptanalysis). Arta de a sparge cifruri, denumit! criptanaliz" "i arta de a le inventa (criptografia) sunt cunoscute împreun! sub numele de criptologie (eng.: cryptology).

Adesea va fi util s! avem o nota ie pentru a pune în rela ie textul clar, textul cifrat "i cheile. Vom folosi C=EK(P) pentru a simboliza faptul c! prin criptarea textului clar P, folosind cheia K, rezult! textul cifrat C. Similar, P=DK(C) reprezint! decriptarea lui C pentru a ob ine din nou textul clar. Rezult! c!:

DK(EK(P))=P

Aceast! nota ie sugereaz! c! E "i D sunt doar ni"te func ii matematice, ceea ce sunt de altfel. Singura parte mai delicat! este aceea c! ambele sunt func ii cu doi parametrii iar noi am scris unul dintre parametri (cheia) ca indice, nu ca argument, pentru a face distinc ie între ea "i mesaj.

O regul! fundamental! a criptografiei este aceea c! trebuie presupus! cunoa"terea de c!tre orice criptanalist a metodelor utilizate pentru criptare "i decriptare. Cu alte cuvinte, criptanalistul "tie cum lucreaz! în detaliu metoda de criptare E "i de decriptare D din fig. 8-2. Cantitatea de efort necesar! pentru a inventa, testa "i instala o metod! nou!, ori de câte ori vechea metod! este compromis! ( sau este presupus a fi compromis! ), a f!cut întotdeauna nepractic! p!strarea secret! a algoritmului de criptare. A crede c! este secret! atunci când nu este face mai mult r!u decât bine.

Aici intr! în scen! cheia. Cheia const! dintr-un "ir (relativ) scurt care selecteaz! una dintre mai multe cript!ri posibile. În contrast cu metoda general!, care poate fi schimbat! doar o dat! la câ iva ani, cheia poate fi schimbat! oricât de des este nevoie. Astfel modelul nostru de baz! este stabil "i metoda general!, cunoscut! de toat! lumea, este parametrizat! cu o cheie secret! "i u"or de schim-

650 SECURITATEA RE ELELOR CAP. 8

bat. Ideea c! algoritmii sunt cunoscu i de criptanalist "i c! secretul const! exclusiv în cheie se nume"-te principiul lui Kerckhoff¸ denumit astfel dup! criptograful militar flamand Auguste Kerckhoff care l-a enun at prima oar! în #883 ( Kerckhoff, #883 ). Astfel c! avem:

Principiul lui Kerckhoff: To i algoritmii trebuie s! fie publici; numai cheile sunt secrete.

Caracterul nesecret al algoritmului nu poate fi subliniat suficient. Încercarea de a ine secret al-goritmul, cunoscut! în domeniu ca securitate prin obscuritate, nu func ioneaz! niciodat!. De ase-menea, prin publicarea algoritmului, criptograful prime"te consultan ! gratuit! de la un num!r mare de criptologi din mediul academic, ner!bd!tori s! sparg! sistemul pentru a putea publica articole care s! demonstreze cât de inteligen i sunt ei. Dac! mul i exper i au încercat s! sparg! algoritmul timp de 5 ani dup! publicarea lui "i nici unul nu a reu"it, probabil c! algoritmul este destul de solid.

Din moment ce adev!ratul secret este cheia, lungimea sa reprezint! un aspect foarte important de proiectare. S! consider!m o simpl! combina ie de seif. Principiul general este c! se introduc cifre în secven !. Oricine "tie aceasta, dar cheia este secret!. O lungime a cheii de dou! cifre înseamn! c! exist! #00 de posibilit! i. O lungime a cheii de trei cifre înseamn! #000 de posibilit! i "i o lungime a cheii de "ase cifre înseamn! un milion. Cu cât cheia este mai lung!, cu atât este mai mare volumul de munc" (eng.: work factor) pe care trebuie s!-l depun! criptanalistul. Volumul de munc! pentru a sparge sistemul prin c!utare exhaustiv! în spa iul cheilor este exponen ial în raport cu lungimea che-ii. Secretul provine din a avea un algoritm puternic (dar public) "i o cheie lung!. Pentru a-l împiedica pe fratele t!u mai mic s!- i citeasc! po"ta electronic!, sunt suficiente chei de 64 de bi i. Pentru folosi-rea uzual! în comer , trebuie folosi i cel pu in #28 de bi i. Pentru a p!stra la distan ! principalele guverne, sunt necesare chei de cel pu in 256 de bi i, preferabil mai mul i.

Din punctul de vedere al criptanalistului, problema criptanalizei are trei varia iuni principale. Când are la dispozi ie o cantitate de text cifrat "i nici un fel de text clar, el este confruntat cu proble-ma textului cifrat (eng.: ciphertext only problem). Criptogramele care apar la sec iunea de enigme a ziarelor pun acest tip de problem!. Când criptanalistul are câtva text clar "i textul criptat corespunz!-tor, problema este cunoscut! sub numele de problema textului clar cunoscut (eng.: known plaintext problem). În sfâr"it, atunci când criptanalistul are abilitatea de a cripta buc! i de text clar la propria sa alegere, avem de-a face cu problema textului clar ales (eng.: chosen plaintext problem). Cripto-gramele din ziare ar putea fi sparte trivial dac! criptanalistului i s-ar permite s! pun! întreb!ri de genul: Care este criptarea pentru ABCDEFGHIJKL?

Novicii în domeniul criptografiei presupun adeseori c! dac! un cifru poate rezista unui atac de tip text cifrat (eng.: ciphertext only attack), el este sigur. Aceast! presupunere este foarte naiv!. În multe cazuri criptanalistul poate ghici corect unele p!r i din textul clar. De exemplu, primul lucru pe care multe sisteme îl afi"eaz! atunci când sunt accesate este login: . Echipat cu câteva perechi de text clar - text criptat potrivit, sarcina criptanalistului devine mult mai u"oar!. Pentru a ob ine securitatea, criptograful trebuie s! fie prudent "i s! se asigure c! sistemul este rezistent, chiar dac! inamicul s!u poate cripta cantit! i arbitrare de text clar ales.

Metodele de criptare au fost istoric împ!r ite în dou! categorii: cifruri cu substitu ie "i cifruri cu transpozi ie. Vom studia acum pe scurt pe fiecare dintre aceste cifruri, ca informa ie fundamental! pentru în elegerea criptografiei moderne.

SEC. 8.# CRIPTOGRAFIA 65!

8.!.2 Cifrurile cu substitu#ie

Într-un cifru cu substitu#ie fiecare liter! sau grup de litere este înlocuit pentru a-l deghiza, cu alt! liter! sau grup de litere. Unul dintre cele mai vechi cifruri cunoscute este Cifrul lui Caesar, atribuit lui Julius Caesar. În aceast! metod!, a devine D, b devine E, c devine F, ..., z devine C. De exemplu, cuvântul attack devine DWWDFN. În exemple textul clar va fi scris cu litere mici, iar textul cifrat va fi scris cu majuscule.

O u"oar! generalizare a cifrului lui Caesar permite alfabetului textului cifrat s! fie deplasat cu k litere, în loc de a fi deplasat întotdeauna cu 3. În acest caz, k devine o cheie pentru metoda general! a alfabetelor deplasate circular. Cifrul Caesar este posibil s! îl fi p!c!lit pe Pompei, dar de atunci el nu mai p!c!le"te pe nimeni.

Urm!toarea îmbun!t! ire este de a stabili o coresponden ! pentru fiecare simbol din textul clar, pentru simplitate s! spunem cele 26 de litere, cu o alt! liter!. De exemplu:

textul clar: a b c d e f g h i j k l m n o p q r s y u v w x y z textul cifrat: Q W E R T Y U I O P A S D F G H J K L Z X C V B N M

Sistemul general de substituire simbol-cu-simbol este denumit substitu#ie monoalfabetic" (eng.: monoalphabetic substitution), cheia fiind "irul de 26 de litere corespunzând întregului alfabet. Pen-tru cheia anterioar!, textul clar attack va fi transformat în texul cifrat QZZQEA.

La prima vedere, acesta ar putea fi considerat un sistem sigur deoarece, de"i criptanalistul cu-noa"te sistemul general (substitu ie liter! cu liter!), el nu cunoa"te care dintre cele 26! 4 #026 chei posibile este folosit!. Spre deosebire de cifrul lui Caesar, încercarea tuturor cheilor nu este o abor-dare prea promi !toare. Chiar "i la # ns per solu ie, unui calculator i-ar trebui #0#0 ani pentru a încer-ca toate cheile.

Totu"i, fiind dat! o cantitate surprinz!tor de mic! de text cifrat, cifrul poate fi spart cu u"urin !. Atacurile de baz! folosesc ca informa ie propriet! ile statistice ale limbajelor naturale. În englez!, de exemplu, e este cea mai frecvent folosit! liter!, urmat! de t, o, a, n, i etc. Cele mai comune combina- ii de dou! litere, sau digrame (eng.: digrams), sunt th, in, er, re "i an. Cele mai comune combina ii de trei litere, sau trigrame (eng.: trigrams), sunt the, ing, and "i ion.

Un criptanalist care încearc! s! sparg! un cifru monoalfabetic va începe prin a num!ra frecven e-le relative ale tuturor literelor din textul cifrat. Dup! aceea el trebuie s! încerce s! asocieze cea mai frecvent! liter! cu e, urm!toarea cu t. Apoi el va c!uta trigramele, pentru a o g!si pe cea mai frecven-t! cu forma tXe, care indic! cu t!rie c! X este h. Similar, dac! apare frecvent "ablonul thYt, probabil c! Y îl înlocuie"te pe a. Cu aceast! informa ie, el poate c!uta apari iile frecvente ale trigramelor de forma aZW, care sunt cel mai probabil, and. Prin astfel de presupuneri f!cute asupra celor mai co-mune litere, digrame, trigrame "i cu ceva cuno"tin e despre "abloanele asem!n!toare de vocale "i consoane, criptanalistul construie"te liter! cu liter! o variant! de text clar.

O alt! abordare este aceea de a ghici un cuvânt sau o expresie probabil!. De exemplu, consi-dera i urm!torul text cifrat provenind de la o firm! de contabilitate (împ!r it în blocuri de câte cinci caractere):

CTBMN BYCTC BTJDS QXBNS GSTJC BTSWX CTQTZ CQVUI QJSGS TJQZZ MNQJS VLNSZ VSZJU JDSTS JQUUS JUBXJ DSKSU JSNTK BGAQJ ZBGYQ TLCTZ BNYBN QJSW

652 SECURITATEA RE ELELOR CAP. 8

Un cuvânt probabil într-un mesaj provenind de la o firm! de contabilitate este financial (rom.: fi-nanciar). Folosind propriile noastre cuno"tin e, cum ar fi faptul c! financial are o liter! care se repe-t! (i), cu alte patru litere între apari iile ei, vom c!uta în textul cifrat litere repetate aflate la aceast! distan !. G!sim #2 potriviri pe pozi iile 6, #5, 27, 3#, 42, 48, 56, 66, 70, 7#, 76 "i 82. Totu"i, doar dou! dintre acestea, 3# "i 42 au urm!toarea liter! (cea corespunzând lui n în textul clar) repetat! în locul corespunz!tor. Din acestea dou!, doar 3# are un a corect pozi ionat, deci "tim c! financial începe la pozi ia 30. Din acest moment, deducerea cheii este simpl! folosind statisticile de frecven ! a literelor în textele engleze"ti.

8.!.3 Cifrurile cu transpozi#ie

Cifrurile cu substitu ie p!streaz! ordinea simbolurilor din textul clar, dar le deghizeaz!. Spre de-osebire de acestea, cifrurile cu transpozi#ie (eng.: transposition ciphers) reordoneaz! literele, dar nu le deghizeaz!. Fig. 8-3 descrie un cifru cu transpozi ie simplu, transpozi ia pe coloane. Cifrul are drept cheie un cuvânt sau o expresie ce nu con ine litere repetate. În acest exemplu cheia este MEGABUCK. Scopul cheii este s! numeroteze coloanele, coloana # fiind sub litera din cheie cea mai apropiat! de începutul alfabetului ".a.m.d. Textul clar este scris orizontal, pe rânduri. Textul cifrat este citit pe coloane, începând cu coloana al c!rui num!r de sub liter! este mai mic.

Fig. 8-3. Un cifru cu transpozi ie.

Pentru a sparge un cifru cu transpozi ie, criptanalistul trebuie mai întâi s! fie sigur c! are de-a fa-ce cu un cifru cu transpozi ie. Analizând frecven a de apari ie pentru E, T, A, O, I, N etc., este u"or de v!zut dac! ele se încadreaz! în "ablonul obi"nuit pentru text clar. Dac! da, cifrul este sigur un cifru cu transpozi ie, deoarece într-un astfel de cifru, fiecare liter! este reprezentat! de ea îns!"i, p!strând distribu ia frecven elor.

Urm!torul pas care trebuie f!cut este s! se emit! o presupunere asupra num!rului de coloane. În multe cazuri un cuvânt sau o expresie probabil! poate fi ghicit! din contextul mesajului. De exemplu, s! presupunem c! un criptanalist b!nuie"te c! expresia în text clar milliondollars apare pe undeva prin mesaj. Se observ! c! în urma împachet!rii acestei expresii, în textul cifrat apar digrame-le MO, IL, LL, LA, IR "i OS. Litera O din textul cifrat urmeaz! dup! litera M din acela"i text (adic! sunt vertical adiacente în coloana 4) deoarece ele sunt separate în expresia probabil! de o distan ! egal! cu lungimea cheii. Dac! a fost folosit! o cheie de lungime 7, în locul acestora ar fi trebuit s! apar! digramele MD, IO, LL, LL, IA, OR "i NS. De fapt, pentru fiecare lungime a cheii, în textul cifrat sunt produse seturi diferite de digrame. Prin urm!rirea diferitelor posibilit! i, criptanalistul poate determina cu u"urin ! lungimea cheii.

SEC. 8.# CRIPTOGRAFIA 653

Pasul care mai r!mâne este ordonarea coloanelor. Când num!rul de coloane, k, este mic, poate fi examinat! fiecare dintre cele k(k-") perechi de coloane pentru a vedea dac! diagrama de frecven e se potrive"te diagramei pentru textul clar în englez!. Perechea cu cea mai bun! potrivire se presupu-ne c! este corect pozi ionat!. Acum fiecare coloan! ce a r!mas este încercat! a fi succesorul acestei perechi. Coloana pentru care frecven a digramelor "i trigramelor se potrive"te cel mai bine se presu-pune a fi corect!. Coloana precedent! este g!sit! în acela"i mod. Se continu! întregul proces pân! când o ordine poten ial! este descoperit!. Exist! "anse ca textul clar s! devin! recognoscibil din acest stadiu (de exemplu, dac! apare milloin, este clar ce erori exist! în el).

Anumite cifruri cu transpozi ie accept! un bloc de lungime fix! la intrare "i produc un bloc de lungime fix! la ie"ire. Aceste cifruri pot fi descrise complet dându-se doar o list! în care s! se preci-zeze ordinea în care caracterele vor fi trimise la ie"ire. De exemplu, cifrul din fig. 8-3 poate fi v!zut ca un cifru bloc pe 64 de caractere. Ie"irea sa este 4, #2, 20, 28, 36, 44, 52, 60, 5, #3, . . . , 62. Cu alte cuvinte, cel de-al patrulea caracter de la intrare, a, este primul ce va fi trimis la ie"ire, urmat de al doisprezecelea, f, ".a.m.d.

8.!.4 Chei acoperitoare

Construirea unui cifru imposibil de spart este de fapt destul de simpl!; tehnica este cunoscut! de decenii. În primul rând alege i un "ir aleatoriu de bi i pe post de cheie. Apoi converti i textul clar într-un "ir de bi i, de exemplu folosind reprezentarea ASCII. În final, calcula i XOR (SAU eXclusiv) între cele dou! "iruri, bit cu bit. Textul cifrat rezultat nu poate fi spart, deoarece pentru un e"antion suficient de mare de text cifrat, fiecare liter! va ap!rea la fel de des, de asemenea "i orice digram! sau trigram!. Aceast! metod!, cunoscut! sub numele de metoda cheilor acoperitoare (eng.: one-time pad) este imun! la toate atacurile din prezent "i din viitor, indiferent de puterea de calcul pe care o are la dispozi ie intrusul. Motivul provine din teoria informa iei: pur "i simplu nu exist! nici o informa ie în mesaj deoarece orice text clar posibil cu o lungime dat! este la fel de probabil.

Un exemplu de folosire al cheilor acoperitoare este prezentat în fig. 8-4. Mai întâi, mesajul #, „ I love you.” (rom.: „Te iubesc”) este convertit în cod ASCII pe 7 bi i. Apoi o cheie acoperitoare, cheia acoperitoare #, este aleas! "i combinat! XOR cu mesajul pentru a ob ine textul cifrat. Un criptanalist ar putea s! încerce toate cheile acoperitoare posibile pentru a vedea ce text clar rezult! pentru fiecare. De exemplu, cheia acoperitoare 2 din figur! poate fi testat!, rezultând textul în clar 2, „Elvis lives” (rom.: „Elvis tr!ie"te”) care ar putea s! fie sau s! nu fie plauzibil (un subiect în afara domeniului acestei c!r i). De fapt, pentru fiecare text clar de ## caractere ASCII, exist! o cheie aco-peritoare care îl genereaz!. Asta înseamn! ceea vrem s! spunem prin afirma ia c! nu exist! nici o informa ie în mesaj: se poate ob ine din el orice mesaj cu lungimea corespunz!toare.

Fig. 8-4. Folosirea unei chei acoperitoare pentru criptare "i posibilitatea de a ob ine orice text posibil din textul cifrat prin folosirea altei chei acoperitoare.

654 SECURITATEA RE ELELOR CAP. 8

Cheile acoperitoare sunt extraordinare în teorie, dar au numeroase dezavantaje în practic!. Unul dintre ele este faptul c! nu poate fi memorat! cheia, astfel încât atât transmi !torul cât "i receptorul trebuie s! poarte cu ei o copie scris! a acesteia. Dac! vreunul dintre ei este capturat, evident c! exis-ten a cheilor scrise nu este de dorit. În plus, cantitatea total! de date care poate fi transmis! este limi-tat! de dimensiunea cheii disponibile. Dac! spionul d! lovitura "i descoper! o comoar! de date, el nu va fi capabil s! le transmit! înapoi la cartierul general deoarece cheia a fost epuizat!. O alt! problem! este sensibilitatea metodei la pierderea sau inserarea de caractere. Dac! transmi !torul "i receptorul pierd la un moment dat sincronizarea, toate datele de aici încolo vor ap!rea ca fiind eronate.

Odat! cu apari ia calculatoarelor, metoda cheilor acoperitoare poate deveni practic! pentru anumite aplica ii. Sursa unei chei poate fi un DVD special care con ine câ iva gigabi i de informa ie "i care, transportat într-o cutie de DVD pentru filme, preceda i de câteva minute de imagini, nu ar fi nici m!car suspect. Desigur, la viteza re elei de ordinul gigabi ilor, a trebui s! introduci un nou DVD la fiecare 5 secunde poate deveni obositor. Iar DVD-urile trebuie duse personal de la transmi !tor la receptor înainte de transmiterea oric!rui mesaj, ceea ce reduce mult valoarea lor practic!.

Criptografia cuantic" Interesant este c! ar putea exista o solu ie la problema transmiterii cheilor acoperitoare prin re-

ea, "i ea provine dintr-o surs! nea"teptat!: mecanica cuantic!. Ideea este înc! experimental!, dar testele ini iale sunt promi !toare. Dac! poate fi perfec ionat! "i eficientizat!, teoretic toat! cripto-grafia va fi f!cut! folosind chei acoperitoare dovedit fiind c! acestea sunt sigure. În continuare vom explica pe scurt cum func ioneaz! aceast! metod!, criptografia cuantic". În particular, vom descrie un protocol care se nume"te BB84 dup! autorii s!i "i anul public!rii (Bennet "i Brassard, #984).

O utilizatoare, Alice, dore"te s! stabileasc! o cheie acoperitoare cu un al doilea utilizator, Bob. Alice "i Bob sunt denumi i protagoni"ti, caracterele principale în povestea noastr!. De exemplu, Bob este un bancher cu care Alice ar dori s! fac! afaceri. Numele „Alice” "i „Bob” au fost folosite pentru protagoni"tii principali în aproape fiecare studiu "i lucrare despre criptografie în ultima decad!. Criptografii iubesc tradi ia. Dac! am fi folosit „Andy” "i „Barbara” pentru protagoni"tii principali, nimeni nu ar fi crezut nimic din acest capitol. Deci, a"a s! fie.

Dac! Alice "i Bob ar putea stabili o cheie acoperitoare, ar putea s! o foloseasc! pentru a comu-nica sigur. Întrebarea este: Cum pot ei s! o stabileasc! f!r! s! schimbe între ei DVD-uri? Putem presupune c! Alice "i Bob sunt la capetele opuse ale unei fibre optice prin care ei pot trimite "i primi pulsuri de lumin!. Cu toate acestea, o intrus! agitat!, Trudy, poate t!ia fibra pentru a introduce un dispozitiv de ascultare activ. Trudy poate citi to i bi ii din ambele direc ii. Ea poate de asemenea s! trimit! mesaje false în ambele direc ii. Situa ia ar p!rea f!r! speran ! pentru Alice "i Bob, dar crip-tografia cuantic! poate pune subiectul într-o nou! lumin!.

Criptografia cuantic! este bazat! pe faptul c! lumina circul! în mici pachete numite fotoni, care au ni"te propriet! i specifice. În plus, lumina poate fi polarizat! prin trecerea ei printr-un filtru pola-rizator, un fapt bine cunoscut, atât de purt!torii de ochelari de soare cât "i de fotografi. Dac! o raz! de lumin! (adic! un flux de fotoni) trece printr-un filtru polarizator, to i fotonii care ies din el vor fi polariza i pe direc ia axului filtrului (adic! pe vertical!). Dac! raza va fi trecut! acum printr-un al doilea filtru polarizator, intensitatea luminii care iese din al doilea filtru va fi propor ional! cu r!d!-cina cosinusului unghiului dintre cele dou! axe. Dac! axele sunt perpendiculare, nu va trece nici un foton. Nu conteaz! orientarea absolut! ale celor dou! filtre; conteaz! doar unghiul dintre axele lor.

Pentru a genera o cheie acoperitoare, Alice are nevoie de dou! seturi de filtre polarizatoare. Primul set const! dintr-un filtru vertical "i un filtru orizontal. Aceast! alegere se nume"te baz" recti-

SEC. 8.# CRIPTOGRAFIA 655

liniar". O baz! (la plural: baze) este doar un sistem de coordonate. Al doilea set de filtre este simi-lar, cu excep ia faptului c! sunt rotite cu 45 de grade, astfel c! un filtru este de la stânga jos la dreap-ta sus, iar cel!lalt filtru este de la stânga sus la dreapta jos. Aceast! alegere se nume"te baz" diagona-l". Deci Alice are dou! baze, pe care le poate introduce în raza de lumin! oricând dore"te. În realita-te, Alice nu are patru filtre separate, ci un cristal a c!rui polarizare poate fi comutat! electric cu o vitez! foarte mare la oricare dintre cele patru direc ii permise. Bob are acela"i echipament ca "i Ali-ce. Faptul c! Alice "i Bob au fiecare câte dou! baze disponibile este esen ial în criptografia cuantic!.

Pentru fiecare baz!, Alice desemneaz! o direc ie ca 0 "i cealalt! ca #. În exemplul prezentat mai jos, vom presupune c! ea alege direc ia vertical! ca 0 "i cea orizontal! ca fiind #. Independent, ea alege de asemenea diagonala stânga-jos dreapta-sus ca 0 "i stânga-sus dreapta-jos ca #. Ea trimite aceste op iuni lui Bob în text necriptat.

Acum Alice alege o cheie acoperitoare, bazat! de exemplu pe un generator de numere aleatoare (un subiect foarte complex în sine). Ea o transfer! bit cu bit lui Bob, alegând aleator una dintre cele dou! baze disponibile pentru fiecare bit. Pentru a trimite un bit, tunul de fotoni emite un foton pola-rizat corespunz!tor pentru baza pe care o folose"te pentru bitul respectiv. De exemplu, ea ar putea s! aleag! bazele diagonal!, rectiliniar!, rectiliniar!, diagonal!, rectiliniar!, etc. Pentru a trimite cheia sa acoperitoare #00###00#0#00##0 cu aceste baze, ea va trimite fotonii din fig. 8-5(a). Fiind date cheia acoperitoare "i secven a bazelor, polarizarea folosit! pentru fiecare bit este unic determinat!. Bi ii trimi"i câte un foton la un moment dat se numesc qubi#i.

Fig. 8-5. Un exemplu de criptografie cuantic!

656 SECURITATEA RE ELELOR CAP. 8

Bob nu "tie ce baze s! foloseasc!, prin urmare pentru fiecare foton sosit, alege o baz! aleatoare "i o folose"te, dup! cum se poate vedea în fig. 8-5(b). Dac! alege baza corect!, el va ob ine bitul corect. Dac! alege baza incorect!, el ob ine un bit aleator deoarece dac! un foton trece printr-un filtru polari-zat la 45 de grade fa ! de polarizarea proprie, sare aleator la polarizarea filtrului sau sare cu o probabi-litate egal!, la o polarizare perpendicular! cu cea a filtrului. Aceast! proprietate a fotonilor este fun-damental! pentru mecanica cuantic!. Prin urmare, câ iva dintre bi i vor fi corec i iar câ iva vor fi alea-tori, dar Bob nu "tie care sunt unii "i care sunt ceilal i. Rezultatele lui Bob sunt prezentate în fig. 8-5(c).

Dar cum afl! Bob ce baze a ghicit corect "i pe care le-a gre"it? Pur "i simplu, el îi va spune lui Ali-ce în text clar ce baz! a folosit pentru fiecare bit, iar ea îi va spune care sunt corecte "i care sunt gre"i-te tot în clar, dup! cum este ar!tat în fig. 8-5(d). Din aceast! informa ie, fiecare dintre ei poate con-strui un "ir de bi i din presupunerile corecte, dup! cum arat! fig. 8-5(e). În medie, acest "ir va fi ju-m!tate din lungimea "irului ini ial de bi i, dar deoarece ambele p!r i îl cunosc, îl pot folosi pe post de cheie acoperitoare. Alice trebuie s! trimit! un "ir pu in mai mare decât dublul lungimii dorite pentru ca ea "i Bob s! ob in! o cheie acoperitoare cu lungimea dorit!. Problem! rezolvat!!

Dar sta i un pic! Am uitat de Trudy. S! presupunem c! ea este curioas! s! "tie ce are Alice de spus "i taie fibra, inserând propriul ei detector "i transmi !tor. Din nefericire pentru ea, nici ea nu "tie ce baz! s! foloseasc! pentru fiecare foton. Tot ce poate s! fac! este s! aleag! aleatoriu o baz! pentru fiecare foton, cum a f!cut "i Bob. Un exemplu cu alegerile ei este prezentat în fig. 8-5(f). Atunci când Bob raporteaz! mai târziu (în text clar) ce baze a folosit "i Alice îi spune (în text clar) care dintre ele sunt corecte, Trudy va "ti ce a în eles bine "i ce nu a în eles bine. În fig. 8-5 ea a nime-rit bine bi ii 0, #, 2, 3, 4, 6, 8, #2 "i #3. Dar ea "tie din replica lui Alice c! doar bi ii #, 3, 7, 8, #0, ##, #2 "i #4 fac parte din cheia acoperitoare. Pentru patru dintre ace"ti bi i ( #, 3, 8, #2 ) ea a ghicit corect "i a capturat bitul corect . Ea nu a ghicit ceilal i patru ( 7, #0, ## "i #4 ) bi i "i nu cunoa"te bitul transmis. Prin urmare, Bob "tie c! cheia acoperitoare începe cu 0#0##00#, din fig. 8-5(e) dar tot ce are Trudy este 0#?#??0?, din fig.8-5(g).

Bineîn eles c! Alice "i Bob sunt con"tien i c! Trudy ar fi putut captura o parte din cheia lor acoperi-toare, astfel c! ar dori s! minimizeze informa ia de inut! de Trudy. Ei pot face acest lucru prin efectua-rea unei transform!ri asupra acestei chei. De exemplu, ei ar putea diviza cheia acoperitoare în blocuri de câte #024 bi i, ar putea ridica la p!trat fiecare bloc pentru a forma un num!r de 2048 de bi i "i ar putea folosi concatenarea acestor numere de 2048 de bi i ca cheie acoperitoare. Având cuno"tin e par- iale despre "irul de bi i transmis, Trudy nu are nici un mod de a genera p!tratul lui "i deci nu dispune de nici o informa ie. Transformarea din cheia acoperitoare original! într-una diferit! care reduce cu-no"tin ele lui Trudy se nume"te amplificarea confiden#ialit"#ii. În practic!, în locul ridic!rii la p!trat sunt folosite transform!ri complexe în care fiecare bit de ie"ire depinde de fiecare bit de intrare.

Biata Trudy. Nu numai c! nu are nici o idee despre cheia acoperitoare, dar nici prezen a ei nu es-te un secret. Ea trebuie s! redirecteze fiecare bit recep ionat de la Alice pentru Bob pentru a-l p!c!li "i a-l face s! cread! c! vorbe"te cu Alice. Problema este c! tot ce poate ea s! fac! este s! trimit! qubitul pe care l-a recep ionat, folosind polarizarea pe care a folosit-o pentru a-l recep iona "i în jum!tate din cazuri ea va gre"i, provocând multe erori în cheia acoperitoare a lui Bob.

Când în final Alice va începe s! trimit! datele, ea le va codifica folosind un puternic cod preven-tiv corector de erori. Din punctul lui Bob de vedere, o eroare de # bit în cheia acoperitoare este echi-valent! cu o eroare de transmisie de # bit. În ambele cazuri, el va ob ine un bit eronat. Dac! exist! suficient cod preventiv corector de erori, el va putea recupera mesajul original în pofida tuturor ero-rilor, dar va putea foarte u"or s! numere câte erori au fost corectate. Dac! acest num!r este cu mult mai mare decât rata prev!zut! de erori a echipamentului, el va "ti c! Trudy a interceptat linia "i va

SEC. 8.# CRIPTOGRAFIA 657

putea s! ac ioneze în consecin ! (de ex., s!-i spun! lui Alice s! comute pe un canal radio, s! cheme poli ia, etc.). Dac! Trudy ar dispune de o metod! de a clona un foton pentru a avea un foton pe care s!-l inspecteze "i un foton identic pe care s!-l trimit! lui Bob, ea ar putea evita detec ia, dar în pre-zent nu este cunoscut! nici o metod! de a clona perfect un foton. Dar chiar dac! Trudy ar putea clona fotoni, asta nu ar reduce valoarea criptografiei cuantice în stabilirea cheilor acoperitoare.

De"i a fost demonstrat c! criptografia cuantic! poate opera pe distan e de 60 km de fibr!, echi-pamentul este complex "i scump. Totu"i, ideea este promi !toare. Pentru mai multe informa ii de-spre criptografia cuantic!, a se vedea (Mullins, 2002).

8.!.5 Dou" principii criptografice fundamentale

De"i în paginile ce urmeaz! vom studia diferite sisteme criptografice, pentru toate acestea exist! dou! principii de baz! a c!ror în elegere este important!.

Redundan#a Primul principiu este acela c! toate mesajele criptate trebuie s! con in! redundan !, adic! in-

forma ie ce nu este necesar! pentru în elegerea mesajului. Un exemplu poate clarifica de ce este nevoie de aceasta. S! consider!m o companie ce se ocup! cu comenzile prin po"t! The Couch Potato (TCP), cu 60000 de produse. Crezând c! vor fi foarte eficien i, programatorii de la TCP au decis c! mesajele de comand! trebuie s! con in! un nume de client pe #6 octe i, urmat de un câmp de date pe 3 octe i (# octet pentru cantitate "i 2 octe i pentru num!rul produsului). Ultimii 3 octe i vor fi cripta i folosind o cheie foarte lung!, cunoscut! doar de client "i de TCP.

La prima vedere sistemul pare sigur "i, într-un anumit sens, chiar este, deoarece intru"ii pasivi nu pot decripta mesajele. Din nefericire, exist! o sl!biciune fatal! a acestui sistem, care îl face inutiliza-bil. S! presupunem c! o func ionar! recent concediat! vrea s! se r!zbune pe TCP pentru c! a dat-o afar!. Chiar înainte de a pleca, ea ia lista clien ilor cu ea. Ea lucreaz! în timpul nop ii "i scrie un pro-gram care genereaz! comenzi fictive folosind nume de clien i reali. Deoarece nu posed! lista cheilor, ea pune numere aleatorii în ultimii 3 octe i "i trimite sute de comenzi la TCP.

Când sosesc aceste mesaje, calculatorul TCP folose"te numele clientului pentru a localiza cheia "i a decripta mesajul. Din nefericire pentru TCP, aproape fiecare mesaj de 3 octe i este valid, iar calcu-latorul începe s! tip!reasc! instruc iunile trimise. De"i pare ciudat ca un client s! comande 837 de seturi de leag!ne pentru copii sau 540 de cutii cu nisip, calculatorul poate crede c! acesta pl!nuie"te s! deschid! o mul ime de locuri de joac!. În acest mod, un intrus activ (ex-func ionara) poate cauza probleme imense, chiar dac! ea nu poate în elege mesajele pe care le genereaz! calculatorul ei.

Problema poate fi rezolvat! prin ad!ugarea unor informa ii redundante tuturor mesajelor. De exemplu, dac! mesajele de comand! sunt extinse la #2 octe i, dintre care primii 9 trebuie s! fie zero-uri, atunci acest atac nu ar mai fi func ional, deoarece ex-func ionara nu mai poate genera un "ir mare de mesaje valide. Morala povestirii este aceea c! toate mesajele trebuie s! con in! o cantitate considerabil! de informa ie redundant!, astfel încât intru"ii activi s! nu poat! trimite mesaje aleato-rii care s! fie interpretate ca mesaje valide.

Totu"i, ad!ugarea informa iei redundante faciliteaz! spargerea mesajelor de c!tre criptanali"ti. S! presupunem c! afacerea de comenzi prin po"t! este foarte competitiv! "i competitorul principal al companiei The Coach Potato, The Sofa Tuber, ar vrea tare mult s! "tie câte cutii de nisip vinde TCP. În consecin !, ei ascult! linia telefonic! a TCP. În schema original!, cu mesaje de 3 octe i, crip-tanaliza era aproape imposibil!, deoarece dup! ghicirea unei chei, criptanalistul nu avea cum s!-"i

658 SECURITATEA RE ELELOR CAP. 8

dea seama dac! a ghicit corect. În fond, aproape orice mesaj este tehnic corect. Cu noua schem! de #2 octe i, este u"or pentru criptanalist s! disting! un mesaj valid de unul invalid. Astfel c! avem:

Principiul criptografic ": Mesajele trebuie s! con in! redundan !.

Cu alte cuvinte, dup! decriptarea unui mesaj, receptorul trebuie s! poat! distinge dac! este valid printr-o simpl! inspectarea a acestuia "i prin execu ia unui calcul simplu. Aceast! redundan ! este necesar! pentru a împiedica intru"ii activi s! în"ele receptorul trimi ându-i un mesaj fals "i determinându-l s! ac ioneze în numele mesajului decriptat. Cu toate acestea, aceea"i redundan ! faciliteaz! intru"ilor pasivi spargerea sistemului, deci aici apar unele probleme. Mai mult decât atât, redundan a nu trebuie niciodat! s! fie folosit! sub forma a n zerouri la începutul sau sfâr"itul unui mesaj, deoarece trecerea unor astfel de mesaje prin anumi i algoritmi criptografici d! rezultate pre-dictibile, simplificând criptanaliza. Un cod CRC polinomial ar fi o alegere mult mai bun! decât un "ir de 0 deoarece receptorul îl poate verifica u"or, dar pentru criptanalist el reprezint! o munc! în plus. $i mai bun! ar fi folosirea unei dispersii criptografice (eng.: cryptographic hash), un concept pe care-l vom explora mai târziu.

S! ne întoarcem un moment la criptografia cuantic! "i s! vedem care este rolul redundan ei aco-lo. Datorit! intercept!rii fotonilor de c!tre Trudy, câ iva dintre bi ii cheii acoperitoare a lui Bob vor fi erona i. Bob are nevoie de redundan ! în mesajele primite pentru a determina faptul c! exist! erori. O form! foarte primitiv! de redundan ! este transmiterea mesajului de dou! ori. Dac! cele dou! copii nu sunt identice, Bob "tie c! fie fibra optic! are foarte multe zgomote, fie cineva interfe-reaz! cu transmisia. Bineîn eles c! trimiterea de dou! ori a fiec!rui lucru este extrem de ineficient: o metod! mult mai eficient! de a detecta "i corecta erorile este folosirea unui cod Hamming sau Reed-Solomon. Dar trebuie s! fie clar c! o anumit! redundan ! este necesar! pentru a putea distin-ge între un mesaj valid "i unul invalid, mai ales în prezen a unui intrus activ.

Prospe#imea Cel de-al doilea principiu criptografic este acela c! trebuie luate anumite m!suri pentru ne asigu-

ra c! fiecare mesaj primit poate fi verificat c! este proasp!t, adic! a fost trimis foarte recent. Aceast! m!sur! este necesar! pentru a împiedica intru"ii activi s! retransmit! mesaje mai vechi. Dac! nu se iau nici un fel de astfel de m!suri, ex-func ionara noastr! ar putea asculta linia telefonic! a TCP "i ar putea retransmite mesajele valide trimise anterior. Reformulând aceast! idee ob inem:

Principiul criptografic 2: Este necesar! o metod! pentru a dejuca atacurile prin replicarea mesajelor

O astfel de m!sur! este de a include în fiecare mesaj o amprent! de timp valid! doar pentru, s! spunem, #0 secunde. Receptorul trebuie doar s! p!streze mesajele primite în ultimele #0 secunde, pentru a compara mesajele nou sosite cu anterioarele "i pentru a filtra duplicatele. Mesajele mai vechi decât #0 secunde pot fi aruncate, deoarece orice replic! a lor trimis! mai târziu de #0 secunde va fi refuzat! ca fiind prea veche. Alte m!suri în afara amprentelor de timp vor fi discutate mai târziu.

8.2 ALGORITMI CU CHEIE SECRET$

Criptografia modern! utilizeaz! acelea"i idei de baz! ca "i criptografia tradi ional! (transpozi ia "i substitu ia) dar accentul este diferit. Tradi ional, criptografii foloseau algoritmi simpli. În zilele

SEC. 8.2 ALGORITMI CU CHEIE SECRET% 659

noastre este adev!rat contrariul: obiectivul este de a face algoritmii de criptare atât de complec"i "i ireversibili, încât, chiar dac! un criptanalist achizi ioneaz! cantit! i imense de text cifrat la alegerea sa, el nu poate face nimic cu el f!r! a avea cheia.

Prima clas! de algoritmi de criptare pe care o vom studia în acest capitol se numesc algoritmi cu cheie secret" (eng.: symmetric-key algorithms) pentru c! folosesc aceea"i cheie pentru criptare "i decriptare. Fig. 8-2 ilustreaz! folosirea unui algoritm cu cheie secret!. În particular, ne vom concen-tra asupra cifrurilor bloc, care primesc la intrare un bloc de n bi i de text clar "i îl transform! folosind cheia într-un bloc de text cifrat de n bi i.

Algoritmii criptografici pot fi implementa i fie în hardware (pentru vitez!) sau în software (pen-tru flexibilitate). De"i cea mai mare parte a acestei lucr!ri trateaz! algoritmii "i protocoalele, care sunt independente de implementarea efectiv!, ar putea fi interesante câteva cuvinte despre construi-rea de hardware pentru criptare. Transpozi iile "i substitu iile pot fi implementate cu circuite simple. Fig. 8-6(a) prezint! un dispozitiv, cunoscut sub numele de cutie P (P vine de la permutare), folosit pentru a efectua o transpozi ie asupra unei intr!ri de 8 bi i. Dac! cei 8 bi i sunt selecta i s! fie nota i de sus în jos cu 0#234567, ie"irea acestei cutii P particulare este 3607#245. Printr-o cablare intern! corespunz!toare, o cutie P poate fi construit! s! efectueze orice transpozi ie "i s! o fac! practic cu viteza luminii.

Fig. 8-6. Elemente de baz! ale cifrurilor produs. (a) Cutie P. (b) Cutie S. (c) Produs.

Substitu iile sunt realizate de cutiile S, dup! cum este ar!tat în fig. 8-6(b). În acest exemplu este

introdus un text clar de 3 bi i, iar la ie"ire este furnizat un text cifrat pe 3 bi i. Intrarea de 3 bi i selec-teaz! una dintre cele opt linii ce ies din primul nivel "i o pozi ioneaz! pe #; toate celelalte linii sunt 0. Cel de-al doilea nivel este o cutie P. Ce de-al treilea nivel codific! din nou în binar linia selectat! la intrare. Cu cablajul ar!tat, dac! opt numere scrise în octal 0#234567 ar fi fost introduse unul dup! cel!lalt, secven a de ie"ire ar fi 245067#3. Cu alte cuvinte, 0 a fost înlocuit cu 2, # a fost înlocuit cu 4 etc. Din nou, prin cablarea corespunz!toare a cutiei P în interiorul cutiei S, poate fi realizat! orice substitu ie. De altfel, un astfel de dispozitiv poate fi construit în hardware "i poate atinge viteze foar-te mari deoarece codificatorul "i decodificatorul au doar una sau dou! întârzieri de por i logice (sub o nanosecund!) iar timpul de propagare prin cutia P poate fi mult mai mic decât o picosecund!.

Puterea efectiv! a acestor elemente de baz! devine vizibil! doar atunci când conect!m în cascad! o serie întreag! de cutii pentru a forma un cifru produs, dup! cum este ar!tat în fig. 8-6(c). În acest exemplu, #2 linii de intrare au fost transpuse (adic! permutate) de primul nivel. Teoretic, ar fi posibil s! avem la doilea nivel o cutie S care s! pun! în coresponden ! un num!r de #2 bi i cu alt num!r de #2 bi i. Totu"i, un astfel de dispozitiv ar necesita 2#2=4096 cabluri încruci"ate la nivelul s!u din mij-loc. În schimb, intrarea este împ!r it! în patru grupuri de 3 bi i, fiecare fiind substituit independent de celelalte. Cu toate c! aceast! metod! este mai pu in general!, ea este înc! puternic!. Prin inclu-

660 SECURITATEA RE ELELOR CAP. 8

derea unui num!r suficient de mare de niveluri în cifrul produs, ie"irea poate deveni o func ie ex-trem de complicat! depinzând de intrare.

Cifrurile produs care opereaz! asupra intr!rilor de k bi i pentru a produce ie"iri de k bi i sunt destul de obi"nuite. O valoare tipic! pentru k este de la 64 la 256. O implementare hardware are de obicei cel pu in #8 niveluri fizice, nu doar "apte ca în fig. 8-6(c). O implementare software este pro-gramat! ca o bucl! cu cel pu in 8 itera ii, fiecare dintre ele executând substitu ii ca cele ale cutiilor S pe sub-blocuri din blocurile de date cu dimensiuni de la 64 la 256 de bi i, urmate o permutare care combin! ie"irile cutiilor S. De obicei exist! o permutare ini ial! special! "i, de asemenea, una la în-ceput. În literatur!, itera iile se numesc runde.

8.2.! DES – Data Encryption Standard

În ianuarie #977, guvernul SUA a adoptat ca standard oficial pentru informa iile nesecrete un ci-fru produs "i dezvoltat de IBM. Acest cifru, DES (eng.: Data Encryption Standard – rom.: Standard pentru Criptarea Datelor), a fost adoptat extensiv în industrie pentru a fi utilizat în produsele de securitate. El nu mai este de mult sigur în forma sa original!, dar într-o form! modificat! el este înc! util. Vom explica acum cum lucreaz! DES.

Fig. 8-7. Cifrul DES. (a) Schem! general!. (b) Detalierea unei itera ii. Semnul + înconjurat de un cerc înseamn! SAU exclusiv

SEC. 8.2 ALGORITMI CU CHEIE SECRET% 66!

O prezentare general! a DES este f!cut! în fig. 8-7(a). Textul clar este criptat în blocuri de câte 64 de bi i, rezultând blocuri de 64 de bi i de text cifrat. Algoritmul, care este parametrizat cu o cheie de 56 de bi i, are #9 runde distincte. Prima rund! este o transpozi ie independent! de cheie, aplicat! asupra textului clar de 64 de bi i. Ultima rund! este exact inversa acestei transpozi ii. Penultima run-d! schimb! cei mai din stânga 32 de bi i cu cei mai din dreapta 32 de bi i. Cele #6 runde r!mase sunt func ional identice dar sunt parametrizate de func ii de cheie diferite. Algoritmul a fost proiectat pentru a permite ca decriptarea s! se fac! cu aceea"i cheie ca "i criptarea, o proprietate necesar! în orice algoritm cu cheie secret!. Pa"ii sunt parcur"i în ordine invers!.

Func ionarea unuia dintre pa"ii intermediari este ilustrat! în fig. 8-7(b). Fiecare rund! ia dou! in-tr!ri de 32 de bi i "i produce dou! ie"iri de 32 de bi i. Ie"irea din stânga este o simpl! copie a intr!rii din dreapta. Ie"irea din dreapta rezult! în urma unui SAU exclusiv (XOR) bit cu bit între intrarea din stânga "i o func ie depinzând de intrarea din dreapta "i de o cheie pentru aceast! rund!, Ki. Toa-t! complexitatea rezid! în aceast! func ie.

Func ia const! din patru pa"i, parcur"i în secven !. În primul rând, este construit un num!r de 48 de bi i, E, prin expandarea celor 32 de bi i ai lui Ri-# în concordan ! cu o regul! de transpozi ie fix! "i de duplicare. În al doilea rând, E "i Ki sunt combinate prin XOR. Ie"irea este apoi împ!r it! în opt grupuri de câte 6 bi i "i fiecare dintre acestea este introdus într-o cutie S diferit!. Fiecare dintre cele 64 de intr!ri posibile într-o cutie S este pus! în coresponden ! cu o ie"ire de 4 bi i. În final, ace"ti 8 4 bi i sunt trecu i printr-o cutie P.

În fiecare din cele #6 itera ii este folosit! o cheie diferit!. Înainte de începerea algoritmului este aplicat! o transpozi ie de 56 de bi i asupra cheii. Chiar înainte de începerea fiec!rei itera ii, cheia este parti ionat! în dou! unit! i de câte 28 de bi i, fiecare dintre ele este rotit! la stânga cu un num!r de bi i depinzând de num!rul itera iei. Ki este derivat din aceast! cheie rotit! prin aplicarea unei transpozi ii pe 56 de bi i asupra ei. La fiecare rund! este extras! "i permutat! o alt! submul ime de 48 de bi i din cei 56 de bi i.

O tehnic! folosit! uneori pentru a face DES mai puternic se nume"te albire (eng.: whitening). Ea consist! în efectuarea opera iei SAU exclusiv între o cheie aleatoare de 64 de bi i cu fiecare bloc de text clar înainte de a-l introduce în DES "i apoi efectuarea înc! a unui SAU exclusiv cu o a doua che-ie de 64 de bi i a textului cifrat înainte de a-l transmite. Albirea poate fi eliminat! simplu prin efectu-are opera iilor inverse (dac! receptorul are cele 2 chei de albire). Din moment ce aceast! tehnic! adaug! mai mul i bi i la lungimea cheii, face c!utarea exhaustiv! a spa iului cheii mult mai mare consumatoare de timp. Se poate observa c! aceea"i cheie de albire este folosit! pentru fiecare bloc (adic! exist! o singur! cheie de albire).

DES a fost înv!luit în controverse înc! din ziua în care a fost lansat. El se baza pe un cifru dezvol-tat "i brevetat de IBM, numit Lucifer, cu excep ia faptului c! cifrul IBM-ului folosea o cheie de #28 de bi i în locul uneia de 56 de bi i. Atunci când guvernul federal al SUA a dorit s! standardizeze un cifru pentru folosire nesecret!, el a „invitat” IBM-ul s! „discute” aceast! problem! cu NSA, agen ia sp!rg!toare de coduri a guvernului, care are ca angaja i cel mai mare num!r de matematicieni "i criptologi din lume. NSA este atât de secret!, încât în industrie a ap!rut urm!toarea glum!:

Î: Ce înseamn! NSA? R: No Such Agency (Nu exist! o astfel de agen ie).

De fapt, NSA provine de la National Security Agency (rom.: Agen ia Na ional! de Securitate). Dup! ce au avut loc aceste discu ii, IBM a redus cheia de la #28 de bi i la 56 de bi i "i a decis s!

p!streze secret procesul prin care a fost proiectat DES-ul. Mul i oameni suspecteaz! faptul c! lun-

662 SECURITATEA RE ELELOR CAP. 8

gimea cheii a fost redus! pentru a exista siguran a c! NSA poate sparge DES-ul, dar nici o organiza- ie cu un buget mai mic nu ar putea s! o fac!. P!strarea secretului proiect!rii a fost f!cut! probabil pentru a ascunde o trap! (u"! ascuns!) care ar putea u"ura spargerea DES-ului de c!tre NSA. Când un angajat al NSA a aten ionat discret IEEE s! abandoneze o conferin a de criptografie planificat!, acesta nu i-a f!cut pe oameni s! se simt! mai bine. NSA a negat totul.

În #977, doi cercet!tori în criptografie de la Stanford, Diffie "i Hellman (#977), au proiectat o ma"in! pentru a sparge DES-ul "i s-a estimat c! ea poate fi construit! cu un buget de 20 de milioane de dolari. Dat! fiind o mic! bucat! de text clar "i textul cifrat corespunz!tor, aceast! ma"in! ar putea s! g!seasc! cheia, prin c!utarea exhaustiv! a 256 intr!ri din spa iul cheilor, în mai pu in de o zi. În prezent, o astfel de ma"in! ar costa mult sub # milion de dolari.

Triplu DES Înc! din #979, IBM a realizat c! lungimea cheii DES era prea mic! "i a conceput un mod de a o

cre"te efectiv, folosind tripla criptare (Tuchman, #979). Metoda aleas!, care de atunci a fost încorpo-rat! în Standardul Interna ional 8732, este ilustrat! în fig. 8-8. Aici sunt folosite dou! chei "i trei run-de. În prima rund! textul clar este în mod obi"nuit criptat cu K#. În a doua rund!, este rulat DES în mod de decriptare, folosind cheia K2. În final, este efectuat! o alt! criptare cu K#.

Fig. 8-8. (a)Tripla criptare folosind DES. (b) Decriptarea.

Aceast! proiectarea d! na"tere imediat la dou! întreb!ri. Prima, de ce sunt folosite doar dou!

chei în loc de trei? A doua, de ce este folosit! succesiunea de transform!ri EDE (eng.: Encrypt Decrypt Encrypt, rom.: Criptare Decriptare Criptare), în loc de EEE (eng.: Encrypt Encrypt Encrypt, rom.: Criptare Criptare Criptare)? Motivul pentru care sunt utilizate dou! chei este acela c! chiar "i cei mai paranoici criptografi admit c! ##2 bi i sunt suficien i pentru aplica iile comerciale de rutin!, la momentul actual. A extinde la #68 de bi i înseamn! a ad!uga o supraînc!rcare inutil! pentru gestiunea "i transportul unei alte chei cu un câ"tig real redus.

Motivul pentru criptare, decriptare "i apoi iar criptare este compatibilitatea cu produsele existen-te ce folosesc sisteme DES cu o singur! cheie. Atât func ia de criptare cât "i cea de decriptare sunt coresponden e între mul imi de numere pe 64 de bi i. Din punct de vedere criptografic, cele dou! coresponden e sunt la fel de puternice. Totu"i, folosind EDE în locul EEE, un calculator ce utilizea-z! tripla criptare poate comunica cu unul ce folose"te criptarea simpl!, folosind K"=K2. Aceast! proprietate permite triplei cript!ri s! fie pus! în practic! treptat, lucru care nu intereseaz! pe cripto-grafii din mediul academic, dar care este de o importan ! considerabil! pentru IBM "i clien ii s!i.

8.2.2 AES – Advanced Encryption Standard

Deoarece DES a început s! se apropie de sfâr"itul utilei sale vie i , chiar "i cu DES triplu, NIST (National Institute of Standards and Technology, rom: Institutul Na ional de Standarde "i Tehnolo-gie), agen ia Departamentului de Comer al Statelor Unite îns!rcinat! cu aprobarea standardelor pentru Guvernul Federal al S.U.A., a decis c! guvernul are nevoie de un nou standard criptografic

SEC. 8.2 ALGORITMI CU CHEIE SECRET% 663

pentru folosin ! public!. NIST avea cuno"tin ! de controversa din jurul DES "i "tia bine c! dac! ar fi anun at un nou standard orice persoan! care "tia câte ceva despre criptografie ar fi presupus în mod automat c! NSA a construit o u"! secret! prin care NSA s! poat! citi orice criptat cu DES. În aceste condi ii, probabil nimeni n-ar fi folosit standardul "i acesta ar fi murit probabil singur.

De aceea NIST a avut o abordare surprinz!tor de diferit! pentru o birocra ie guvernamental!: a sponsorizat un concurs de criptografie. În ianuarie #997, cercet!tori din toat! lumea au fost invita i s! depun! propuneri pentru un nou standard, care urma s! se numeasc! AES (Advanced Encryption Standard, rom: Standard de Criptare Avansat). Regulile concursului erau:

#. Algoritmul trebuie s! fie un cifru bloc simetric. 2. Tot proiectul trebuie sa fie public 3. Trebuie s! fie suportate chei de #28, #92, "i de 256 bi i 4. Trebuie s! fie posibile atât implement!ri hardware cât "i software 5. Algoritmul trebuie s! fie public sau oferit cu licen ! nediscriminatorie.

Au fost f!cute cincisprezece propuneri serioase "i au fost organizate conferin e publice în care pro-punerile au fost prezentate, iar publicul a fost încurajat s! g!seasc! punctele slabe în fiecare dintre ele. În august #998, NIST a selectat cinci finali"ti, în principal pe criterii de securitate, eficien !, flexi-bilitate "i cerin e de memorie (importante pentru sistemele integrate). Au avut loc mai multe confe-rin e "i s-au mai eliminat din variante. La ultima conferin ! s-a organizat un vot liber. Finali"tii "i scorurile lor au fost urm!toarele:

#. Rijndael (din partea lui Joan Daemen "i Vincent Rijmen, 86 voturi) 2. Serpent (din partea lui Ross Anderson, Eli Biham "i Lars Knudsen, 59 voturi) 3. Twofish (din partea unei echipe condus! de Bruce Schneier, 3# voturi) 4. RC6 (din partea RSA Laboratories, 23 voturi) 5. MARS (din partea IBM, #3 voturi)

În octombrie 2000, NIST a anun at c! voteaz! "i el pentru Rijndael, iar în noiembrie 200# Rijndael a devenit standard guvernamental al S.U.A. publicat ca Standard Federal de Procesare a Informa iilor nr.#97 (Federal Information Processing Standard FIPS #97). Datorit! deschiderii ex-traordinare a competi iei, a propriet! ilor tehnice ale Rijndael "i a faptului c! echipa câ"tig!toare consta din doi tineri belgieni (despre care cu greu se poate presupune c! au realizat "i o u"! secret! doar pentru a face pe plac NSA), se a"teapt! ca Rijndael s! devin! standardul criptografic dominant în lume pentru cel pu in o decad!. Numele Rijndael, pronun at Rhine-doll (mai mult sau mai pu in), e derivat din numele autorilor: Rijmen + Daemen.

Rijndael permite lungimi de chei "i m!rimi de blocuri de la #28 de bi i la 256 de bi i în pa"i de câ-te 32 bi i. Lungimea cheii "i lungimea blocului pot fi alese în mod independent. Cu toate acestea, AES specific! faptul c! m!rimea blocului trebuie s! fie de #28 de bi i "i lungimea cheii trebuie s! fie de #28, #92, sau 256 de bi i. E îndoielnic c! cineva va folosi vreodat! cheile de #92 de bi i, astfel c! de fapt, AES are dou! variante: bloc de #28 de bi i cu cheie de #28 de bi i "i bloc de #28 de bi i cu cheie de 256 de bi i.

În prezentarea algoritmului, vom examina doar cazul #28/#28 pentru c! acesta va deveni cel mai probabil standardul comercial. O cheie de #28 de bi i permite un spa iu al cheilor de 2#28 ! 2 #038 chei. Chiar dac! NSA reu"e"te s! construiasc! o ma"in! cu un miliard de procesoare, fiecare fiind capabil s! evalueze o cheie în fiecare picosecund!, ar trebui pentru o astfel de ma"in! aproximativ

664 SECURITATEA RE ELELOR CAP. 8

#0#0 ani pentru a c!uta în spa iul de chei. Pân! atunci soarele s-ar stinge, astfel c! cei de atunci vor trebui s! citeasc! rezultatele la lumina lumân!rii.

Rijndael Dintr-o perspectiv! matematic!, Rijndael se bazeaz! pe Teoria Câmpului Galois, care îi confer!

o serie de propriet! i de securitate demonstrabile. Cu toate acestea, poate fi privit "i ca un cod C, f!r! a intra în explica ii matematice.

Ca "i DES, Rijndael folose"te substitu ie "i permut!ri, ca "i runde multiple. Num!rul de runde depinde de m!rimea cheii "i de m!rimea blocului, fiind #0 pentru o cheie de #28 de bi i cu blocuri de #28 bi i "i m!rindu-se pân! la #4 pentru cheia cu cea mai mare dimensiune "i blocul cu cea mai mare dimensiune. Totu"i, spre deosebire de DES, toate opera iile sunt la nivel de octet, pentru a permite implement!ri eficiente hardware "i software. Codul este dat în fig. 8-9.

#define LENGTH $6 /* # octe"i în blocul de date sau în cheie */ #define NROWS 4 /* num!r de linii din stare */ #define NCOLS 4 /* num!r de coloane din stare */ #define ROUNDS $0 /* num!r de itera"ii */ typedef unsigned char byte; /* întreg f!r! semn pe 8 bi"i */

rijndael(byte plaintext[LENGTH], byte ciphertext[LENGTH], byte key[LENGTH]) { int r; /* index pentru iterare */ byte state[NROWS][NCOLS]; /* starea curent! */ struct {byte k[NROWS][NCOLS];} rk[ROUNDS + $]; /* cheile pentru runde */

expand_key(key, rk); /* construie te cheile pentru runde */ copy_plaintext_to_state(state, plaintext); /* ini"ializeaz! starea curent! */ xor_roundkey_into_state(state, rk[0]); /* face XOR între cheie i stare */

for (r = $; r <= ROUNDS; r++) { substitute(stare); /* aplic! substitu"ia fiec!rui octet */ rotate_rows(state); /* rote te rândul i cu i octe"i */ if (r < ROUNDS) mix_columns(state); /* func"ie de amestecare */ xor_roundkey_into_state(state, rk[r]); /* face XOR între cheie i stare */ } copy_state_to_ciphertext(ciphertext, state); /* întoarce rezultatul */ }

Fig. 8-9. Rijndael în linii generale

Func ia rijndael are trei parametri. Ace"tia sunt: plaintext, un vector de #6 octe i con inând date-le de intrare, ciphertext, un vector de #6 octe i în care va fi introdus rezultatul cifrat, "i key, cheia de #6 octe i. Pe durata calculelor, starea curent! a datelor e p!strat! într-un vector de octe i, state, a c!rui m!rime este NROWS NCOLS. Pentru blocuri de #28 de octe i, acest vector este de 4 4 octe i. Întregul bloc de date de #28 de bi i poate fi stocat în #6 octe i.

Vectorul state este ini ializat cu textul clar "i este modificat la fiecare pas al calculului. În anumi i pa"i, este realizat! substitu ia octet-cu-octet. În al ii, octe ii sunt permuta i în interiorul vectorului. Sunt folosite "i alte transform!ri. La sfâr"it, con inutul lui state reprezint! textul cifrat.

Codul începe prin expandarea cheii în ## vectori de aceea"i lungime cu starea. Ace"tia sunt me-mora i în rk, care este un vector de structuri, fiecare structur! con inând un vector stare. Unul dintre ace"tia va fi folosit la începutul calculului "i ceilal i #0 vor fi folosi i în timpul celor #0 runde, câte

SEC. 8.2 ALGORITMI CU CHEIE SECRET% 665

unul în fiecare rund!. Calculul cheilor de runde din cheia de criptare este prea complicat pentru a fi prezentat aici. Este de ajuns s! spunem c! cheile de runde sunt produse prin rotiri repetate "i aplica-rea de opera ii XOR asupra unor grupuri de bi i din cheie. Pentru toate detaliile, a se vedea (Daemen "i Rijmen, 2002).

Urm!torul pas este acela de a copia textul clar în vectorul state astfel încât s! poat! fi procesat pe perioada rundelor. Acesta este copiat în ordinea coloanelor, cu primii patru octe i în coloana 0, ur-m!torii patru octe i în coloana # "i a"a mai departe. Atât coloanele cât "i liniile sunt numerotate pornind de la 0, de"i rundele sunt numerotate pornind de la #. Setarea ini ial! a celor #2 vectori de octe i de dimensiuni 4 4 este ilustrat! în fig. 8-#0.

Fig. 8-!0. Crearea vectorilor state "i rk Mai este un pas înainte de a începe calculul principal: rk[0] este combinat prin XOR în state, oc-

tet cu octet. Cu alte cuvinte fiecare octet din cei #6 afla i în state este înlocuit cu rezultatul aplic!rii opera iei XOR asupra sa "i asupra octetului corespunz!tor din rk[0].

$i acum urmeaz! partea cea mai interesant!. Bucla execut! #0 itera ii, câte una pe rund!, trans-formând state la fiecare itera ie. Fiecare rund! const! în patru pa"i. Pasul # realizeaz! o substitu ie octet-cu-octet asupra lui state. Pe rând, fiecare octet este folosit ca index într-o cutie S pentru a-i înlocui valoarea prin con inutul corespunz!tor din acea cutie S. Acest pas este un cifru de substitu- ie monoalfabetic! direct!. Spre deosebire de DES, care are mai multe cutii S, Rijndaek are doar o cutie S.

Pasul 2 rote"te la stânga fiecare din cele 4 rânduri. Rândul 0 este rotit cu 0 octe i (nu e schimbat), rândul # este rotit cu # octet, rândul 2 este rotit cu 2 octe i "i rândul 3 este rotit cu 3 octe i. Acest pas difuzeaz! con inutul datelor curente în jurul blocului, analog cu permut!rile din fig. 8-6.

Pasul 3 amestec! fiecare coloan! independent de celelalte. Aceast! amestecare este realizat! prin înmul ire de matrice, în care noua coloan! este produsul dintre vechea coloan! "i o matrice constant!, multiplicarea fiind realizat! folosind câmpul finit Galois, GF(28). De"i acest lucru poate p!rea complicat, exist! un algoritm care permite fiec!rui element al noii coloane s! fie calculat folo-sind dou! c!ut!ri în tabele "i trei opera ii XOR (Daemen "i Rijmen, 2002, Anexa E).

În fine, pasul 4 aplic! opera ia XOR pentru cheia din runda curent! "i vectorul stare. Deoarece fiecare pas e reversibil, decriptarea poate fi realizat! prin rularea algoritmului de la

coad! la cap. Oricum, este posibil! "i o schem! prin care decriptarea poate fi realizat! prin rularea algoritmului de criptare nemodificat, dar folosind tabele diferite.

666 SECURITATEA RE ELELOR CAP. 8

Algoritmul a fost proiectat nu doar pentru o securitate foarte solid!, dar "i pentru o vitez! foarte mare. O bun! implementare software pe o ma"in! la 2 GHz ar trebui s! ating! o rat! de criptare de 700 Mbps, ceea ce este suficient de rapid pentru a criptarea peste #00 de fi"iere video MPEG-2 în timp real. Implement!rile hardware sunt chiar mai rapide.

8.2.3 Moduri de cifrare

În ciuda acestei complexit! i, AES (sau DES sau orice cifru bloc de altfel) este de fapt un cifru de substitu ie monoalfabetic! care folose"te caractere „mari” (caractere de #28 de bi i pentru AES "i caractere de 64 de bi i pentru DES). Ori de câte ori acela"i bloc de text clar intr! pe la un cap!t, ace-la"i text cifrat iese pe la cel!lalt. Dac! criptezi textul clar abcdefgh de #00 de ori cu aceea"i cheie DES, ob ii acela"i text cifrat de #00 de ori. Un intrus poate s! exploateze aceast! proprietate pentru a submina cifrul.

Modul cu carte de coduri electronic" Pentru a vedea cum poate fi folosit! aceast! proprietate a cifrului cu substitu ie monoalfabetic!

pentru a submina DES-ul, vom folosi (triplu) DES deoarece este mai u"or s! prezin i blocuri de 64 de bi i decât blocuri de #28 de bi i; AES are îns! exact aceea"i problem!. Modul direct de a folosi DES pentru a cripta o bucat! lung! de text clar este de a o sparge în blocuri consecutive de 8 octe i (64 de bi i) "i de a le cripta unul dup! altul cu aceea"i cheie. Ultima bucat! de text clar este comple-tat! pân! la 64 de bi i dac! este nevoie. Tehnica este cunoscut! ca modul ECB (Electronic Code Book, rom: modul cu carte de coduri electronic!), analog cu c!r ile de coduri electronice de mod! veche unde era precizat fiecare cuvânt de text clar, urmat de textul s!u cifrat (de obicei un num!r zecimal de 5 cifre).

În fig. 8-## este prezentat începutul unui fi"ier con inând primele anuale ale unei companii care s-a decis s!-"i premieze angaja ii. Fi"ierul const! din înregistr!ri de 32 de octe i, câte o înregistrare pentru fiecare angajat, în formatul ar!tat: #6 octe i pentru nume, 8 octe i pentru func ia ocupat! "i 8 octe i pentru prim!. Fiecare din cele #6 blocuri de 8 octe i (numerotate de la 0 la #5) este criptat cu (triplu) DES.

Fig. 8-!!. Textul clar al unui fi"ier criptat ca #6 blocuri DES

Leslie a avut o controvers! cu "eful "i nu a"teapt! prea mult de la aceast! prim!. În schimb Kim

este favorita "efului "i oricine "tie asta. Leslie poate avea acces la fi"ier dup! ce el a fost criptat, dar înainte de a fi trimis la banc!. Poate Leslie s! rectifice aceast! situa ie nedreapt!, dat fiind doar fi"ie-rul criptat?

SEC. 8.2 ALGORITMI CU CHEIE SECRET% 667

Nici o problem!. Tot ceea ce are Leslie de f!cut este s! realizeze o copie a celui de-al #2-lea bloc de text cifrat (care con ine prima lui Kim) "i s!-l foloseasc! pentru a înlocui blocul de text cifrat cu num!rul 4 (care con ine prima lui Leslie). Chiar "i f!r! a "ti ce cuprinde blocul #2, Leslie se poate a"tepta s! aib! un Cr!ciun mai fericit anul acesta. (Copierea blocului de text cifrat 8 este de asemenea o posibilitate, dar este mai probabil s! fie descoperit!; în plus, Leslie nu este o persoan! lacom!).

Modul cu înl"n#uirea blocurilor cifrate Pentru a para acest tip de atac, toate cifrurile bloc trebuie înl!n uite în diferite moduri astfel încât

înlocuirea unui bloc în modul în care a f!cut-o Leslie s! conduc! la situa ia în care textul clar decrip-tat, începând cu blocul înlocuit, s! fie nefolositor. Un mod de înl!n uire este înl!n uirea blocurilor cifrate (eng.: cipher block chaining). În aceast! metod!, prezentat! în fig. 8-#2, fiecare bloc de text clar este combinat prin XOR cu blocul anterior de text cifrat, înainte de a fi criptat. În consecin !, acela"i bloc de text clar nu se va mai pune în coresponden ! cu acela"i bloc de text cifrat, iar criptarea nu mai este o mare substitu ie monoalfabetic!. Primul bloc este combinat prin XOR cu un vector de ini iali-zare, IV (Initialization Vector), ales aleatoriu, care este transmis împreun! cu textul cifrat.

Fig. 8-!2. Înl!n uirea blocurilor cifrate (Cipher block chaining). (a) Criptare. (b) Decriptare. Putem vedea cum lucreaz! înl!n uirea blocurilor cifrate prin examinarea exemplului din fig. 8-

#2. Putem începe prin a calcula C0=E(P0 XOR IV). Apoi vom calcula C"=E(P" XOR C0) "i a"a mai departe. Decriptarea folose"te tot XOR pentru a inversa procesul, cu P0=IV XOR D(C0), "i a"a mai departe. De notat c! criptarea blocului i este o func ie de toate textele clare din blocurile de la 0 la i-#, astfel încât acela"i text clar va genera text cifrat diferit în func ie de locul unde apare. O transfor-mare de tipul celei f!cute de Leslie va avea ca rezultat un nonsens în cele dou! blocuri ce încep din câmpul de prim! al lui Leslie. Pentru un ofi er de securitate perspicace, aceast! caracteristic! poate sugera de la cine s! porneasc! investiga ia. Înl!n uirea blocurilor cifrate are de asemenea avantajul c! acela"i bloc de text clar nu va rezulta în acela"i bloc de text cifrat, f!când criptanaliza mai dificil!. De fapt, acesta este principalul motiv pentru care este folosit!.

Modul cu reac#ie cifrat" Cu toate acestea, înl!n uirea blocurilor cifrate are dezavantajul c! este necesar ca un întreg bloc

de 64 de bi i s! soseasc! înainte ca decriptarea s! poat! începe. Acest mod este nepotrivit pentru folosirea în cazul terminalelor interactive, unde o persoan! poate s! introduc! linii mai scurte de 8 caractere "i apoi s! se opreasc! în a"teptarea unui r!spuns. Pentru cript!rile octet-cu-octet poate fi utilizat modul cu reac#ie cifrat" (eng.:Cipher feedback mode), folosind (triplu) DES, ca în fig. 8-#3.

668 SECURITATEA RE ELELOR CAP. 8

Pentru AES ideea este aceea"i, numai c! se folose"te un registru de deplasare de #28 de bi i. În aceast! figur!, este ar!tat! starea ma"inii de criptare dup! ce octe ii 0 pân! la 9 au fost cripta i "i trimi"i. Când sose"te blocul #0 din textul clar, dup! cum este ilustrat în fig. 8-#3(a), algoritmul DES opereaz! asupra registrului de deplasare 64 de bi i pentru a genera 64 de bi i de text cifrat. Octetul cel mai din stânga al textului cifrat este extras "i combinat prin XOR cu P"0. Acest octet este transmis pe linie. În plus, registrul de deplasare este deplasat cu 8 bi i la stânga, provocând ie"irea lui C2 pe la cap!tul din stânga "i inserarea lui C"0 în pozi ia care tocmai a r!mas vacant! la dreapta lui C9. De notat c! con inutul registrului de deplasare depinde de întreaga istorie anterioar! a textului clar, astfel încât un "ablon care se repet! de mai multe ori în textul clar va fi criptat de fiecare dat! diferit în textul cifrat. La fel ca la înl!n uirea blocurilor cifrate, este necesar un vector de ini ializare pentru a porni rostogolirea mingii.

Fig. 8-!3. Modul cu reac ie cifrat! (Cipher feedback mode). (a) Criptare. (b) Decriptare.

Decriptarea în modul cu reac ie cifrat! face acela"i lucru ca "i criptarea. În particular, con inutul

registrului de deplasare este criptat, nu decriptat, astfel încât octetul selectat care este combinat prin XOR cu C"0 pentru a ob ine P"0 este acela"i cu cel ce a fost combinat prin XOR cu P"0 pentru a-l ob ine pe C"0 prima dat!. Atâta vreme cât cele dou! registre de deplasare r!mân identice, decripta-rea lucreaz! corect. Acest lucru este ilustrat în fig. 8-#3(b).

O problem! a modului cu reac ie cifrat! este c!, dac! un bit al textului cifrat este inversat acci-dental în timpul transmisiei, cei 8 octe i care sunt decripta i în timp ce octetul gre"it este în registrul de deplasare vor fi corup i. Odat! ce octetul gre"it este împins afar! din registrul de deplasare, se va genera din nou text clar corect. Astfel, efectele unui singur bit inversat sunt relativ localizate "i nu distrug restul mesajului, dar distrug atâ ia bi i câ i are ca l! ime registrul de deplasare.

Modul cu cifru înl"n#uit Cu toate acestea, exist! aplica ii în care a avea o eroare de transmisie de # bit care s! strice 64 de

bi i de text clar reprezint! o pierdere prea mare. Pentru aceste aplica ii exist! o a patra op iune, mo-dul cu cifru înl"n#uit (eng.: Stream Cipher Mode). Acesta lucreaz! criptând un vector de ini ializare, folosind o cheie pentru a ob ine un bloc de ie"ire. Blocul de ie"ire este apoi criptat folosind cheia pentru a ob ine un al doilea bloc de ie"ire. Acest bloc este apoi criptat pentru a ob ine un al treilea

SEC. 8.2 ALGORITMI CU CHEIE SECRET% 669

bloc "i a"a mai departe. Secven a (arbitrar de mare) de blocuri de ie"ire, numit! lan#ul de chei (eng.: keystream), este tratat! ca cheie acoperitoare (eng.: one-time pad) "i este combinat! cu textul clar pentru a ob ine textul cifrat, ca în fig. 8-#4(a). De notat c! vectorul IV este folosit doar la primul pas. Dup! aceasta, ie"irea este criptat!. De notat de asemenea c! lan ul de chei este independent de da-te, deci poate fi calculat în avans, dac! este nevoie, "i este complet insensibil la erori de transmisie. Decriptarea este ar!tat! în fig. 8-#4(b).

Fig. 8-!4. Un cifru înl!n uit. (a) Criptare. (b) Decriptare. Decriptarea se face generând acela"i lan de chei la receptor. Deoarece lan ul de chei depinde

doar de IV "i de cheie, el nu este afectat de erori de transmisie în textul cifrat. Astfel, o eroare de # bit în textul cifrat transmis genereaz! doar o eroare de # bit în textul clar decriptat.

Este esen ial s! nu se foloseasc! aceea"i pereche (cheie, IV) de dou! ori cu un cifru înl!n uit de-oarece acest lucru va genera acela"i lan de chei de fiecare dat!. Folosirea aceluia"i lan de chei de dou! ori expune textul cifrat la un atac prin refolosirea lan#ului de chei (eng.: keystream reuse attack). Imagina i-v! c! blocul de text clar, P0 este criptat cu lan ul de chei pentru a ob ine P0 XOR K0. Mai târziu, un al doilea bloc de text clar Q0 este criptat cu acela"i lan de chei pentru a ob ine Q0 XOR K0. Un intrus care captureaz! ambele texte cifrate poate face simplu XOR între ele pentru a ob ine P0 XOR Q0, ceea ce elimin! cheia. Intrusul are acum combina ia XOR a celor dou! blocuri de text clar. Dac! unul dintre ele este "tiut sau poate fi ghicit, atunci "i cel!lalt poate fi g!sit. În orice caz, un XOR a dou! "iruri de text clar poate fi atacat folosind propriet! ile statistice ale mesajului. De exemplu, pentru text în limba englez!, cel mai comun caracter din "ir va fi probabil XOR între dou! spa ii, urmat de XOR între spa iu "i litera “e”. Pe scurt, echipat cu un XOR între dou! texte clare, criptanalistul are o "ans! excelent! de a le deduce pe ambele.

Modul contor O problem! pe care o au toate modurile în afar! de modul cu carte de coduri electronic! este c!

e imposibilitatea accesului aleator la datele cifrate. De exemplu, s! presupunem c! un fi"ier este transmis printr-o re ea "i apoi este stocat pe disc în forma criptat!. Acesta ar fi un procedeu rezona-bil când calculatorul receptor este un notebook (rom.: carnet de noti e) care ar putea fi furat. Stoca-rea tuturor fi"ierelor critice în form! criptat! reduce mult problemele datorate unor scurgeri de in-forma ii în eventualitatea în care calculatorul ajunge în mâini nepotrivite.

Cu toate acestea, fi"ierele de pe disc sunt deseori accesate în ordine aleatoare, în special fi"ierele din baze de date. Cu o criptare de fi"iere care folose"te înl!n uire de blocuri cifrate, accesul la un bloc aleator necesit! întâi decriptarea tuturor blocurilor dinaintea lui, ceea ce reprezint! o solu ie

670 SECURITATEA RE ELELOR CAP. 8

costisitoare. Din acest motiv s-a inventat înc! un mod, modul contor (eng.: Counter Mode), schi at în fig. 8-#5. Aici textul clar nu este criptat direct. În schimb, se cripteaz! vectorul de ini ializare plus o constant! "i textul cifrat rezultat se combin! prin XOR cu textul clar. Crescând cu # vectorul de ini i-alizare pentru fiecare bloc nou este u"or s! decriptezi un bloc de oriunde din fi"ier f!r! a fi nevoie s! îi decriptezi to i predecesorii.

Fig. 8-!5. Criptarea folosind modul contor

De"i modul contor este folositor, el are o sl!biciune care merit! s! fie eviden iat!. S! presupu-nem c! aceea"i cheie, K, este folosit! din nou ulterior (cu un text clar diferit dar cu acela"i IV) "i un atacator ob ine tot textul cifrat în ambele rul!ri. Lan urile de chei sunt acelea"i în ambele cazuri, expunând cifrul la un atac la refolosirea lan ului de chei similar celui de la cifrurile înl!n uite. Tot ce are criptanalistul de f!cut este XOR între cele dou! texte cifrate pentru a elimina toat! protec ia criptografic! "i a ob ine combina ia XOR între textele clare. Aceast! sl!biciune nu înseamn! c! mo-dul contor este o idee proast!. Înseamn! doar c! "i cheile "i vectorii de ini ializare ar trebui alese independent "i aleator. Chiar dac! aceea"i cheie este folosit! accidental de dou! ori, dac! vectorul IV este diferit de fiecare dat!, textul clar este în siguran !.

8.2.4 Alte cifruri

DES "i Rijndael sunt cei mai cunoscu i algoritmi criptografici cu cheie simetric!. Cu toate aces-tea merit! s! men ion!m c! au fost proiectate numeroase alte cifruri cu cheie simetric!. Câteva dintre acestea sunt integrate cu diverse produse. Câteva dintre cele mai comune sunt enumerate în fig. 8-#6.

Cifru Autor Lungimea cheii Comentarii Blowfish Bruce Schneier $ - 448 de bi"i vechi i lent DES IBM 56 de bi"i prea slab pentru a mai fi folosit acum IDEA Massey i Xuejia $28 de bi"i bun, dar patentat RC4 Ronald Rivest $ - 2048 de bi"i atentie: anumite chei sunt slabe RC5 Ronald Rivest $28 - 256 de bi"i bun, dar patentat Rijndael Daemen and Rijmen $28 - 256 de bi"i cea mai bun! alegere Serpent Anderson, Biham, Knudsen $28 - 256 de bi"i foarte puternic Triplu DES IBM $68 de bi"i a doua alegere Twofish Bruce Schneier $28 - 256 de bi"i foarte puternic, larg folosit

Fig. 8-!6. Câ iva algoritmi criptografici comuni cu cheie simetric!.

SEC. 8.3 ALGORITMI CU CHEIE PUBLIC% 67!

8.2.5 Criptanaliza

Înainte de a p!r!si subiectul criptografiei cu chei simetrice, merit! cel pu in s! men ion!m patru rezultate recente în criptanaliz!. Primul este criptanaliza diferen#ial" (Biham "i Shamir, #993). Aceast! tehnic! poate fi folosit! pentru a ataca orice cifru bloc. Lucreaz! la început cu o pereche de blocuri de text clar care difer! doar printr-un num!r mic de bi i "i studiaz! cu grij! ceea ce se întâm-pl! la fiecare itera ie intern! pe m!sur! ce criptarea avanseaz!. În multe cazuri, anumite combina ii apar mai des decât altele "i aceast! observa ie conduce la un atac probabilistic.

Al doilea rezultat demn de notat este criptanaliza liniar" (Matsui, #994). Aceasta poate sparge DES-ul cu doar 243 texte clare cunoscute. Lucreaz! prin combinarea XOR a anumitor bi i din textul clar "i din textul cifrat "i examinarea rezultatelor pentru a descoperi tiparele. Când aceasta se face repetat, jum!tate din bi i trebuie s! fie 0 "i jum!tate s! fie #. Totu"i, adeseori, cifrurile introduc o devia ie într-o direc ie sau în alta "i aceast! devia ie, cu toate c! este mic!, poate fi exploatat! pentru a reduce efortul. Pentru mai multe detalii a se vedea lucrarea lui Matsui.

Al treilea rezultat este folosirea analizei consumului de energie electric! pentru a afla chei secre-te. Calculatoarele folosesc in mod tipic 3 vol i pentru a reprezenta un bit # "i 0 vol i pentru a repre-zenta un bit 0. De aceea, procesarea unui # consum! mai mult! energie electric! decât procesarea unui 0. Dac! un algoritm criptografic const! într-o bucl! în care bi ii cheii sunt procesa i în ordine, un atacator care înlocuie"te ceasul principal de n-GHz cu un ceas lent (de exemplu #00-Hz) "i pune mufe crocodil pe sursa procesorului "i pinii de mas! poate s! monitorizeze precis puterea consumat! de fiecare instruc iune ma"in!. Din aceste date, deducerea cheii este surprinz!tor de u"oar!. Acest tip de criptanaliz! poate fi contracarat numai de codificarea atent! a algoritmului în limbaj de asam-blare pentru a fi sigur c! consumul de putere este independent de cheie "i de asemenea independent de toate cheile de rund! individuale.

Al patrulea rezultat este analiza întârzierilor. Algoritmii criptografici sunt plini de instruc iuni if care testeaz! bi ii cheilor de rund!. Dac! p!r ile then "i else dureaz! timpi diferi i, prin încetinirea ceasului "i m!surarea duratei diver"ilor pa"i se pot deduce cheile de rund!. Odat! ce se cunosc toate cheile de rund!, de regul! se poate calcula cheia original!. Analizele de putere "i de întârzieri pot fi folosite simultan pentru a face munca mai u"oar!. Cu toate c! analizele de putere "i de întârzieri pot p!rea exotice, în realitate ele sunt tehnici puternice care pot sparge orice cifru care nu a fost proiec-tat în mod special pentru a le rezista.

8.3 ALGORITMI CU CHEIE PUBLIC$

Istoric, distribu ia cheilor a fost întotdeauna punctul slab al multor criptosisteme. Indiferent de cât de puternic era un criptosistem, dac! un intrus putea fura cheia, sistemul î"i pierdea valoarea. Criptologii au considerat întotdeauna ca de la sine în eles faptul c! atât pentru criptare cât "i pentru decriptare se folose"te aceea"i cheie (sau una u"or derivabil! din cealalt!). Dar cheia trebuia distri-buit! tuturor utilizatorilor sistemului. Astfel, p!rea a exista întotdeauna urm!toarea problem! ine-rent!: cheile trebuia protejate contra furtului dar, în acela"i timp, ele trebuiau distribuite, astfel încât ele nu puteau fi sechestrate într-un seif de banc!.

672 SECURITATEA RE ELELOR CAP. 8

În #976, doi cercet!tori de la Universitatea Stanford, Diffie "i Hellman (#976), au propus un tip radical nou de criptosistem în care cheile de criptare "i decriptare sunt diferite, iar cheia de decripta-re nu poate fi dedus! din cheia de criptare. În propunerea lor, algoritmul (cheia) de criptare, E, "i algoritmul (cheia) de decriptare, D, trebuiau s! satisfac! trei cerin e. Aceste cerin e pot fi exprimate simplificat dup! cum urmeaz!:

#. D(E(P))=P 2. Este mai mult decât dificil s! se deduc! D din E. 3. E nu poate fi spart printr-un atac cu text clar ales.

Prima cerin ! spune c!, dac! se aplic! D unui mesaj criptat, E(P), se ob ine textul clar original, P. F!r! aceast! proprietate, receptorul legitim nu ar putea decripta textul cifrat. Cea de-a doua cerin ! vorbe"te de la sine. Cea de-a treia cerin ! este necesar! deoarece, dup! cum vom vedea curând, in-tru"ii pot experimenta "i testa algoritmul dup! pofta inimii. În aceste condi ii, nu exist! nici un motiv pentru ca E, cheia de criptare, s! nu poat! fi f!cut! public!.

Metoda lucreaz! astfel: o persoan!, s! spunem Alice, dorind s! primeasc! mesaje secrete, concepe mai întâi doi algoritmi ce satisfac cerin ele de mai sus. Algoritmul de criptare "i cheia lui Alice sunt f!cu i apoi publici, de unde "i numele de criptografie cu cheie public". Alice poate de exemplu s! î"i pun! cheia public! pe pagina ei personal! de pe Web. Vom folosi nota ia EA pentru algoritmul de crip-tare parametrizat de cheia public! a lui Alice. În mod similar, algoritmul (secret) de decriptare parame-trizat de cheia privat! a lui Alice este DA. Bob face acela"i lucru, publicând EB, dar inând DB secret.

S! vedem acum dac! putem rezolva problema stabilirii unui canal sigur între Alice "i Bob, care nu au mai avut niciodat! vreun contact anterior. Atât cheia de criptare a Alicei, EA, cât "i cea a lui Bob, EB, sunt presupuse a se g!si într-un fi"ier ce poate fi citit de oricine. Acum Alice ia primul ei mesaj, P, calculeaz! EB(P) "i îl trimite lui Bob. Bob îl decripteaz! aplicându-i cheia sa secret! DB [adic!, el calculeaz! DB(EB (P))=P]. Nimeni altcineva nu poate citi mesajul criptat, EB(P), deoarece sistemul de criptare este presupus puternic "i deoarece este prea greu s! se deduc! DB(P) din EB(P) public cunoscut. Pentru a trimite un r!spuns R, Bob transmite EA(R). Alice "i Bob pot comunica acum într-o manier! sigur!.

În acest punct ar fi poate util! o observa ie asupra terminologiei. Criptografia cu cheie public! necesit! ca fiecare utilizator s! aib! dou! chei: o cheie public!, folosit! de toat! lumea pentru a crip-ta mesajele ce-i sunt trimise, "i o cheie secret!, de care utilizatorul are nevoie ca s!-"i decripteze me-sajele. Ne vom referi în mod constant la aceste chei ca fiind cheia public! "i, respectiv, cheia privat! "i le vom deosebi de cheile secrete folosite pentru criptografia conven ional! cu cheie simetric!.

8.3.! RSA

Singura problem! este aceea c! avem nevoie de algoritmi care s! satisfac! complet toate cele trei cerin e. Datorit! posibilelor avantaje ale criptografiei cu chei publice, mul i cercet!tori au lucrat din greu la acest subiect "i au fost deja publica i câ iva algoritmi. O metod! bun! a fost descoperit! de un grup de la MIT (Rivest et. al, #978). Ea este cunoscut! prin ini ialele numelor celor trei descoperi-tori (Rivest, Shamir, Adelman): RSA. Metoda a supravie uit tuturor încerc!rilor de a o sparge timp de mai mult de un sfert de secol "i este considerat! foarte puternic!. Multe aplica ii de securitate se bazeaz! pe ea. Dezavantajul major al acesteia este c! necesit! chei de cel pu in #024 de bi i pentru o securitate bun! (spre deosebire de #28 bi i pentru algoritmii cu cheie simetric!), ceea ce o face des-tul de lent!.

SEC. 8.3 ALGORITMI CU CHEIE PUBLIC% 673

Metoda RSA este bazat! pe câteva principii din teoria numerelor. Vom rezuma mai jos modul în care se folose"te aceast! metod!; pentru detalii, a se consulta articolul.

#. Se aleg dou! numere prime, p "i q, (de obicei de #024 bi i). 2. Se calculeaz! n = p q i z = (p - !) (q-!). 3. Se alege un num"r relativ prim cu z i este notat cu d. 4. Se g"se te e astfel încât e d = ! mod z.

Cu ace ti parametri calcula#i în avans, suntem gata s" începem criptarea. Împ"r#im textul clar (privit ca ir de bi#i) în blocuri, astfel încât fiecare mesaj de text clar, P, s" intre în intervalul 0 ! P < n. Aceasta poate fi f"cut" grupând textul clar în blocuri de câte k bi#i, unde k este cel mai mare nu-m"r întreg pentru care inegalitatea 2k < n este adev"rat".

Pentru a cripta mesajul P, se calculeaz" C = Pe (mod n). Pentru a decripta C, se calculeaz" P = Cd (mod n). Se poate demonstra c" pentru to#i P din intervalul specificat, criptarea i decriptarea sunt func#ii inverse una alteia. Pentru a realiza criptarea este nevoie de e i n. Pentru a realiza de-criptarea este nevoie de d i n. De aceea, cheia public" const" din perechea (e, n) iar cheia privat" din perechea (d, n).

Securitatea metodei este bazat" pe dificultatea factoriz"rii numerelor mari. Dac" un criptanalist ar putea factoriza num"rul n (public cunoscut), el ar putea g"si p i q, iar din acestea pe z. Cu z i e cunoscu#i, criptanalistul îl poate calcula pe d folosind algoritmul lui Euclid. Din fericire, matematici-enii au încercat s" factorizeze numere mari de cel pu#in 300 de ani i experien#a acumulat" sugerea-z" c" aceasta este o problem" mai mult decât dificil".

Dup" Rivest i colegii s"i, factorizarea unui num"r de 500 de cifre necesit" un timp de calcul de !025 ani folosind for#a brut". În ambele cazuri ei presupun c" se folose te cel mai bun algoritm de factorizare i un calculator cu timp de execu#ie a unei instruc#iuni de ! "sec. Chiar dac" viteza calcu-latoarelor va continua s" sporeasc" cu un ordin de m"rime pe deceniu, vor mai trece secole pân" când factorizarea unui num"r de 500 de cifre va deveni realizabil", moment în care descenden#ii no tri vor alege pur i simplu p i q mai mari.

Un exemplu didactic banal pentru algoritmul RSA este dat în fig. 8-!7. Pentru acest exemplu am ales p = 3 i q = !!, rezultând n = 33 i z = 20. O valoare potrivit" pentru d este d = 7, deoarece 7 i 20 nu au factori comuni. Cu aceste alegeri, e poate fi g"sit prin rezolvarea ecua-#iei 7e = ! (mod 20), care d" e = 3. Textul cifrat, C, pentru textul clar al mesajului, P, este dat de C = P3 (mod 33). Textul cifrat este decriptat de c"tre receptor dup" regula P = C7 (mod 33). Fig. prezin-t" ca exemplu criptarea i decriptarea textului clar „SUZANNE”.

Fig. 8- 7. Un exemplu de algoritm RSA.

674 SECURITATEA RE!ELELOR CAP. 8

Deoarece numerele prime alese pentru acest exemplu sunt prea mici, P trebuie s" fie mai mic decât 33, deci fiecare bloc de text clar poate con#ine doar un singur caracter. Rezultatul este un cifru cu substitu#ie monoalfabetic", nu foarte impresionant. Dac" în locul acestora am fi ales p i q = 25!2, am fi avut n = 2!024, astfel încât fiecare bloc poate fi de pân" la !024 de bi#i sau !28 de caractere de 8 bi#i, fa#" de 8 caractere pentru DES i !6 caractere pentru AES.

Trebuie subliniat c" folosirea RSA în modul descris este similar" folosirii unui algoritm simetric în modul ECB - blocuri de intrare identice conduc la blocuri de ie ire identice. De aceea este nece-sar" o anumit" form" de înl"n#uire pentru criptarea datelor. Totu i, în practic", cele mai multe sis-teme bazate pe RSA folosesc criptografia cu cheie public" în principal pentru distribuirea cheilor de sesiune de unic" folosin#" utilizate pentru un algoritm simetric ca AES sau triplu DES. RSA este prea lent pentru a cripta eficient volume mari de date, dar este folosit mult la distribu#ia de chei.

8.3.2 Al"i algoritmi cu cheie public#

Cu toate c" RSA este larg r"spândit, nu este în nici un caz singurul algoritm cu cheie public" cu-noscut. Primul algoritm cu cheie public" a fost algoritmul rucsacului (Merkle i Hellman, !978). Ide-ea este c" cineva posed" un num"r mare de obiecte, fiecare cu greutate diferit". Posesorul codific" mesajul prin selec#ia secret" a unei submul#imi de obiecte i plasarea lor în rucsac. Greutatea total" a obiectelor din rucsac este f"cut" public", ca i lista tuturor obiectelor posibile. Lista obiectelor din rucsac este #inut" secret". Cu câteva restric#ii suplimentare, problema g"sirii unei liste de obiecte cu greutatea dat" a fost gândit" ca fiind intractabil" computa#ional i formeaz" baza pentru algoritmul cu cheie public".

Inventatorul algoritmului, Ralph Merkle, a fost aproape sigur c" acest algoritm nu poate fi spart, astfel c" el a oferit o recompens" de !00 de dolari oricui îl va putea sparge. Adi Shamir („S”-ul din RSA) l-a spart cu promptitudine i a primit recompensa. F"r" a- i pierde curajul, Merkle i-a înt"rit algoritmul i a oferit o recompens" de !000 de dolari oricui va putea sparge noul algoritm. Ronald Rivest („R” -ul din RSA) l-a spart cu promptitudine i a luat banii. Merkle nu a îndr"znit s" ofere !0000 de dolari pentru urm"toarea versiune, astfel c" „A” (Leonard Adelman) nu a avut noroc. Cu toate acestea, algoritmul rucsacului nu este considerat sigur i este rareori utilizat.

Alte scheme cu cheie public" sunt bazate pe dificultatea calculului logaritmilor discre#i (Rabin, !979). Algoritmii care folosesc acest principiu au fost inventa#i de El Gamal (!985) i Schnorr (!99!).

Exist" câteva alte scheme, cum ar fi cele bazate pe curbe eliptice (Menezes i Vanstone, !993), dar cele dou" categorii majore sunt cele bazate pe dificultatea factoriz"rii numerelor mari i a calcu-lului logaritmilor discre#i modulo un num"r prim mare. Aceste probleme sunt considerate ca fiind cu adev"rat dificile deoarece matematicienii le studiaz" de mul#i ani f"r" vreun progres notabil.

8.4 SEMN$TURI DIGITALE

Autenticitatea multor documente legale, financiare i de alt gen este determinat" de prezen#a sau absen#a unor semn"turi autorizate scrise de mân". Iar fotocopiile nu sunt valabile. Pentru ca sistemele de mesaje computerizate s" înlocuiasc" transportul fizic al documentelor scrise cu cerneal" pe hârtie trebuie g"sit" o metod" ca documentele s" fie semnate într-un mod nefalsificabil.

SEC. 8.4 SEMN$TURI DIGITALE 675

Problema de a concepe un înlocuitor pentru semn"turile scrise de mân" este destul de dificil". De fapt, este necesar un sistem prin care una din p"r#i poate trimite mesaje „semnate” celeilalte p"r#i astfel încât:

!. Receptorul poate verifica identitatea pe care pretinde a o avea transmi#"torul; 2. Transmi#"torul nu poate s" nege mai târziu c" e autorul mesajului; 3. Receptorul nu poate s" fi preg"tit el însu i mesajul.

Prima cerin#" este necesar", de exemplu, în sistemele financiare. Atunci când calculatorul unui client ordon" calculatorului unei b"nci s" cumpere o ton" de aur, calculatorul b"ncii trebuie s" poat" s" se asigure c" acel calculator care d" ordinul apar#ine într-adev"r companiei al c"rei cont va fi debi-tat. Cu alte cuvinte, banca trebuie s" autentifice clientul ( i clientul trebuie s" autentifice banca).

A doua cerin#" este necesar" pentru a proteja banca împotriva fraudei. S" presupunem c" banca cump"r" o ton" de aur i imediat dup" aceea pre#ul aurului scade brusc. Un client necinstit poate s" acuze banca, pretinzând c" el nu a emis niciodat" vreun ordin de cump"rare de aur. Când banca pre-zint" mesajul în fa#a cur#ii, clientul neag" faptul c" l-ar fi trimis. Proprietatea c" nici o parte a unui con-tract nu poate nega mai târziu faptul c" l-a semnat se nume te nerepudiere (eng.: nonrepudiation). Schemele cu semn"tur" digital" pe care le vom studia acum ofer" aceast" proprietate.

Cea de-a treia cerin#" este necesar" pentru a proteja clientul în eventualitatea c" pre#ul aurului explodeaz" i banca încearc" s" construiasc" un mesaj în care clientul cere cump"rarea unui lingou de aur în locul unei tone. În acest scenariu de fraud", banca î i p"streaz" restul de aur pentru ea îns" i.

8.4. Semn#turi cu cheie simetric#

Un mod de abordare pentru semn"turile digitale este acela de a avea o autoritate central" care tie totul i în care oricine are încredere, s" spunem Big Brother (BB, rom.: fratele cel mare). Fiecare utilizator alege o cheie secret" i o duce personal la biroul BB. Astfel, doar Alice i BB vor cunoa te cheia secret" a lui Alice, KA, .a.m.d.

Atunci când Alice dore te s" trimit" un mesaj în clar semnat, P, bancherului s"u, Bob, ea gene-reaz" KA(B, RA, t, P), unde B este identitatea lui Bob, RA este un num"r aleator ales de Alice, t este o amprent" de timp pentru a asigura prospe#imea i KA(B, RA, t, P) este mesajul criptat cu cheia ei KA. Apoi îl trimite, dup" cum este se arat" i în fig. 8-!8. BB vede c" mesajul este de la Alice, îl decrip-teaz" i îi trimite lui Bob mesajul ca în figur". Mesajul trimis spre Bob con#ine textul clar din mesajul lui Alice i, de asemenea, mesajul semnat KBB(A, t, P), unde t este amprenta de timp. Acum Bob rezolv" cererea lui Alice.

Fig. 8- 8. Semn"turi digitale cu Big Brother.

Ce se întâmpl" dac" Alice neag" mai târziu trimiterea mesajului? Primul pas este c" toat" lumea

d" în judecat" pe toat" lumea (cel pu#in în S.U.A.). În final, când cazul ajunge în fa#a cur#ii i Alice

676 SECURITATEA RE!ELELOR CAP. 8

neag" cu înver unare c" a trimis lui Bob mesajul în disput", judec"torul îl va întreba pe Bob cum poate fi sigur c" mesajul disputat vine de la Alice i nu de la Trudy. Bob va ar"ta mai întâi c" BB nu accept" un mesaj de la Alice decât dac" este criptat cu KA, a a c" nu exist" nici o posibilitate ca Trudy s"-i trimit" lui BB un mesaj fals ca provenind de la Alice f"r" ca BB s" îl detecteze imediat.

Apoi Bob va aduce în mod incontestabila Prob" A, KBB(A, t, P). Bob spune c" acesta este un me-saj semnat de BB care demonstreaz" c" Alice i-a trimis P lui Bob. Judec"torul îi va cere apoi lui BB (în care toat" lumea are încredere) s" decripteze Proba A. Când BB va depune m"rturie c" Bob spune adev"rul, judec"torul va de verdictul în favoarea lui Bob. Cazul va fi închis.

O problem" posibil" cu protocolul de semnare din fig. 8-!8 apare atunci când Trudy replic" ori-care din mesaje. Pentru a minimiza aceast" problem", sunt folosite peste tot amprente de timp. Mai mult, Bob poate verifica toate mesajele recente s" vad" dac" RA a fost folosit în vreunul dintre ele. Dac" da, mesajul respectiv este ignorat deoarece este o replic". De remarcat c" Bob va refuza toate mesajele foarte vechi din punct de vedere al amprentei de timp. Pentru a se p"zi împotriva atacurilor cu replic" instantanee, Bob verific" doar RA al oric"rui mesaj venit, ca s" vad" dac" s-a mai primit în ultima or" un astfel de mesaj de la Alice. Dac" nu, Bob poate presupune f"r" nici un risc c" mesajul reprezint" o nou" cerere.

8.4.2 Semn#turi cu cheie public#

O problem" structural" în folosirea criptografiei cu cheie secret" pentru semn"turi digitale este aceea c" oricine trebuie s" se încread" în Big Brother. Mai mult decât atât, Big Brother poate citi toate mesajele semnate. Cei mai logici candida#i pentru a juca rolul lui Big Brother sunt guvernul, b"ncile, contabilii i avoca#ii. Din p"cate, nici una dintre aceste organiza#ii nu inspir" încredere total" tuturor cet"#enilor. De aceea ar fi frumos dac" semnarea documentelor nu ar necesita existen#a unei astfel de autorit"#i de încredere.

Din fericire, criptografia cu cheie public" î i poate aduce aici o important" contribu#ie. S" presu-punem c" algoritmii de criptare i decriptare cu cheie public" au proprietatea c" E(D(P))=P în plus fa#" de proprietatea uzual" D(E(P))=P. (RSA are aceast" proprietate, deci presupunerea nu este nerezonabil"). Presupunând acest lucru, Alice poate trimite un text clar semnat, P, lui Bob transmi-#ând EB(DA(P)). O observa#ie important" aici este aceea c" Alice cunoa te atât propria sa cheie se-cret", DA, cât i cheia public" a lui Bob, EB, astfel încât construc#ia acestui mesaj este pentru Alice un lucru realizabil.

Când Bob prime te mesajul, el îl transform", folosindu- i cheia privat", ca de obicei, rezultând DA(P), dup" cum este ar"tat i în fig. 8-!9. El memoreaz" acest text într-un loc sigur i apoi aplic" EA pentru a ob#ine textul clar original.

Fig. 8- 9. Semn"turi digitale folosind criptografia cu cheie public".

SEC. 8.4 SEMN$TURI DIGITALE 677

Pentru a vedea cum lucreaz" proprietatea de semn"tur", s" presupunem c" Alice neag" ulterior trimiterea mesajului P lui Bob. Atunci când cazul ajunge în fa#a cur#ii, Bob poate aduce ca probe atât P cât i DA(P). Judec"torul poate verifica u or c" Bob are un mesaj valid criptat cu DA, doar aplicând EA asupra lui. Deoarece Bob nu tie care este cheia privat" a lui Alice, singurul mod prin care Bob poate s" fi primit mesajul criptat cu aceast" cheie privat" este ca Alice în persoan" s"-l fi trimis. Cât timp va sta în închisoare pentru minciun" i fraud" Alice va avea suficient timp s" con-ceap" noi algoritmi cu cheie public" interesan#i.

Cu toate c" folosirea criptografiei cu cheie public" pentru semn"turi digitale este o schem" ele-gant", exist" probleme legate mai degrab" de mediul în care acestea opereaz" decât de algoritmul de la baz". De exemplu, Bob poate dovedi c" mesajul a fost trimis de c"tre Alice doar atâta vreme cât DA r"mâne secret. Dac" Alice dezv"luie cheia sa secret" acest argument nu va mai fi valabil, deoa-rece oricine poate s" fi trimis mesajul, chiar i Bob.

Problema poate ap"rea, de exemplu, dac" Bob este agentul de vânz"ri al lui Alice. Alice îi spune lui Bob s" cumpere ni te ac#iuni. Imediat dup" aceea, pre#ul scade vertiginos. Pentru a repudia mesa-jul s"u c"tre Bob, Alice face o plângere la poli#ie, pretinzând c" i-a fost spart" casa i furat" cheia se-cret". În func#ie de legisla#ia din #ara sau #inutul s"u, ea poate fi sau nu r"spunz"toare legal, în special dac" pretinde c" a descoperit spargerea când s-a întors acas" de la munc", la câteva ore mai târziu.

O alt" problem" cu schema de semn"tur" este ce se întâmpl" dac" Alice decide s"- i schimbe cheia. A face acest lucru este evident legal i este probabil o idee bun" s" o fac" periodic. Dac" în justi#ie apare mai târziu un caz, a a cum s-a povestit mai sus, judec"torul va aplica actualul EA la DA(P) i va descoperi c" nu se ob#ine P. Bob va fi atunci într-o situa#ie delicat".

În principiu, orice algoritm cu cheie public" poate fi folosit pentru semn"turi digitale. Standardul de facto în industrie este algoritmul RSA. Multe produse pentru securitate îl folosesc. Totu i, în !99!, NIST (National Institute of Standards and Technology) a propus o variant" a algoritmului cu cheie public" El Gamal pentru noul lor standard DSS (Digital Signature Standard, rom.: Standard pentru Semn"tur" Digital") . El Gamal î i bazeaz" securitatea pe dificultatea calculului logaritmilor discre#i i nu pe dificultatea factoriz"rii numerelor mari.

Ca de obicei, când guvernul încearc" s" impun" standarde criptografice, s-a iscat o reac#ie anta-gonist" de mas". DSS a fost criticat pentru a fi:

!. Prea secret (NSA a proiectat protocolul pentru folosirea El Gamal). 2. Prea lent (de !0 pân" la 40 de ori mai lent decât RSA în verificarea semn"turilor). 3. Prea nou (El Gamal nu a fost înc" suficient analizat). 4. Prea nesigur (chei fixe de 5!2 bi#i).

Dup" o revizuire ulterioar", cel de-al patrulea motiv a fost eliminat fiindc" s-au permis chei de pân" la !024 bi#i. Cu toate acestea, primele dou" puncte r"mân valide.

8.4.3 Rezumate de mesaje

O critic" adus" schemelor de semn"tur" este aceea c" adeseori cupleaz" dou" func#ii distincte: autentificare i confiden#ialitate. Adesea, autentificarea este necesar", dar confiden#ialitatea nu. De asemenea, ob#inerea unei licen#e de export este deseori mai u oar" dac" sistemul în chestiune ofer" numai autentificare dar nu i confiden#ialitate. Mai jos vom descrie o schem" de autentificare care nu necesit" criptarea întregului mesaj.

678 SECURITATEA RE!ELELOR CAP. 8

Schema este bazat" pe ideea unei func#ii de dispersie neinversabile care preia o bucat" de text clar de lungime arbitrar" din care calculeaz" un ir de bi#i de lungime fix". Func#ia de dispersie, MD, adeseori numit" rezumat (digest) al mesajului, are patru propriet"#i importante:

!. Dat fiind P, este u or de calculat MD(P). 2. Dat fiind MD(P), este efectiv imposibil de calculat P. 3. Dat fiind P nimeni nu poate g"si P’ astfel încât MD(P’)=MD(P). 4. O schimbare la intrare chiar i de ! bit produce o ie ire foarte diferit".

Pentru a satisface criteriul 3, dispersia trebuie s" aib" cel pu#in !28 de bi#i lungime, de preferat chiar mai mult. Pentru a satisface criteriul 4, dispersia trebuie s" amestece bi#ii foarte bine, la fel ca algoritmii de criptare cu cheie simetric" pe care i-am v"zut.

Calculul rezumatului unui mesaj dintr-o bucat" de text clar este mult mai rapid" decât criptarea acelui text clar cu un algoritm cu cheie public", deci rezumatele de mesaje pot fi folosite pentru a oferi vitez" algoritmilor cu semn"tur" digital". Pentru a vedea cum lucreaz", s" consider"m din nou protocolul de semn"tur" din fig. 8-!8. În loc de a semna P cu KBB(A, t, P), BB calculeaz" acum rezu-matul mesajului aplicând MD lui P, rezultând MD(P). BB include apoi KBB(A, t, MD(P)) ca al cinci-lea element în lista criptat" cu KB care este trimis" lui Bob, în loc de KBB(A, t, P).

Dac" apare o disput", Bob poate aduce ca argumente atât P cât i KBB(A, t, MD(P)). Dup" ce Big Brother l-a decriptat pentru judec"tor, Bob are MD(P), care este garantat a fi original i pretinsul P. Totu i, deoarece este efectiv imposibil ca Bob s" g"seasc" un alt mesaj care s" aib" acest rezumat, judec"torul va fi convins u or c" Bob spune adev"rul. Folosirea rezumatelor mesajelor în acest mod economise te atât timpul de criptare cât i costurile pentru transport i memorare.

Calculul rezumatelor mesajelor func#ioneaz" i în criptosistemele cu chei publice, dup" cum este ar"tat i în fig. 8-20. Aici, Alice calculeaz" mai întâi rezumatul de mesaj pentru textul s"u clar. Apoi ea semneaz" rezumatul i trimite atât rezumatul semnat cât i textul clar lui Bob. Dac" Trudy îl înlo-cuie te pe P în timpul transferului, Bob va vedea aceasta atunci când va calcula el însu i MD(P).

Fig. 8-20. Semn"turi digitale folosind rezumatul mesajului.

MD5 Au fost propuse diverse de func#ii pentru calculul rezumatului mesajelor. Cele mai folosite sunt

MD5 (Rivest, !992) i SHA-! (NIST, !993). MD5 este a cincea dintr-o serie de func#ii de dispersie proiectate de Ronald Rivest. Opereaz" prin amestecarea bi#ilor într-un mod suficient de complicat, astfel încât fiecare bit de ie ire s" fie afectat de fiecare bit de intrare. Foarte pe scurt, algoritmul în-cepe prin a umple mesajul pân" la o lungime de 448 de bi#i (modulo 5!2). Apoi lungimea original" a mesajului este ad"ugat" ca un întreg pe 64 de bi#i, dând o intrare total" a c"rei lungime este un multiplu de 5!2 de bi#i. Ultimul pas dinaintea începerii calculului este ini#ializarea unui tampon de !28 de bi#i la o valoare fix".

Apoi începe calculul. Fiecare rund" ia un bloc de intrare de 5!2 de bi#i i îl amestec" complet cu tamponul de !28 de bi#i. Ca o m"sur" suplimentar", este folosit" i o tabel" construit" folosind func-

SEC. 8.4 SEMN$TURI DIGITALE 679

#ia sinus. Utilizarea unei func#ii cunoscute cum este sinus nu se datoreaz" faptului c" este mai alea-toare decât un generator de numere aleatoare, ci pentru a evita orice suspiciune c" proiectantul a inclus o trap" inteligent ascuns" prin care doar el poate intra. Refuzul IBM-ului de a dezv"lui prin-cipiile aflate la baza proiect"rii cutiilor S din DES a dus la destul de multe specula#ii privind existen#a trapelor ascunse. Rivest a vrut s" evite aceast" suspiciune. Pentru fiecare bloc de intrare sunt efectu-ate patru runde. Acest proces continu" pân" când sunt consumate toate blocurile de intrare. Con#i-nutul tamponului de !28 de bi#i formeaz" rezumatul mesajului.

MD5 este activ deja de peste o decad" i a fost atacat de mul#i. S-au g"sit câteva vulnerabilit"#i, dar anumi#i pa i interni previn spargerea lui. Totu i, dac" barierele care r"mân în MD5 cad, poate c" într-un final va c"dea i el. Cu toate acestea, la momentul scrierii acestei c"r#i el st"tea înc" în picioare.

SHA- Alt" func#ie major" pentru calculul rezumatului este SHA (Secure Hash Algorithm, rom.: Algo-

ritm de Dispersie Sigur), dezvoltat" de NSA i acceptat" de c"tre NIST ca FIPS !80-!. Ca i MD5, SHA-! prelucreaz" datele de intrare în blocuri de câte 5!2 de bi#i, dar, spre deosebire de MD5, ge-nereaz" un rezumat de mesaj de !60 de bi#i. Un mod tipic pentru Alice de a trimite un mesaj nesecret dar semnat lui Bob este ilustrat în fig. 8-2!. Aici mesajul ei de text clar este introdus în algo-ritmul SHA-! pentru a ob#ine o dispersie SHA-! de !60 bi#i. Apoi Alice semneaz" dispersia cu cheia sa privat" RSA i trimite atât mesajul în text clar cât i dispersia semnat" lui Bob.

Fig. 8-2 . Folosirea lui SHA-! i RSA pentru a semna mesaje nesecrete

Dup" ce prime te mesajul, Bob calculeaz" el însu i dispersia SHA-! i aplic" de asemenea cheia

public" a lui Alice asupra dispersiei semnate pentru a ob#ine dispersia original" H. Dac" cele dou" se potrivesc, mesajul este considerat valid. Deoarece nu exist" nici o cale pentru Trudy de a modifica mesajul (în text clar) în timp ce se trimite i de a produce unul nou care d" ca dispersie H, Bob poate s" detecteze u or orice modific"ri pe care le-a adus Trudy mesajului. Pentru mesajele a c"ror integri-tate este important" dar al c"ror con#inut nu este secret, se folose te pe larg schema din fig. 8-2!. În schimbul unui cost de calcul relativ mic, ea garanteaz" c" orice modific"ri f"cute asupra mesajului în text clar în tranzit pot fi detectate cu o probabilitate foarte mare.

Acum s" vedem pe scurt cum lucreaz" SHA-!. Acesta începe prin a completa mesajul, ad"ugând la sfâr it un bit !, urmat de atâ#i bi#i 0 câ#i sunt necesari pentru a ob#ine o lungime multiplu de 5!2 de bi#i. Apoi se introduce prin OR în cei 64 de bi#i mai pu#in semnificativi un num"r de 64 bi#i con#i-nând lungimea mesajului înaintea complet"rii. În fig. 8-22, este ar"tat mesajul cu completare la dreapta deoarece textul i cifrele engleze ti merg de la stânga la dreapta (adic" dreapta jos este per-ceput în general ca sfâr it de cifr"). La calculatoare, aceast" orientare corespunde la ma ini de tip

680 SECURITATEA RE!ELELOR CAP. 8

big-endian ca SPARC, dar SHA-! completeaz" întotdeauna sfâr itul mesajului, indiferent de ce tip de endian este ma ina.

Fig. 8-22. (a) Un mesaj completat pân" la un multiplu de 5!2 bi#i. (b) Variabilele de ie ire. (c)

Vectorul de cuvinte

În timpul calculului, SHA-! p"streaz" cinci variabile de 32 de bi#i, H0 pân" la H4, în care se acumuleaz" dispersia. Acestea sunt ar"tate în fig. 8-22(b). Ele sunt ini#ializate la constante specifi-cate în standard.

Fiecare din blocurile M0 pân" la Mn-! este prelucrat pe rând. Pentru blocul curent, primele !6 cu-vinte sunt copiate mai întâi la începutul unui vector auxiliar de 80 de cuvinte, W, ca în fig. 8-22(c). Apoi celelalte 64 de cuvinte din W sunt umplute folosind formula

Wi=Si(Wi-3 XOR Wi-8 XOR Wi-!4 XOR Wi-!6) (!6 i 79)

unde Sb(W) reprezint" rota#ia circular" la stânga, cu b bi#i a cuvântului de 32 de bi#i W. Cinci variabi-le auxiliare, de la A pân" la E, sunt apoi ini#ializate din H0 – H4 respectiv.

Calculul poate fi prezentat în pseudo-C astfel:

for (i = 0; i < 80; i++) { temp = S5(A) + fI(B, C, D) + E + Wi + Ki; E = D; D = C; C = S30(B); B = A; A = temp; }

unde constantele Ki sunt definite în standard. Func#iile de amestecare fi sunt definite astfel:

fi(B, C, D) = (B AND C) OR (NOT B AND D) ( 0 ! i # 9) fi(B, C, D) = B XOR C XOR D (20 ! i # 39) fi(B, C, D) = (B AND C) OR (B AND D) OR (C AND D) (40 ! i # 59) fi(B, C, D) = B XOR C XOR D (60 ! i # 79)

Când toate cele 80 de itera#ii ale buclei sunt terminate, variabilele A pân" la E sunt ad"ugate la H0 pân" la H4, respectiv.

Dup" prelucrarea primului bloc de 5!2 de bi#i, se începe urm"torul. Vectorul W este reini#ializat din noul bloc, dar H este l"sat cum era. Când acest bloc se termin", se începe urm"torul, .a.m.d., pân" când toate blocurile de 5!2 de bi#i ale mesajului au fost b"gate în seam". Când ultimul bloc a fost terminat, cele cinci cuvinte de 32 de bi#i din vectorul H sunt scoase la ie ire ca dispersia cripto-grafic" de !60 bi#i. Codul complet C pentru SHA-! este dat în RFC 3!74.

Noi versiuni ale SHA-! sunt în curs de alc"tuire pentru dispersii de respectiv 256, 384 i 5!2 bi#i.

SEC. 8.4 SEMN$TURI DIGITALE 68

8.4.4 Atacul zilei de na%tere

În lumea criptografiei, nimic nu este ceea ce pare a fi. S-ar putea crede c" sunt necesare 2m ope-ra#ii pentru a falsifica un rezumat de m bi#i. De fapt, 2m/2 sunt suficiente dac" se folose te atacul zilei de na tere, o abordare publicat" de Yuval (!979) în lucrarea sa „How to Swindle Rabin” (rom.: Cum s"-l jefuie ti pe Rabin).

Ideea acestui atac vine de la o tehnic" pe care profesorii de matematic" o folosesc adeseori în cursurile lor de teoria probabilit"#ilor. Întrebarea este: Câ#i studen#i trebuie s" fie într-o clas" pentru ca probabilitatea de a exista doi studen#i cu aceea i dat" de na tere s" fie !/2? Mul#i studen#i se a -teapt" ca r"spunsul s" fie ceva peste !00. De fapt, teoria probabilit"#ilor spune c" trebuie s" fie exact 23. F"r" a face o analiz" riguroas", intuitiv, cu 23 de oameni se pot forma (23 23)/2 = 253 perechi diferite, fiecare dintre ele având o probabilitate de !/365 s" fie cea potrivit". În aceast" lumin", rezul-tatul nu mai este deloc surprinz"tor.

Mai general, dac" exist" o coresponden#" între intr"ri i ie iri cu n intr"ri (oameni, mesaje etc.) i k ie iri (zile de na tere, rezumate etc.), exist" n(n-2)/2 perechi de intrare. Dac" n(n-2)/2 > k, ansa de a avea cel pu#in o potrivire este destul de mare. Astfel, cu aproxima#ie, o potrivire este posibil"

pentru n k$ . Acest rezultat înseamn" c" un rezumat de 64 de bi#i poate fi probabil spart prin generarea a aproape 232 mesaje i c"utând dou" cu acela i rezumat.

S" vedem acum un exemplu practic. Departamentul de %tiin#a Calculatoarelor de la Universita-tea de Stat are disponibil un post de profesor titular i exist" doi candida#i la el, Tom i Dick. Tom a fost angajat cu doi ani înaintea lui Dick, a a c" el merge primul la verificare. Dac" reu e te, Dick are ghinion. Tom tie c" efa departamentului, Marylin, are o impresie bun" despre activitatea sa, a a c" o roag" s" îi scrie o scrisoare de recomandare pentru decan, cel care va decide în cazul s"u. Odat" trimise, toate scrisorile devin confiden#iale.

Marylin spune secretarei, Ellen, s" scrie Decanului o scrisoare, subliniind ceea ce dore te. Când este gata, Marylin o va revizui, va calcula i va semna un rezumat de 64 de bi#i i îl va trimite decanu-lui. Ellen poate trimite scrisoarea mai târziu, prin po t" electronic".

Din nefericire pentru Tom, Ellen are o idil" cu Dick i i-ar pl"cea s" îl fac" pe Tom s" e ueze, a a c" ea scrie o scrisoare cu urm"toarele 32 de op#iuni cuprinse între paranteze drepte.

Dear Dean Smith,

This [letter | message] is to give my [honest | frank] opinion of Prof. Tom Wilson, who is [a candi-date | up] for tenure [now | this year]. I have [known | worked with] Prof. Wilson for [about | almost] six years. He is an [outstanding | excellent] researcher of great [talent | ability] known [worldwide | internationally] for his [brilliant | creative] insights into [many | a wide variety of ] [difficult | challeng-ing] problems.

He is also a [highly | greatly] [respected | admired] [teacher | educator]. His students give his [classes | courses] [rave | spectacular] reviews. He is [our | the Department’s] [most popular | best-loved] [teacher | instructor].

[In addition | Additionally] Prof. Wilson is a [gifted | effective] fund raiser. His [grants | contracts] have brought a [large | substantial] amount of money into [the | our] Department. [This money has | These funds have] [enabled | permitted] us to [pursue | carry out] many [special | important] programs, [such as | for example] your State 2000 program. Without these funds we would [be enable | not be able] to continue this program which is so [important | essential] to both of us. I strongly urge you to grant him tenure.

682 SECURITATEA RE!ELELOR CAP. 8

Din nefericire pentru Tom, imediat dup" ce Ellen termin" de alc"tuit i introdus mesajul, ea scrie de asemenea un al doilea mesaj:

Dear Dean Smith, This [letter | message] is to give my [honest | frank] opinion of Prof. Tom Wilson, who is [a candi-

date | up] for tenure [now | this year]. I have [known | worked with]. Prof. Wilson for [about | almost] six years. He is an [poor | weak] researcher not well known in his [field | area]. His research [hardly ever | rarely] shows [insight in | understanding of] the [key | major] problems of [the | our] day.

Furthermore, he is not a [respected | admired] [teacher | educator]. His students give his [classes | courses] [poor | bad] reviews. He is [our | the Department’s] least popular [teacher | instructor], known [mostly | primarily] within [our | the] Department for his [tendency | propensity] to [ridicule | embar-rass] students [foolish | imprudent] enough to ask questions in his classes.

[In addition | Additionally] Tom is a [poor | marginal] fund raiser. His [grants | contracts] have brought only a [meager | insignificant] amount of money into [the | our] Department. Unless new [money is | funds are] quickly located, we must have to cancel essential programs such as your State 2000 program. Unfortunately, under these [conditions | circumstances]. I cannot in good [conscience | faith] recommend him to you for [tenure | a permanent position].

Ellen pune calculatorul s" calculeze în timpul nop#ii 232 rezumate de mesaj pentru fiecare scri-soare. Exist" anse ca un rezumat al primei scrisori s" se potriveasc" cu un rezumat al celei de-a do-ua scrisori. Dac" nu, ea poate s" adauge mai multe op#iuni i s" încerce din nou în timpul weekend-ului. S" presupunem c" g"se te o potrivire. S" not"m scrisoarea „bun"” cu A i scrisoarea „rea” cu B.

Ellen trimite acum scrisoarea A lui Marilyn pentru aprobare. Scrisoarea B o p"streaz" complet secret", near"tând-o nim"nui. Desigur c" Marilyn o aprob", calculeaz" rezumatul de 64 de bi#i, sem-neaz" rezumatul i trimite rezumatul semnat decanului Smith. Independent, Ellen îi trimite decanu-lui Smith scrisoarea B ( i nu scrisoarea A, cum trebuia).

Dup" ce prime te scrisoarea i rezumatul semnat, decanul ruleaz" algoritmul de calcul al rezu-matului pentru scrisoarea B, vede c" se potrive te cu ceea ce i-a trimis Marilyn i îl d" afar" pe Tom. Decanul nu în#elege c" Ellen a reu it s" genereze dou" scrisori cu acela i rezumat i i-a trimis o scri-soare diferit" decât cea pe care a v"zut-o i aprobat-o Marilyn. (Sfâr it op#ional: Ellen îi poveste te lui Dick ceea ce a f"cut. Dick este revoltat i rupe rela#ia cu ea. Ellen este furioas" i se confeseaz" lui Marilyn. Marilyn îl sun" pe Decan. Tom ob#ine pân" la urm" postul). Atacul zilei de na tere este nefezabil la MD5 deoarece, chiar i la un miliard de rezumate pe secund", ar trebui peste 500 de ani pentru a calcula 264 rezumate pentru cele dou" scrisori, cu 64 de variante fiecare, i nici atunci succe-sul nefiind garantat. SHA-! este mai bun (deoarece este mai lung).

8.5 GESTIONAREA CHEILOR PUBLICE

Criptografia cu chei publice face posibil" comunica#ia sigur" între persoane care nu împart o cheie comun". De asemenea face posibil" semnarea mesajelor f"r" prezen#a unei a treia p"r#i de încredere. În fine, rezumatul mesajului semnat face posibil" verificarea u oar" a integrit"#ii mesaje-lor primite.

SEC. 8.5 GESTIONAREA CHEILOR PUBLICE 683

Oricum, exist" o problem" peste care am trecut un pic cam repede: dac" Alice i Bob nu se cu-nosc unul pe altul, cum î i pot afla cheile publice pentru a porni procesul de comunica#ie? Solu#ia evident" – pune#i cheia public" pe web – nu merge datorit" urm"torului motiv. Presupunem c" Alice vrea s" caute cheia public" a lui Bob pe site-ul lui de web. Cum face ea acest lucru? Începe prin a tasta adresa de web a lui Bob. Browserul ei va c"uta adresa DNS a paginii principale a lui Bob i va trimite o cerere de tip GET, a a cum se indic" în fig. 8-23. Din p"cate, Trudy intercepteaz" cererea i r"spunde cu o fals" pagin" principal", probabil o copie a paginii principale a lui Bob în care s-a înlo-cuit cheia public" a lui Bob cu cheia public" a lui Trudy. Când Alice va cripta primul ei mesaj cu ET, Trudy îl va decripta, îl va citi, îl va recripta cu cheia public" a lui Bob i îl va trimite apoi lui Bob, care nu este capabil s"- i dea seama c" Trudy i-a citit mesajele primite. %i mai grav, Trudy poate modifica mesajele înainte de a le recripta pentru Bob. În mod evident, este nevoie de un mecanism care s" asigure un schimb sigur de chei publice.

Fig. 8-23. O modalitate prin care Trudy sparge infrastructura cu chei publice

8.5. Certificate

Ca o prim" încercare de distribuire sigur" a cheilor publice, ne putem imagina un centru de dis-tribu#ie a cheilor disponibil 24 de ore pe zi pentru a oferi chei publice la cerere. Una dintre multele probleme ale acestei solu#ii este lipsa de scalabilitate i faptul c" centrul de distribu#ie de chei va de-veni rapid un punct de gâtuire a procesului de distribu#ie de chei. De asemenea, dac" centrul se va opri vreodat", securitatea Internetului se va pierde in mod subit.

Din cauza acestor motive, s-a dezvoltat o solu#ie diferit", care nu presupune un centru de distri-bu#ie de chei care s" fie disponibil tot timpul. De fapt, acesta nu trebuie s" fie disponibil deloc. În schimb, solu#ia aleas" certific" faptul c" o cheie public" apar#ine unei anume persoane, companii sau altei organiza#ii. O organiza#ie care certific" chei publice este numit" CA (Certification Authority, rom.: Autoritate de Certificare).

Fig. 8-24. Un certificat posibil i rezumatul s"u semnat

684 SECURITATEA RE!ELELOR CAP. 8

De exemplu, s" presupunem c" Bob vrea s"-i permit" lui Alice i altor persoane s" comunice în mod sigur cu el. El poate s" mearg" la un CA cu cheia sa public" înso#it" de pa aport sau permisul de conducere i s" cear" s" fie certificat. CA-ul va emite un certificat similar cu cel din fig. 8-24 i va semna rezumatul de tip SHA-! al certificatului cu cheia sa secret". Bob va pl"ti pre#ul cerut de CA i va ob#ine o dischet" con#inând certificatul i rezumatul semnat.Scopul principal al unui certificat este s" fac" leg"tura între o cheie public" i o entitate (individ, companie etc.). Certificatele în sine nu sunt secrete sau protejate. Bob poate, de exemplu, s" decid" s"- i pun" noul certificat pe sit-ul s"u web, cu o leg"tur" c"tre pagina sa principal" în care sa afirme: "Apas" aici pentru certificatul chei mele publice". Ca rezultat se vor returna atât certificatul cât i semn"tura sa (codul de dispersie sem-nat SHA-! al certificatului).

S" mai analizam înc" o dat" scenariul din fig. 8-23. Când Trudy intercepteaz" cererea lui Alice pentru pagina principal" a lui Bob, ce poate face ea acum? Î i poate pune propriul ei certificat i semn"tura pe pagina fals", dar când Alice va citi certificatul î i va da seama imediat c" nu vorbe te cu Bob deoarece numele lui Bob nu se g"se te în certificat. Trudy poate modifica pagina lui Bob din mers, înlocuind cheia public" a lui Bob cu propria ei cheie. Oricum, când Alice va rula algoritmul SHA-! pe certificat, va ob#ine un rezumat care va fi diferit de cel ob#inut prin aplicarea cheii publice a CA-ului asupra semn"turii certificatului. Cum Trudy nu de#ine cheia privat" a CA-ului, ea nu are nici o modalitate de a genera un bloc de semn"tur" care s" con#in" codul de dispersie modificat de ea, prin înlocuirea propriei sale chei publice în pagina de web. În acest fel Alice poate fi sigur" ca are cheia public" a lui Bob i nu pe cea a lui Trudy sau a altcuiva. Cum am promis, aceast" schem" nu presupune un CA disponibil mereu pentru verificare, eliminându-se astfel o posibil" gâtuire.

În timp ce func#ia standard a unui certificat este de a face leg"tura între o cheie public" i o enti-tate, un certificat poate face leg"tura între o cheie public" i un atribut. De exemplu un certificat poate afirma: "Aceast" cheie public" apar#ine cuiva care are vârsta de peste !8 ani. Ea poate fi folosi-t" pentru a dovedi c" posesorul cheii private nu este minor i c" are acces la materiale interzise copii-lor i a a mai departe" , f"r" a dezv"lui identitatea posesorului certificatului. În mod obi nuit, per-soana care de#ine un certificat, îl va trimite unui sit Web, persoan" sau proces de administrare, în care se #ine cont de vârst". Acel sit (persoana sau procesul de administrare) va genera un num"r aleator i îl va cripta cu cheia public" prezent" în certificat. Dac" posesorul certificatului este capabil s" decripteze mesajul i s"-l trimit" înapoi, acest lucru va fi o dovada c" posesorul de#ine într-adev"r atributul din certificat. Ca alternativ", num"rul aleator poate fi folosit pentru a genera o cheie de sesiune pentru a garanta comunica#ia.

Un alt exemplu în care certificatul poate con#ine un atribut este cazul sistemelor distribuite ori-entate pe obiecte. Fiecare obiect are în mod normal mai multe metode. Proprietarul unui obiect poate oferi fiec"rui client un certificat care s" con#in" o hart" de bi#i cu metode ce sunt permise cli-entului respectiv i poate face leg"tura între cheia public" i harta de bi#i prin folosirea unui certificat semnat. %i în acest caz, dac" posesorul certificatului poate dovedi c" este în posesia cheii secrete co-respunz"toare, el va avea dreptul s" execute metodele identificate de harta de bi#i. Certificatul are proprietatea c" identitatea posesorului nu trebuie s" fie cunoscut", proprietate util" în situa#ii în care confiden#ialitatea este important".

8.5.2 X.509

Dac" fiecare persoan" care dore te ceva semnat ar merge la CA pentru diverse tipuri de certifi-cate, gestionarea tuturor tipurilor de formate ar deveni curând o problem". Pentru a rezolva aceast"

SEC. 8.5 GESTIONAREA CHEILOR PUBLICE 685

problem", s-a proiectat i aprobat de c"tre ITU un standard pentru certificate. Standardul se nume -te X.509 i este folosit pe scara larg" în Internet. De la prima standardizare din !998, au existat trei versiuni. Vom discuta mai departe despre V3.

X.509 a fost foarte mult influen#at de lumea OSI, împrumutând unele din cele mai proaste tr"s"-turi (ex. politica de nume i codificarea ). În mod surprinz"tor, IETF a fost de acord cu X.509, chiar dac" în alte domenii, de la adresele ma inilor la protocoalele de transport i formatul po tei electro-nice, IETF ignor" OSI i încearc" s" fac" lucrurile corect. Versiunea IETF pentru X.509 este descri-s" în RFC 3280.

În principal, X.509 este o modalitate de a descrie certificate. Câmpurile principale dintr-un certifi-cat sunt listate in fig. 8-25. Descrierea dat" aici ar trebui s" ofere o idee general" a ceea ce fac câmpu-rile respective. Pentru informa#ii adi#ionale, v" rog s" consulta#i standardul în sine sau RFC 2459.

Câmp Semnifica ie Versiune Ce versiune de X.509 este utilizat! Num!r Serial Acest num!r împreun! numele CA-ului identific! în mod unic certificatul Algoritm de semnare Algoritmul folosit la semnarea certificatului Emitent Numele X.500 al CA-ului Perioada de validitate Momentele de început "i sfâr"it ale perioadei de validitate Numele subiectului Entitatea care este certificat! Cheia public! Cheia public! a subiectului "i ID-ul algoritmului folosit ID emitent Un identificator op#ional identificând în mod unic emitentul certificatului ID subiect Un identificator op#ional identificând în mod unic subiectul certificatului Extinderi Au fost definite mai multe extinderi Semn!tura Semn!tura certificatului (semnat cu cheia privat! a CA-ului)

Fig. 8-25. Câmpurile principale dintr-un certificat X.509 De exemplu, daca Bob lucreaz" în departamentul de împrumuturi al B"ncii Bani, adresa sa

X.500 poate sa fie:

/c=US/O=MoneyBanc/OU=Loan/CN=Bob/

unde C indic" #ara, O indica organiza#ia, OU reprezint" o unitate din organiza#ie, i CN este folosit drept numele comun (eng.: common name). CA-urile i alte entit"#i sunt denumite similar. O pro-blem" mare cu numele X.500 este c", dac" Alice vrea s"-l contacteze pe [email protected] i are un certificat con#inând un nume X.500, nu este evident c" acel certificat se refer" la acel Bob pe care vrea ea s"-l contacteze. Din fericire, începând cu versiunea 3, sunt permise numele DNS în loc de numele X.500, deci aceast" problem" ar putea s" dispar".

Certificatele sunt codificate folosind OSI ASN. (eng.: Abstract Syntax Notation , rom.: Nota"ia sintactic# abstract# ), care poate fi v"zut" ca o structur" C, cu excep#ia unei nota#ii foarte specifice i detaliate. Mai multe informa#ii despre X.509 pot fi g"site in (Ford i Baum, 2000).

8.5.3 Infrastructuri cu chei publice

Existen#a unei singure Autorit"#i de certificare care s" emit" toate certificatele din lume nu este evident o bun" solu#ie. Ea ar ceda datorit" înc"rc"rii mari i va fi în acela i timp i un punct central de defectare. O solu#ie posibil" este existen#a mai multor CA-uri, toate rulând în cadrul acelea i or-ganiza#ii i folosind aceea i cheie privat" pentru semnarea certificatelor. Cu toate c" se rezolv" pro-blema înc"rc"rii i a defect"rii, aceast" solu#ie introduce o problem" nou": dezv"luirea cheilor. Dac" ar exista o zeci de servere împr" tiate prin lume, toate de#inând cheia privat" a CA-ului, posibilitatea

686 SECURITATEA RE!ELELOR CAP. 8

furtului cheii private sau a dezv"luirii ei va cre te foarte mult. Cum compromiterea acestei chei va ruina securitatea infrastructurii electronice mondiale, existen#a unei singure CA centrale este un risc foarte mare.

În plus, ce organiza#ii vor juca rolul de CA? Este foarte greu de imaginat c" orice autoritate este acceptat" la nivel mondial ca legitim" i de încredere. În unele #"ri oamenii vor insista s" fie guver-namental", în timp ce în altele vor insista s" nu fie o organiza#ie guvernamental".

Din cauza acestor motive, a fost dezvoltat" o alt" variant" de certificare a cheilor publice. Denu-mirea general" este de PKI (eng.: Public Key Infrastructure, rom.: Infrastructur# cu chei publice) . În aceast" sec#iune vom prezenta pe scurt cum func#ioneaz" PKI în general, de i au existat mai mul-te propuneri care vor face ca detaliile s" evolueze în timp.

O PKI are mai multe componente, incluzând utilizatorii, CA-urile, certificatele i directoarele. Scopul unei PKI este s" ofere o structurare a acestor componente i s" defineasc" standarde pentru diferite documente i protocoale. O form" particular" de PKI este o ierarhie de CA-uri, a a cum se arat" în fig. 8-26. În acest exemplu se prezint" trei niveluri, dar în practic" pot fi mai multe sau mai pu#ine. CA-ul din vârf, r"d"cina, certific" a doua CA, pe care o vom denumi RA (eng.: Regional Authority, rom.: Autoritate Regional#) deoarece va r"spunde de anumite regiuni geografice, precum o #ar" sau un continent. Acest termen nu este standard; de fapt nici un termen referitor la diferite nivele din arbore nu este standardizat. Aceste RA-uri certific" de fapt adev"ratele CA-uri, care vor emite certificate X.509 pentru organiza#ii i indivizi. Când r"d"cina autorizeaz" o nou" RA, ea va genera un nou certificat X.509 care atest" c" a aprobat RA-ul, incluzând în el noua cheie public" a RA-ului, îl va semna i îl va trimite RA-ului. Similar, RA-ul aprob" noi CA-uri, genereaz" i sem-neaz" certificate care atest" aprobarea i con#in cheia public" a CA-ului.

PKI-ul nostru func#ioneaz" în modul urm"tor. S" presupunem c" Alice are nevoie de cheia pu-blic" a lui Bob pentru a comunica cu acesta, deci ea va c"uta i va g"si un certificat semnat de CA 5 care s" con#in" cheia public" respectiv". Dar Alice nu a auzit niciodat" de CA 5. Din câte tie ea, CA 5 poate fi i fiica de !0 ani a lui Bob. S-ar putea duce la CA5 i s"-i pretind" s" î i dovedeasc" legiti-mitatea. CA 5 r"spunde cu certificatul ob#inut de la RA 2, care con#ine cheia public" a lui CA 5. Acum, de#inând cheia public" a lui CA 5, ea poate verifica dac" certificatul lui Bob este într-adev"r semnat de CA 5 i datorit" acestui fapt este legal.

Fig. 8-26. (a) O PKI ierarhic" (b) Un lan# de certificate

SEC. 8.5 GESTIONAREA CHEILOR PUBLICE 687

Dar dac" RA 2 este copilul de !2 ani al lui Bob? Deci pasul urm"tor pentru ea este de a cere ca RA 2 s"- i dovedeasc" legitimitatea. R"spunsul la întrebarea ei este certificatul semnat de r"d"cin" i care con#ine cheia public" a lui RA 2. Acum Alice este sigur" ca ea de#ine cheia public" a lui Bob.

Dar cum tie Alice sa g"seasc" cheia public" a r"d"cinii? Magie. Se presupune c" toat" lumea cunoa te cheia public" a r"d"cinii. De exemplu, programul s"u de navigare ar fi putut fi vândut cu cheia public" a r"d"cinii înglobat" în el.

Bob este un tip prietenos i nu vrea s"-i provoace lui Alice mult" b"taie de cap. El tie c" ea tre-buie s" verifice CA 5 i RA 2, deci pentru a-i economisi timp, el colecteaz" certificatele necesare i îi transmite înc" dou" certificate al"turi de al s"u. Acum ea î i poate folosi propria ei informa#ie cu privire la cheia public" a r"d"cinii pentru a verifica certificatul din vârful ierarhiei i cheia public" con#inut" în acesta pentru a verifica al doilea certificat. În acest fel, Alice nu mai trebuie s" contacte-ze pe nimeni pentru a efectua verificarea. Pentru c" toate certificatele sunt semnate, ea poate detec-ta cu u urin#a orice încercare de falsificare a con#inutului acestora. Un lan# de certificate care duce la r"d"cin", ca în acest exemplu, este denumit câteodat" lan" de încredere sau cale de certificare. Teh-nica este larg r"spândit" în practic".

Desigur, mai r"mâne problema cine va juca rolul de r"d"cin". Solu#ia este s" nu avem o singur" r"d"cin", ci s" avem mai multe, fiecare cu propriile sale RA-uri i CA-uri. De fapt, programele de navigare moderne vin preînc"rcate cu cheile publice a peste !00 de r"d"cini, denumite câteodat" puncte de încredere. În acest fel, poate fi evitat" existen#a la nivel mondial a unei singure autorit"#i de încredere.

Dar apare acum problema cum poate decide produc"torul programului de navigare care dintre punctele sugerate sunt de încredere i care nu. Totul se reduce la încrederea utilizatorului în faptul c" produc"torul programului de navigare este capabil s" fac" alegeri în#elepte i nu doar s" aprobe toate punctele de încredere care au pl"tit o tax" pentru includere. Majoritatea programelor de navi-gare permit utilizatorilor s" inspecteze cheile r"d"cinilor (în mod obi nuit sub form" de certificate semnate de r"d"cin") i s" le tearg" pe cele care par dubioase.

Directoare O alt" problem" pentru orice PKI este locul în care se stocheaz" certificatele ( i lan#urile care

duc c"tre un punct de încredere cunoscut). O posibilitate este ca fiecare utilizator s"- i stocheze pro-priile certificate. Cu toate c" acest lucru este sigur (de ex. nu exist" nici o posibilitate ca un utilizator s" falsifice certificatele semnate f"r" a fi detectat), nu este prea convenabil. O alternativ" care a fost propus" este folosirea DNS ca director pentru certificate. Înainte de a-l contacta pe Bob, Alice pro-babil îi va c"uta adresa IP folosind DNS, deci de ce s" nu întoarc" DNS-ul întregul lan# de certificate odat" cu adresa IP?

Unele persoane consider" c" aceasta este solu#ia corect", dar al#ii prefer" servere de directoare specializate a c"ror îndatorire este doar gestionarea de certificate X.509. Directoarele de acest fel pot oferi servicii de c"utare bazate pe propriet"#ile numelor X.500. De exemplu, în teorie un astfel de director poate r"spunde la o întrebare de tipul: "D"-mi o list" a persoanelor numite Alice care lucreaz" în departamentul de vânz"ri oriunde în Canada sau S.U.A.". LDAP poate fi un candidat care s" stocheze acest tip de informa#ii.

Revocarea Lumea real" este plin" de certificate, la fel ca în cazul pa apoartelor i al carnetelor de condu-

cere. Câteodat" aceste certificate pot fi revocate, de exemplu, carnetul de conducere poate fi suspendat pentru conducere sub influen#a alcoolului sau pentru o alt" gre eal" de conducere. Aceea i problem" apare i în lumea digital": emitentul unui certificat poate decide dac" s"-l revoce

688 SECURITATEA RE!ELELOR CAP. 8

problem" apare i în lumea digital": emitentul unui certificat poate decide dac" s"-l revoce în cazul în care persoana sau organiza#ia care îl de#ine a abuzat de el într-un anume mod. El poate fi de asemenea revocat dac" cheia privat" a subiectului a fost compromis" (demascat"), sau mai r"u, dac" cheia privat" a CA-ului a fost compromis". Atunci, o PKI trebuie s" fie capabil" s" trateze problema revoc"rii.

Primul pas în aceast" direc#ie este ca fiecare CA s" emit" periodic o CRL (eng.: Certificate Revocation List, rom.: List# de Certificate Revocate) con#inând numerele seriale ale tuturor certifi-catelor revocate de aceasta. Cum certificatele con#in data de expirare, CRL-ul trebuie s" con#in" doar numerele seriale ale certificatelor care înc" nu au expirat. Odat" ce perioada de validitate a expirat, un certificat este automat invalidat, deci nu mai este necesar" nici o distinc#ie între acelea care tocmai au expirat i cele are au fost de fapt revocate. În ambele cazuri, certificatele nu mai pot fi folosite în continuare.

Din p"cate, introducerea CRL-ului înseamn" c" un utilizator care dore te s" foloseasc" un certi-ficat trebuie acum s" consulte CRL-ul pentru a vedea dac" certificatul a fost revocat. Dac" a fost revocat, nu mai trebuie folosit. Oricum, chiar dac" certificatul nu este în list", el poate s" fi fost revo-cat chiar dup" ce lista a fost publicat". Atunci, singura modalitate r"mâne întrebarea c"tre CA. La o nou" folosire a aceluia i certificat, CA-ul trebuie întrebat din nou, pentru este posibil ca certificatul s" fi fost revocat cu câteva secunde în urm".

O alt" complica#ie este c" un certificat revocat poate în principiu s" fie restabilit, de exemplu, da-c" a fost revocat datorit" nepl"#ii unei taxe care acum s-a pl"tit. Având de a face cu revocarea ( i posibil cu restabilirea) se elimin" una dintre cele mai bune propriet"#i ale certificatelor, adic" faptul c" ele pot fi folosite f"r" a fi necesar sa se contacteze o RA.

Unde trebuie stocate CRL-urile? Un loc bun ar putea fi acela în care se stocheaz" certificatele însele. O strategie este ca CA-ul s" publice periodic CRL-uri i s" permit" directoarelor s" înl"ture certificatele revocate. Dac" nu sunt folosite directoare pentru stocarea de certificate, CRL-urile pot fi #inute în diverse locuri convenabile din re#ea. Cum o CRL este ea îns" i un document, dac" este falsificat", falsul se poate detecta u or.

Dac" certificatele au durate de via#" lungi, i CRL-urile vor avea perioade lungi. De exemplu, când c"r#ile de credit sunt valide pentru 5 ani, num"rul de nerezolv"ri ale revoc"rilor va fi mult mai mare decât dac" se emit c"r#i de credit noi la fiecare 3 luni. Un mod standard de a aborda CRL-urile lungi este de a emite rar o list" principal", dar de a-i face modific"ri mult mai des. Acest lucru reduce l"#imea de band" necesar" distribuirii CRL-urilor.

8.6 SECURITATEA COMUNICA!IEI

Am terminat acum studiul asupra instrumentelor comerciale. Cele mai importante tehnologii i protocoale au fost prezentate. Restul capitolului se refer" la modul de aplicare în practic" a acestor tehnologii pentru a se asigura securitatea re#elei, plus câteva gânduri despre aspectele sociale ale securit"#ii prezentate la sfâr itul capitolului.

În urm"toarele patru sec#iuni, ne vom axa pe securitatea comunica#iei, deci cum s" transfer"m bi#ii confiden#ial i f"r" a fi modifica#i, de la surs" la destina#ie i cum s" #inem bi#ii nedori#i în fa#a

SEC. 8.6 SECURITATEA COMUNICA&IEI 689

u ii. F"r" discu#ie c" acestea nu sunt singurele idei despre securitatea în re#ele, dar cu siguran#" sunt printre cele mai importante, constituind un bun loc de plecare.

8.6. IPsec

IETF a tiut de ani de zile c" securitatea lipsea din Internet. Ad"ugarea ei nu a fost u oar" deoa-rece a izbucnit un r"zboi cu privire la locul de plasare al acesteia. Majoritatea exper#ilor în securitate credeau c" pentru a fi într-adev"r sigure, criptarea i verificarea integrit"#ii trebuie s" fie cap"t la cap"t (de ex. nivelul aplica#ie). Adic", procesul surs" cripteaz" i/sau protejeaz" datele din punct de vedere al integrit"#ii i le trimite c"tre procesul de destina#ie, unde sunt decriptate i/sau verificate. Orice falsificare între aceste dou" procese, incluzând sistemele lor de operare, poate fi detectat". Problema cu aceast" abordare este c" presupune schimbarea tuturor aplica#iilor pentru a le securiza. În aceast" idee, urm"toarea abordare posibil" este plasarea cript"rii pe nivelul transport sau într-un nou nivel între nivelul aplica#ie i nivelul transport, p"strând mecanismul tot cap"t la cap"t, dar f"r" a mai fi necesare schimb"ri ale aplica#iilor.

Ideea opus" este c" utilizatorii nu în#eleg securitatea i c" nu vor fi capabili s" o foloseasc" în mod corect i nimeni nu dore te s" modifice programele existente în nici un fel, deci nivelul re#ea trebuie s" autentifice i/sau cripteze pachetele f"r" nici o implicare din partea utilizatorilor. Dup" ani de controverse, aceast" idee a câ tigat suficient suport astfel încât a fost definit un standard de secu-ritate pentru nivelul re#ea. În parte, argumentul a fost c" având criptarea la nivelul re#ea nu împiedi-c" utilizatorii con tien#i de problema securit"#ii s" o foloseasc" corect i îi ajut" într-un anumit grad pe utilizatorii neaviza#i.

Rezultatul acestui r"zboi a fost un proiect numit IPsec (IP securizat), care este descris în RFC-urile 240!, 2402 i 2406, printre altele. Nu to#i utilizatorii doresc criptarea (pentru c" este costisitoare din punct de vedere al puterii de calcul). În loc s" fie op#ional", s-a decis s" se impun" criptarea permanent, dar cu posibilitatea de folosire unui algoritm nul. Algoritmul nul este descris i l"udat pentru simplitatea sa, u urin#a de implementare i viteza mare în RFC 24!0.

Proiectul complet IPsec este o cadru de lucru pentru mai multe servicii, algoritmi i granularit"#i. Motivul pentru servicii multiple este c" nu toat" lumea dore te s" pl"teasc" pre#ul necesar tuturor serviciilor, deci serviciile sunt disponibile la cerere. Serviciile principale sunt confi-den#ialitatea, integritatea datelor, i protejarea lor de atacul prin replicare (un intrus poate replica un dialog). Toate acestea se bazeaz" pe criptografia cu chei simetrice pentru c" înalta performan#" este un lucru crucial.

Motivul pentru care exist" mai mul#i algoritmi este c" un algoritm care acum pare sigur poate fi spart in viitor. F"când IPsec-ul independent de algoritmi, cadrul de lucru poate supravie#ui chiar dac" mai târziu un algoritm este spart.

Motivul pentru care exist" mai multe granularit"#i se datoreaz" posibilit"#ii de a se proteja o sin-gur" conexiune TCP, tot traficul dintre dou" gazde, sau tot traficul dintre o pereche de rutere securi-zate, printre alte posibilit"#i.

Un aspect destul de surprinz"tor al IPsec-ului este c" de i se g"se te pe nivel IP, el este orien-tat pe conexiune. De fapt, nu este chiar a a de surprinz"tor deoarece pentru a exista securitate, o cheie trebuie s" fie stabilit" i folosit" pentru o anume perioad" de timp, în esen#", un fel de cone-xiune. De asemenea conexiunile amortizeaz" costurile de ini#ializare pentru mai multe pachete. În contextul IPsec o "conexiune" este denumit" SA (eng.: Security Association, rom.: asociere securi-zat"). O SA este o conexiune simpl" între dou" capete i are asociat un identificator de securitate.

690 SECURITATEA RE!ELELOR CAP. 8

Dac" este nevoie de un trafic securizat în ambele direc#ii, sunt necesare dou" asocieri securizate. Identificatorii de securitate sunt transporta#i în pachetele care se transmit pe aceste conexiuni securizate i sunt folosi#i la c"utarea cheilor sau a altor informa#ii relevante atunci când sose te un pachet securizat.

Din punct de vedere tehnic, IPsec con#ine dou" p"r#i principale. Prima parte descrie dou" noi antete care pot fi ad"ugate pachetelor pentru a transporta identificatorul de securitate, datele de control al integrit"#ii i alte informa#ii. Cealalt" parte, ISAKMP (eng.: Internet Security Associa-tion and Key Managment Protocol, rom.: Asocia"ia Securit#"ii Internet %i Protocolul de Gestiu-ne al Cheilor) se ocup" cu stabilirea cheilor. Nu vom discuta mai departe despre ISAKMP deoa-rece (!) este foarte complex i (2) protocolul s"u principal IKE (eng.: Internet Key Exchange, rom.: Schimbul de Chei Internet), este foarte deficient i trebuie s" fie înlocuit (Perlman i Kaufman, 2000).

IPsec poate fi folosit în dou" moduri. În modul transport, antetul IPsec este inserat chiar dup" antetul IP. Câmpul de Protocol din antetul IP este schimbat pentru a indica faptul c" un antet IPsec urmeaz" dup" antetul normal de IP (înainte de antetul TCP). Antetul IPsec con#ine informa#ii de securitate, în principal identificatorul SA, un nou num"r de secven#" i, posibil, o verificare a integri-t"#ii înc"rc"turii utile.

În modul tunel, întregul pachet IP, antet i restul, este încapsulat în corpul unui nou pachet IP cu un antet IP complet nou. Modul tunel este folositor când capetele tunelului se termin" la o loca#ie diferit" de destina#ia final". În unele cazuri, cap"tul tunelului este o ma in" poart" de aplica#ie (eng.: gateway) securizat", de exemplu, de zidul de protec#ie (eng.: firewall) al unei companii. În acest mod, zidul de protec#ie încapsuleaz" i decapsuleaz" pachete la trecerea prin el. Terminând tunelul prin aceast" ma in" securizat", ma inile din LAN-ul companiei nu trebuie s" fie con tiente de IPsec. Doar zidul de protec#ie trebuie s" tie de el.

Modul tunel este de asemenea util când o leg"tura a unei conexiuni TCP este agregat" i se comport" ca un flux criptat, deoarece împiedic" un intrus s" vad" câte pachete trimite cineva c"tre altcineva. Câteodat" doar cunoscând cât de mult trafic este dirijat undeva reprezint" o informa#ie de valoare. De exemplu, dac" în timpul unei crize militare, dimensiunea traficului dintre Pentagon i Casa Alb" scade drastic, dar cantitatea de trafic dintre Pentagon i un obiectiv militar aflat în creie-rul mun#ilor Stânco i ai Colorado-ului cre te în aceea i m"sur" un intrus e capabil s" deduc" câteva informa#ii utile din aceste date. Studierea abloanelor de scurgere a pachetelor, chiar dac" ele sunt criptate, se nume te analiz# a traficului. Modul tunel ofer" o modalitate de z"d"rnicire într-o anu-me m"sur". Dezavantajul modului tunel este c" adaug" un antet IP în plus, crescând astfel în mod substan#ial dimensiunea unui pachet. Prin contrast, modul transport nu afecteaz" atât de mult di-mensiunea pachetului.

Primul antet nou este AH (eng.: Authentication Header, rom.: Antetul de Autentificare). El per-mite controlul integrit"#ii i securitate anti-replic", dar nu i confiden#ialitate (de ex. nu cripteaz" datele). Folosirea AH în modul tunel este ilustrat" în fig. 8-27. În IPv4, el este interpus între antetul IP ( incluzând orice op#iuni) i antetul TCP. În IPv6 este doar o alt" extensie a antetului i este trata-t" ca atare. De fapt, formatul este apropiat de cel al standardului IPv6 de extensie a antetului. Este posibil ca înc"rc"tura util" s" trebuiasc" a fie completat" pân" la o anumit" lungime pentru algorit-mul de autentificare dup" cum este prezentat în figur".

SEC. 8.6 SECURITATEA COMUNICA&IEI 69

Fig. 8-27. Antetul de autentificare IPsec în modul transport pentru IPv4 S" examin"m acum antetul AH. Câmpul Antetul urm tor este folosit pentru a p"stra valoarea an-

terioar" pe care a avut-o câmpul Protocol IP înainte de a fi înlocuit cu 5! pentru a indica faptul c" urmeaz" un antet AH. În majoritatea cazurilor, aici va fi plasat codul pentru TCP (6) . Lungimea înc rc rii utile o reprezint" num"rul de cuvinte de 32 de bi#i din antetul AH minus 2.

Indexul parametrilor de securitate reprezint" identificatorul de conexiune. Acesta este inserat de c"tre emi#"tor pentru a indica o anumit" înregistrare în baza de date a receptorului. Aceast" înregis-trare con#ine cheia partajat" folosit" în aceast" sesiune i alte informa#ii despre conexiune. Dac" acest protocol ar fi fost inventat de c"tre ITU i nu de c"tre IETF, acest câmp ar fi fost denumit Num r de circuit virtual.

Câmpul Num r de secven! este folosit pentru a num"ra toate pachetele trimise pe un SA. Fie-care pachet prime te câte un identificator unic, chiar i retransmisiile, cu alte cuvinte copia unui pachet prime te un num"r diferit de cel original (chiar dac" num"rul s"u de secven#" TCP este ace-la i). Scopul acestui câmp este de a detecta atacurile prin replic". Aceste numere de secven#" nu se pot repeta. Dac" toate cele 232 de numere au fost epuizate, trebuie stabilit un nou SA pentru a con-tinua comunica#ia.

În sfâr it, câmpul Date de autentificare este un câmp de lungime variabil" care con#ine semn"tura digital". Când este stabilit un SA, cele dou" p"r#i negociaz" algoritmul de semnare pe care îl vor folosi. În mod normal, nu este folosit" criptografia cu chei publice pentru c" pachetele trebuie pro-cesate rapid, iar to#i algoritmii cu chei publice sunt prea len#i. Deoarece IPsec este bazat pe cripto-grafia cu chei simetrice iar emi#"torul i receptorul negociaz" o cheie partajat" înaintea stabilirii unui SA, cheia partajat" este folosit" în procesul de semnare. O modalitate simpl" este de a calcula rezu-matul pentru un pachet i cu cheia partajat". Desigur, cheia partajat" nu este transmis". O schem" ca aceasta este denumit" HMAC (eng. : Hashed Message Authentication Code, rom.: Cod de Auten-tificare bazat pe un rezumat de mesaj). Este mult mai rapid s" calculezi un rezumat decât s" rulezi întâi SHA-! i apoi s" rulezi RSA asupra rezultatului.

Antetul AH nu permite criptarea datelor, deci este cel mai folosit atunci când este necesar" veri-ficarea integrit"#ii dar nu este necesar" confiden#ialitatea. O proprietate demn" de notat a antetului AH este aceea c" verificarea integrit"#ii folose te o parte din câmpurile antetului IP, i anume, ace-lea care nu se schimb" când pachetul trece de la un ruter la altul. De exemplu, câmpul Durata de via! se schimb" la fiecare ruter i nu poate fi inclus în verificarea integrit"#ii. În orice caz adresa sur-sa IP este inclus" în aceast" verificare, un intrus neputând s" falsifice originea pachetului.

692 SECURITATEA RE!ELELOR CAP. 8

O alt" variant" de antet IPsec este ESP (eng.: Encapsulating Security Payload, rom.: Încapsula-rea înc#rc#turii utile de securitate). Folosirea acestuia, atât pentru modul transport, cât i pentru modul tunel, este prezentat" în fig. 8-28.

Fig. 8-28. (a) ESP în mod transport (b) ESP în mod tunel Antetul ESP con#ine dou" cuvinte de 32 de bi#i. Acestea sunt câmpurile Indexul Parametrilor de

Securitate i, respectiv, Num rul de Secven! pe care le-am întâlnit la AH. Un al treilea cuvânt care, în general, le urmeaz" (dar care din punct de vedere tehnic nu este parte a antetului) este câmpul Vector de Ini!ializare, folosit pentru criptarea datelor; dac" nu se folose te criptarea acest câmp este omis.

De asemenea, ESP ofer" verificarea integrit"#ii pentru HMAC, a a cum o face i AH, dar în loc s" fie inclus în antet, urmeaz" dup" înc"rc"tura util", a a cum se arat" în fig. 8-28. Includerea HMAC la sfâr it are un avantaj în implementarea hardware. HMAC poate fi calculat pe m"sur" ce bi#ii ies dintr-o interfa#" de re#ea ata area sa la sfâr it fiind foarte simpl". Din aceast" cauz" Ethernet i alte LAN-uri au propriile CRC la sfâr itul pachetelor în loc s" le aib" la începutul acestora. Cu AH, pachetul trebuie s" fie p"strat într-o zon" tampon i semn"tura s" fie calculat" înainte ca pache-tul s" fie trimis, reducând astfel num"rul de pachete care pot fi transmise pe secund".

Deoarece ESP poate face tot ceea ce poate face AH i chiar mai mult i faptul c" este mai efici-ent la ini#ializare decât acesta, se ridic" întrebarea: De ce s" ne mai complic"m cu AH? R"spunsul este mai mult istoric. La început, AH se ocupa numai de integritate iar ESP numai de confiden#iali-tate. Mai târziu, integritatea a fost ad"ugat" i la ESP, dar cei care au proiectat AH nu au vrut ca acesta s" dispar" dup" ce au muncit atât de mult la el. În orice caz, singurul lor argument real este faptul c" AH verific" o parte a antetului IP, ceea ce ESP nu face; dar acesta este un argument ne-semnificativ. Un alt argument nesemnificativ este acela c" un produs care suport" AH, dar nu supor-t" ESP, poate avea mai pu#ine probleme în a ob#ine licen#a de export, datorit" faptului c" nu folose -te criptarea. Este posibil ca în viitor AH s" nu mai fie folosit.

8.6.2 Ziduri de protec"ie

Posibilitatea de a conecta orice calculator, de oriunde, cu orice alt calculator, de oriunde, este o sabie cu dou" t"i uri. Pentru persoanele aflate acas", colindatul prin Internet aduce multe bucurii. Pentru administratorii pe probleme de securitate ai firmelor, este un co mar. Multe companii au mari cantit"#i de informa#ie confiden#ial" sub form" electronic" - secrete de afaceri, planuri de dez-voltare produse, strategii de marketing, analize financiare etc. Dezv"luirea acestor informa#ii c"tre un competitor poate avea consecin#e cumplite.

SEC. 8.6 SECURITATEA COMUNICA&IEI 693

În afara pericolului scurgerii de informa#ii, exist" i un pericol al infiltr"rii de informa#ii. În parti-cular, viru ii, viermii i al#i d"un"tori digitali pot înc"lca securitatea, distruge informa#ii de valoare i irosi o mare cantitate din timpul administratorilor care încearc" s" cure#e dezordinea pe care o las". Deseori ei sunt importa#i de angaja#i neglijen#i care vor s" joace un joc nou, grozav.

În consecin#", sunt necesare mecanisme pentru a p"stra bi#ii „buni” în interior i bi#ii „r"i” afar". O metod" este folosirea IPsec. Aceast" abordare protejeaz" datele în tranzit între situri sigure. Cu toate acestea, IPsec nu face nimic pentru a #ine d"un"torii digitali i sp"rg"torii în afara LAN-ului companiei. Pentru a realiza acest obiectiv, este nevoie s" studiem zidurile de protec#ie (eng.: firewalls).

Fig. 8-29. Un zid de protec#ie format din dou" filtre de pachete i o poart" de aplica#ii.

Zidurile de protec"ie sunt doar o adaptare modern" a acelei vechi solu#ii de securitate medieval":

s"parea unui an# adânc de ap"rare în jurul castelului dvs. Acest proiect for#a pe oricine dorea s" intre sau s" ias" din castel s" treac" peste un singur pod mobil, unde puteau fi inspecta#i de poli#ia de intrare/ie ire. Cu re#elele se poate face acela i truc: o companie poate avea multe LAN-uri conectate în moduri arbitrare, dar tot traficul c"tre sau de la companie este for#at printr-un pod mobil electro-nic (zidul de protec#ie), a a cum este prezentat în fig. 8-29.

În aceast" configura#ie zidul de protec#ie are dou" componente: dou" rutere care fac filtrare de pachete i o poart" de aplica#ii. Exist", de asemenea, configura#ii i mai simple, dar avantajul acestui proiect este c" fiecare pachet trebuie s" tranziteze dou" filtre i o poart" de aplica#ie pentru a intra sau ie i. Nu exist" alt" rut". Este destul de clar c" cititorii care consider" c" un singur punct de verifi-care a securit"#ii este suficient nu au f"cut recent un zbor interna#ional cu o companie aerian".

Fiecare filtru de pachete este un ruter standard echipat cu unele func#ii suplimentare. Acestea permit inspectarea fiec"rui pachet care intr" sau iese. Pachetele care îndeplinesc anumite criterii sunt transmise normal. Cele care nu trec testul sunt eliminate.

În fig. 8-29, este foarte probabil ca filtrul de pachete din interiorul LAN-ului s" verifice pachetele care ies, iar cel din exteriorul LAN-ului s" verifice pachetele care intr". Pachetele care trec de prima barier" merg la poarta de aplica#ii pentru o examinare ulterioar". Motivul introducerii a dou" filtre

694 SECURITATEA RE!ELELOR CAP. 8

de pachete în re#ele diferite este de a asigura c" nici un pachet nu intr" sau iese f"r" a fi obligat s" treac" prin poarta de aplica#ii: nu exist" nici o cale pe care s" o ocoleasc".

Filtrele de pachete sunt, în mod tipic, dirijate de tabele configurate de administratorul de sistem. Aceste tabele enumer" sursele i destina#iile acceptabile, sursele i destina#iile care sunt blocate i reguli implicite despre ce se face cu pachetele care vin sau se duc la alte ma ini.

În cazul uzual al configur"rii TCP/IP, o surs" i o destina#ie constau dintr-o adres" IP i un port. Porturile indic" ce serviciu este dorit. De exemplu, portul 23 TCP este pentru Telnet, portul 79 TCP este pentru Finger, iar portul !!9 TCP este pentru tirile USENET. O companie poate bloca toate pachetele de intrare pentru toate adresele IP asociate cu unul din aceste porturi. În acest mod, nimeni din afara companiei nu se poate conecta prin telnet, sau s" caute persoane folosind demonul de Finger. Mai mult, compania va fi scutit" ca angaja#ii s"- i petreac" toat" ziua citind tiri USENET.

Blocarea pachetelor care ies este mai complicat", deoarece, de i cele mai multe situri ader" la conven#iile standard de numire a porturilor, nu sunt obligate s" o fac". Mai mult, pentru servicii im-portante, cum ar fi FTP (File Transfer Protocol - protocol de transfer fi iere), numerele de port sunt atribuite dinamic. În plus, de i blocarea conexiunilor TCP este dificil", blocarea pachetelor UDP este i mai grea datorit" faptului c" se tie foarte pu#in a priori despre ce vor face. Multe filtre de pachete pur i simplu interzic în totalitate traficul UDP.

A doua jum"tate a mecanismului de zid de protec#ie este poarta de aplica"ie. În loc s" trateze pachete brute, o poart" opereaz" la nivelul aplica#ie. O poart" de po t" electronic", de exemplu, poate fi configurat" s" examineze fiecare mesaj care intr" sau iese. Pentru fiecare mesaj, ea ia decizia de a-l transmite sau elimina pe baza câmpurilor din antet, a dimensiunii mesajului sau chiar a con#i-nutului (de exemplu, la o instala#ie militar", prezen#a cuvintelor ca „nuclear” sau „bomb"” pot cauza generarea unor ac#iuni speciale).

Proiectele de instalare au libertatea de a configura una sau mai multe por#i de aplica#ie pentru aplica#ii specifice, dar nu este ie it din comun ca organiza#ii suspicioase s" permit" intrarea i ie irea po tei electronice i, probabil, folosirea World Wide Web, dar s" interzic" orice altceva ca fiind prea riscant. Combinat cu criptarea i cu filtrarea de pachete, acest aranjament ofer" o cantitate limitat" de securitate cu costul unor inconveniente.

Chiar dac" zidul de protec#ie este configurat perfect, exist" înc" o groaz" de probleme de securi-tate. De exemplu, dac" un zid de protec#ie este configurat s" accepte pachete doar de la anumite re#ele (de ex. alte sedii ale companiei), un intrus din exteriorul zidului de protec#ie poate s"- i pun" o adres" fals" pentru a evita aceast" verificare. Dac" un individ din interior dore te s" vând" docu-mentele secrete, el le poate cripta sau chiar fotografia i apoi s" sustrag" pozele ca fi iere JPEG, care evit" orice filtru de texte.

%i înc" nu am discutat faptul c" 70% din totalul atacurilor vin din interiorul re#elei protejate de zidul de protec#ie, de exemplu, de la angaja#ii nemul#umi#i (Schneier, 2000).

În plus, exist" o întreag" alt" clas" de atacuri c"rora zidurile de protec#ie nu le pot face fa#". Ide-ea de baz" a unui zid de protec#ie este de a împiedica intru ii s" p"trund" în re#eaua protejat" i de a împiedica datele secrete s" ias" din acea re#ea. Din p"cate, exist" oameni care nu au altceva mai bun de f"cut, decât s" încerce s" scoat" din func#iune anumite situri. Ei realizeaz" acest lucru prin trimi-terea unui num"r foarte mare de pachete legitime c"tre o #int", pân" când aceasta va fi scoas" din func#iune datorit" înc"rc"rii mari. De exemplu, pentru a distruge un sit de web, un intrus poate tri-mite un pachet TCP SYN pentru a stabili o conexiune. Ca urmare, situl va aloca, într-o tabel", o intrare pentru acea conexiune i va trimite ca r"spuns un pachet SYN +ACK. Dac" intrusul nu r"s-punde intrarea din tabel" va fi ocupat" pentru un interval de timp de pân" la câteva secunde, pân"

SEC. 8.6 SECURITATEA COMUNICA&IEI 695

când se va produce un timeout. Dac" intrusul va trimite mii de cereri de conexiune, toate intr"rile din tabel" vor fi ocupate astfel încât nu vor mai putea fi stabilite noi conexiuni legitime. Atacurile în care scopul intrusului este de a opri func#ionarea #intei, în locul sustragerii de informa#ii, sunt denu-mite atacuri DoS (eng.: Denial of Service, rom.: Refuzul Serviciilor). În mod obi nuit, pachetele de cereri au o adres" surs" fals" pentru ca intrusul s" nu poat" fi detectat u or.

O variant" i mai pesimist" este aceea în care intrusul a p"truns deja în sute de calculatoare afla-te în alte zone ale lumii, pe care apoi le comand" s" atace aceea i #int" în acela i timp. Nu numai c" aceast" abordare cre te for#a de atac a intrusului, dar ea reduce ansele ca ea s" fie detectat", deoa-rece pachetele provin de la un mare num"r de ma ini apar#inând unor utilizatori ce nu sunt suspec#i. Un astfel de atac este denumit atac DDoS (eng.: Distributed Denial of Service, rom.: Refuzul servici-ilor realizat în mod distribuit). Împotriva acestui atac este greu de g"sit o ap"rare. Chiar dac" ma i-na atacat" poate recunoa te rapid o cerere fals", trece un anumit timp pentru procesarea i ignora-rea acestei cereri, iar dac" sosesc destul de multe cereri pe secund" procesorul va fi ocupat tot timpul cu tratarea acestora.

8.6.3 Re"ele private virtuale

Multe companii au birouri r"spândite în mai multe ora e i uneori în mai multe #"ri. În trecut, înaintea apari#iei re#elelor de date publice, era obi nuit" închirierea de c"tre aceste companii a unor linii telefonice, apar#inând companiilor de telefonie, între unele sau între toate perechile de loca#ii ale birourilor. Unele companii înc" mai fac acest lucru. O re#ea alc"tuit" din calculatoarele unei companii i liniile telefonice închiriate este denumit" re"ea privat#. Un exemplu de re#ea privat" conectând trei birouri este ar"tat" în fig. 8-30(a).

Fig. 8-30. (a) O re#ea privat" folosind linii închiriate (b) O re#ea privat" virtual"

Re#elele private func#ioneaz" bine i sunt foarte sigure. Dac" singurele linii disponibile sunt linii

închiriate, atunci nu exist" trafic care s" se scurg" în afara companiei, iar intru ii trebuie s" se conec-teze fizic la liniile respective pentru a p"trunde în re#ea, ceea ce nu este un lucru u or de realizat. Problema care apare cu re#elele private este acea c" închirierea unei singure linii T! cost" mii de dolari pe lun", iar liniile T3 sunt de câteva ori mai scumpe. Când, mai târziu, au ap"rut re#elele de date publice i Internetul, multe companii au vrut s"- i transmit" traficul de date ( i posibil cel de voce) prin re#elele publice, dar f"r" a renun#a la securitatea unei re#ele private.

Aceast" necesitate a condus în curând la inventarea re#elelor private virtuale - VPN (eng.: Virtual Private Networks, rom.: re"ele private virtuale), care sunt re#ele construite deasupra unor re#ele pu-

696 SECURITATEA RE!ELELOR CAP. 8

blice, dar care beneficiaz" de propriet"#ile unei re#ele private. Aceste re#ele sunt denumite virtuale pentru c" ele constituie o iluzie, a a cum circuitele virtuale nu sunt circuite reale i cum memoria virtual" nu este o memorie real".

De i VPN-urile pot fi implementate peste ATM (sau frame relay), o tendin#" popular" aflat" în cre tere este de a construi VPN-uri direct peste Internet. O modalitate de proiectare obi nuit" este de a echipa fiecare birou cu un zid de protec#ie i de a crea tuneluri prin Internet între toate perechi-le de birouri, dup" cum este ilustrat în fig. 8-30(b). Dac" pentru tunelare este folosit IPsec, atunci este posibil" agregarea întregului trafic dintre oricare dou" perechi de birouri într-un singur SA au-tentificat i criptat, oferindu-se astfel controlul integrit"#ii, confiden#ialitate i chiar o imunitate con-siderabil" asigurat" analizei de trafic.

Când un sistem este pornit, fiecare pereche de ziduri de protec#ie trebuie s" negocieze parame-trii SA-ului ei, incluzând serviciile, modurile, algoritmii i cheile. Multe ziduri de protec#ie au înglo-bate capabilit"#i de VPN, de i chiar i unele rutere obi nuite beneficiaz" de acestea. Dar, deoarece zidurile de protec#ie au prioritate în problema securit"#ii, este natural a avea tuneluri care încep i se termin" în ziduri de protec#ie, furnizând o separare clar" între companie i Internet. Astfel, zidurile de protec#ie, VPN-urile i IPsec folosit cu ESP în mod tunel formeaz" o combina#ie natural" i larg folosit" în practic".

Odat" ce a fost stabilit un SA, transferul datelor poate începe. Pentru un ruter din Internet, un pachet care traverseaz" un tunel VPN este un pachet obi nuit. Singurul lucru neobi nuit la acesta este prezen#a antetului IPsec dup" antetul IP, dar deoarece aceste extra-antete nu au efect în proce-sul de rutare, ruterele nu le iau în considerare.

Un avantaj cheie al organiz"rii VPN în acest fel este transparen#a complet" pentru programele utilizatorilor. Zidurile de protec#ie ini#ializeaz" i gestioneaz" SA-urile. Singura persoan" care are cuno tin#" de acest proces este administratorul de sistem care configureaz" i gestioneaz" zidul de protec#ie. Pentru oricine altcineva lucrurile arat" ca i cum ar fi o re#ea privat" bazat" pe linie închi-riat". Pentru mai multe despre VPN consulta#i (Brown, !999 i Izzo, 2000).

8.6.4 Securitatea în comunica"iile f#r# fir

Este surprinz"tor de u or de proiectat un sistem care din punct de vedere logic, este complet se-curizat folosind VPN i ziduri de protec#ie, dar prin care, în practic", informa#ia se scurge ca prin sit". Aceast" situa#ie poate fi întâlnit" dac" o parte dintre ma ini sunt f"r" fir i folosesc comunica#ia radio, care trece prin zidul de protec#ie în ambele sensuri. Aria de acoperire a re#elelor 802.!! este foarte adesea de câteva sute de metri, astfel c" oricine dore te s" spioneze o companie, poate s" vin" diminea#a în parcarea pentru angaja#i, s" lase un calculator portabil care este configurat pentru o re#ea 802.!! s" înregistreze tot ce aude i s" dispar" pentru restul zilei. Pân" dup"-amiaza târziu, discul dur va fi plin de lucruri valoroase. Teoretic, aceast" scurgere nu ar trebui s" aib" loc. Teoretic, nici lumea nu ar trebui s" jefuiasc" b"nci.

O mare parte a problemei de securitate poate fi urm"rit" pân" la produc"torii de sta#ii de baz" care comunic" f"r" fir (puncte de acces), care încearc" s"- i fac" produsele prietenoase pentru utili-zatori. De obicei, dac" utilizatorul scoate dispozitivul din cutie i îl introduce în priz", acesta începe s" func#ioneze imediat – aproape f"r" nici un fel de securitate, împr" tiind secrete c"tre oricine se afl" în aria de acoperire radio. Dac" apoi este i legat la o re#ea Ethernet, tot traficul Ethernet va ap"rea dintr-o dat" i în locul de parcare. Re#elele f"r" fir sunt visul oric"rui agent ascuns: date gra-tuite, f"r" s" trebuiasc" s" lucrezi pentru ele. Prin urmare, nici nu mai trebuie spus c" securitatea

SEC. 8.6 SECURITATEA COMUNICA&IEI 697

este i mai important" pentru re#elele f"r" fir decât pentru cele cu fir. În aceast" sec#iune ne vom uita la câteva moduri în care re#elele f"r" fir trateaz" securitatea. Câteva informa#ii suplimentare pot fi g"site în (Nicholas i Lekkas, 2002).

Securitatea 802. Standardul 802.!! recomand" un protocol de securitate la nivelul leg"tur" de date care se nu-

me te WEP (eng.: Wired Equivalent Privacy rom.: Confiden"ialitate Echivalent# cu cea Cablat#), care este proiectat pentru a face securitatea unui LAN cu comunica#ie f"r" fir la fel de bun" ca cea a unui LAN cablat. Cum LAN-urile cu cabluri nu au de obicei nici un fel de securitate, acest obiectiv este u or de îndeplinit i WEP îl îndepline te, dup" cum vom vedea.

Când securitatea 802.!! este activat", fiecare sta#ie are o cheie secret" comun" cu sta#ia de baz". Standardul nu specific" cum sunt distribuite cheile. Pot fi înc"rcate înainte de c"tre produc"tor. Pot fi interschimbate înainte prin re#eaua cu fire. În fine, fie sta#ia de baz", fie ma ina utilizatorului poate alege o cheie aleatoare i o poate trimite prin aer criptat" cu cheia public" a celeilalte sta#ii. Odat" stabilit", cheia r"mâne neschimbat" în general pentru luni sau ani.

Criptarea WEP folose te un cifru flux bazat pe algoritmul RC4. RC4 a fost proiectat de Ronald Rivest i a fost #inut secret pân" în !994 când s-au scurs ni te informa#ii i a fost publicat pe Internet. Dup" cum am mai subliniat înainte, este aproape imposibil ca algoritmii s" fie p"stra#i secre#i, chiar dac" scopul este protejarea propriet"#ii intelectuale (cum a fost în acest caz), mai degrab" decât se-curitatea prin obscuritate ( care nu a fost scopul cu RC4). În WEP, RC4 genereaz" un ir-cheie (eng.: keystream) care este combinat prin XOR cu textul clar pentru a forma textul cifrat.

Fig. 8-3 . Criptarea pachetelor folosind WEP

Înc"rc"tura util" a fiec"rui pachet este criptat" folosind metoda din fig. 8-3!. Mai întâi, înc"rc"-

tura este verificat" folosind polinomul CRC-32, iar suma de control este ad"ugat" înc"rc"turii pen-tru a forma textul clar pentru algoritmul de criptare. Acest text clar este combinat XOR cu o bucat" din irul cheie de aceea i lungime. Rezultatul este textul cifrat. IV-ul utilizat pentru pornirea RC4 este trimis împreun" cu textul cifrat. Când receptorul prime te pachetul, extrage din acesta înc"rc"-tura util" criptat", genereaz" irul cheie din cheia secret" i din IV pe care tocmai l-a primit i apoi efectueaz" opera#ia XOR între irul cheie i înc"rc"tura util" a pachetului pentru a ob#ine textul în clar. Apoi poate verifica suma de control pentru a se asigura c" pachetul a ajuns intact.

De i aceast" abordare arat" bine la prima vedere, a fost deja publicat" o metod" de a o sparge (Borisov et. al, 200!). Mai jos vom rezuma rezultatele ei. În primul rând, surprinz"tor de multe

698 SECURITATEA RE!ELELOR CAP. 8

instala#ii folosesc aceea i cheie comun" pentru to#i utilizatorii, caz în care fiecare utilizator poate citi traficul tuturor celorlal#i utilizatori. Acest lucru este desigur echivalent cu Ethernet-ul, dar nu este foarte sigur.

WEP poate fi atacat chiar dac" fiecare utilizator are o cheie distinct",. Din moment ce cheile sunt în general stabile pentru perioade lungi de timp, standardul WEP recomand" (dar nu impune) ca IV-ul s" fie schimbat la fiecare pachet pentru a evita atacul de tip reutilizare asupra irului cheie, atac discutat în sec#iunea 8.2.3. Din nefericire, multe pl"ci 802.!! pentru calculatoarele portabile reseteaz" IV la 0 când placa este introdus" în calculator i apoi îl incrementeaz" cu ! la fiecare pa-chet trimis. Cum utilizatorii scot i apoi reinsereaz" frecvent aceste pl"ci, pachetele cu valori mici pentru IV sunt destul de obi nuite. Dac" Trudy poate s" colecteze mai multe pachete trimise de acela i utilizator, care au aceea i valoare pentru IV (care este trimis în clar cu fiecare pachet), atunci ea poate s" calculeze XOR între dou" valori de textul clar i poate astfel s" sparg" cifrul.

Dar, chiar dac" placa 802.!! alege o valoare aleatoare pentru fiecare pachet, IV are doar 24 de bi#i, astfel încât dup" ce au fost trimise 224 pachete, va trebui ca valorile s" fie refolosite. Mai r"u, folosind valori aleatoare pentru IV, num"rul probabil de pachete care trebuie trimise înainte ca ace-la i num"r s" fie folosit de dou" ori este în jur de 5000, datorit" atacului de tip „ziua de na tere” de-scris în sec#iunea 8.4.4. Ca urmare, dac" Trudy ascult" pentru câteva minute, ea este aproape sigur" c" va captura dou" pachete cu acela i IV i aceea i cheie. Efectuând opera#ia XOR între cele dou" texte cifrate, ea este capabil" s" ob#in" combina#ia XOR dintre textele în clar. Aceast" secven#" de bi#i poate fi atacat" în diferite moduri pentru a descoperi textele în clar. Cu mai mult" munc", irul cheie pentru acel IV poate fi ob#inut de asemenea. Trudy poate continua s" lucreze în acest mod pentru a realiza un dic#ionar de iruri cheie pentru diferite IV. Odat" spart un IV, toate pachetele trimise cu acesta în viitor (dar i în trecut) pot fi complet decriptate.

Mai mult, deoarece IV-rile sunt folosite aleator, odat" ce Trudy a determinat o pereche (IV, ir-cheie) valid", ea o poate folosi pentru a genera toate pachetele pe care le dore te i astfel, s" intervin" activ în comunica#ie. Teoretic, un receptor ar putea observa c" dintr-o dat" un num"r mare de pache-te au toate acela i IV, dar (!) WEP permite acest lucru i (2) oricum nimeni nu verific" acest lucru.

În sfâr it, CRC-ul nu valoreaz" prea mult, deoarece este posibil ca Trudy s" modifice înc"rc"tura util" i apoi s" fac" schimb"rile corespunz"toare în CRC, f"r" a trebui m"car s" elimine criptarea. Pe scurt, spargerea securit"#ii 802.!! este destul de evident", i nici m"car nu am enumerat toate atacu-rile pe care le-au g"sit Borisov et. al.

În august 200!, la o lun" dup" ce a fost prezentat" lucrarea lui Borisov et. al, a fost publicat un alt atac devastator asupra WEP (Fluhrer et. al, 200!). Acesta a g"sit sl"biciuni criptografice chiar în RC4. Fluhrer et. al au descoperit c" multe dintre chei au proprietatea c" este posibil" deducerea câtorva dintre bi#ii cheii din irul-cheie. Dac" acest atac este pus în aplicare repetat, este posibil" deducerea întregii chei cu un efort modest. Fiind înclina#i mai mult c"tre teorie, Fluhrer et. al nu au încercat efectiv s" sparg" vreun LAN 802.!!.

În contrast, când un student la cursurile de var" i doi cercet"tori de la AT&T Labs au aflat de-spre atacul lui Fluhrer et. al, s-au decis s" îl încerce într-un caz real (Stubblefield et. al, 2002). Într-o s"pt"mân" ei au spart prima lor cheie de !28 de bi#i dintr-un LAN 802.!! de produc#ie i cea mai mare parte a s"pt"mânii a fost de fapt dedicat" c"ut"rii celei mai ieftine pl"ci de re#ea 802.!!, ob#i-nerii permisiunii de a o cump"ra, instal"rii i test"rii ei. Programarea a durat efectiv doar dou" ore.

Când i-au anun#at rezultatele, CNN a emis o tire intitulat" „Un sp"rg"tor de rutin" sparge crip-tarea comunica#iilor f"r" fir”, în care ni te guru din industrie au încercat s" minimalizeze rezultatele lor, spunând c" ceea ce au f"cut ei a fost trivial, date fiind rezultatele lui Fluhrer et. al Chiar dac"

SEC. 8.6 SECURITATEA COMUNICA&IEI 699

aceast" observa#ie este tehnic adev"rat", r"mâne faptul c" eforturile combinate ale acestor dou" echipe au demonstrat o sc"pare fatal" în WEP i 802.!!.

În 7 Septembrie, 200!, IEEE a r"spuns faptului c" WEP era atunci complet spart" printr-o de-clara#ie scurt" cu ase puncte care pot fi rezumate grosier în felul urm"tor:

!. Noi v-am spus c" securitatea WEP nu era mai bun" decât cea a Ethernet-ului. 2. O amenin#are mult mai mare este s" ui#i complet s" activezi securitatea. 3. Încerca#i s" folosi#i alt" securitate ( de ex., securitatea nivelului transport ) 4. Versiunea urm"toare, 802.!!i, va avea o securitate mai bun". 5. Certific"rile ulterioare vor impune folosirea 802.!!i. 6. Vom încerca s" ne d"m seama ce se poate face pân" când apare 802.!!i.

Am parcurs în detaliu toat" aceast" poveste pentru a demonstra faptul c" o securitate solid" nu este u or de ob#inut, nici pentru exper#i.

Securitatea Bluetooth Bluetooth are o arie de acoperire mult mai mic" decât 802.!! i nu poate fi atacat" din locul de

parcare, dar securitatea este i aici o problem". De exemplu, imagina#i-v" calculatorul lui Alice care are o tastatur" f"r" fir Bluetooth. În absen#a securit"#ii, dac" Trudy este întâmpl"tor în biroul de al"turi, ea ar putea citi tot ce scrie Alice, inclusiv toat" coresponden#a electronic" trimis". De ase-menea, ea ar putea captura tot ce trimite calculatorul lui Alice imprimantei Bluetooth care se afl" lâng" ea (coresponden#a electronic" primit" i rapoarte confiden#iale). Din fericire, Bluetooth are o schem" de securitate pentru a încerca s" le înving" pe orice Trudy din lume. Vom rezuma în conti-nuare principalele tr"s"turi ale acesteia.

Bluetooth are trei moduri de securitate, de la nici o securitate la criptarea tuturor datelor i con-trolul integrit"#ii. La fel ca i 802.!!, dac" securitatea este dezactivat" (op#iunea care este selectat" ini#ial) atunci nu exist" securitate. Majoritatea utilizatorilor au securitatea dezactivat" pân" când are loc o spargere; apoi o activeaz". În lumea agriculturii, aceast" abordare este cunoscut" drept încuie-rea u ii hambarului dup" ce a fugit calul.

Bluetooth ofer" securitate pe mai multe niveluri. La nivelul fizic, salturile în frecven#" ofer" un pic de securitate, dar deoarece oricare dispozitiv Bluetooth care se mi c" într-un piconet trebuie informat de secven#a de salturi în frecven#", aceast" secven#" evident c" nu este un secret. Adev"rata securitate începe când un sclav (eng.: slave) nou-venit cere un canal cu st"pânul (eng.: master). Este de presupus c" cele dou" dispozitive împart o cheie secret" stabilit" anterior. În unele cazuri, cheia este fixat" în ambele dispozitive de c"tre produc"tor (de ex., pentru un set de c" ti cu microfon i un telefon mobil vândute împreun"). În alte cazuri, un dispozitiv (de ex., setul de c" ti) are o cheie fix", iar utilizatorul trebuie s" introduc" acea cheie în cel"lalt dispozitiv (de ex., telefonul mobil) ca un num"r zecimal. Aceste chei comune se numesc chei de trecere (eng.: passkeys).

Pentru a stabili un canal, sclavul i st"pânul verific" fiecare dac" cel"lalt cunoa te cheia de trece-re. Dac" da, ei negociaz" dac" acel canal va fi criptat, cu controlul integrit"#ii, sau amândou". Apoi ei aleg o cheie de sesiune aleatoare de !28 de bi#i, dintre care câ#iva ar putea fi publici. Ideea acestei sl"biri a cheii este alinierea la restric#iile guvernamentale din diferite #"ri proiectate, pentru a preveni exportul, sau utilizarea cheilor mai lungi decât acelea pe care guvernul le poate sparge.

Criptarea folose te un cifru-flux denumit E0; controlul integrit"#ii folose te SAFER+. Amândou" sunt cifruri bloc tradi#ionale cu chei simetrice. SAFER+ a fost înscris în concursul AES, dar a fost eliminat în prima rund" pentru c" era mai lent decât ceilal#i candida#i. Bluetooth a fost finalizat îna-inte ca cifrul AES s" fie ales; altfel, foarte probabil, ar fi folosit Rijndael.

700 SECURITATEA RE!ELELOR CAP. 8

Criptarea actual" folosind cifrul-flux este prezentat" în fig. 8-!4, cu textul în clar combinat prin XOR cu irul-cheie pentru a genera textul cifrat. Din nefericire, E0 însu i (ca i RC4) ar putea avea sl"biciuni fatale (Jakobsson i Wetzel, 200!). De i nu a fost spart pân" la momentul scrierii acestei c"r#i, similitudinile lui cu cifrul A5/!, al c"rui e ec spectaculos compromite tot traficul telefonic GSM, sunt o cauz" de îngrijorare (Biryukov et. al, 2000). Uneori este uimitor pentru unii (incluzând autorul) c" în perenul joc de-a oarecele i pisica între criptografi i criptanali ti, criptanali ti sunt atât de des în partea înving"toare.

O alt" problem" de securitate este c" Bluetooth autentific" doar dispozitivele, nu utilizatorii, ast-fel c" furtul unui dispozitiv Bluetooth poate permite ho#ului accesul la contul financiar i la alte con-turi ale utilizatorului. Oricum, Bluetooth implementeaz" de asemenea securitatea pentru nivelele înalte, astfel c" în cazul unei spargeri a securit"#ii de la nivelul leg"tur", securitatea se men#ine, în special pentru aplica#iile care necesit" introducerea manual" a unui cod de PIN de la un fel de tasta-tur" pentru a completa tranzac#ia.

Securitatea WAP 2.0 În mare parte, Forumul WAP a înv"#at ceva din gre eala de a avea o stiv" de protocoale

nestandard în WAP !.0. WAP 2.0 folose te generos protocoalele standard la toate nivelurile. Securi-tatea nu este o excep#ie. Deoarece este bazat pe IP, el suport" folosirea integral" a IPsec la nivelul re#ea. La nivelul transport, conexiunile TCP pot fi protejate de TLS, un standard IETF pe care îl vom studia mai târziu în acest capitol. %i mai sus, folose te autentificarea HTTP a clientului, a a cum e definit" în RFC 26!7. Bibliotecile criptografice de la nivelul aplica#ie ofer" controlul integrit"#ii i nerepudierea. Una peste alta, din moment ce WAP 2.0 este bazat pe standarde bine cunoscute, exis-t" o ans" ca serviciile sale de securitate, în particular, confiden#ialitatea, controlul integrit"#ii i nerepudierea s" valoreze mai mult decât securitatea 802.!! i Bluetooth.

8.7 PROTOCOALE DE AUTENTIFICARE

Autentificarea (eng.: authentication) este tehnica prin care un proces verific" dac" partenerul s"u de comunica#ie este cel presupus a fi i nu un impostor. Verificarea identit"#ii unui proces de la dis-tan#", în cazul unui intrus activ i r"uvoitor, este surprinz"tor de dificil" i necesit" protocoale com-plexe bazate pe criptografie. În aceast" sec#iune, vom studia câteva dintre numeroasele protocoale de autentificare folosite în re#elele nesigure de calculatoare.

Ca fapt divers, anumi#i oameni confund" autorizarea cu autentificarea. Autentificarea se ocup" cu problema de a ti dac" într-adev"r comunici cu un anumit proces. Autorizarea se ocup" cu ceea ce îi este permis unui proces s" fac". De exemplu, un proces client contacteaz" un server de fi iere i spune: „Eu sunt procesul lui Scott i vreau s" terg fi ierul cookbook.old”. Din punctul de vedere al serverului de fi iere, trebuie g"site r"spunsurile la dou" întreb"ri:

!. Chiar este procesul lui Scott? (autentificare) 2. Are Scott permisiunea de a terge cookbook.old? (autorizare)

Doar dup" ce s-a r"spuns afirmativ, f"r" ambiguit"#i, la ambele întreb"ri poate avea loc ac#iunea cerut". De fapt prima dintre cele dou" este cu adev"rat întrebarea cheie. Odat" ce serverul de fi iere

SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 70

tie cu cine vorbe te, verificarea autoriz"rii este doar o problem" de c"utare în intr"rile tabelelor i bazelor de date locale. Din acest motiv, în aceast" sec#iune ne vom concentra asupra autentific"rii.

Modelul general pe care îl folosesc toate protocoalele de autentificare este urm"torul. Alice în-cepe prin a trimite un mesaj fie lui Bob, fie unui centru autorizat de distribuire a cheilor KDC (eng.: Key Distribution Center), care este presupus a fi credibil. Urmeaz" alte câteva schimburi de mesaje în diferite direc#ii. În timp ce aceste mesaje sunt transmise, Trudy, le poate intercepta, modifica sau retrimite în scopul de a-i în ela pe Alice i Bob sau doar pentru a încurca lucrurile. Cu toate acestea, la încheierea protocolului de comunicare, Alice este sigur" c" a vorbit cu Bob, iar acesta este sigur c" a vorbit cu Alice. Mai mult decât atât, în cele mai multe protocoale, cei doi vor fi stabilit i o cheie secret# de sesiune, pentru folosirea în conversa#iile viitoare. În practic", din motive de performan#", tot traficul de date este criptat folosind criptografia cu cheie secret" (de obicei AES sau DES triplu), în timp ce criptografia cu cheie public" este larg folosit" în protocoale de autentificare i pentru sta-bilirea unei chei de sesiune.

Motivul pentru utilizarea unei chei de sesiune noi, alese aleator, pentru fiecare conexiune, este minimizarea m"rimii traficului care este transmis cu cheile secrete sau publice ale utilizatorilor, pen-tru a reduce cantitatea de text cifrat pe care intrusul o poate ob#ine i pentru a reduce pagubele care se pot produce dac" un proces e ueaz", iar vidajul s"u de memorie (eng.: core dump) cade în mâini rele. Din fericire, singura cheie prezent" va fi cheia de sesiune. Toate cheile permanente trebuie s" fie anulate cu grij" dup" stabilirea sesiunii.

8.7. Autentificare bazat# pe cheie secret# partajat#

Pentru primul nostru protocol de autentificare, vom presupune c" Alice i Bob partajeaz" deja o cheie secret", KAB. Aceast" cheie partajat" poate s" fi fost stabilit" anterior fie prin telefon, fie direct, dar în nici un caz nu prin intermediul unei re#ele (nesigure).

Protocolul este bazat pe un principiu ce poate fi întâlnit în multe protocoale de autentificare: o parte trimite un num"r aleatoriu celeilalte, care îl transform" apoi într-un anumit mod i returneaz" rezultatul. Astfel de protocoale se numesc protocoale provocare-r#spuns (eng.: challenge-response). În acest protocol i în cele ce urmeaz" va fi folosit" urm"toarea nota#ie:

A, B reprezint" identit"#ile lui Alice i Bob. Ri reprezint" provoc"rile, unde indicele identific" pe cel ce trimite provocarea. Ki sunt cheile, unde i indic" proprietarul. KS este cheia de sesiune.

Secven#a de mesaje pentru primul nostru protocol de autentificare cu cheie partajat" este ilustra-t" în fig. 8-32. În mesajul ! Alice îi trimite lui Bob identitatea sa, A, într-un mod pe care Bob îl în#e-lege. Bineîn#eles c" Bob nu are posibilitatea de a ti dac" acest mesaj vine de la Alice sau de la Trudy, astfel încât el alege o provocare, un num"r aleator mare, RB, i îl trimite înapoi spre „Alice” sub forma mesajului 2, ca text clar. Alice cripteaz" atunci mesajul cu cheia pe care ea o partajeaz" cu Bob i trimite textul cifrat KAB(RB) înapoi, ca mesajul 3. Când Bob vede acest mesaj el tie imediat c" vine de la Alice, deoarece Trudy nu cunoa te KAB i astfel nu putea s" genereze mesajul respectiv. Mai mult decât atât, deoarece RB a fost ales aleator dintr-un spa#iu mare (s" spunem, de exemplu, numere aleatoare pe !28 de bi#i), este destul de pu#in probabil ca Trudy s" fi v"zut RB i r"spunsul asociat lui într-o sesiune anterioar". Este la fel de pu#in probabil ca ea s" fi putut ghici r"spunsul corect la orice provocare.

702 SECURITATEA RE!ELELOR CAP. 8

Fig. 8-32. Autentificare în doi pa i folosind un protocol de tipul provocare-r"spuns.

În acest moment, Bob este sigur c" vorbe te cu Alice, dar Alice nu este sigur" de nimic. Din

punctul ei de vedere, s-ar putea ca Trudy s" fi interceptat mesajul ! i s" fi trimis înapoi replica RB. Poate c" Bob a murit azi-noapte. Pentru a descoperi cu cine vorbe te, Alice alege un num"r aleator RA i îl trimite lui Bob ca text clar, în mesajul 4. Când Bob r"spunde cu KAB(RA), Alice tie c" vorbe -te cu Bob. Dac" ei vor s" stabileasc" acum o cheie de sesiune, Alice poate alege una, KS, i o poate trimite lui Bob criptat" cu KAB.

Protocolul din fig. 8-32 con#ine cinci mesaje. S" vedem dac" putem s" fim iste#i i s" elimin"m o parte din ele. O variant" este ilustrat" în fig. 8-33. Aici Alice ini#iaz" protocolul provocare-r"spuns, în loc de a-l a tepta pe Bob s" o fac". Similar, în timp ce r"spunde la provocarea lui Alice, Bob o trimite pe a sa. Întregul protocol poate fi redus la trei mesaje în loc de cinci.

Fig. 8-33. Un protocol mai scurt de autentificare în doi pa i.

Este acest nou protocol o îmbun"t"#ire a celui original? Într-un anumit sens da: este mai scurt. Din nefericire, este i gre it. În anumite situa#ii, Trudy poate învinge acest protocol folosind ceea ce se nume te atacul prin reflexie. În particular, Trudy îl poate sparge dac" este posibil s" deschid" sesiuni multiple cu Bob simultan. Aceast" situa#ie ar fi adev"rat", de exemplu, dac" Bob este o banc" i este preg"tit s" accepte simultan mai multe conexiuni cu ma ini de efectuat pl"#i.

Atacul prin reflexie al lui Trudy este prezentat în fig. 8-34. Pentru început, Trudy pretinde c" este Alice i trimite RT. Bob r"spunde, ca de obicei, cu propria sa provocare, RB. Acum Trudy este în im-pas. Ce poate s" fac"? Nu cunoa te KAB(RB).

Ea poate deschide o a doua sesiune cu mesajul 3, furnizând RB luat din mesajul 2 ca provocare a ei. Bob îl cripteaz" calm i trimite înapoi KAB(RB) în mesajul 4. Am colorat mesajele din sesiunea a doua pentru a le eviden#ia. Acum Trudy are informa#ia care îi lipsea, a a c" poate s" finalizeze prima sesiune i s" o abandoneze pe cea de-a doua. Bob este acum convins c" Trudy este Alice, a a c" atunci când ea întreab" de balan#a contului s"u bancar, el i-o d" f"r" nici o problem". Apoi când ea îi cere s" transfere to#i banii la o banc" secret" din Elve#ia, el face asta f"r" nici un moment de ezitare.

SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 703

Fig. 8-34. Atacul prin reflexie.

Morala aceste povestiri este:

A proiecta un protocol corect de autentificare este mai greu decât pare.

Urm"toarele patru reguli generale sunt adeseori utile:

!. Ini#iatorul s" dovedeasc" cine este înaintea celui care r"spunde. În acest caz, Bob transmite informa#ii importante înainte ca Trudy s"-i fi dat vreo dovad" c" este cine pretinde a fi.

2. Ini#iatorul i cel ce r"spunde s" foloseasc" chei diferite pentru dovad", chiar dac" aceasta presupune existen#a a dou" chei partajate KAB i K’AB.

3. Ini#iatorul i cel ce r"spunde s"- i extrag" provoc"rile din mul#imi diferite. De exemplu, ini#iato-rul trebuie s" foloseasc" numere pare, iar cel ce r"spunde s" foloseasc" numere impare.

4. Protocolul s" fie rezistent la atacuri ce implic" o a doua sesiune paralel", în care informa#ia ob#i-nut" într-o sesiune este folosit" într-o alta.

Dac" fie i una singur" din aceste patru reguli este nerespectat", deseori protocolul poate fi spart. În acest caz, patru reguli au fost înc"lcate cu consecin#e dezastroase.

Acum s" ne întoarcem i s" ne uit"m mai bine la protocolul din fig. 8-32. Sigur acel protocol nu poate fi #inta unui atac prin reflexie? Depinde. Este destul de subtil. Trudy a reu it s" înving" proto-colul nostru folosind un atac prin reflexie pentru c" a fost posibil s" deschid" o a doua sesiune cu Bob i s" îl p"c"leasc", f"cându-l s" r"spund" la propriile întreb"ri. Ce s-ar întâmpla dac" Alice ar fi un calculator de uz general care ar accepta i el sesiuni multiple, i nu o persoan" în fa#a unui calcu-lator? S" vedem ce poate face Trudy.

Pentru a vedea cum func#ioneaz" atacul lui Trudy, a se vedea fig. 8-35. Alice începe prin a- i anun#a identitatea în mesajul !. Trudy intercepteaz" acest mesaj i î i începe propria sesiune cu me-sajul 2, pretinzând c" este Bob. Am colorat din nou mesajele din sesiunea a doua. Alice r"spunde la mesajul 2 spunând: Pretinzi c" e ti Bob? Demonstreaz". în mesajul 3. În acest moment Trudy e în impas pentru c" nu poate demonstra c" este Bob.

Ce face Trudy acum? Se întoarce la prima sesiune, în care e rândul ei s" trimit" o provocare, i trimite RA pe care a primit-o în mesajul 3. Alice îi r"spunde politicos în mesajul 5, furnizându-i lui Trudy informa#ia de care are nevoie pentru a trimite mesajul 6 din sesiunea 2. În acest moment Trudy este practic liber" pentru c" a r"spuns cu succes la provocarea lui Alice în sesiunea 2. Acum poate s" abandoneze sesiunea !, s" trimit" un num"r oarecare pentru restul sesiunii 2 i va avea o sesiune autentificat" cu Alice în sesiunea 2.

704 SECURITATEA RE!ELELOR CAP. 8

Fig. 8-35. Atac prin reflexie asupra protocolului din fig. 8-32. Dar Trudy e periculoas" i chiar vrea s" pun" sare pe ran". În loc s" trimit" un num"r oarecare

pentru a completa sesiunea 2, ea a teapt" ca Alice s" trimit" mesajul 7, provocarea lui Alice pentru sesiunea !. Bineîn#eles, Trudy nu tie cum s" r"spund", a a c" folose te din nou atacul prin reflexie, trimi#ând RA2 ca mesajul 8. Alice cripteaz" RA2 în mesajul 9. Acum Trudy se întoarce la sesiunea ! i îi trimite lui Alice num"rul dorit în mesajul !0, copiat din ceea ce trimisese Alice în mesajul 9. Acum Trudy are dou" sesiuni complet autentificate cu Alice.

Acest atac are un rezultat oarecum diferit de atacul protocolului cu trei mesaje reprezentat în fig. 8-34. De aceast" dat", Trudy are dou" sesiuni autentificate cu Alice. În exemplul anterior, ea avea o singur" sesiune autentificat" cu Bob. %i aici, dac" am fi aplicat toate regulile generale pentru proto-coale de autentificare discutate mai sus, acest atac ar fi putut fi oprit. O discu#ie detaliat" despre acest gen de atacuri i despre cum s" le împiedic"m se g"se te în (Bird et. al, !993). Ei arat" i cum este posibil" construirea sistematic" de protocoale pentru care s" se poat" demonstra c" sunt corec-te. Cel mai simplu protocol de acest fel este totu i cam complicat, a a c" acum vom prezenta o alt" clas" de protocoale care func#ioneaz" de asemenea corect.

Noul protocol de autentificare este reprezentat în fig. 8-36 (Bird . a., !993). Acesta folose te un HMAC de tipul pe care l-am v"zut când am studiat IPsec. Alice începe prin a-i trimite lui Bob un num"r ad-hoc, RA, ca mesajul !. Bob r"spunde alegând propriul num"r ad-hoc, RB, i trimi#ându-l înapoi împreun" cu un HMAC. HMAC-ul este format prin construirea unei structuri de date alc"tu-it" din num"rul ad-hoc al lui Alice, num"rul ad-hoc al lui Bob, identit"#ile lor i cheia secret" parta-jat", KAB. Aceast" structur" de date este codificat" prin dispersie în HMAC, de exemplu folosind SHA-!. Când Alice prime te mesajul 2, ea are RA (pe care a ales-o ea îns" i), RB, care ajunge ca text clar, cele dou" identit"#i, i cheia secret", KAB, pe care a tiut-o tot timpul, a a c" poate s" calculeze singur" HMAC-ul. Dac" acesta coincide cu cel din mesaj, ea tie c" vorbe te cu Bob deoarece Trudy nu cunoa te KAB, deci nu- i poate da seama ce HMAC s" trimit". Alice îi r"spunde lui Bob cu un HMAC ce con#ine doar cele dou" numere ad-hoc.

SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 705

Fig. 8-36. Autentificarea folosind HMAC.

Poate Trudy s" sparg" în vreun fel acest protocol? Nu, pentru c" nu poate for#a nici una din p"r#i

s" cripteze sau s" rezume o valoare aleas" de ea, cum se întâmpla în fig. 8-34 i în fig. 8-35. Ambele HMAC-uri includ valori alese de partea care le trimite, ceea ce Trudy nu poate controla.

Utilizarea HMAC-urilor nu este singurul mod de a folosi aceast" idee. O schem" alternativ" de-seori utilizat" în locul calcul"rii HMAC pentru o serie de elemente este criptarea acestor elemente secven#ial, folosind înl"n#uirea blocurilor cifrate.

8.7.2 Stabilirea unei chei secrete: schimbul de chei Diffie-Hellman

Pân" acum am presupus c" Bob i Alice partajeaz" o cheie secret". S" presupunem c" nu este a a (pentru c" deocamdat" nu exist" o PKI universal acceptat" pentru semnarea i distribuirea certi-ficatelor). Cum pot ei s" stabileasc" una? O modalitate ar fi ca Alice s"-l sune pe Bob i s"-i dea che-ia ei prin telefon, dar el probabil va începe întrebând: Cum tiu eu c" e ti Alice i nu Trudy? Ei ar putea încerca s" aranjeze o întâlnire la care fiecare din ei s" aduc" un pa aport, un permis de condu-cere i trei c"r#i de credit semnificative, dar fiind oameni ocupa#i, e posibil s" nu poat" g"si, vreme de luni de zile, o dat" acceptabil" pentru amândoi. Din fericire, oricât de incredibil ar p"rea, exist" un mod ca cei ce sunt total str"ini s" stabileasc", chiar la lumina zilei, o cheie secret" partajat", cu Trudy înregistrând grijulie fiecare mesaj.

Protocolul care permite str"inilor s" stabileasc" o cheie secret" partajat" se nume te interschimbul de chei Diffie-Hellman (Diffie i Hellman, !976) i func#ioneaz" dup" cum urmeaz". Alice i Bob tre-buie s" se pun" de acord asupra a dou" numere mari, n i g, unde n este prim, (n-!)/2 este de asemenea prim i g îndepline te anumite condi#ii. Aceste numere pot fi publice, astfel c" oricare din ei poate pur i simplu s" aleag" n i g i s" o spun" celuilalt, în mod deschis. Acum Alice alege un num"r mare (s" spunem pe 5!2 bi#i), x, i îl p"streaz" secret. Similar, Bob alege un num"r mare, secret, y.

Fig. 8-37. Schimbul de cheie Diffie-Hellman.

706 SECURITATEA RE!ELELOR CAP. 8

Alice ini#iaz" protocolul de schimb al cheii trimi#ându-i lui Bob un mesaj ce con#ine (n, g, gx mod n), dup" cum se arat" în fig. 8-37. Bob r"spunde trimi#ându-i lui Alice un mesaj ce con#ine gy mod n. Acum Alice are num"rul pe care i l-a trimis Bob i îl ridic" la puterea x modulo n pentru a ob#ine (gy mod n)x mod n. Bob efectueaz" o opera#ie similar" pentru a ob#ine (gx mod n)y mod n. Conform legi-lor aritmeticii modulare, ambele calcule duc la gxy mod n. Iat" cum Alice i Bob partajeaz" acum o cheie secret" gxy mod n.

Este evident c" Trudy vede ambele mesaje. Ea cunoa te pe g i pe n din mesajul !. Dac" ea ar putea calcula x i y ar putea s" descopere cheia secret". Necazul este c", dat fiind doar gx mod n, ea nu poate afla pe x. Nu este cunoscut nici un algoritm practic pentru calculul logaritmilor discre#i modulo un num"r prim foarte mare.

Pentru a face exemplul anterior mai concret, vom folosi (complet nerealist) valorile n = 47 i g = 3. Alice alege x = 8 i Bob alege y = !0. Ambele chei sunt p"strate secrete. Mesajul lui Alice c"tre Bob este (47, 3, 28) deoarece 38 mod 47 este 28. Mesajul lui Bob c"tre Alice este (!7). Alice calcu-leaz" !78 mod 47, care este 4. Bob calculeaz" 28!0 mod 47, care este 4. Alice i Bob au determinat independent cheia secret" care este 4. Trudy are de rezolvat ecua#ia 3x mod 47 = 28, ceea ce poate fi f"cut prin c"utare exhaustiv" în cazul unor numere mici ca acestea, dar nu i atunci când toate nu-merele sunt lungi de sute de bi#i. To#i algoritmii cunoscu#i la ora actual" iau prea mult timp, chiar i atunci când sunt rula#i folosind un supercalculator masiv paralel.

În ciuda elegan#ei algoritmului Diffie-Hellman, exist" o problem": când Bob ia tripletul (47, 3, 28), cum tie el c" este de la Alice i nu de la Trudy? Nu exist" nici o modalitate pentru aceasta. Din nefericire Trudy poate exploata acest fapt pentru a-i în ela atât pe Alice cât i pe Bob, dup" cum este ilustrat în fig. 8-38. Aici, când Alice i Bob îl aleg pe x, respectiv pe y, Trudy alege propriul s"u num"r aleator, z. Alice trimite mesajul !, destinat lui Bob. Trudy îl intercepteaz" i trimite mesajul 2 lui Bob, folosind g i n corec#i (care sunt disponibili public), dar cu al s"u z în loc de x. De asemenea ea trimite mesajul 3 lui Alice. Mai târziu Bob îi trimite lui Alice mesajul 4, pe care Trudy îl interceptea-z" din nou i îl p"streaz".

Fig. 8-38. Atacul de tip g"leata brig"zii sau omul-din-mijloc. Acum fiecare efectueaz" aritmetica modular". Alice calculeaz" cheia secret" ca fiind gxz mod n i

la fel face i Trudy (pentru mesajele lui Alice). Bob calculeaz" gyz mod n i la fel face i Trudy (pen-tru mesajele lui Bob). Alice crede c" vorbe te cu Bob, a a c" ea stabile te o sesiune de cheie (cu Trudy). La fel face i Bob. Fiecare mesaj pe care Alice îl trimite în sesiunea criptat" este capturat de Trudy, memorat, modificat la dorin#" i apoi (op#ional) transmis lui Bob. Similar în cealalt" direc#ie. Trudy vede orice i poate modifica toate mesajele la dorin#", în timp ce atât Alice cât i Bob tr"iesc cu iluzia c" au un canal de comunica#ie sigur de la unul la cel"lalt. Acest atac este cunoscut sub nu-

SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 707

mele de atacul g#leata brig#zii de pompieri (eng.: bucket brigade attack), deoarece el seam"n" vag cu un departament de pompieri de pe vremuri trecând din mân" în mân" g"le#ile de-a lungul drumului de la ma ina de pompieri la foc. El se mai nume te i atacul omul-din-mijloc (eng.: man-in-the-middle attack).

8.7.3 Autentificarea folosind un Centru de Distribu"ia Cheilor

Stabilirea unui secret partajat cu un str"in a mers destul de bine, dar nu în întregime. Pe de alt" parte, probabil c" nici nu merit" s" fie f"cut (atacul strugurilor acri). Pentru a vorbi cu n oameni în acest mod ar fi necesare n chei. Pentru persoanele foarte cunoscute, gestiunea cheilor ar deveni o adev"rat" pacoste, în special dac" fiecare cheie trebuie stocat" separat pe câte o cartel" de plastic.

O abordare diferit" o reprezint" introducerea unui centru autorizat de distribu#ie a cheilor (KDC - Key Distribution Center). În acest model, fiecare utilizator are o singur" cheie partajat" cu KDC. Autentificarea i gestiunea cheilor de sesiune merg acum prin intermediul KDC. Cel mai simplu protocol cunoscut pentru autentificarea KDC, implicând dou" p"r#i i un centru autorizat, este ilustrat în fig. 8-39.

Fig. 8-39. O prim" încercare de protocol de autentificare folosind un KDC .

Ideea din spatele protocolului este simpl": Alice alege o cheie de sesiune , KS, i anun#" KDC c"

vrea s" vorbeasc" cu Bob folosind KS. Acest mesaj este criptat cu cheia secret" pe care Alice o îm-parte (numai) cu KDC, KA. KDC decripteaz" acest mesaj, extrage identitatea lui Bob i cheia de sesiune. Apoi el construie te un nou mesaj ce con#ine identitatea lui Alice i cheia de sesiune i tri-mite acest mesaj lui Bob. Criptarea este f"cut" cu KB, cheia secret" pe care Bob o împarte cu KDC. Când Bob decripteaz" mesajul, el afl" c" Alice vrea s" vorbeasc" cu el i cheia pe care aceasta vrea s" o utilizeze.

Autentificarea are loc gratuit. KDC tie c" mesajul ! trebuie s" fi venit de la Alice, deoarece ni-meni altcineva nu poate s"-l cripteze cu cheia secret" a Alicei. Similar, Bob tie sigur c" mesajul 2 vine de la KDC, în care el are încredere, deoarece nimeni altcineva nu mai cunoa te cheia lui secret".

Din nefericire, acest protocol prezint" un defect grav. Trudy are nevoie de ceva bani, a a c" ea imagineaz" un serviciu pe care îl poate executa pentru Alice, face o ofert" atractiv" i ob#ine postul. Dup" ce î i face treaba, Trudy cere politicos lui Alice s"-i pl"teasc" transferându-i banii prin banc". A a c" Alice stabile te o cheie de sesiune cu bancherul ei, Bob. Apoi ea îi trimite lui Bob un mesaj prin care cere ca banii respectivi s" fie transfera#i în contul lui Trudy.

Între timp, Trudy se întoarce la vechile ei obiceiuri, furturile prin re#ea. Ea copiaz" atât mesajul 2 din fig. 8-39, cât i cererea de transferare a banilor care îl urmeaz". Mai târziu ea le trimite lui Bob. Bob le ia i gânde te: „Alice probabil c" a angajat-o din nou pe Trudy. Cu siguran#" c" ea lucreaz" bine.” Bob transfer" din nou o cantitate de bani egal" cu prima din contul lui Alice în al lui Trudy. La câtva timp dup" cea de-a 50-a pereche de mesaje pe care o prime te, Bob alearg" afar" din biroul

708 SECURITATEA RE!ELELOR CAP. 8

s"u pentru a o g"si pe Trudy i a-i oferi un împrumut mare astfel ca ea s"- i poat" extinde afacerea ce se dovede te a fi atât de plin" de succes. Problema se nume te atacul prin reluare.

Sunt câteva solu#ii posibile la atacul prin reluare. Prima este de a include în fiecare mesaj o am-prent" de timp. Astfel, dac" cineva prime te un mesaj expirat, îl ignor". Necazul cu aceast" abordare este c" într-o re#ea ceasurile nu sunt niciodat" perfect sincronizate, astfel încât va exista un întreg interval de timp în care o amprent" de timp este valid". Trudy poate retrimite mesajul în acest inter-val de timp f"r" s" fie prins".

Cea de-a doua solu#ie este s" se pun", în fiecare mesaj, un num"r ad-hoc. Fiecare parte trebuie s"- i rememoreze toate numerele ad-hoc folosite anterior i s" resping" orice mesaj ce con#ine un num"r ad-hoc folosit deja. Dar numerele ad-hoc trebuie rememorate la nesfâr it, chiar i atunci când Trudy încearc" s" retrimit" un mesaj vechi de 5 ani. De asemenea, dac" o ma in" cade i î i pierde lista de numere ad-hoc, ea va fi din nou vulnerabil" la un atac prin reluare. Amprentele de timp i numerele ad-hoc pot fi combinate pentru a limita timpul în care acestea din urm" nu trebuie terse, dar este evident c" protocolul devine mult mai complicat.

O abordare i mai sofisticat" a autentific"rii este folosirea unui protocol provocare-r"spuns multic"i. Un exemplu binecunoscut de astfel de protocol este protocolul de autentificare Needham-Schroeder (Needham i Schroeder, !978). O variant" a acestuia este prezentat" în fig. 8-40.

Fig. 8-40. Protocolul de autentificare Needham-Schroeder.

În acest protocol, Alice începe prin a anun#a KDC c" ea dore te s" vorbeasc" cu Bob. Acest me-

saj con#ine un num"r aleator mare, RA, pe post de num"r ad-hoc. KDC trimite înapoi mesajul 2 con-#inând num"rul aleator al lui Alice împreun" cu un tichet pe care ea îl poate trimite lui Bob. Scopul num"rului aleator este acela de a o asigura pe Alice c" mesajul 2 este proasp"t i nu unul reluat. Identitatea lui Bob este de asemenea inclus" pentru cazul în care lui Trudy îi vine amuzanta idee s" înlocuiasc" B-ul din mesajul ! cu propria sa identitate, astfel încât KDC s" cripteze tichetul de la sfâr itul mesajului 2 cu KT în loc de KB. Tichetul criptat cu KB este inclus în interiorul mesajului crip-tat, pentru a o împiedica pe Trudy s"-l înlocuiasc" cu altceva pe drumul lui înapoi spre Alice.

Acum Alice îi trimite tichetul lui Bob, împreun" cu un nou num"r aleator, RA2, criptat cu cheia de sesiune, KS. În mesajul 4, Bob trimite înapoi KS(RA2 -!) pentru a-i dovedi lui Alice c" vorbe te cu adev"ratul Bob. Trimiterea înapoi a lui KS(RA2) nu ar fi mers, deoarece ar fi fost posibil ca Trudy tocmai s"-l fi furat din mesajul 3.

Dup" primirea mesajului 4, Alice este convins" c" vorbe te cu Bob i c" pân" în acest moment nu s-au folosit mesaje reluate. Doar ea tocmai generase RA2 cu câteva milisecunde înainte. Scopul mesa-jului 5 este de a-l convinge pe Bob c" cea cu care vorbe te este chiar Alice i c" nu s-au folosit nici

SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 709

aici mesaje reluate. Posibilitatea oric"rui tip de atac prin replicare este eliminat", deoarece fiecare parte nu numai c" genereaz" o provocare, dar i r"spunde la una.

Cu toate c" protocolul pare a fi destul de solid, el are o mic" sc"pare. Dac" Trudy reu e te s" ob-#in" o cheie de sesiune veche în text clar, ea poate s" ini#ieze o nou" sesiune cu Bob reluând mesajul 3 corespunz"tor cheii compromise i convingându-l pe acesta c" ea este Alice (Denning i Sacco, !98!). De aceast" dat" ea poate pr"da contul din banc" al lui Alice f"r" s" trebuiasc" s" se legitime-ze nici m"car o dat".

Needham i Schroeder au publicat mai târziu un protocol care corecteaz" aceast" problem" (Needham i Schroeder, !987). În acela i num"r al aceluia i jurnal, Otway i Rees (!987) au publicat de asemenea un protocol care rezolv" problema pe o cale mai scurt". Fig. 8-4! ilustreaz" un protocol Otway-Rees u or modificat.

Fig. 8-4 . Protocolul de autentificare Otway-Rees (pu#in simplificat).

În protocolul Otway-Rees, Alice începe prin a genera o pereche de numere aleatoare, R, care va fi utilizat" ca identificator comun, i RA, pe care Alice îl va folosi pentru a-l provoca pe Bob. Când Bob preia acest mesaj, el construie te un mesaj nou din partea criptat" a mesajului lui Alice i unul analog din partea sa. Ambele p"r#i criptate cu KA i KB, identificând pe Alice i pe Bob, con#in identi-ficatorul comun i o provocare.

KDC verific" dac" R din ambele p"r#i este acela i. S-ar putea s" nu fie, deoarece Trudy a intervenit cu R în mesajul ! sau a înlocuit partea din mesajul 2. Dac" cele dou" RS se potrivesc, KDC crede c" mesajul de cerere de la Bob este valid. El genereaz" atunci o cheie de sesiune i o cripteaz" de dou" ori, o dat" pentru Alice i o dat" pentru Bob. Fiecare mesaj con#ine num"rul aleator al receptorului, ca dovad" c" mesajul a fost generat de KDC i nu de Trudy. În acest moment atât Alice cât i Bob sunt în posesia aceleia i chei de sesiune i pot începe comunicarea. Prima dat" când ei vor schimba mesaje de date, fiecare va putea vedea c" cel"lalt are o copie identic" a lui KS, astfel autentificarea fiind complet".

8.7.4 Autentificarea folosind Kerberos

Un protocol de autentificare folosit în multe sisteme reale (inclusiv Windows 2000) este Kerberos, care se bazeaz" pe o variant" a protocolului Needham-Schroeder. Numele s"u vine de la un câine cu mai multe capete din mitologia greac", ce era folosit pentru a p"zi intrarea în Hades (probabil pentru a-i #ine pe cei nedori#i afar"). Kerberos a fost proiectat la M.I.T. pentru a permite utilizatorilor de la sta#iile de lucru s" acceseze resursele re#elei într-un mod sigur. Cea mai mare dife-ren#" dintre el i Needham-Schroeder este presupunerea lui c" toate ceasurile sunt destul de bine sincronizate. Protocolul a trecut prin câteva itera#ii. V4 este versiunea cea mai larg utilizat" în indus-

7 0 SECURITATEA RE!ELELOR CAP. 8

trie, a a c" pe aceasta o vom descrie. Dup" care vom spune câteva cuvinte despre succesoarea sa, V5. Pentru mai multe informa#ii, vezi (Steiner et. al, !988).

Kerberos implic" trei servere în afar" de Alice (sta#ia de lucru a clientului):

Serverul de autentificare (AS – eng.: Authentication Server): verific" utilizatorii în timpul conect"rii. Serverul de acordare a Tichetelor (TGS – eng.: Ticket-Granting Server): emite „demonstrarea

identit"#ii tichetelor”. Serverul Bob: realizeaz" efectiv ac#iunea pe care o dore te Alice

AS este similar unui KDC prin aceea c" el partajeaz" o parol" secret" cu orice utilizator. Sarcina TGS este de a emite tichete care pot convinge serverele reale c" acela care de#ine un tichet TGS este într-adev"r cel ce pretinde a fi.

Pentru a porni o sesiune, Alice st" a ezat" la o sta#ie de lucru public" oarecare i- i tasteaz" nu-mele. Sta#ia de lucru transmite numele ei la AS ca text clar, dup" cum este ar"tat în fig. 8-42. Ceea ce vine înapoi este o cheie de sesiune împreun" cu un tichet KTGS(A, KS), destinate TGS-ului. Aceste elemente sunt împachetate împreun" i criptate folosind cheia secret" a lui Alice, astfel încât doar Alice s" le poat" decripta. Doar când sose te mesajul 2, sta#ia de lucru îi va cere lui Alice parola. Parola este folosit" pentru a genera KA, în scopul decript"rii mesajului 2 i ob#inerii cheii de sesiune i tichetului TGS din interiorul acestui mesaj. În acest moment, sta#ia de lucru înlocuie te parola lui Alice pentru a se asigura c" ea se g"se te în interiorul sta#iei de lucru pentru cel mult câteva milise-cunde. Dac" Trudy încearc" s" se conecteze ca Alice, parola pe care o introduce va fi gre it" i sta#ia de lucru va detecta acest lucru deoarece partea standard a mesajului 2 va fi incorect".

Dup" conectare Alice trebuie s" anun#e sta#ia de lucru c" dore te s"-l contacteze pe Bob, serve-rul de fi iere. Atunci sta#ia de lucru trimite spre TGS mesajul 3 cerând un tichet pentru a-l folosi cu Bob. Elementul cheie în aceast" cerere este KTGS(A, KS), care este criptat cu cheia secret" a TGS i este folosit ca dovad" c" transmi#"torul este chiar Alice. TGS r"spunde prin crearea unei chei de sesiune KAB, pe care Alice s" o foloseasc" cu Bob. Se trimit înapoi dou" versiuni ale acesteia. Prima este criptat" doar cu KS, astfel încât Alice s" poat" s" o citeasc". A doua este criptat" cu cheia lui Bob, KB, astfel încât Bob s" o poat" citi.

Fig. 8-42. Modul de operare la Kerberos V4.

Trudy poate copia mesajul 3 i poate încerca s"-l utilizeze din nou, dar ea va fi împiedicat" de amprenta de timp criptat", t, trimis" împreun" cu el. Trudy nu poate înlocui amprenta de timp cu una mai recent", deoarece ea nu cunoa te KS, cheia de sesiune pe care o folose te Alice pentru a

SEC. 8.7 PROTOCOALE DE AUTENTIFICARE 7

vorbi cu TGS. Chiar dac" Trudy retrimite mesajul 3 repede, tot ceea ce va ob#ine este o alt" copie a mesajului 4, pe care nu a putut s"-l decripteze prima dat" i nu va putea nici a doua oar".

Acum Alice îi poate trimite lui Bob KAB pentru a stabili o sesiune cu el. Acest schimb este de aseme-nea cu amprente de timp. R"spunsul este pentru Alice dovada c" ea vorbe te chiar cu Bob, nu cu Trudy.

Dup" aceast" serie de schimburi, Alice poate comunica cu Bob sub acoperirea cheii KAB. Dac" mai târziu se decide c" are nevoie s" comunice cu alt server, Carol, ea va repeta doar mesajul 3 spre TGS, specificând de aceast" dat" C în loc de B. TGS va r"spunde cu promptitudine cu un tichet criptat cu KC, pe care Alice îl poate transmite lui Carol i pe care Carol îl va accepta ca dovad" c" el vine de la Alice.

Scopul întregii ac#iuni este c" acum Alice poate accesa serverele din toat" re#eaua într-un mod sigur i c" parola sa nu va fi niciodat" transmis" prin re#ea. De fapt parola trebuie s" existe pe sta#ia de lucru doar pentru câteva milisecunde. Cu toate acestea, trebuie remarcat c" fiecare server face propria sa autorizare. Atunci când Alice îi prezint" tichetul s"u lui Bob, acest tichet doar îi demon-streaz" lui Bob cine l-a trimis. Ceea ce îi este permis lui Alice s" fac", depinde doar de Bob.

Deoarece proiectan#ii Kerberos-ului nu s-au a teptat ca întreaga lume s" aib" încredere într-un singur server de autentificare, ei au prev"zut posibilitatea de a avea domenii multiple, fiecare cu pro-priul s"u AS i TGS. Pentru a ob#ine un tichet de la un server dintr-un domeniu de la distan#", Alice ar trebui s" cear" propriului s"u TGS un tichet acceptat de TGS-ul din domeniul de la distan#". Dac" TGS-ul de la distan#" este înregistrat la TGS-ul local (în acela i mod în care sunt serverele locale), TGS-ul local îi va da lui Alice un tichet valid pentru TGS-ul de la distan#". Astfel ea poate s" lucreze acolo, de exemplu s" ia tichete pentru serverele din acest domeniu. De notat totu i c", pentru ca p"r#i din dou" domenii diferite s" conlucreze, fiecare trebuie s" se încread" în TGS-ul celuilalt.

Kerberos V5 este mai sofisticat decât V4 i are o supraînc"rcare mai mare. Pentru a descrie tipu-rile de date el folose te OSI ASN.! (Abstract Syntax Notation !) i prezint" mici modific"ri în proto-coale. Mai mult decât atât, are timpi de via#" mai mari pentru tichete, permite reînnoirea tichetelor i va elibera tichete postdatate. În plus, cel pu#in în teorie, nu este dependent de DES, cum este V4, i suport" domenii multiple delegând servere de tichete multiple pentru generarea de tichete.

8.7.5 Autentificarea folosind criptografia cu cheie public#

Autentificarea mutual" poate fi realizat" i cu ajutorul criptografiei cu cheie public". Pentru în-ceput, Alice are nevoie de cheia public" a lui Bob. Dac" exist" o PKI cu un server de directoare care emite certificate pentru chei publice, Alice o poate cere pe a lui Bob, dup" cum se vede din fig. 8-43, ca mesajul !. R"spunsul, în mesajul 2, este un certificat X.509 con#inând cheia public" a lui Bob. Când Alice verific" faptul c" semn"tura e corect", îi trimite lui Bob un mesaj con#inând identitatea ei i un num"r ad-hoc.

Când Bob prime te acest mesaj, nu are idee dac" a venit de la Alice sau de la Trudy, dar conti-nu" i cere serverului de directoare cheia public" a lui Alice (mesajul 4), pe care o ob#ine imediat (mesajul 5). Apoi îi trimite lui Alice un mesaj con#inând RA a lui Alice, propriul num"r ad-hoc, RB, i o cheie de sesiune propus", KS, ca mesajul 6.

Când Alice prime te mesajul 6, ea îl decripteaz" folosind propria cheie privat". Ea vede RA în mesaj, ceea ce îi d" o senza#ie pl"cut". Mesajul trebuie s" fi venit de la Bob, pentru c" Trudy nu are nici un mijloc de a determina RA. Mai mult, trebuie s" fie un mesaj proasp"t, i nu unul reluat, din moment ce ea tocmai i-a trimis RA lui Bob. Alice accept" cheia de sesiune trimi#ând înapoi mesajul 7. Când Bob vede RB criptat cu cheia de sesiune pe care a generat-o el, tie c" Alice a primit mesajul 6 i a verificat RA.

7 2 SECURITATEA RE!ELELOR CAP. 8

Fig. 8-43. Autentificarea mutual" folosind criptografia cu cheie public". Cum poate încerca Trudy s" compromit" acest protocol? Ea poate fabrica mesajul 3 i-l poate

p"c"li pe Bob s" o testeze pe Alice, dar Alice va vedea un RA pe care nu l-a trimis ea i nu va merge niciodat" mai departe. Trudy nu poate falsifica mesajul 7 pentru Bob, deoarece nu tie RB sau KS i nu le poate determina f"r" cheia privat" a lui Alice. De data aceasta ea nu are noroc.

8.8 CONFIDEN!IALITATEA PO&TEI ELECTRO-NICE

Când un mesaj de po t" electronic" este trimis între dou" loca#ii situate la distan#", acesta va tre-ce în drumul s"u pe la un num"r mare de ma ini. Oricare dintre acestea poate s" citeasc" i s" înre-gistreze mesajul pentru utilizare ulterioar". Confiden#ialitatea este inexistent", în ciuda a ceea ce mul#i oameni cred (Weisband i Reining, !995). Cu toate acestea, multora le-ar pl"cea s" poat" tri-mite mesaje care s" fie citite doar de cei c"rora le sunt adresate i de nimeni altcineva: nu de eful lor i nici chiar de guvern. Aceast" dorin#" a stimulat mai multe persoane i grupuri s" aplice principiile criptografiei, studiate de noi anterior, la po ta electronic", pentru a produce un sistem de e-mail si-gur. În sec#iunile urm"toare vom studia un sistem de e-mail sigur larg utilizat, PGP, i apoi vom men#iona pe scurt altele dou", PEM i S/MIME. Pentru informa#ii suplimentare a se vedea (Kaufman et. al, 2002; i Schneier, !995).

8.8. PGP-Pretty Good Privacy (rom.: Confiden"ialitate Destul de Bun#)

Primul nostru exemplu, PGP (eng.: Pretty Good Privacy) este în cea mai mare parte rodul gândi-rii unei singure persoane, Phil Zimmermann (Zimmermann, !995a, !995b). Zimmermann este un avocat al confiden#ialit"#ii, al c"rui motto este: Dac" dreptul la confiden#ialitate este în afara legii, atunci doar cei afla#i în afara legii vor avea confiden#ialitate. Lansat în !99!, PGP este un pachet complet de securitate a e-mail-ului, care ofer" confiden#ialitate, autentificare, semn"turi digitale i compresie, toate într-o form" u or de utilizat. Pe deasupra, pachetul complet, incluzând tot codul

SEC. 8.8 CONFIDEN&IALITATEA PO%TEI ELECTRONICE 7 3

surs", este distribuit gratuit prin Internet. Datorit" calit"#ii sale, pre#ului (zero) i disponibilit"#ii pe platformele UNIX, Linux, Windows i Mac OS, acesta este larg utilizat ast"zi.

PGP cripteaz" datele folosind un cifru bloc numit IDEA (eng.: International Data Encryption Algorithm, rom.: Algoritm Interna"ional de Criptare a Datelor), care folose te chei de !28 de bi#i. Acesta a fost proiectat în Elve#ia într-un moment in care DES era considerat compromis i AES înc" nu fusese inventat. Conceptual, IDEA este similar cu DES i AES: permut" bi#ii într-un ir de run-de, dar detaliile func#iilor de permutare sunt diferite de DES i AES. Gestiunea cheilor folose te RSA i integritatea datelor folose te MD5, subiecte pe care le-am discutat deja.

PGP a fost implicat în diferite controverse începând din prima zi (Levy, !993). Deoarece Zimmermann nu a f"cut nimic pentru a împiedica alte persoane s" distribuie PGP pe Internet, de unde poate fi luat de oameni din toat" lumea, guvernul Statelor Unite a pretins c" Zimmermann a violat legile privind exportul de muni#ie. Investigarea lui Zimmermann de c"tre guvernul Statelor Unite a durat 5 ani, dar pân" la urm" a încetat, probabil din dou" motive. În primul rând, Zimmermann nu a pus el însu i PGP pe Internet, a a c" avocatul lui a sus#inut c" el nu a exportat niciodat" nimic ( i apoi mai este i problema dac" de fapt a crea un sit Web constituie un export). În al doilea rând, guvernul i-a dat seama în cele din urm" c" a câ tiga un proces înseamn" a convinge jura#ii c" un sit Web con#inând un program de confiden#ialitate ce poate fi desc"rcat intr" sub inci-den#a legii traficului de arme, care interzice exportul de material de r"zboi cum ar fi tancurile, sub-marinele, aparatele de zbor militare i armele nucleare. %i probabil c" nici anii întregi de publicitate negativ" nu au ajutat prea mult.

F"când o parantez", legile exportului sunt bizare, ca s" folosim termeni modera#i. Guvernul a considerat punerea de cod pe un sit Web ilegal" i l-a h"r#uit pe Zimmermann 5 ani pentru acest lucru. Pe de alt" parte, când cineva a publicat codul surs" complet al PGP, în C, într-o carte (cu ca-ractere mari i cu sume de control pe fiecare pagin", ca s" poat" fi verificat u or) i apoi a exportat cartea, nu au fost probleme cu guvernul deoarece c"r#ile nu sunt clasificate ca muni#ii. Sabia este mai puternic" decât condeiul, cel pu#in pentru Unchiul Sam.

O alt" problem" cu care s-a confruntat PGP a fost una de înc"lcare a patentului. Compania ce de-#ine patentul RSA, RSA Security, Inc., a sus#inut c" folosirea de c"tre PGP a algoritmului RSA îi în-calc" patentul, dar aceast" problem" a fost rezolvat" în versiunile începând de la 2.6. Mai mult, PGP folose te i alt algoritm de criptare patentat, IDEA, ceea ce a provocat ni te probleme la început.

Cum sursele PGP sunt publice, diverse persoane i grupuri l-au modificat i au produs un num"r de versiuni. Unele au fost proiectate ca s" ocoleasc" problemele cu legile muni#iei, altele s-au orien-tat spre evitarea folosirii algoritmilor patenta#i, i altele au vrut s"-l transforme într-un produs co-mercial, în care sursele s" nu mai fie disponibile. De i legile muni#iei au mai fost liberalizate pu#in (altfel produsele ce folosesc AES nu ar fi putut fi exportate din S.U.A.) i patentul RSA a expirat în septembrie 2000, consecin#a tuturor acestor probleme este c" acum sunt în circula#ie diverse versiuni incompatibile ale PGP, sub nume diferite. Discu#ia de mai jos se refer" la PGP clasic, adic" cea mai veche i mai simpl" versiune. Alt" versiune popular", Open PGP, este descris" în RFC 2440. Înc" o alt" versiune este GNU Privacy Guard.

În mod inten#ionat PGP utilizeaz" algoritmi de criptare existen#i, în loc s" inventeze unii noi. Se bazeaz" în principal pe algoritmi care au fost supu i unor numeroase analize am"nun#ite i nu au fost proiecta#i sau influen#a#i de vreo agen#ie guvernamental" care s" încerce s" le mic oreze puterea. Pentru cei ce au tendin#a s" nu aib" încredere în guvern, aceast" proprietate este un mare avantaj.

PGP permite compresia de text, asigurarea secretului mesajelor i semn"turi digitale i furnizea-z" de asemenea facilit"#i de management extensiv al cheilor, dar, destul de ciudat, nu i facilit"#i pen-

7 4 SECURITATEA RE!ELELOR CAP. 8

tru e-mail. Este mai mult un preprocesor care preia text clar de la intrare i produce text semnat, cifrat, în baz" 64, ca rezultat. Acest rezultat poate fi apoi trimis prin e-mail, bineîn#eles. Unele im-plement"ri ale PGP apeleaz", ca pas final, un agent utilizator care s" trimit" efectiv mesajul.

Pentru a vedea cum func#ioneaz" PGP, s" consider"m exemplul din fig. 8-44. Aici, Alice vrea s"-i trimit" lui Bob, într-o manier" sigur", un mesaj text simplu, semnat, P. Alice i Bob au cheile private (DX) i cheile RSA publice (EX). S! presupunem c! fiecare tie cheia public! a celuilalt; ne vom ocu-pa mai târziu de administrarea cheilor.

Fig. 8-44. PGP în ac"iunea de trimitere a unui mesaj.

Alice începe prin a invoca programul PGP pe calculatorul s!u. Mai întâi PGP rezum! prin dis-

persare (eng.: hash) mesajul P utilizând MD5, apoi cripteaz! codul de dispersie rezultat utilizând cheia sa RSA privat!, DA. Când, în cele din urm!, Bob prime te mesajul, el poate decripta rezumatul cu cheia public! cunoscut! a lui Alice i poate testa corectitudinea acestuia. Chiar dac! altcineva (de ex. Trudy) poate ob"ine codul în aceast! etap! i îl poate decripta cu cheia public! a lui Alice, pute-rea lui MD5 garanteaz! c! este nerealizabil! computa"ional producerea unui alt mesaj care s! aib! acela i cod MD5.

Rezumatul criptat i mesajul original sunt acum concatenate într-un singur mesaj P i compri-mate apoi cu programul ZIP, care utilizeaz! algoritmul Ziv-Lempel (Ziv i Lempel, #977). Numim ie irea ob"inut! la acest pas P .Z.

Apoi, PGP îi cere lui Alice introducerea unui ir de caractere oarecare. Atât con"inutul acestuia cât i viteza de tastare sunt utilizate pentru a genera o cheie de mesaj de tip IDEA, de #28 de bi"i, KM (numit! cheie de sesiune în literatura PGP, dar numele este nepotrivit atâta timp cât nu exist! nici o sesiune). KM este acum utilizat pentru a cripta P .Z cu IDEA, prin metoda de tip reac"ie cifrat!. În plus, KM este criptat! cu cheia public! a lui Bob, EB. Aceste dou! componente sunt apoi concatenate i convertite în baz! 64, a a cum s-a discutat în sec"iunea despre MIME din Cap. 7. Mesajul rezultat con"ine numai litere, cifre i simbolurile +, / i =, ceea ce înseamn! c! poate fi pus într-un corp de RFC 822 i c! ne putem a tepta s! ajung! nemodificat la destina"ie.

Când Bob prime te mesajul, îl reconverte te din baz! 64 i decripteaz! cheia IDEA utilizând cheia sa RSA privat!. Utilizând aceast! cheie, decripteaz! mesajul pentru a ob"ine P .Z. Dup! de-

SEC. 8.8 CONFIDEN$IALITATEA PO%TEI ELECTRONICE 7 5

compresia acestuia, Bob separ! textul simplu de codul cifrat i decripteaz! codul de dispersie utilizând cheia public! a lui Alice. Dac! codul textului clar coincide cu ceea ce a calculat el utilizând MD5, el tie c! P este mesajul corect i c! provine de la Alice.

Merit! observat c! RSA este utilizat doar în dou! locuri aici: pentru a cifra codul de dispersie de #28 de bi"i generat de MD5 i pentru a cifra cheia IDEA de #28 de bi"i. De i RSA este lent, are de criptat doar 256 de bi"i i nu un volum mare de date. Mai mult, to"i cei 256 de bi"i de text simplu sunt genera"i extrem de aleator, astfel încât numai pentru a determina dac! o cheie ghicit! este corect!, Trudy ar trebui s! depun! o cantitate însemnat! de munc!. Criptarea de mare putere este realizat! de IDEA, care este cu câteva ordine de m!rime mai rapid! decât RSA. Astfel, PGP asigur! securita-te, compresie i o semn!tur! digital! i face acest lucru într-o manier! chiar mult mai eficient! decât schema ilustrat! în fig. 8-#9.

PGP accept! trei lungimi de chei RSA. R!mâne la latitudinea utilizatorului s! o aleag! pe cea mai potrivit!. Lungimile disponibile sunt:

#. Obi nuit! (384 bi"i): poate fi spart! u or în ziua de azi. 2. Comercial! (5#2 bi"i): ar putea fi spart! de organiza"ii cu nume din trei litere (care se ocup!

cu securitatea statului). 3. Militar! (#024 bi"i): Nu poate fi spart! de nici un p!mântean. 4. Extraterestr! (2048 bi"i): Nu poate fi spart! nici de cineva de pe alt! planet!.

Cum RSA este folosit! doar pentru dou! calcule u oare, toat! lumea ar trebui s! foloseasc! me-reu chei de lungime extraterestr!.

Fig. 8-45. Un mesaj PGP Formatul unui mesaj PGP este prezentat în fig. 8-45. Mesajul are trei p!r"i, con"inând cheia

IDEA, semn!tura i respectiv mesajul. Partea care con"ine cheia mai include, de asemenea, un iden-tificator de cheie, deoarece utilizatorilor li se permite s! aib! mai multe chei publice.

Partea cu semn!tura con"ine un antet, de care nu ne vom ocupa aici. Antetul este urmat de: o am-prent! de timp, identificatorul pentru cheia public! a emi"!torului, care poate fi folosit pentru a decrip-ta codul semn!turii, unele informa"ii care identific! algoritmul folosit (pentru a permite folosirea algo-ritmilor MD6 i RSA2 atunci când ace tia vor fi inventa"i) precum i codul de dispersie criptat.

Partea de mesaj con"ine de asemenea un antet, numele implicit care va fi folosit pentru fi ier în cazul în care utilizatorul dore te s!-l salveze pe disc, o amprent! de timp pus! la crearea mesajului i, în sfâr it, mesajul în sine.

7 6 SECURITATEA RE!ELELOR CAP. 8

Administrarea cheilor a fost tratat! cu aten"ie foarte mare în PGP, deoarece acesta este c!lcâiul lui Ahile pentru sistemele de securitate. Administrarea cheilor func"ioneaz! dup! cum urmeaz!. Fiecare utilizator men"ine dou! structuri de date locale: un inel cu chei private i unul cu chei publi-ce. Inelul cheilor private con"ine una sau mai multe perechi de chei personale (privat!-public!). Mo-tivul pentru care se accept! mai multe chei pentru un utilizator este pentru a permite acestora s!- i schimbe cheile publice periodic sau când se consider! c! acestea au fost compromise, f!r! a invalida mesajele aflate în preg!tire sau în tranzit. Fiecare pereche are un identificator asociat, astfel încât un emi"!tor de mesaj poate spune destinatarului ce cheie public! a fost folosit! pentru criptarea acestu-ia. Identificatorii de mesaj constau din ultimii 64 de bi"i ai cheii publice. Utilizatorii sunt responsabili pentru evitarea conflictelor între identificatorii cheilor lor publice. Cheile private de pe disc sunt criptate folosind o parol! special! (arbitrar de lung!) pentru a le proteja împotriva unor atacuri.

Inelul cheilor publice con"ine cheile publice ale coresponden"ilor utilizatorului. Acestea sunt ne-cesare pentru criptarea cheilor de mesaj asociate cu fiecare mesaj. Fiecare intrare în inelul cheilor publice con"ine nu doar cheia public!, ci i identificatorul s!u pe 64 de bi"i i o indica"ie asupra în-crederii pe care o are utilizatorul în cheie.

Problema care trebuie rezolvat! aici este urm!toarea. S! presupunem c! cheile publice sunt men"inute în grupurile de tiri. O metod! pentru Trudy de a citi e-mail-ul secret al lui Bob este de a ataca grupul de tiri i de a înlocui cheia public! a lui Bob cu una la alegerea sa. Când Alice va lua mai târziu a a-zisa cheie a lui Bob, Trudy poate lansa un atac g!leata-brig!zii la adresa lui Bob.

Pentru a preveni astfel de atacuri, sau cel pu"in pentru a minimiza consecin"ele lor, Alice trebuie s! tie cât de mult se poate încrede în obiectul numit „cheia lui Bob” din inelul s!u de chei publice. Dac! ea tie c! Bob personal i-a dat o dischet! con"inând cheia, atunci poate acorda valoarea maxi-m! de încredere. Aceast! abordare descentralizat!, bazat! pe controlul utilizatorului, asupra admi-nistr!rii cheilor publice este ceea ce face PGP s! se deosebeasc! de schemele centralizate PKI.

Totu i, în practic!, oamenii primesc cheile publice întrebând un server de chei sigur. Din acest motiv, dup! ce X.509 a fost standardizat, PGP a început s! suporte aceste certificate, pe lâng! tradi-"ionalul mecanism al inelelor cu chei publice. Toate versiunile curente de PGP suport! X.509.

8.8.2 PEM-Privacy Enhanced Mail (Po"t# cu Confiden$ialitate Sporit#)

Spre deosebire de PGP, care a fost ini"ial opera unui singur om, cel de-al doilea exemplu al nos-tru, PEM (eng.: Privacy Enhanced Mail), dezvoltat la sfâr itul anilor ’80, este un standard oficial Internet i este descris în patru RFC-uri: RFC #42# pân! la RFC #424. Foarte pe scurt, PEM acope-r! acela i teritoriu ca i PGP: confiden"ialitatea i autentificarea sistemelor de e-mail bazate pe RFC 822. Cu toate acestea, el prezint! i unele diferen"e fa"! de abordarea i tehnologia PGP.

Mesajele trimise folosind PEM sunt mai întâi convertite într-o form! canonic!, astfel încât ele au acelea i conven"ii referitoare la spa"ii albe (de ex. tab-uri, spa"iile de la sfâr it de text). Apoi este cal-culat un cod de dispersie al mesajului, folosind MD2 sau MD5. Dup! aceasta, concatenarea codului de dispersie i a mesajului este criptat! folosind DES. În lumina cunoscutei sl!biciuni a unei chei de 56 de bi"i, aceast! alegere este în mod sigur suspect!. Mesajul criptat poate fi apoi codificat utilizând o codificare în baza 64 i transmis destinatarului.

Ca i în PGP, fiecare mesaj este criptat cu o cheie unic!, inclus! i ea în mesaj. Cheia poate fi protejat! fie cu RSA, fie cu DES triplu folosind EDE.

În PEM administrarea cheilor este mult mai structurat! decât în PGP. Cheile sunt certificate prin certificate X.509 emise de CA-uri, care sunt organizate într-o ierarhie rigid! pornind de la o

SEC. 8.9 SECURITATEA WEB-ULUI 7 7

singur! r!d!cin! (baz!). Avantajul acestei scheme este c! revocarea certificatului este posibil! dac! autoritatea corespunz!toare r!d!cinii emite periodic CRL-uri.

Singura problem! cu PEM este c! nimeni nu l-a folosit niciodat! i a disp!rut de mult în neant. În mare, problema a fost politic!: cine ar func"iona ca baz! a ierarhiei i în ce condi"ii? Nu a fost lips! de candida"i, dar multora le-a fost fric! s! încredin"eze vreuneia dintre companii securitatea întregului sistem. Cel mai serios candidat, RSA Security, Inc., a vrut s! perceap! o tax! pentru fieca-re certificat emis. Totu i, unele organiza"ii au respins ideea. În particular, guvernul Statelor Unite poate folosi toate patentele din "ar! f!r! a pl!ti, iar companiile din afara S.U.A. se obi nuiser! s! foloseasc! algoritmul RSA pe gratis (compania a uitat s! îl patenteze în afara Statelor Unite). Nici unii, nici al"ii nu erau entuziasma"i de ideea de a trebui deodat! s! pl!teasc! RSA Security, Inc. pen-tru lucruri pe care ei le f!cuser! dintotdeauna pe gratis. Pân! la urm!, nu a putut fi g!sit! o baz! pentru ierarhie i PEM s-a pr!bu it.

8.8.3 S/MIME

Urm!toarea aventur! a IETF în domeniul securit!"ii po tei electronice, denumit! S/MIME (Se-cure/MIME, rom.: MIME Sigur), este descris! în RFC 2632 pân! la 2643. Ca i PEM, acesta ofer! autentificare, integritatea datelor, confiden"ialitate i non-repudiere. Este de asemenea destul de flexibil, suportând o varietate de algoritmi criptografici. În mod previzibil, având în vedere numele, S/MIME se integreaz! bine cu MIME, permi"ând tuturor tipurilor de mesaje s! fie protejate. Sunt definite o varietate de antete noi MIME, de exemplu pentru a con"ine semn!turi digitale.

IETF a înv!"at evident ceva din experien"a cu PEM. S/MIME nu are o ierarhie rigid! pentru cer-tificate, pornind de la o singur! baz!. În schimb, utilizatorii pot avea mai multe puncte de încredere (eng.: trust anchors). Atâta timp cât un certificat poate fi urm!rit înapoi pân! la un punct în care utilizatorul are încredere, este considerat valid. S/MIME folose te algoritmii i protocoalele standard pe care le-am examinat pân! acum, deci nu îl vom mai discuta aici. Pentru detalii, v! rog s! consul-ta"i RFC-urile.

8.9 SECURITATEA WEB-ULUI

Am studiat dou! domenii importante în care securitatea este necesar!: comunica"iile i po ta electronic!. Pute"i s! vi le imagina"i pe acestea ca fiind supa i aperitivul. Acum este momentul pen-tru felul principal: securitatea Web-ului. Web-ul este locul unde în zilele noastre cele mai multe Trudy î i petrec vremea f!când r!ut!"i. În sec"iunile urm!toare vom analiza unele probleme i aspec-te referitoare la securitatea Web-ului.

În linii mari, securitatea Web-ului poate fi împ!r"it! în trei subiecte. În primul rând, cum pot fi sigur denumite obiectele i resursele? În al doilea rând, cum se pot stabili conexiuni sigure, autenti-ficate? În al treilea rând, ce se întâmpl! când un sit Web trimite unui client un fragment de cod exe-cutabil? Dup! ce prezent!m câteva tipuri de pericole, vom examina toate aceste probleme.

7 8 SECURITATEA RE!ELELOR CAP. 8

8.9. Pericole

În ziare se poate citi despre problemele de securitate a siturilor Web aproape în fiecare s!pt!-mân!. Situa"ia e într-adev!r destul de proast!. S! vedem câteva exemple de lucruri care s-au întâm-plat deja. În primul rând, paginile principale ale multor organiza"ii au fost atacate i înlocuite cu alte pagini alese de sp!rg!tori (eng.: crackers). (Presa popular! denume te persoanele care sparg siste-mele „hackers”, dar mul"i programatori rezerv! acest termen pentru marii programatori. Prefer!m s! denumim aceste persoane „sp!rg!tori” - „crackers”). Printre siturile care au fost sparte se num!r! i Yahoo, Armata S.U.A., CIA, NASA, New York Times. În cele mai multe cazuri, sp!rg!torii au pus acolo doar un text amuzant i siturile au fost reparate în câteva ore.

Acum s! vedem ni te cazuri mult mai serioase. Multe situri au c!zut din cauza atacurilor de refuz al serviciilor (eng.: denial-of-service attacks), în care sp!rg!torul „inund!” situl cu trafic, f!cându-l incapabil de a r!spunde la cererile legitime. De multe ori atacul e lansat de pe un num!r mare de ma ini în care sp!rg!torul tocmai a intrat (atacuri distribuite de negare a serviciilor – DDoS attacks). Aceste atacuri au devenit atât de obi nuite încât acum nici nu mai ajung la tiri, dar pot costa situl atacat mii de dolari în afaceri pierdute.

În #999, un sp!rg!tor suedez a intrat în situl Hotmail al firmei Microsoft i a creat un sit oglind! (mirror) care permitea oricui s! scrie numele unui utilizator Hotmail i apoi s! citeasc! toat! po ta electronic!, cea curent! i cea arhivat!, a persoanei respective.

În alt caz, un sp!rg!tor rus de #9 ani numit Maxim a intrat într-un sit de comer" electronic i a fu-rat 300000 de numere de c!r"i de credit. Apoi i-a abordat pe de"in!torii sitului i le-a spus c! dac! nu îl pl!tesc cu #00000$, va publica toate numerele de c!r"i de credit pe Internet. Ei nu au cedat antajului i el chiar a publicat numerele c!r"ilor de credit, producând mari pagube multor victime inocente.

În alt stil, un student de 23 de ani din California a trimis prin e-mail unei agen"ii de pres! un co-municat con"inând afirma"ia fals! c! Emulex, o corpora"ie american!, va suferi mari pierderi i c! directorul executiv î i va da imediat demisia. În câteva ore, ac"iunile companiei au sc!zut cu 60%, provocând celor care le de"ineau pierderi de peste 2 miliarde $. Autorul faptei a câ tigat un sfert de milion de dolari vânzând ac"iunile cu pu"in timp înainte de a trimite anun"ul. Chiar dac! acest eve-niment nu a fost o spargere a unui sit Web, este clar c! punerea unui astfel de anun" pe pagina unei mari corpora"ii ar avea un efect similar.

Am putea (din nefericire) s! continu!m a a pe multe pagini. Dar acum este timpul s! examin!m unele aspecte tehnice legate de securitatea Web-ului. Pentru mai multe informa"ii despre probleme de securitate de orice fel, vezi (Anderson, 200#; Garfinkel i Spafford, 2002; i Schneier, 2000). %i c!utând pe Internet se va ob"ine un num!r imens de astfel de cazuri.

8.9.2 Siguran$a numelor

S! începem cu ceva simplu: Alice vrea s! viziteze situl Web al lui Bob. Ea tasteaz! URL-ul lui Bob în browser i dup! câteva secunde, apare o pagin! Web. Dar este pagina lui Bob? Pate c! da, poate c! nu. Poate c! Trudy s-a întors din nou la farsele ei. De exemplu, ar putea s! intercepteze toate pache-tele ce vin de la Alice i s! le examineze. Când g!se te o cerere HTTP de tip GET pentru situl lui Bob, ar putea s! se duc! ea îns! i la situl lui Bob ca s! ia pagina, s! o modifice dup! cum dore te i s! îi trimit! lui Alice pagina fals!. Alice nu ar fi deloc mai în"eleapt!. Mai r!u, Trudy ar putea s! mic o-reze pre"urile din magazinul virtual al lui Bob pentru a face produsele s! par! foarte atractive, p!c!-lind-o astfel pe Alice s! trimit! num!rul c!r"ii ei de credit lui „Bob” ca s! cumpere ceva.

SEC. 8.9 SECURITATEA WEB-ULUI 7 9

Fig. 8-46. (a) Situa"ie normal!. (b) Atac bazat pe spargerea DNS-ului i

modificarea înregistr!rii lui Bob. Un dezavantaj al acestui atac clasic de tip omul-din-mijloc este acela c! Trudy trebuie s! poat!

intercepta traficul ce pleac! de la Alice i s! îl poat! falsifica pe cel ce vine. Practic, ea trebuie s! in-tercepteze linia de telefon a lui Alice sau a lui Bob, pentru c! interceptarea fibrei optice este foarte dificil!. De i interceptarea activ! a cablurilor este cu siguran"! posibil!, ea presupune o anumit! cantitate de munc!, iar Trudy, cu toate c! este inteligent!, este lene !. În plus, exist! moduri mai u oare de a o p!c!li pe Alice.

P#c#lirea DNS-ului (DNS Spoofing) De exemplu, s! presupunem c! Trudy poate s! sparg! sistemul DNS, sau poate memoria as-

cuns! a DNS de la ISP-ul lui Alice, i s! înlocuiasc! adresa IP a lui Bob (s! zicem, 36.#.2.3) cu adre-sa ei (a lui Trudy, s! zicem, 42.9.9.9). Aceasta duce la urm!torul atac. Modul în care ar trebui s! func"ioneze este ilustrat în fig. 8-46(a). Aici (#) Alice cere DNS-ului adresa IP a lui Bob, (2) o ob"i-ne, (3) îi cere lui Bob pagina sa principal! i (4) o ob"ine i pe aceasta. Dup! ce Trudy a modificat înregistrarea DNS corespunz!toare lui Bob astfel încât aceasta s! con"in! adresa ei IP în loc de cea a lui Bob, ajungem la situa"ia din fig. 8-46(b). Aici, când Alice caut! adresa IP a lui Bob, o ob"ine pe a lui Trudy, a a c! tot traficul ei destinat lui Bob ajunge la Trudy. Trudy poate organiza acum un atac omul-din-mijloc f!r! s! mai fie necesar s! fac! efortul de a intercepta vreo linie telefonic!. În schimb, ea trebuie s! p!trund! într-un server DNS i s! schimbe o înregistrare, ceea ce este mult mai u or.

Cum ar putea Trudy s! în ele DNS-ul? Acest lucru se dovede te a fi relativ u or. Pe scurt, Trudy poate s! p!c!leasc! serverul DNS de la ISP-ul lui Alice, f!cându-l s! trimit! o cerere pentru a afla adresa lui Bob. Din nefericire, deoarece DNS-ul folose te UDP, serverul DNS practic nu poate verifica cine a dat cu adev!rat r!spunsul. Trudy poate profita de aceast! proprietate pentru a falsifi-ca r!spunsul a teptat, introducând astfel o adres! IP fals! în memoria ascuns! a serverului DNS.

720 SECURITATEA RE!ELELOR CAP. 8

Pentru simplitate, vom presupune c! ini"ial ISP-ul lui Alice nu are o intrare pentru situl Web al lui Bob, bob.com. Dac! are, Trudy poate s! a tepte pân! când aceasta expir! i s! încerce mai târziu (sau s! foloseasc! alte manevre).

Trudy începe atacul prin a trimite o cerere de c!utare ISP-ului lui Alice, solicitând adresa IP a si-tului bob.com. Cum nu are nici o intrare pentru acest nume, serverul local interogheaz! serverul de nivel superior pentru domeniul com pentru a ob"ine una. Totu i, Trudy o ia înaintea serverului com i trimite înapoi un r!spuns fals spunând: „bob.com este 42.9.9.9” , unde acea adres! IP este a ei. Dac! r!spunsul ei fals ajunge primul la ISP-ul lui Alice, va fi memorat în memoria ascuns! i r!spun-sul adev!rat va fi respins ca r!spuns nesolicitat la o cerere care nu mai e valabil!. A face un server DNS s! instaleze o adres! IP fals! se nume te p#c#lirea DNS-ului (eng.: DNS spoofing). O memorie ascuns! care con"ine o adres! IP inten"ionat fals!, ca aceasta, se nume te memorie ascuns# ot#vit# (eng.: poisoned cache).

De fapt, lucrurile nu sunt chiar a a de simple. În primul rând, ISP-ul lui Alice verific! dac! r!s-punsul are adresa IP surs! corect! a serverului de nivel superior. Dar cum Trudy poate s! pun! orice dore te în acel câmp al mesajului, poate trece u or de acest test, pentru c! adresele IP ale serverelor de nivel superior trebuie s! fie publice.

În al doilea rând, pentru ca serverele DNS s! poat! spune care r!spuns corespunde c!rei cereri, toate cererile poart! un num!r de secven"!. Pentru a p!c!li ISP-ul lui Alice, Trudy trebuie s! îi cu-noasc! num!rul de secven"! curent. Cea mai u oar! metod! de a afla num!rul de secven"! este ca Trudy s!– i înregistreze ea îns! i un domeniu, s! spunem trudy-the-intruder.com. S! presupunem c! adresa IP a acestuia este tot 42.9.9.9. Ea creeaz! i un server DNS pentru noul ei domeniu, s! spu-nem dns.trudy-the-intruder.com. %i acesta folose te adresa IP a lui Trudy, 42.9.9.9, din moment ce Trudy are un singur calculator. Acum ea trebuie s!-l fac! pe ISP-ul lui Alice s! înregistreze serverul ei DNS. Asta e u or de f!cut. Tot ceea ce are de f!cut este s! întrebe ISP-ul lui Alice de foobar.trudy-the-intruder.com, i ISP-ul lui Alice va afla cine se ocup! de noul domeniu al lui Trudy întrebând serverul com de nivel superior.

Cu dns.trudy-the-intruder.com aflat în siguran"! în memoria ascuns! a ISP-ului lui Alice, adev!ra-tul atac poate începe. Acum Trudy întreab! ISP-ul lui Alice de www.trudy-the-intruder.com. Bineîn"e-les, ISP-ul trimite serverului DNS al lui Trudy o cerere referitoare la acest domeniu. Aceast! cerere poart! num!rul de secven"! pe care îl caut! Trudy. Sprinten! ca un iepura , Trudy îi cere ISP-ului lui Alice s! îl caute pe Bob. Apoi r!spunde imediat la propria întrebare trimi"ând ISP-ului un r!s-puns falsificat, ca din partea serverului com de nivel superior, spunând: „bob.com este 42.9.9.9 ”. Acest r!spuns falsificat poart! un num!r de secven"! cu # mai mare decât cel pe care tocmai l-a pri-mit ea. Dac! tot a ajuns aici, poate s! mai trimit! i un al doilea fals cu un num!r de secven"! cu 2 mai mare i poate înc! o duzin! de r!spunsuri false cu numere de secven"! consecutive. Unul dintre ele va trebui s! se potriveasc!. Restul pur i simplu vor fi respinse. Când r!spunsul fals ajunge la Ali-ce, este stocat în memoria ascuns!; mai târziu, când va ajunge r!spunsul adev!rat, va fi respins pen-tru c! nu va mai exista pentru el o cerere valabil!.

Acum, când Alice caut! bob.com, i se spune s! foloseasc! 42.9.9.9, adresa lui Trudy. Trudy a or-ganizat cu succes un atac omul-din-mijloc din confortabila ei camer! de zi. Diver ii pa i ai acestui atac sunt ilustra"i în fig. 8-47. Pentru ca situa"ia s! fie i mai complicat!, acesta nu e singurul mod de a p!c!li DNS-ul. Mai exist! multe alte moduri.

SEC. 8.9 SECURITATEA WEB-ULUI 72

Fig. 8-47. Cum p!c!le te Trudy ISP-ul lui Alice

DNS sigur Acest atac, în particular, poate fi împiedicat f!când serverele DNS s! foloseasc! identificatori

aleatorii în cererile lor în loc s! numere pur i simplu, dar se pare c! de fiecare dat! când o gaur! e astupat!, se ive te una nou!. Adev!rata problem! este c! DNS-ul a fost proiectat într-o vreme în care Internetul era o facilitate pentru cercetare pentru câteva sute de universit!"i i nici Alice, nici Bob, nici Trudy nu intraser! înc! în joc. Pe atunci securitatea nu era o problem!; problema era de a face Internetul s! func"ioneze. Situa"ia s-a schimbat radical cu trecerea anilor, a a c! în #994 IETF a înfiin"at un grup de lucru care s! fac! DNS-ul fundamental sigur. Acest proiect este cunoscut sub numele de DNSsec (DNS security, rom.: securitatea DNS-ului); Rezultatele lui sunt prezentate în RFC 2535. Din nefericire, DNSsec nu a fost înc! distribuit peste tot, a a c! multe servere DNS sunt înc! vulnerabile la atacuri de p!c!lire.

Conceptual, DNSsec este extrem de simplu. Este bazat pe criptografia cu chei publice. Fiecare zon! DNS (în sensul din figura7-4) are o pereche de chei format! dintr-una public! i una privat!. Toate informa"iile trimise de un server DNS sunt semnate cu cheia privat! a zonei de origine, deci destinatarul poate s! le verifice autenticitatea.

DNSsec ofer! trei servicii fundamentale:

#. Dovada originii datelor. 2. Distribu"ia cheilor publice. 3. Autentificarea tranzac"iilor i a cererilor.

Principalul serviciu este primul dintre ele, care verific! faptul c! datele returnate au fost aprobate de c!tre de"in!torul zonei. Al doilea este util pentru stocarea i refacerea, în siguran"!, a cheilor pu-blice. Al treilea este necesar pentru a proteja împotriva atacurilor prin reluare i a celor de p!c!lire. Observa"i c! p!strarea secretului nu face parte dintre serviciile oferite deoarece toate informa"iile din DNS sunt considerate publice. Cum etapele dezvolt!rii DNSsec se estimeaz! c! vor dura mai mul"i ani, capacitatea serverelor ce pot asigura securitatea de a colabora cu cele ce nu o asigur! este esen"ial!, ceea ce implic! faptul c! protocolul nu poate fi schimbat. S! vedem acum ni te detalii.

Înregistr!rile DNS sunt grupate în mul"imi numite RRSets (Resource Record Sets, rom.: Mul"imi de Înregistr!ri de Resurse), toate înregistr!rile cu acela i nume, clas! i tip fiind incluse într-o mul"i-me. O mul"ime poate con"ine mai multe înregistr!ri A, de exemplu, dac! un nume DNS corespunde

722 SECURITATEA RE!ELELOR CAP. 8

unei adrese IP primare i unei adrese IP secundare. Mul"imile sunt extinse cu câteva tipuri noi de înregistr!ri (discutate mai jos). Pentru fiecare mul"ime se face un cod de dispersie criptografic (de exemplu utilizând MD5 sau SHA-#). Rezumatul e semnat de c!tre zona privat! a RRSet. La primirea unei mul"imi semnate, clientul poate verifica dac! a fost semnat! cu cheia privat! a zonei de origine. Dac! semn!tura coincide, datele sunt acceptate. Cum fiecare mul"ime are propria semn!tur!, RRSet poate fi memorat oriunde, chiar pe un server neautorizat, f!r! s! pun! în pericol securitatea.

DNSsec introduce câteva tipuri noi de înregistr!ri. Primul din ele este înregistrarea KEY. Aceas-t! înregistrare con"ine cheia public! a unei zone, utilizatorul, gazda, sau alt principal, algoritmul crip-tografic folosit pentru semn!turi, protocolul folosit pentru transmisie i înc! bi"i în plus. Cheia publi-c! este stocat! ca atare. Certificatele X.509 nu sunt utilizate, din cauza dimensiunii lor. Câmpul co-respunz!tor algoritmului este # pentru semn!turi MD5/RSA (varianta preferat!), sau are alte valori pentru alte combina"ii. Câmpul corespunz!tor protocolului poate indica folosirea IPsec sau a altor protocoale de securitate, dac! s-a utilizat vreunul.

Al doilea tip nou de înregistrare este SIG. Acesta con"ine codul de dispersie semnat conform al-goritmului specificat în înregistrarea KEY. Semn!tura se aplic! tuturor resurselor din set, inclusiv celor de tip KEY, dar nu i lui însu i. Înregistrarea mai con"ine i momentele când începe perioada de valabilitate a semn!turii i când aceasta expir!, precum i numele celui care semneaz! i alte câte-va informa"ii.

DNSsec este proiectat astfel încât cheia privat! a unei zone s! poat! fi p!strat! pe un calculator neconectat la re"ea. O dat! sau de dou! ori pe zi, con"inutul bazei de date a unei zone poate fi trans-portat manual (de exemplu, pe CD-ROM) la o ma in! neconectat! unde se g!se te cheia privat!. Toate mul"imile de înregistr!ri pot fi semnate acolo i înregistr!rile SIG create astfel pot fi duse îna-poi, pe CD-ROM, la serverul primar al zonei. Astfel, cheia privat! poate fi memorat! pe un CD-ROM încuiat într-un seif, mai pu"in în momentele în care este introdus în calculatorul neconectat pentru a semna înregistr!rile noi. Când semnarea s-a terminat, toate copiile cheii sunt terse din memorie i CD-ROM-ul este pus înapoi în seif. Aceast! procedur! reduce securitatea electronic! la securitatea fizic!, cu care oamenii tiu cum s! se descurce.

Aceast! metod! de a pre-semna mul"imile de înregistr!ri accelereaz! foarte mult procesul de r!spuns la cereri, deoarece nu mai trebuie f!cute pe loc opera"ii de criptografie. Dezavantajul este c! e necesar! o cantitate mare de spa"iu pe disc pentru a stoca toate cheile i semn!turile în bazele de date DNS. Unele înregistr!ri î i vor m!ri dimensiunea de zece ori din cauza semn!turii.

Când un proces client ob"ine o mul"ime de înregistr!ri semnat!, trebuie s! aplice cheia public! a zonei de origine pentru a decripta rezumatul, s! calculeze el însu i rezumatul, i s! compare cele dou! valori. Dac! sunt identice, datele sunt considerate valide. Totu i, aceast! procedur! ridic! în-trebarea cum va afla clientul cheia public! a zonei. Un mod este de a o cere unui server autorizat, folosind o conexiune sigur! (de ex., folosind IPsec).

Totu i, în practic!, e de a teptat ca clien"ii s! fie reconfigura"i cu cheile publice ale tuturor do-meniilor de nivel superior. Dac! acum Alice vrea s! viziteze situl Web al lui Bob, poate cere DNS-ului mul"imea de înregistr!ri pentru bob.com, care va con"ine adresa IP a acestuia i o înregistrare de tip KEY cu cheia public! a lui Bob. Aceast! mul"ime de înregistr!ri va fi semnat! de c!tre nivelul superior com, deci Alice îi poate verifica u or validitatea. Un exemplu de ce ar putea con"ine aceast! mul"ime de înregistr!ri se afl! în fig. 8-48.

SEC. 8.9 SECURITATEA WEB-ULUI 723

Fig. 8-48. Un exemplu de mul"ime de înregistr!ri (RRSet) pentru bob.com. Înregistrarea KEY este cheia public! a lui Bob. Înregistrarea SIG este rezumatul serverului com de nivel superior pentru

înregistr!rile A i KEY , pentru a le verifica autenticitatea. Înarmat! acum cu o copie verificat! a cheii publice a lui Bob, Alice poate întreba serverul DNS

al lui Bob (rulat de Bob) de adresa IP pentru www.bob.com. Aceast! mul"ime de înregistr!ri va fi semnat! cu cheia privat! a lui Bob, deci Alice poate verifica semn!tura mul"imii de înregistr!ri pe care o returneaz! Bob. Dac! Trudy reu e te în vreun fel s! introduc! o mul"ime de înregistr!ri fals! în una din memoriile ascunse, Alice poate detecta cu u urin"! lipsa ei de autenticitate pentru c! în-registrarea SIG va fi incorect!.

Totu i, DNSsec ofer! i un mecanism criptografic de a lega un r!spuns de o anumit! cerere, pentru a preveni în el!toria pe care Trudy a reu it s! o fac! în fig. 8-47. Aceast! m!sur! (op"ional!) de prevenire a în el!toriilor adaug! la r!spuns un cod de dispersie al mesajului de interogare sem-nat cu cheia privat! a celui care r!spunde. Cum Trudy nu tie cheia privat! a serverului com de nivel superior, nu poate falsifica un r!spuns la o cerere pe care ISP-ul lui Alice a trimis-o acolo. Desigur, ea poate s! trimit! prima r!spunsul, dar acesta va fi respins din cauza semn!turii invalide a rezumatului cererii.

DNSsec suport! i alte câteva tipuri de înregistr!ri. De exemplu, înregistrarea CERT poate fi uti-lizat! pentru a stoca certificate (de ex., certificate X.509). Aceast! înregistrare a fost oferit! pentru c! unele persoane vor s! transforme DNS-ul într-un PKI. Dac! aceasta se va întâmpla cu adev!rat r!mâne de v!zut. Vom pune cap!t aici discu"iei despre DNSsec. Pentru mai multe detalii, v! rug!m s! consulta"i RFC 2535.

Nume cu auto-certificare DNS sigur nu este singura posibilitate de a proteja numele. O abordare complet diferit! este în-

tâlnit! în Sistemul Sigur de Fi"iere (Secure File System) (Mazières et. al, #999). În acest proiect, autorii au conceput un sistem de fi iere sigur, scalabil, de întindere foarte larg!, f!r! a modifica DNS-ul (standard) i f!r! a folosi certificate sau a presupune existen"a unei PKI. În aceast! sec"iune vom ar!ta cum au putut fi aplicate ideile lor în cazul Web-ului. Prin urmare, în descrierea de mai jos vom folosi terminologia Web în loc de cea a sistemelor de fi iere, utilizat! în lucrarea respectiv!. Dar, pentru a evita orice confuzie, de i aceast! schem! ar putea s! fie aplicat! Web-ului pentru a ob"ine o securitate înalt!, ea nu este folosit! în prezent i ar avea nevoie de modific!ri substan"iale ale software-ului pentru a fi introdus!.

Vom începe prin a presupune c! fiecare server Web are o pereche de chei format! dintr-o cheie public! i una privat!. Esen"a ideii este c! fiecare URL con"ine un cod de dispersie criptografic pen-tru numele serverului i cheia public! a acestuia, ca parte a URL-ului. De exemplu, în fig. 8-49 ve-dem URL-ul pentru fotografia lui Bob. Începe cu obi nuita schem! http, urmat! de numele DNS al serverului (www.bob.com). Apoi urmeaz! dou! puncte i un rezumat de 32 de caractere. La sfâr it

724 SECURITATEA RE!ELELOR CAP. 8

este numele fi ierului, din nou în modul obi nuit. Cu excep"ia codului de dispersie, acesta este un URL standard. Împreun! cu codul, este un URL cu auto-certificare (eng.: self-certifying URL).

Fig. 8-49. Un URL cu auto-certificare con"inând un rezumat al numelui serverului i al cheii publice.

Întrebarea evident! este: La ce folose te codul de dispersie? Codul e calculat concatenând nu-

mele DNS al serverului cu cheia public! a acestuia i aplicând rezultatului func"ia SHA-# pentru a ob"ine un cod pe #60 de bi"i. În aceast! schem!, rezumatul e reprezentat ca o secven"! de 32 de cifre i litere mici, cu excep"ia literelor „l” i „o” i a cifrelor „#” i „0”, pentru a evita confuziile. Deci au mai r!mas 32 de cifre i de litere posibile. Fiecare dintre cele 32 de caractere disponibile poate codi-fica un ir de 5 bi"i. Un ir de 32 de caractere poate reprezenta rezumatul SHA-# de #60 de bi"i. De fapt, nu e necesar! folosirea unui rezumat; ar putea fi folosit! cheia îns! i. Avantajul rezumatului este c! reduce lungimea numelui.

Cel mai simplu (dar cel mai pu"in convenabil) mod de a vedea fotografia lui Bob este ca Alice s! trimit! pur i simplu irul din fig. 8-49 programului de navigare. Programul de navigare trimite un mesaj la situl lui Bob, cerându-i cheia public!. Când cheia public! a lui Bob ajunge, programul de navigare concateneaz! numele serverului i cheia public! i execut! algoritmul de calcul al rezuma-tului. Dac! rezultatul coincide cu rezumatul de 32 de caractere din URL-ul securizat, programul de navigare este sigur c! are cheia public! a lui Bob. Pân! la urm!, datorit! propriet!"ilor algoritmului SHA-#, chiar dac! Trudy intercepteaz! cererea i falsific! r!spunsul, nu are cum s! g!seasc! o cheie public! prin care s! se ob"in! rezumatul a teptat. Orice interferen"! din partea ei va fi astfel detecta-t!. Cheia public! a lui Bob poate fi stocat! în memoria ascuns! pentru utiliz!ri viitoare.

Acum Alice trebuie s! verifice c! Bob are cheia privat! corespunz!toare. Ea construie te un me-saj con"inând o cheie de sesiune AES propus!, un num!r ad-hoc i o amprent! de timp. Pe urm! cripteaz! mesajul cu cheia public! a lui Bob i i-l trimite. Cum doar Bob are cheia privat! corespun-z!toare, numai el poate s! decripteze mesajul i s! trimit! înapoi num!rul ad-hoc criptat cu cheia AES. Când prime te num!rul corect criptat AES, Alice tie c! vorbe te cu Bob. De asemenea, Alice i Bob au acum o cheie de sesiune AES pentru urm!toarele cereri i r!spunsuri GET.

Odat! ce Alice are fotografia lui Bob (sau orice alt! pagin! Web), ea poate s! o marcheze (eng.: bookmark), ca s! nu mai trebuiasc! s! scrie înc! o dat! întregul URL. Mai mult, URL-urile incluse în paginile Web pot fi de asemenea cu auto-certificare, ca s! poat! fi folosite doar f!cându-se un clic pe ele, dar având în plus i siguran"a c! pagina returnat! este cea corect!. Alte moduri de a evita scrierea ini"ial! a URL-urilor cu auto-certificare sunt ob"inerea lor printr-o conexiune sigur! de la un server autorizat sau prezen"a lor în certificate X.509 semnate de autorit!"i de certificare.

Alt! metod! de a ob"ine URL-uri cu auto-certificare ar fi conectarea la un motor de c!utare au-torizat, introducând (prima dat!) URL-ul cu auto-certificare al acestuia, i trecerea prin acela i protocol cu cel descris mai sus, ceea ce va duce la o conexiune sigur!, autentificat!, cu motorul de c!utare. Apoi motorul de c!utare poate fi interogat, iar rezultatele vor ap!rea pe o pagin! semnat!, plin! cu URL-uri auto-certificate ce pot fi accesate printr-un clic, f!r! a mai fi necesar! scrierea unor iruri lungi.

SEC. 8.9 SECURITATEA WEB-ULUI 725

Acum s! vedem cât de bine rezist! aceast! abordare la p!c!lelile lui Trudy. Dac! Trudy reu e te otr!virea memoriei ascunse de la ISP-ul lui Alice, cererea lui Alice ar putea fi în mod gre it livrat! lui Trudy în loc de Bob. Dar acum protocolul cere ca cel ce prime te un mesaj ini"ial (adic! Trudy) s! returneze o cheie care s! produc! rezumatul corect. Dac! Trudy î i trimite propria cheie public!, Alice o va detecta imediat pentru c! rezumatul SHA-# nu se va potrivi cu URL-ul auto-certificat. Dac! Trudy trimite cheia public! a lui Bob, Alice nu va detecta atacul, dar va cripta mesajul urm!tor folosind cheia lui Bob. Trudy va primi mesajul, dar nu va putea s!-l decripteze pentru a extrage cheia AES i num!rul ad-hoc. În ambele cazuri, tot ceea ce poate face aceast! p!c!lire a DNS-ului este s! provoace un atac de refuz al serviciului.

8.9.3 SSL – Nivelul soclurilor sigure (Secure Sockets Layer)

Securitatea numelor pe Web reprezint! un bun start, dar exist! mult mai multe de spus despre securitatea pe Web. Urm!torul pas îl reprezint! conexiunile sigure. Acum vom discuta despre cum se poate ajunge la conexiuni sigure.

Atunci când Web-ul a intrat în aten"ia publicului, el era folosit pentru distribu"ia de pagini stati-ce. Oricum, nu dup! mult timp, câteva companii au avut ideea de a-l folosi pentru tranzac"ii financi-are, cum ar fi de exemplu cump!rarea de bunuri cu ajutorul c!r"ii de credit, opera"iuni bancare online i schimburi electronice de ac"iuni. Aceste aplica"ii au creat o cerere pentru conexiuni sigure. În #995, compania Netscape Communications, furnizorul dominant de navigatoare de web din acel moment, a r!spuns acestei cereri prin introducerea unui pachet de securitate denumit SSL (Secure

Sockets Layer rom.: nivelul soclurilor sigure). Acest program împreun! cu protocolul s!u sunt larg folosite acum i de Internet Explorer, a a c! merit! s! fie examinat mai în detaliu.

SSL-ul realizeaz! o conexiune sigur! între dou! socluri, precum i

#. Negocierea parametrilor între client i server 2. Autentificare mutual! a clientului i serverului 3. Comunicare secret! 4. Protec"ia integrit!"ii datelor

Am mai v!zut aceste elemente i înainte astfel c! nu este nevoie s! insist!m asupra lor în continuare. Pozi"ia SSL-ului în cadrul stivei de protocoale este ilustrat! în fig. 8-50. De fapt, este un nou nivel

interpus între nivelul aplica"ie i cel de transport, acceptând cereri din partea unui program de navi-gare i trimi"ându-le mai jos c!tre TCP pentru transmisia c!tre server. Din momentul în care s-a realizat conexiunea sigur!, principala sarcin! a SSL-ului const! în asigurarea compresiei i a cript!rii. Când HTTP este folosit deasupra SSL-ului, este denumit HTTPS (rom.: HTTP securizat – eng.: Se-cure HTTP), de i este vorba de protocolul standard HTTP. Câteodat! este disponibil la un nou port (443) în loc de portul standard (80). Ca o particularitate, folosirea SSL nu este restric"ionat! numai cu programe de navigare Web, de i aceasta este aplica"ia cea mai des întâlnit!.

Aplica ie (HTTP) Securitate (SSL) Transport (TCP)

Re ea (IP) Leg!tur! de date (PPP)

Fizic (modem, ADSL, cablu TV)

Fig. 8-50. Niveluri ( i protocoale) pentru un utilizator obi nuit ce navigheaz! cu SSL.

726 SECURITATEA RE!ELELOR CAP. 8

Protocolul SSL a cunoscut mai multe versiuni. În cele ce urmeaz!, vom discuta numai despre versiunea 3, care este cea mai folosit!. SSL suport! o diversitate de algoritmi i op"iuni diferite. Aceste op"iuni includ prezen"a sau absen"a compresiei, algoritmii de criptare ce vor fi folosi"i i câte-va chestiuni legate de restric"iile de export impuse criptografiei. Cea din urm! este gândit! în princi-pal pentru a asigura c! criptografia serioas! este folosit! numai în cazul în care ambele capete ale conexiunii sunt situate în Statele Unite. În alte cazuri, cheile sunt limitate la 40 de bi"i, ceea ce pen-tru criptografi reprezint! o glum!. Netscape a fost for"at s! impun! aceast! restric"ie pentru a putea ob"ine o licen"! de export din partea Guvernului Statelor Unite.

SSL const! din dou! subprotocoale, unul pentru stabilirea unei conexiuni sigure i unul pentru folosirea acesteia. S! începem mai întâi s! vedem cum sunt stabilite conexiunile securizate. Subprotocolul de stabilire a conexiunii este ar!tat în fig. 8-5#. El începe cu mesajul # când Alice tri-mite o cerere c!tre Bob pentru stabilirea unei leg!turi. Cererea specific! versiunea de SSL pe care o are Alice i preferin"ele sale cu privire la algoritmii de compresie i de criptare. De asemenea, con"i-ne un num!r ad-hoc (eng.: nonce), RA, ce va folosit mai târziu.

Fig. 8-5 . O versiune simplificat! a subprotocolului de stabilire unei conexiuni SSL

Acum este rândul lui Bob. În cel de al doilea mesaj, Bob face o alegere între diver ii algoritmi pe

care Alice îi poate suporta i î i trimite num!rul lui ad-hoc, RB. Apoi, în mesajul 3, el trimite un certi-ficat ce con"ine cheia lui public!. Dac! acest certificat nu este semnat de o autoritate recunoscut!, el trimite de asemenea i un lan" de certificate ce pot fi urmate în sens invers pân! la ultimul. Toate programele de navigare, inclusiv cel al lui Alice, au predefinite aproximativ #00 de chei publice, a a c! dac! Bob poate stabili un lan" care ajunge la una din acestea, Alice va putea s! verifice cheia pu-blic! a lui Bob. În acest moment, Bob poate trimite i alte mesaje (cum ar fi o cerere pentru certifi-catul cheii publice al lui Alice). Când Bob a terminat, el trimite mesajul num!rul 4 pentru a-i spune lui Alice c! este rândul ei.

SEC. 8.9 SECURITATEA WEB-ULUI 727

Alice r!spunde prin alegerea unei chei primare (eng.: premaster key) aleatoare de 384 de bi"i i prin trimiterea acesteia lui Bob, criptat! cu cheia lui public! (mesajul num!rul 5). Cheia sesiunii fo-losit! de fapt pentru criptarea datelor este derivat! din cheia primar! combinat! cu ambele numere ad-hoc într-o manier! complex!. Dup! ce mesajul 5 a ajuns, atât Alice cât i Bob sunt în stare s! calculeze cheia sesiunii. Datorit! acestui fapt, Alice îi spune lui Bob s! foloseasc! noul cifru (mesajul 6) i de asemenea c! a terminat subprotocolul de stabilire (mesajul 7). Bob îi r!spunde afirmativ la aceste mesaje (mesajele cu numerele 8 i 9).

Totu i, de i Alice tie cine este Bob, Bob nu tie cine este Alice (în afara cazului în care Alice are o cheie public! i un certificat corespunz!tor pentru ea, o situa"ie pu"in probabil! în cazul unui indi-vid). De aceea, primul mesaj al lui Bob poate foarte bine s! fie o cerere pentru ca Alice s! se autenti-fice folosind un nume de login i o parol! ce au fost stabilite anterior. Protocolul de autentificare este în afara domeniului de acoperire al SSL-ului. De îndat! ce a fost îndeplinit, prin orice mijloace, transportul de date poate începe.

A a cum este men"ionat i mai sus, SSL suport! mai mul"i algoritmi de criptare. Cel mai puternic dintre ace tia folose te triplu DES cu trei chei separate pentru criptare i SHA-# pentru integritatea mesajului. Aceast! combina"ie este relativ lent!, a a c! este folosit! de cele mai multe ori de opera"i-ile bancare i alte aplica"ii în care este necesar cel mai mare nivel de securitate. Pentru aplica"ii obi -nuite de comer" electronic este folosit RC4 cu o cheie de #28 de bi"i pentru criptare i MD5 pentru autentificarea mesajului. RC4 folose te cheia de #28 de bi"i ca un punct de plecare i o extinde la un num!r mult mai mare pentru uzul intern. Apoi folose te acest num!r intern pentru a genera un ir-cheie. Acesta este supus unei opera"ii SAU EXCLUSIV cu textul pentru a genera un flux de cifru clasic, a a cum am v!zut în fig. 8-#4. Versiunile de export folosesc de asemenea RC4 cu chei de #28 de bi"i, dar 88 de bi"i dintre ace tia sunt f!cu"i public pentru a face cifrul mai u or de spart.

Fig. 8-52. Transmisie de date folosind SSL

Pentru transportul efectiv, este folosit un al doilea subprotocol, a a cum este ar!tat în fig. 8-52. Mesajele de la navigator sunt mai întâi sparte în buc!"i de pân! la #6 KB. Dac! compresia este acti-vat!, atunci fiecare unitate este apoi compresat!. Dup! aceea, o cheie secret! derivat! din cele dou!

728 SECURITATEA RE!ELELOR CAP. 8

numere ad-hoc i cheia primar! este concatenat! cu textul compresat i rezultatul este rezumat cu algoritmul de dispersie agreat (de obicei MD5). Acest cod de dispersie este ad!ugat fiec!rui frag-ment ca MAC (Message authentication code – cod pentru autentificarea mesajului). Fragmentul com-presat împreun! cu MAC este apoi criptat cu algoritmul de criptare simetric! agreat (de obicei prin aplicarea opera"iei SAU EXCLUSIV cu irul-cheie RC4). În final, este ata at un antet de fragment i fragmentul este transmis prin intermediul conexiunii TCP.

Pruden"a este totu i important!. Deoarece a fost demonstrat c! RC4 are câteva chei slabe ce pot fi analizate criptologic, securitatea SSL folosind RC4 este pe un teren ubred (Fluhrer et. al, 200#). Programele de navigare ce permit utilizatorului s! aleag! suita de cifruri ar trebui configurate s! foloseasc! mereu DES triplu cu chei de #68 de bi"i i SHA-#, chiar dac! aceast! combina"ie este mai lent! decât RC4 i MD5.

O alt! problem! cu SSL o reprezint! faptul c! principalii pot s! nu aib! certificate i chiar dac! au, ei nu verific! întotdeauna dac! cheile folosite se potrivesc cu certificatele.

În #996, compania Netscape Communications a trimis SSL c!tre IETF pentru standardizare. Rezultatul a fost TLS (eng.: Transport Layer Security – rom.: Securitate la nivelul de transport). Acesta este descris în RFC 2246.

Schimb!rile aduse SSL au fost relativ mici, dar suficiente pentru ca versiunea 3 de SSL i TLS s! nu poat! coopera. De exemplu, modul în care cheia de sesiune este derivat! din cheia primar! (eng.: premaster key) i numerele ad-hoc a fost schimbat pentru a face cheia mult mai puternic! (adic! mai greu de criptanalizat). Versiunea de TLS este cunoscut! ca versiunea 3.# SSL. Prima implementare a ap!rut în anul #999, dar înc! nu este clar dac! TLS va înlocui SSL în practic!, de i este pu"in mai puternic. Problema cu cheile slabe RC4 r!mâne totu i.

8.9.4 Securitatea codului mobil

Denumirile i conexiunile sunt dou! zone de interes pentru securitatea pe Web. Dar sunt mai multe. La început, când paginile Web erau doar fi iere statice HTML, ele nu con"ineau cod execu-tabil. Acum, ele con"in adesea mici programe, inclusiv applet-uri Java, programe ActiveX i frag-mente JavaScript. Desc!rcarea i execu"ia de cod mobil (eng.: mobile code) prezint! un risc de secu-ritate mare; de aceea au fost elaborate diverse metode pentru mic orarea acestui risc. Vom analiza acum pe scurt unele probleme ce privesc codul mobil i câteva dintre solu"iile de rezolvare.

Securitatea applet-urilor Java Applet-urile Java sunt mici programe Java care se traduc în limbajul unei ma ini cu stiv! denumit

JVM (eng.: Java Virtual Machine – rom.: Ma!in" virtual" Java). Ele pot fi puse intr-o pagin! Web fiind desc!rcate împreun! cu pagina. Dup! ce pagina a fost desc!rcat!, applet-urile sunt date unui interpretor JVM din programul de navigare, a a cum este ilustrat în fig. 8-53.

Avantajul execu"iei codului interpretat fa"! de codul compilat este c! fiecare instruc"iune este examinat! de c!tre interpretor înaintea execu"iei. Astfel este dat! o ans! interpretorului de a verifi-ca dac! adresa instruc"iunii este valid!. În plus, apelurile de sistem sunt, de asemenea, captate i in-terpretate. Felul în care aceste apeluri sunt manipulate este conform politicii locale de securitate. De exemplu, dac! un applet este de încredere (de exemplu, provine de pe discul local), apelurile de sis-tem pot fi executate f!r! probleme. Totu i, dac! un applet este nesigur (de exemplu, a venit din In-ternet), el poate fi încapsulat în ceea ce se nume te un mediu protejat (eng.: sandbox) pentru a re-stric"iona comportamentul s!u i a controla încerc!rile sale de a folosi resursele sistemului.

SEC. 8.9 SECURITATEA WEB-ULUI 729

Fig. 8-53. Applet-urile pot fi interpretate de c!tre un navigator Web

Când un applet încearc! s! folosesc resursele sistemului, apelul s!u este trimis pentru aprobare c!tre un monitor de securitate. Acest monitor examineaz! apelul din punctul de vedere al politici locale de securitate i apoi decide dac! îl va permite sau îl va respinge. Astfel, este posibil s! dea unor applet-uri acces la resurse, dar nu tuturor. Din nefericire, realitatea este c! modelul de securita-te lucreaz! prost i c! defectele de programare apar mai tot timpul.

ActiveX Controalele ActiveX sunt programe binare Pentium ce pot fi incluse în pagini Web. Când este

întâlnit unul dintre ele, se efectueaz! o verificare pentru a vedea dac! ar trebui s! fie executat sau nu, i este executat dac! trece testul. El nu este interpretat i nici nu este executat într-un mediu pro-tejat, astfel încât codul are aceea i putere ca orice alt program i poate face mult r!u. Astfel, întreaga securitate const! în a decide dac! controlul ActiveX va fi sau nu rulat.

Metoda aleas! de Microsoft pentru stabilirea acestei deciziei este bazat! pe ideea de semnare a codului (eng.: code signing). Fiecare program ActiveX vine împreun! cu o semn!tur! digital! – un rezumat al codului ce este semnat de cel ce a creat codul folosind criptografia cu cheie public!. Când un program ActiveX î i face apari"ia, programul de navigare verific! semn!tura pentru a se asigura c! nu a suferit modific!ri în timpul transferului. Dac! semn!tura este corect!, programul de navigare verific! tabelele sale interne pentru a vedea dac! cel ce a creat programul este de încrede-re sau exist! un lan" ce se termin! la un creator de încredere. Dac! creatorul este de încredere, pro-gramul este executat; altfel, nu este executat. Sistemul Microsoft care verific! programele ActiveX este numit Autenticod (eng.: Authenticode).

Este bine s! facem o compara"ie între modurile de abordare pentru Java i ActiveX. Cu Java, nu este important cine a scris applet-ul. În schimb, un interpretor asigur! c! nu face lucruri interzise de proprietarul ma inii. Prin contrast, cu semnarea codului, nu exist! nici o încercare de monitorizare a comportamentului codului mobil la execu"ie. Dac! el vine de la o surs! de încredere i nu a fost mo-dificat pe parcurs, el este executat. Nu este f!cut! nici o încercare de a vedea dac! codul este r!uvoi-tor sau nu. Dac! programatorul original a dorit s! formateze discul dur i s! tearg! memoria ROM flash, astfel încât calculatorul s! nu mai poat! fi pornit, i dac! programatorul a fost recunoscut ca fiind de încredere, codul va rula i va distruge calculatorul (excep"ie f!când cazul în care controalele ActiveX au fost dezactivate în programul de navigare).

Mul"i oameni simt c! încrederea acordat! companiilor de programare necunoscute provoac! team!. Pentru a demonstra problema, un programator din Seattle a format o companie de progra-

730 SECURITATEA RE!ELELOR CAP. 8

mare i a reu it s! o fac! recunoscut! ca demn! de încredere, ceea ce este foarte u or de f!cut. Apoi a scris un program ActiveX ce realiza oprirea calculatorului i l-a distribuit. A oprit multe ma ini, dar care au fost ulterior re-pornite astfel încât nu au fost pagube. Programatorul a încercat doar s! pun! în eviden"! problema. R!spunsul oficial a constat în suspendarea certificatului pentru acest program ActiveX, ceea ce a încheiat un scurt episod destul de jenant, dar problema nu a disp!rut i poate fi înc! exploatat! de c!tre un programator diabolic (Garfinkel cu Spafford, 2002). Deoarece nu exist! nici o cale de a supraveghea mii de companii de programare ce ar putea s! scrie cod mobil, tehnica semn!rii codului este un dezastru ce a teapt! s! se produc!.

JavaScript JavaScript nu are nici un model formal de securitate, dar are o lung! istorie de implement!ri

vulnerabile. Fiecare furnizor trateaz! problema securit!"ii într-o manier! diferit!. De exemplu, ver-siunea 2 de Netscape Navigator a folosit ceva apropiat de modelul Java, dar la versiunea 4 a fost abandonat! aceast! manier! în favoarea modelului de cod semnat.

Problema fundamental! este c! permi"ând execu"ia de cod str!in pe ma ina dumneavoastr! v! expune"i multor necazuri. Din punct de vedere al securit!"ii, este ca i cum invita"i un ho" în casa dumneavoastr! i apoi încerca"i s!-l urm!ri"i cu aten"ie pentru a nu putea ie i din buc!t!rie i intra în sufragerie. Dac! se întâmpl! ceva nea teptat i sunte"i neatent pentru o clip!, se pot întâmpla lucruri rele. Problema este c! codul mobil permite o grafic! atractiv! i o interac"iune rapid! i foarte mul"i proiectan"i Web cred c! acestea sunt mult mai importante decât securitatea, în special când este vorba de riscul altcuiva.

Viru"i Viru ii sunt o alt! form! de cod mobil. Spre deosebire de exemplele de mai sus, viru ii nu sunt

invita"i deloc. Diferen"a între un virus i un cod mobil obi nuit este aceea c! viru ii sunt scri i pentru a se reproduce. Când un virus ajunge într-un calculator, prin intermediul unei pagini Web, al unui document ata at sau printr-o alt! cale, el începe prin infectarea programelor executabile de pe disc. Când unul dintre aceste programe este executat, controlul este transferat virusului, care de obicei încearc! s! se întind! pe alte ma ini, de exemplu, prin trimiterea de mesaje cu propriile sale copii c!tre toate persoanele din agenda victimei. Unii viru i infecteaz! sectorul de start al discului dur, astfel c! atunci când ma ina porne te, virusul este activat. Viru ii au devenit o problem! uria ! pe Internet i au provocat pagube de miliarde de dolari. Nu exist! o solu"ie foarte clar!. Probabil c! solu"ia ar fi cea a unei noi genera"ii de sisteme de operare bazate pe micronuclee i o separare pu-ternic! a utilizatorilor, proceselor i resurselor.

8. 0 IMPLICA!II SOCIALE

Internet-ul i tehnologiile sale de securitate reprezint! o zon! în care problemele de ordin social, politici publice i tehnologie se întâlnesc într-o confruntare direct!, deseori cu consecin"e grave. În cele ce urmeaz! vom analiza pe scurt trei zone: confiden"ialitate, libertatea de exprimare i dreptul de autor. Nu mai este nevoie s! spunem c! atingem doar tangen"ial aceste subiecte. Pentru lecturi suplimentare, a se vedea (Anderson, 200#; Garfinkel cu Spafford, 2002; Schneier, 2000). Internet-ul este, de asemenea, plin de materiale documentare. Este suficient s! folosi"i cuvinte cheie precum

SEC. 8.#0 IMPLICA$II SOCIALE 73

„confiden"ialitate” (eng.: privacy), „cenzur!” (eng.: censorship) i „drept de autor” (eng.: copyright) în orice motor de c!utare. De asemenea pute"i consulta pagina Web a acestei c!r"i pentru alte câteva leg!turi interesante.

8. 0. Confiden$ialitate

Au oamenii dreptul la confiden"ialitate? Bun! întrebare. Cel de-al patrulea amendament al Con-stitu"iei Statelor Unite împiedic! guvernul de-a scotoci casele, documentele i obiectele personale ale oamenilor f!r! un motiv întemeiat i stabile te circumstan"ele în care sunt emise mandatele de perchezi"ie. Astfel, confiden"ialitatea a fost o problem! public! de peste 200 de ani, cel pu"in în Sta-tele Unite.

Ceea ce s-a schimbat în ultimul deceniu sunt atât u urin"a cu care guvernele î i pot spiona cet!-"enii, cât i u urin"a cu care cet!"enii pot preveni un astfel de spionaj. În secolul al XVIII-lea, pentru ca guvernul s! cerceteze documentele unui cet!"ean trebuia s! trimit! un poli"ist c!lare la ferma cet!"eanului pentru a vedea anumite documente. Era o procedur! greoaie. În zilele noastre, compa-niile de telefonie i furnizorii de Internet instaleaz! dispozitive de ascultare atunci când le sunt pre-zentate mandate de perchezi"ie. Via"a este mult mai u oar! astfel pentru poli"ist i nici numai exist! pericolul unei c!z!turi de pe cal.

Criptografia schimb! toate aceste aspecte. Oricine î i permite deranjul de a desc!rca i instala PGP i folose te o cheie bine p!zit! de o putere extraterestr! poate fi destul de sigur c! nimeni în universul pe care-l cunoa tem nu îi poate citi mesajele electronicele, cu sau f!r! mandat de perchezi-"ie. Guvernele în"eleg foarte bine aceast! chestiune i nu o agreeaz!. Confiden"ialitate real! înseam-n! dificult!"i mai mari în a spiona criminalii de orice fel, dar i greut!"i în a spiona jurnali ti i opo-nen"i politici. Prin urmare, unele guverne restric"ioneaz! sau interzic folosirea sau exportul de crip-tografie. În Fran"a, de exemplu, pân! în #999, toat! criptografia era interzis! dac! cheile nu erau date de c!tre guvern.

Fran"a nu a fost o excep"ie. În aprilie #993, guvernul Statelor Unite a anun"at inten"ia sa de reali-za un criptoprocesor hardware, cip-ul clipper (eng.: clipper chip), standard pentru toate comunica"ii-le în re"ea. În acest fel, s-a spus, confiden"ialitatea cet!"enilor va fi garantat!. De asemenea era men-"ionat c! cip-ul permitea guvernului decriptarea traficului prin intermediul unei scheme numite cus-todie de chei (eng.: key escrow), ce permitea guvernului s! aib! acces la toate cheile. Totu i, se promi-tea ascultarea mesajelor numai cu un mandat valabil de perchezi"ie. Nu mai trebuie spus c! a urmat o larg! disput!, avoca"ii confiden"ialit!"ii denun"ând tot planul i avoca"ii oficiali l!udându-l. În cele din urm!, guvernul a b!tut în retragere i a renun"at la idee.

O mare cantitate de informa"ie despre confiden"ialitatea electronic! poate fi g!sit! pe pagina Web a Funda"iei Grani"ei Electronice (eng.: Electronic Frontier Foundation), www.eff.org.

Retransmi$#toare anonime PGP, SSL i alte tehnologii fac posibil ca dou! p!r"i s! stabileasc! o comunica"ie securizat!, au-

tentificat!, neurm!rit! de o ter"! parte i f!r! interferen"e. Totu i, câteodat!, confiden"ialitatea este cel mai bine servit! de absen"a autentific!rii, prin realizarea unei comunica"ii anonime. Anonimita-tea poate fi dorit! pentru mesaje punct-la-punct, grupuri de tiri sau în ambele cazuri.

S! consider!m câteva exemple. În primul rând, diziden"ii politici ce tr!iesc sub regimuri autorita-re doresc deseori s! comunice în mod anonim pentru a nu fi trimi i la închisoare sau omorâ"i. În al doilea rând, comportamentul ilegal din foarte multe corpora"ii, organiza"ii educa"ionale, guverna-

732 SECURITATEA RE!ELELOR CAP. 8

mentale i altele a fost f!cut public de c!tre cei interesa"i, care de cele mai multe ori prefer! s! r!-mân! anonimi pentru a evita pl!tirea eventualelor poli"e ulterioare. În cel de al treilea rând, oamenii cu vederi sociale, politice sau religioase nepopulare ar dori s! comunice unul cu altul prin interme-diul mesajelor electronice sau a grupurilor de tiri f!r! a se expune. În al patrulea rând, oamenii ar putea dori s! discute despre alcoolism, boli mentale, h!r"uire sexual!, abuzul asupra copiilor sau despre faptul de a fi membru a unei minorit!"i persecutate politic f!r! a- i face publice p!rerile. Exist!, bineîn"eles, numeroase alte exemple.

S! lu!m în considerare un exemplu concret. În anii #990, câ"iva critici ai unui grup religios netradi"ionalist i-au publicat p!rerile pe un grup de tiri USENET prin intermediul unui retransmi-$#tor anonim (eng.: anonymous remailer). Acel server permitea utilizatorilor s! creeze pseudonime i s! trimit! mesaje server-ului, care apoi le retransmitea i le republica folosind pseudonimul, astfel încât nimeni nu i-a dat seama din partea cui au venit. Unele dintre mesaje ar!tau ceea ce grupul religios pretindea a fi secrete ale meseriei i documente cu drept de autor. Grupul religios a r!spuns comunicând autorit!"ilor locale c! secretele meseriei sale au fost f!cute publice i c! drepturile de autor au fost înc!lcate, acestea fiind delicte în zona în care server-ul era localizat. A urmat un proces i operatorul server-ului a fost obligat s! predea informa"ia care a dezv!luit identit!"ile persoanelor ce au publicat anun"urile (în mod întâmpl!tor, aceasta nu era prima dat! când religia nu era fericit! când cineva i-a descoperit secretele: William Tyndale a fost ars pe rug în #536 pentru c! a tradus Biblia în limba englez!).

O destul de mare parte a comunit!"ii Internet a fost scandalizat! de o asemenea înc!lcare a con-fiden"ialit!"ii. Concluzia pe care fiecare a tras-o a fost c! un retransmi"!tor anonim care men"ine o tabel! de coresponden"e între adrese de po t! reale i pseudonime (numit retransmi"!tor de tipul #) nu valoreaz! prea mult. Acest caz a stimulat diverse persoane s! conceap! retransmi"!toare anoni-me ce ar putea rezista atacurilor cu cita"ie (eng.: subpoena attacks).

Aceste retransmi"!toare noi, deseori denumite retransmi$#toare de tip cypherpunk (eng.: cypherpunk remailers), func"ioneaz! dup! cum urmeaz!. Utilizatorul produce un mesaj electronic, îl completeaz! cu antetele specifice RFC 822 (exclusiv câmpul De la: - eng.: From:), îl cripteaz! cu cheia public! a retransmi"!torului i îl trimite retransmi"!torului. Acolo, antetele externe RFC 822 sunt terse, con"inutul este decriptat i mesajul este retransmis. Retransmi"!torul nu are conturi i nici nu p!streaz! fi iere cu istoria lucrurilor petrecute (eng.: log-uri), a a c!, chiar dac! server-ul este mai târziu confiscat, el nu re"ine nici o urm! a mesajelor ce au trecut prin el.

Mul"i utilizatori ce doresc s! r!mân! anonimi î i revendic! cererile prin intermediul mai multor retransmi"!toare, a a cum este ilustrat în fig. 8-54. Astfel, Alice dore te s!-i trimit! lui Bob o felicita-re de ziua Sfântului Valentin, foarte, foarte, foarte anonim!, astfel c! folose te trei retransmi"!toare. Ea compune mesajul, M i îi pune un antet ce con"ine adresa lui Bob. Apoi îl cripteaz! cu cheia pu-blic! a retransmi"!torului 3, E3 (indicat prin liniile orizontale). La acesta ea prefixeaz! un antet cu adresa retransmi"!torului 3 în text clar. Acest mesaj este ar!tat între retransmi"!toarele 2 i 3.

Apoi ea cripteaz! mesajul cu cheia public! a retransmi"!torului 2, E2 (indicat prin liniile vertica-le) i ad!ug! la început un antet de text clar ce con"ine adresa retransmi"!torului 2. Acest mesaj este ar!tat în fig. 8-54 între # i 2. În cele din urm!, cripteaz! întregul mesaj cu cheia public! a retransmi-"!torului #, E , i pune la începutul lui un antet de text clar cu adresa retransmi"!torului #. acest me-saj este ar!tat în figur! la dreapta lui Alice i este ceea ce ea transmite de fapt.

Când mesajul ajunge la retransmi"!torul #, antetul exterior este ters. Corpul mesajului este decrip-tat i apoi trimis retransmi"!torului 2. Pa i similari se petrec la nivelul celorlalte dou! retransmi"!toare.

SEC. 8.#0 IMPLICA$II SOCIALE 733

Fig. 8-54. Alice folose te 3 retransmi"!toare pentru a trimite lui Bob un mesaj.

De i este extrem de dificil pentru cineva s! urm!reasc! mesajul final pe calea de retur c!tre Ali-ce, multe retransmi"!toare î i iau m!suri suplimentare de siguran"!. De exemplu, ele pot p!stra me-sajele pentru o perioad! aleatoare de timp, pot ad!uga sau terge buc!"i nefolositoare la sfâr itul mesajului, pot reordona mesajele, toate acestea pentru a face dificil oricui s! determine ce mesaj de ie ire al unui retransmi"!tor corespunde unui mesaj de intrare, pentru a îngreuna analiza traficului. Pentru o descriere am!nun"it! a unui sistem ce reprezint! o capodoper! în mesageria anonim!, ve-de"i (Mazières i Kaashoek, #998).

Anonimitatea nu este restric"ionat! la mesageria electronic!. Exist! servicii ce permit navigare anonim! pe Web. Utilizatorul î i configureaz! programul de navigare pentru a folosi serviciul ano-nim ca pe un proxy. De aici înainte toate cererile HTTP se vor duce la serviciul anonim, care va cere pagina i o va trimite înapoi. Pagina Web va vedea c! serviciul de „anonim”-izare este sursa a cererii, i nu utilizatorul. Atâta timp cât serviciul de anonimizare nu va "ine un istoric al activit!"ii, nimeni nu î i poate da seama cine a cerut pagina.

8. 0.2 Libertatea de exprimare

Confiden"ialitatea se refer! la indivizii ce doresc s! limiteze accesul celorlal"i la informa"ii despre propria lor persoan!. O a doua problem! social! cheie o reprezint! libertatea de exprimare i opusa ei, cenzura, care are leg!tur! cu guvernele ce doresc s! restric"ioneze ceea ce indivizii pot citi i pu-blica. Deoarece con"ine milioane i milioane de pagini, Web-ul a devenit paradisul cenzurii. Mate-rialul interzis, în func"ie de natura i ideologia regimului, poate include pagini Web ce con"in ele-mente din lista urm!toare:

#. Materiale nepotrivite pentru copii i adolescen"i. 2. Ur! fa"! de diverse grup!ri etnice, religioase, sexuale i altele. 3. Informa"ii despre democra"ie i valori democratice. 4. Relat!ri ale unor evenimente istorice ce contrazic versiunea guvernamental!. 5. Manuale pentru deschiderea încuietorilor, construirea de arme, criptare de mesaje, etc.

M!sura obi nuit! este de a interzice paginile rele. Câteodat!, rezultatele sunt nea teptate. De exemplu, câteva biblioteci publice au instalat filtre

Web pe calculatoarele lor pentru a le face prietenoase fa"! de copii, interzicând paginile pornografi-ce. Filtrele înscriu paginile pe listele lor negre, dar în acela i timp caut! cuvinte nepotrivite în pagini-

734 SECURITATEA RE!ELELOR CAP. 8

le ce urmeaz! a fi afi ate. Într-un caz din comitatul Loudoun din Virginia, filtrul a blocat c!utarea unor materiale despre cancerul de sân deoarece filtrul a v!zut cuvântul „sân”. Patronul bibliotecii a dat în judecat! comitatul Loudoun. Pe de alt! parte, în Livermore din California, un p!rinte a dat în judecat! biblioteca public! pentru c! nu a instalat un filtru, dup! ce b!iatul ei de #2 ani a fost prins uitându-se la materiale pornografice. Ce ar trebui s! fac! o bibliotec!?

A sc!pat din vederea multor oameni c! World Wide Web este o re"ea mondial!. Nu toate "!rile sunt de acord cu ceea ce ar trebui s! fie permis pe Web. De exemplu, în noiembrie 2000, un tribunal francez a dictat corpora"iei californiene Yahoo s! blocheze accesul utilizatorilor francezi la licita"iile de obiecte asociate nazismului de pe pagina Yahoo, deoarece astfel de materiale violeaz! legea francez!. Yahoo a apelat la un tribunal nord-american, care a luat partea corpora"iei, dar problema cu privire la „ce legi se aplic! i unde se aplic!” este departe de a fi rezolvat!.

Imagina"i-v! ce s-ar putea întâmpla dac! un tribunal din Utah ar spune Fran"ei s! blocheze pagi-nile Web despre vin, deoarece nu se conformeaz! cu legile mult mai stricte privitoare la alcool ale statului Utah? Presupune"i c! China ar cere ca toate paginile Web despre democra"ie s! fie interzise deoarece nu sunt în interesul statului. Oare legile iraniene referitoare la religie se aplic! mult mai liberalei Suedii? Poate Arabia Saudit! bloca pagini Web ce vorbesc de drepturile femeilor? Toat! problema este o veritabil! cutie a Pandorei.

Un comentariu relevant al lui John Gilmore este: „Re"eaua interpreteaz! cenzura ca pe o pagu-b! i o ocole te”. Pentru o implementare concret!, uita"i-v! la serviciul etern (eng.: eternity service) (Anderson, #996). Scopul lui este de a se asigura c! o informa"ie publicat! nu poate fi retras! sau rescris!, a a cum era destul de obi nuit în Uniunea Sovietic! în timpul conducerii staliniste. Ca s! foloseasc! serviciul eternit!"ii, utilizatorul trebuie s! specifice cât timp trebuie p!strat materialul, s! pl!teasc! o tax! propor"ional! cu aceast! durat! i cu volumul materialului i s!-l încarce apoi în Internet. Dup! aceea, nimeni nu-l poate terge sau edita, nici chiar i cel care l-a înc!rcat.

Cum ar putea fi implementat un asemenea serviciu? Modelul cel mai simplu este folosirea unui sistem de la egal la egal (eng.: peer-to-peer) în care documentele s! fie depuse în câteva zeci de serve-re, fiecare primind o parte a taxei i, prin asta, un motiv s! se al!ture sistemului. Serverele ar trebui împ!r"ite în cât mai multe jurisdic"ii legale pentru a ob"ine o flexibilitate maxim!. Liste de câte #0 servere selectate aleator ar fi p!strate în siguran"! în mai multe locuri, astfel încât dac! unele sunt compromise, altele ar continua s! furnizeze informa"iile cerute. O autoritate ce dore te distrugerea documentului nu poate fi niciodat! sigur! c! a g!sit toate copiile. De asemenea, sistemul s-ar putea regenera: dac! afl! c! unele copii au fost distruse, siturile r!mase ar încerca s! g!seasc! noi locuri.

Serviciul eternit!"ii a fost prima propunere de sistem rezistent la cenzur!. De atunci, au fost pro-puse i, uneori implementate i alte sisteme. Au fost ad!ugate diverse caracteristici noi, cum ar fi criptarea, anonimitatea i toleran"a la defecte. Deseori, fi ierele ce trebuie stocate sunt sparte în mai multe p!r"i, fiecare memorat! pe mai multe servere. Câteva exemple sunt Freenet (Clarke et. al, 2002), PASIS (Wylie et. al, 2000) i Publius (Waldman et. al, 2000). Alte rezultate sunt prezentate în (Serjantov, 2002).

Tot mai multe "!ri încearc! s! impun! reguli pentru exportul de lucruri imateriale, care includ pagini Web, programe, lucr!ri tiin"ifice, mesaje electronice, suport telefonic i altele. Chiar i Marea Britanie, care are o îndelungat! tradi"ie a libert!"ii de exprimare, se gânde te la legi mult mai restric-tive, care ar defini, de exemplu, discu"iile tehnice dintre un profesor britanic i studentul s!u str!in la Universitatea din Cambridge ca pe un export legiferat ce are nevoie de o licen"! guvernamental! (Anderson, 2002). Nu este nevoie s! mai spunem c! asemenea politici sunt controversate.

SEC. 8.#0 IMPLICA$II SOCIALE 735

Steganografie În "!rile cu o cenzur! puternic!, diziden"ii încearc! deseori s! foloseasc! tehnologia pentru a

eluda cenzura. Criptografia permite trimiterea (nu întotdeauna legal!) de mesaje secrete, dar dac! guvernul crede c! Alice este o Persoan! Rea, simplul fapt c! ea comunic! cu Bob ar putea s!-l pun! i pe el în aceea i categorie, deoarece guvernele represive recunosc conceptul de tranzitivitate, chiar dac! nu au prea mul"i matematicieni. Retransmi"!toarele anonime pot ajuta, dar dac! sunt interzise pe plan intern i mesajele c!tre retransmi"!toare externe necesit! licen"e de export, nu pot ajuta chi-ar atât de mult. Dar Web-ul poate.

Oamenii care vor s! comunice în secret încearc! deseori s! ascund! c! de fapt comunicare are loc. %tiin"a ascunderii mesajelor este denumit! steganografie (steganography), din cuvintele grece ti ce s-ar traduce prin „scriere acoperit!”. De fapt, grecii antici o foloseau i ei. Herodot a scris despre un general care a ras în cap un sol, i-a tatuat pe scalp un mesaj i l-a l!sat s!-i creasc! p!rul la loc înainte de a-l trimite în misiune. Tehnicile moderne sunt, conceptual, acelea i, doar c! au o mai ma-re l!rgime de band! i o întârziere mai mic!.

Ca un caz în spe"!, s! consider!m fig. 8-55 (a). Aceast! fotografie, realizat! în Kenya, con"ine trei zebre care contempl! un arbore acacia. În fig. 8-55 (b) se pare c! ar fi acelea i trei zebre i arborele acacia, dar exist! o atrac"ie special!. Con"ine textul complet, necenzurat a cinci piese shakespearie-ne: Hamlet, Regele Lear, Macbeth, Negustorul din Vene#ia i Iulius Cezar. Împreun!, aceste piese tota-lizeaz! peste 700 kiloocte"i de text.

Fig. 8-55. (a) Trei zebre i un arbore. (b) Trei zebre, un arbore i textul complet a cinci piese de William Shakespeare.

Cum func"ioneaz! acest canal steganografic? Imaginea color original! este de #024 x 768 pixeli. Fiecare pixel const! din trei numere de 8 bi"i, câte unul pentru fiecare din culorile ro u, verde i al-bastru a acelui pixel. Culoarea acelui pixel este format! de o superpozi"ie a celor trei culori. Metoda de codificare steganografic! folose te bitul cel mai pu"in semnificativ din fiecare octet al a culorilor RGB ca un canal ascuns. Astfel fiecare pixel are spa"iu pentru 3 bi"i de informa"ie secret!, unul în valoare ro ie, unul în verde i unul în cea albastr!. Într-o imagine de asemenea m!rime, se pot me-mora pân! la #024 x 768 x 3 bi"i sau 294.9#2 octe"i de informa"ie secret!.

Textul complet al celor cinci piese împreun! cu o scurt! noti"! însumeaz! 734.89# octe"i. Acest text a fost mai întâi comprimat la aproximativ 270 KB folosind un algoritm de compresie standard.

736 SECURITATEA RE!ELELOR CAP. 8

Rezultatul a fost apoi criptat folosind IDEA i inserat în bi"ii cei mai pu"in semnificativi ai fiec!rui octet de culoare. Dup! cum se poate vedea (de fapt, nu se poate vedea), existen"a informa"iei este total invizibil!. Este la fel de invizibil! în versiunea m!rit!, color a imaginii. Ochiul nu poate diferen-"ia u or culoarea pe 2# de bi"i fa"! de cea pe 24 de bi"i.

Figurând cele dou! imagini în alb-negru la o rezolu"ie sc!zut! nu demonstreaz! cât de puternic! este aceast!. Pentru a sim"i mai bine cum lucreaz! steganografia, autorul a preg!tit o demonstra"ie, cu imaginea color la o rezolu"ie mare a fig. 8-55(b) având cele cinci piese incluse în ea. Demonstra-"ia, inclusiv instrumentele pentru inserarea i extragerea textelor în i din imagini, poate fi g!sit! la pagina Web a c!r"ii.

Pentru a folosi steganografia pentru comunica"ia nedetectat!, diziden"ii ar putea crea o pagin! Web plin! de imagini politic-corecte, cum ar fi fotografii ale Marelui Lider, sporturi locale, vedete de film i televiziune, etc. Desigur, imaginile ar fi pline de mesaje steganografice. Dac! mesajele ar fi întâi compresate i apoi criptate, chiar i cineva care le-ar suspecta prezen"a ar avea dificult!"i imen-se în distingerea mesajelor fa"! de zgomot. Desigur, imaginile ar trebui s! fie scan!ri recente; copiind o imagine de pe Internet i schimbând o parte din bi"i nu conduc la rezultat.

Imaginile nu sunt singurele purt!toare de mesaje steganografice. Fi ierele video sunt de aseme-nea bune. Fi ierele video au o l!rgime de band! steganografic! foarte mare. Chiar i a ezarea i or-dinea etichetelor într-un fi ier HTML pot fi purt!toare de informa"ie.

De i am examinat steganografia în contextul exprim!rii libere, ea are numeroase alte utiliz!ri. O utilizare banal! este codificarea drepturilor de proprietate chiar în imaginea la care se refer! aceste drepturi. Dac! o astfel de imagine este furat! i depus! pe o pagin! Web, proprietarul de drept poa-te dezv!lui mesajul steganografic în cursul unui proces pentru a proba a cui este imaginea. Aceast! tehnic! este cunoscut! sub denumirea de filigranare (eng.: watermarking). Ea este discutat! în (Piva et. al, 2002).

Pentru mai multe despre steganografie, vede"i (Artz, 200#; Johnson i Jajoda, #998; Katzenbeisser i Petitcolas, 2000 i Wainer. 2002).

8. 0.3 Dreptul de autor

Confiden"ialitatea i cenzura sunt doar dou! din zonele unde tehnologia întâlne te politicul. O a treia este problema dreptului de autor (eng.: copyright). Acordarea dreptului de autor înseamn! a garanta creatorului de PI (proprietate intelectual" – eng.: Intellectual Propriety), inclusiv scriitori, ar-ti ti, muzicieni, fotografi, cinea ti, coreografi i al"ii, dreptul exclusiv de a exploata proprietatea lor intelectual! pentru o perioad! de timp, de obicei via"a autorului plus 50 sau 75 de ani în cazul pro-priet!"ii comune. Dup! ce expir! dreptul de autor asupra unei lucr!ri, aceasta trece în domeniul public i oricine o poate folosi sau vinde dup! bunul plac. De exemplu, proiectul Gutenberg (www.promo.net/pg), de exemplu, a pus pe Web mii de lucr!ri din domeniul public (de exemplu, Shakespeare, Twain, Dickens). În anul #998, Congresul Statelor Unite a extins dreptul de autor la înc! 20 de ani la cererea Hollywood-ului, care a motivat cererea prin faptul c! f!r! o extindere a termenului, nimeni nu ar mai crea nimic, niciodat!. Prin contrast, patentele dureaz! doar 20 de ani i totu i oamenii înc! mai inventeaz! lucruri.

Dreptul de autor a ajuns în prim-plan când Napster, un serviciu de traficare a muzicii, a atins 50 de milioane de membri. De i Napster nu copia muzica, tribunalele au decis c!, deoarece de"inea o baz! de date ce reflecta cine avea ce cântec, a contribuit la înc!lcarea legii, cu alte cuvinte a ajutat pe al"ii s! înc!lcat legea. De i nimeni nu pretinde c! dreptul de autor este o idee proast! (mul"i pretind

SEC. 8.#0 IMPLICA$II SOCIALE 737

c! termenul este mult prea lung, favorizând marile corpora"ii fa"! de public), noua genera"ie de par-tajare a muzicii are deja implica"ii etice serioase.

De exemplu, s! consider!m o re"ea de la egal la egal în care oamenii partajeaz! fi iere legitime (muzic! din domeniul public, filme video, tratate religioase ce nu sunt secrete înregistrate etc.) i câteva cu drepturi de autor. S! presupunem c! to"i sunt permanent conecta"i prin ADSL sau cablu. Fiecare calculator are un index cu ce este pe discul dur plus o list! a altor membri. Cineva care caut! un anumit obiect poate s! aleag! aleator un membru i s! vad! dac! obiectul c!utat este în posesia lui. Dac! nu, poate verifica to"i membrii din lista acelei persoane i to"i membri din listele lor .a.m.d. Calculatoarele sunt foarte bune la astfel de lucruri. Dac! a g!sit elementul respectiv, solicitantul doar îl copiaz!.

Dac! acel obiect este cu drept de autor, exist! anse ca solicitantul s! încalce legea (de i pentru transferuri interna"ionale, nu este clar ce legi sunt aplicabile). Dar ce putem spune despre furnizor? Este un delict s! p!strezi muzic! pentru care ai pl!tit i ai desc!rcat-o legal pe discul t!u dur unde al"ii o pot g!si? Dac! ave"i o caban! neîncuiat! la "ar! i un ho" de PI se furi eaz! purtând un calcu-lator portabil i un scanner, copiaz! o carte ce are drepturi de autor i apoi pleac!, e ti tu vinovat de delictul de a nu fi protejat dreptul de autor al altcuiva?

Dar este mai mult de discutat pe tema dreptului de autor. Exist! o mare disput! între Hollywood i industria calculatoarelor. Primul dore te protec"ie la sânge a întregii propriet!"i intelectuale i cel de-al doilea nu vrea s! fie poli"istul Hollywood-ului. În octombrie #998, congresul a votat Legea dreptului de autor digital (eng.: Digital Millennium Copyright Act - DMCA) care stipuleaz! c! este delict s! treci peste orice mecanism de protec"ie a unei lucr!ri cu drept de autor sau s! spui altora cum s! o fac!. O legisla"ie similar! este pus! în practic! i în Uniunea European!. În timp ce nimeni nu crede c! pira"ilor din extremul Orient ar trebui s! le fie permis! copierea lucr!rilor cu drept de autor, mul"i oameni cred c! DMCA schimb! total balan"a între interesul proprietarului de drept de autor i interesul public.

Un exemplu! În septembrie 2000, un consor"iu al industriei muzicale îns!rcinat s! realizeze un sistem infailibil pentru a vinde de muzic! online a sponsorizat un concurs, invitând oamenii s! încer-ce s! sparg! sistemul (care este chiar lucrul cel mai potrivit pe care s!-l faci cu un sistem de securita-te nou). O echip! de cercet!tori în securitate de la diverse universit!"i, condus! de profesorul Edward Felten din Princeton, a primit provocarea i a spart sistemul. Apoi au scris o lucrare despre ce au g!sit ei i au trimis-o unei conferin"e USENIX de securitate, unde a fost recenzat! i acceptat!. Înainte de prezentarea lucr!rii, Felten a primit o scrisoare de la Asocia"ia Industriei Americane de Înregistr!ri (eng.: Recording Industry Association of America) ce amenin"a autorii cu un proces ce avea la baz! DMCA dac! ar fi publicat lucrarea.

R!spunsul lor a fost intentarea unui proces, rugând un tribunal federal s! decid! dac! este înc! legal s! publici lucr!ri tiin"ifice despre securitate. Cu spaima unei decizii definitive împotriva lor, industria i-a retras plângerea i tribunalul a casat procesul lui Felten. F!r! îndoial! c! industria a fost motivat! de sl!biciunea cauzei lor: ei au invitat oamenii s! încerce s! le sparg! sistemul i apoi tot ei au amenin"at cu darea în judecat! pe câ"iva care au acceptat provocarea. Cu amenin"area re-tras!, lucrarea a fost publicat! (Craver et. al, 200#). O nou! confruntare este inevitabil!.

O problem! apropiat! este r!spândirea doctrinei de utilizare corect! (eng.: fair use doctrine), ce a fost stabilit! prin hot!râri judec!tore ti în diverse "!ri. Aceast! doctrin! spune c! cump!r!torii lucr!-rii cu drept de autor au câteva drepturi limitate de a copia lucrarea, inclusiv dreptul de a cita p!r"i din ea pentru scopuri tiin"ifice, de a o folosi în scopuri didactice în coli i licee i în unele cazuri de a face copii de rezerv! pentru folosul personal, în cazul în care mediul original nu mai este bun. Tes-

738 SECURITATEA RE!ELELOR CAP. 8

tele pentru ceea ce constituie o utilizare corect! includ (#) dac! materialul este comercial, (2) ce procentaj din întreg este copiat i (3) efectul copierii asupra vânz!rii lucr!rii. Din moment ce DMCA i legi similare din Uniunea European! întârzie eludarea schemelor de protec"ie, aceste legi interzic de asemenea o utilizare corect!. De fapt, DMCA ia utilizatorilor ni te drepturi istorice pentru a da mai mult! putere vânz!torilor de con"inut. O confruntare final! este inevitabil!.

O alt! evolu"ie a lucrurilor ce restrânge chiar i DMCA-ul în schimbarea balan"ei între proprie-tarii dreptului de autor i utilizatori este TCPA (eng.: Trusted Computing Platform Alliance – rom.: Alian#a platformelor de calcul de încredere) condus! de Intel i Microsoft. Ideea este de a face ca mi-croprocesorul i sistemul de operare s! monitorizeze atent comportamentul utilizatorului în diverse moduri (de exemplu, când ascult! muzic! pirat) i s! previn! comportamentele nedorite. Sistemul permite chiar de"in!torilor de con"inut s! manipuleze la distan"! PC-ul utilizatorului pentru a schimba regulile când aceasta este neap!rat necesar. Nu trebuie s! mai spunem c! urm!rile sociale ale acestei scheme sunt imense. Este nostim c! în final industria are grij! de securitate, dar este la-mentabil c! întreaga aten"ie este concentrat! asupra aplic!rii legii dreptului de autor i nu asupra viru ilor, sp!rg!torilor, intru ilor i altor probleme de securitate de care sunt interesate cele mai multe persoane.

Pe scurt, legiuitorii i avoca"ii vor fi ocupa"i în anii urm!tori s! pun! echilibreze interesele eco-nomice ale proprietarilor de drepturi de autor i interesul public. Cyber-spa"iul nu este diferit fa"! de pia"a c!rnii: în mod constant ea asmute un grup asupra celuilalt, de aici rezultând lupte pentru putere, litigii i (sper!m) în final o urm! de reconciliere, cel pu"in pân! va apare o nou! tehnolo-gie diversionist!.

8. REZUMAT

Criptografia este o unealt! ce poate fi folosit! pentru men"inerea confiden"ialit!"ii informa"iei i pentru a asigura integritatea i autenticitatea sa. Toate sistemele criptografice moderne sunt bazate pe principiul lui Kerckhoff de avea un algoritm cunoscut public i o cheie secret!. Mul"i algoritmi de criptografici folosesc transform!ri complexe, substitu"ii i permut!ri pentru a transforma textul sim-plu în text cifrat. Totu i, dac! criptografia cuantic! poate fi pus! în practic!, folosirea unor chei aco-peritoare poate fi într-adev!r un sistem criptografic imposibil de spart.

Algoritmii criptografici pot fi diviza"i în algoritmi cu chei simetrice i cu chei publice. Algoritmii cu chei simetrice amestec! bi"ii într-o serie de runde parametrizate de cheie pentru a schimba textul simplu în text cifrat. DES triplu i Rijndael (AES) sunt cei mai cunoscu"i algoritmi cu cheie simetric! în momentul de fa"!.

Algoritmii cu chei publice au proprietatea c! sunt folosite diferite chei pentru criptare i decrip-tare i c! cheia de decriptare nu poate fi derivat! din cheia de criptare. Aceste propriet!"i fac posibi-l! publicarea cheii publice. Principalul algoritm cu cheie public! este RSA, care î i trage puterea din faptul c! este foarte dificil s! se factorizeze numerele mari.

Documentele legale, comerciale i altele au nevoie de semn!turi. Ca urmare, au fost propuse di-verse scheme pentru semn!turile digitale, folosind algoritmi cu chei simetrice i cu chei publice. Uzual, mesajele ce trebuie semnate sunt rezumate folosind algoritmi precum MD5 i SHA-# i apoi sunt semnate rezumatele i nu mesajele originale.

SEC. 8.#2 PROBLEME 739

Gestiunea cheilor publice poate fi f!cut! folosind certificate, care sunt documente ce leag! un principal de o cheie public!. Certificatele sunt semnate de c!tre o autoritate de încredere sau de c!tre cineva aprobat (recursiv) de o autoritate de încredere. R!d!cina lan"ului trebuie ob"inut! îna-inte, dar programele de navigare au incluse multe certificate de r!d!cini în ele.

Aceste instrumente criptografice pot fi folosite pentru a securiza traficul în re"ea. IPsec opereaz! la nivelul re"ea, criptând fluxurile de pachete de la o gazd! la alta. Zidurile de protec"ie pot verifica traficul ce iese sau intr! într-o organiza"ie, deseori pe baza protocolului i a portului folosit. Re"elele private virtuale pot simula o veche re"ea închiriat! pentru a asigura propriet!"ile necesare de securi-tate. În final, re"elele f!r! fir au nevoie de o bun! securitate pe care WEP 802.## nu o aduce, de i 802.##i ar trebui s! îmbun!t!"easc! lucrurile destul de mult.

Când dou! p!r"i stabilesc o sesiune, trebuie s! se autentifice una c!tre alta i dac! este nevoie s! stabileasc! o cheie comun! a sesiunii. Exist! diverse protocoale de autentificare, inclusiv câteva ce folosesc o ter"! parte verificat!, Diffie-Hellman, Kerberos i criptografia cu cheie public!.

Securitatea mesajelor electronice poate fi ob"inut! printr-o combina"ie de tehnici pe care le-am studiat în cadrul acestui capitol. De exemplu, PGP comprim! mesajul, apoi îl cripteaz! folosind IDEA. El trimite cheia IDEA criptat! cu cheia public! a receptorului. În plus, rezum! mesajul i trimite rezumatul semnat pentru verificarea integrit!"ii mesajului.

Securitatea pe Web este de asemenea un subiect important, începând cu securitatea numelor. DNSsec ofer! o cale pentru prevenirea p!c!lirii DNS-ului, a a cum fac i numele cu auto-certificare. Majoritatea paginilor Web de comer" electronic folosesc SSL pentru a stabili sesiuni securizate, au-tentificate între client i server. Diverse tehnici sunt folosite pentru a rezolva probleme legate de codul mobil, în special depunerea într-un mediu protejat i semnarea codului.

Internet-ul ridic! multe probleme în care tehnologia interac"ioneaz! puternic cu politica public!. Câteva dintre zone includ confiden"ialitatea, libertatea de exprimare i dreptul de autor.

8. 2 PROBLEME

. Sparge"i urm!torul cifru monoalfabetic. Textul în clar, constând numai din litere, este un frag-ment dintr-o poezie a lui Lewis Carroll.

kfd ktbd fzm eubd kfd pzyiom mztx ku kzyg ur bzha kfthcm ur mfudm zhx mftnm zhx mdzythc pzq ur ezsszcdm zhx gthcm zhx pfa kfd mdz tm sutyhc fuk zhx pfdkfdi ntcm fzld pthcm sok pztk z stk kfd uamkdim eitdx sdruid pd fzld uoi efzk rui mubd ur om zid uok ur sidzkf zhx zyy ur om zid rzk hu foiia mztx kfd ezindhkdi kfda kfzhgdx ftb boef rui kfzk

2. Sparge"i urm!torul cifru de transpozi"ie pe coloane. Textul este luat dintr-o carte despre calcula-toare, astfel încât „computer” este un cuvânt probabil. Textul const! numai din litere (f!r! spa-"ii). Pentru claritate, textul cifrat este împ!r"it în blocuri de 5 caractere. aauan cvlre rurnn dltme aeepb ytust iceat npmey iicgo gorch srsoc nntii imiha oofpa gsivt tpsit lborl otoex

740 SECURITATEA RE!ELELOR CAP. 8

3. G!si"i o cheie acoperitoare de 77 de bi"i ce genereaz! textul „Donald Duck” din textul cifrat din fig. 8-4.

4. Criptografia cuantic! necesit! un tun fotonic ce poate, la cerere, s! trag! un singur foton ce con-"ine un singur bit. În aceast! problem!, calcula"i câ"i fotoni car! un bit pe o leg!tur! de fibr! de #00 Gbps. Presupune"i c! lungimea unui foton este egal! cu lungimea lui de und!, care pentru scopul acestei probleme este de # micron. Viteza luminii în fibr! este de 20 cm/ns.

5. Dac! Trudy captureaz! i regenereaz! fotonii când se folose te criptografia cuantic!, ea va amesteca o parte din ei i va provoca erori în cheia acoperitoare a lui Bob. Ce frac"iune din bi"ii din cheia acoperitoare a lui Bob vor fi erona"i, în medie?

6. Un principiu criptografic fundamental spune c! toate mesajele trebuie s! aib! redundan"!. Dar de asemenea tim c! redundan"a ajut! un intrus s!- i verifice cheia ghicit!. Considera"i dou! forme de redundan"!. În primul caz, cei n bi"i ini"iali ai textului simplu con"in un tipar cunoscut. În al doilea, n bi"i de al sfâr itul mesajului con"in un rezumat a mesajului. Din punct de vedere al securit!"ii, sunt acestea dou! echivalente? Discuta"i r!spunsul dumneavoastr!.

7. În fig. 8-6, blocurile P i S alterneaz!. De i acest aranjament este agreabil, nu este mai sigur s! avem mai întâi toate blocurile P i apoi toate blocurile S?

8. Proiecta"i un atac la DES bazat pe faptul c! textul const! numai din litere mari ASCII, plus spa"iu, virgul!, punct i virgul!, întoarcere la cap!t (CR) i linie nou! (LF). Nu se tie nimic despre bi"ii de paritate ai textului.

9. În text am calculat c! o ma in! de spart cifruri cu un miliard de procesoare ce ar putea analiza o cheie într-o picosecund! ar lua numai #0#0 ani pentru a sparge versiunea AES de #28 de bi"i. Totu i, ma inile curente ar putea avea #024 de procesoare i le-ar trebui # ms pentru a analiza o cheie, a a c! ne trebuie un factor de îmbun!t!"ire a performan"ei de #0#5 pentru a ob"ine ma ina ce sparge AES. Dac! legea lui Moore (puterea de procesare se dubleaz! la fiecare #8 luni) se men"ine în vigoare, de câ"i ani este nevoie pentru a putea construi ma ina?

0. AES suport! chei de 256 de bi"i. Câte chei are AES-256? Verifica"i dac! g!si"i numere în fizic!, chimie, astronomie care au aceea i dimensiune. Folosi"i Internet-ul pentru a v! faci-lita c!utarea de numere mari. Trage"i o concluzie din cercetarea dumneavoastr!.

. S! presupunem c! un mesaj a fost criptat folosind DES cu înl!n"uirea blocurilor cifrate. Un bit al textului cifrat în blocul Ci este transformat accidental din 0 în # în timpul transmisiei. Cât de mult text va fi deformat ca urmare a acestui fapt?

2. S! consider!m din nou înl!n"uirea blocurilor cifrate. În loc s! transform!m un bit 0 în #, un bit 0 este inserat în fluxul textului cifrat dup! blocul Ci. Cât de mult text va fi deformat?

3. Compara"i înl!n"uirea blocurilor cifrate cu modul cu reac"ie cifrat! în func"ie de num!rul de opera"ii de criptare folosite pentru transmiterea unui fi ier mare. Care este mai eficient i cu cât?

4. Folosind sistemul de criptare cu chei publice RSA cu a=#, b=2 etc.,

SEC. 8.#2 PROBLEME 74

dac! p=7 i q=##, lista"i 5 valori permise pentru d. Dac! p=#3, q=3# i d=7, cât este e? Folosind p=5, q=## i d=27, g!si"i valoarea lui e i cripta"i „abcdefghij”.

5. S! presupunem c! un utilizator, Maria, descoper! c! cheia sa privat! RSA (d#, n#) este aceea i cu cheia public! RSA (e2, n2) a altui utilizator, Frances. Cu alte cuvinte, d# = e2 i n# = n2. Ar trebui s! se gândeasc! s!- i schimbe cheile sale public! i privat!? Explica"i r!spunsul dumnea-voastr!.

6. S# consider#m folosirea modului contor, cum este ar!tat în fig. 8-#5, dar cu IV = 0. Folosirea lui 0 amenin"! securitatea cifrului în general?

7. Protocolul de semn!tur! din fig. 8-#8 are urm!toarele puncte slabe. Dac! Bob se defecteaz!, el poate pierde con"inutul RAM-ului propriu. Ce probleme pot ap!rea i cum pot fi prevenite?

8. În fig. 8-20, putem vedea cum Alice poate trimite lui Bob un mesaj semnat. Dac! Trudy înlocuie te P, Bob poate s!-l detecteze. Dar ce se întâmpl! dac! Trudy înlocuie te ambii P i semn!tura?

9. Semn!turile digitale au o sl!biciune poten"ial! datorit! utilizatorilor lene i. În tranzac"iile din comer"ul electronic, un contract poate fi redactat i utilizatorului i se cere s! semneze dispersia sa SHA-#. Dac! utilizatorul nu verific! dac! contractul i dispersia corespund, utilizatorul ar putea s! semneze din neaten"ie un alt contract. S! presupunem c! Mafia în-cearc! s! exploateze aceast! sl!biciune pentru a câ tiga ceva bani. Vor face o pagina Web cu plat! (de exemplu, pornografie, jocuri de noroc, etc.) i va cere noilor clien"i num!rul c!r"ii de credit. Apoi, ei trimit un contract în care spun c! clientul dore te s! foloseasc! serviciile lor i s! pl!teasc! cu carte de credit i roag! clientul s! semneze, tiind c! cei mai mul"i vor semna f!r! s! verifice dac! contractul i rezumatul corespund. Ar!ta"i cum poate Mafia s! cumpere diamante de la bijutier legitim pe Internet i acestea s! fie pl!tite de c!-tre clien"ii nesuspicio i.

20. O clas! de matematic! are 20 de studen"i. Care este probabilitatea ca cel pu"in doi stu-den"i s! aib! aceea i zi de na tere? Presupune"i c! nimeni nu s-a n!scut pe 29 februarie, astfel c! sunt 365 de zile de na tere posibile.

2 . Dup! ce Ellen s-a confesat lui Marilyn c! a p!c!lit-o în ceea ce-l prive te pe Torn, Marilyn a reu it s! evite aceast! problem! dictând mesajele ulterioare unei ma ini de dictat, i pu-nând noua secretar! s! le introduc!. Marilyn a pl!nuit s! examineze mesajele de pe termi-nalul ei dup! ce au fost introduse pentru a fi sigur! c! acestea con"in propriile cuvinte. Poate noua secretar! s! foloseasc! atacul zilei de na tere, ca s! falsifice un mesaj i dac! da, cum? Indica#ie: Poate.

22. Considera"i încercarea nereu it! a lui Alice de a ob"ine cheia public! a lui Bob în fig. 8-23. Pre-supune"i c! Bob i Alice au în comun o cheie secret!, dar Alice tot vrea cheia public! a lui Bob. Exist! un mod prin care ea poate fi ob"inut! într-un mod securizat? Dac! da, cum?

23. Alice dore te s! comunice cu Bob, folosind criptografia cu chei publice. Ea stabile te o conexiu-ne cu cineva sperând c! acesta este Bob. Ea îi cere cheia lui public! i el i-o trimite în text clar

742 SECURITATEA RE!ELELOR CAP. 8

împreun! cu un certificat X.509 semnat de c!tre r!d!cina CA. Alice are deja cheia public! a r!-d!cinii CA. Ce pa i trebuie s! îndeplineasc! Alice pentru a vedea c! vorbe te cu Bob? Presupu-ne"i c! lui Bob nu-i pas! cu cine vorbe te (de exemplu, Bob este un fel de serviciu public).

24. Presupune"i c! un sistem folose te PKI bazat! pe o ierarhie cu structur! de arbore de CA-uri. Alice dore te s! comunice cu Bob i prime te un certificat de la Bob semnat de CA X dup! ce s-a stabilit un canal de comunica"ie cu Bob. S! consider!m c! Alice nu a auzit niciodat! de X. Ce pa i trebuie urma"i de Alice pentru a verifica dac! vorbe te cu Bob ?

25. Se poate ca IPsec cu AH s! fie folosit în modul transport de una dintre ma inile ce se afl! în spatele unei cutii NAT ? Explica"i r!spunsul.

26. Preciza"i un avantaj al folosirii HMAC fa"! de folosirea RSA pentru semnarea rezumatelor SHA-#.

27. Da"i un motiv pentru care un zid de protec"ie ar putea fi configurat s! cerceteze traficul dinspre exterior. Da"i un motiv pentru care ar putea fi configurat s! inspecteze traficul spre exterior. Crede"i c! aceste inspec"ii au anse de succes ?

28. Formatul pachetului WEP este ar!tat în fig. 8-3#. S! presupunem c! suma de control este de 32 de bi"i, calculat! prin SAU ECLUSIV asupra tuturor cuvintelor de 32 de bi"i din înc!rc!tura uti-l! luate împreun!. De asemenea s! presupunem c! problemele cu RC4 sunt corectate prin înlo-cuirea cu un cifru- ir ce nu are sl!biciuni i c! toate elementele IV sunt extinse la #28 de bi"i. Exist! vreo cale pentru ca un intrus s! spioneze sau s! interfereze cu traficul f!r! a fi detectat?

29. S! presupunem c! o organiza"ie ce folose te VPN pentru a conecta securizat siturile sale din Internet. Este nevoie ca un utilizator din aceast! organiza"ie s! foloseasc! criptarea sau alt me-canism de securitate pentru a comunica cu alt utilizator din cadrul organiza"iei?

30. Modifica"i un mesaj în protocolul din fig. 8-34 pentru a-l face rezistent la atacurile prin reluare. Explica"i de ce func"ioneaz! modificarea.

3 . Schimbul de chei Diffie-Hellman este folosit! pentru stabilirea unei chei secrete între Alice i Bob. Alice trimite lui Bob (7#9, 3, #9#). Bob r!spunde cu (543). Num!rul secret al lui Alice este x = #6. Care este cheia secret!?

32. Dac! Alice i Bob nu s-au întâlnit niciodat!, nu au secrete comune, i nu au certificate, ei totu i pot s! stabileasc! o cheie secret! comun! folosind algoritmul Diffie-Hellman. Explica"i de ce le este foarte greu s! se apere împotriva unui atac omul-din-mijloc.

33. În protocolul din fig. 8-39, de ce este A trimis în clar împreun! cu cheia de sesiune criptat!?

34. În protocolul din fig. 8-39, am ar!tat c! a începe fiecare mesaj transmis în clar cu 32 de bi"i zero este riscant. S! presupunem c! fiecare mesaj începe cu un num!r aleatoriu al utilizatorului, care este practic o a doua cheie secret! cunoscut! doar de utilizatorul ei i de KDC. Se elimin! în acest mod atacul textului clar cunoscut? De ce?

35. În protocolul Needham-Schroeder, Alice genereaz! 2 provoc!ri, RA i RA2. Aceasta seam!n! cu o exagerare. Nu ar fi fost suficient! una singur!?

SEC. 8.#2 PROBLEME 743

36. S! presupunem c! o organiza"ie folose te Kerberos pentru autentificare. Ce se întâmpl!, din punctul de vedere al securit!"ii i al disponibilit!"ii serviciului, dac! AS sau TGS cad?

37. În protocolul de autentificare cu chei publice din fig. 8-43, în mesajul 7, RB este criptat cu KS. Este aceast! criptare necesar!, sau ar fi fost potrivit s! fie trimis! ca text clar? Explica"i r!spunsul.

38. Terminalele din punctele de vânzare care folosesc cartele cu band! magnetic! i coduri PIN au un defect fatal: un negustor r!uvoitor poate modifica cititorul de coduri propriu pentru a captu-ra i a memora toat! informa"ia de pe cartel! precum i codul PIN pentru a transmite ulterior tranzac"ii suplimentare (falsificate). Urm!toarea genera"ie de terminale din punctele de vânzare va folosi cartele cu unit!"i centrale complete, tastatur! i monitor pe cartel!. Implementa"i un protocol pentru acest sistem, pe care negustorii r!uvoitori s! nu-l poat! sparge.

39. Enumera"i dou! motive pentru care PGP comprim! mesajele.

40. Presupunând c! toat! lumea de pe Internet folose te PGP, ar putea un mesaj PGP s! fie trimis la o adres! Internet arbitrar! i s! fie decodificat corect de to"i cei implica"i? Discuta"i r!spunsul.

4 . Atacului prezentat în fig. 8-47 îi lipse te un pas. Acest pas nu este necesar pentru ca atacul s! func"ioneze, dar includerea lui ar putea reduce eventualele suspiciuni ulterioare. Care este pa-sul lips!?

42. S-a propus împiedicarea p!c!lirii DNS-ului folosind predic"ia identificatorilor, metod! în care serverul pune un identificator aleatoriu în loc s! utilizeze un contor. Discuta"i aspectele legate de securitate ale acestei abord!ri.

43. Protocolul de transport de date al SSL implic! dou! numere ad-hoc i o cheie primar!. Ce rol are folosirea numerelor ad-hoc (dac! are vreunul)?

44. Imaginea fin fig. 8-55(b) con"ine textul ASCII a cinci piese de Shakespeare. Ar fi posibil s! fie ascuns! muzic! printre zebre în loc de text? Dac! da, cum ar func"iona i cât de mult a"i putea ascunde în acea imagine? Dac! nu, de ce nu?

45. Alice era o utilizatoare fidel! a unui retransmi"!tor anonim de tip #. Ea trimitea multe mesaje grupului ei de tiri preferat, alt.fanclub.alice i toat! lumea tia c! acestea vin de la Alice pentru c! toate purtau acela i pseudonim. Presupunând c! retransmi"!torul func"iona corect, Trudy nu pu-tea s! pretind! c! e Alice. Dup! ce toate retransmi"!toarele de tip # au fost desfiin"ate, Alice s-a mutat la unul care utilizeaz! criptografia i a început o nou! serie de mesaje în grupul ei. Imagi-na"i-v! un mod de a o opri pe Trudy s! trimit! mesaje noi grupului, pretinzând c! este Alice.

46. C!uta"i pe Internet nu caz interesant implicând confiden"ialitatea i scrie"i o prezentare de o pagin! despre acesta.

47. C!uta"i pe Internet un caz ajuns la tribunal, implicând dreptul de autor i utilizarea corect! i scrie"i o prezentare de o pagin!, rezumând ceea ce a"i g!sit.

48. Scrie"i un program care cripteaz! datele de intrare, aplicându-le opera"ia XOR cu un ir-cheie. G!si"i sau scrie"i i un generator de numere aleatorii pentru a putea genera irul-cheie. Progra-mul ar trebui s! se comporte ca un filtru, preluând text clar de la intrarea standard i producând

744 SECURITATEA RE!ELELOR CAP. 8

text cifrat la ie irea standard ( i invers). Programul trebuie s! aib! un singur parametru, cheia de la care porne te generatorul de numere aleatoare.

49. Scrie"i o procedur! care calculeaz! rezumatul unui bloc de date folosind SHA-#. Procedura trebuie s! aib! doi parametri: o referin"! la zona tampon de intrare i o referin"! la o zon! tam-pon, de 20 de octe"i, de ie ire. Pentru a vedea specifica"iile exacte ale SHA-#, c!uta"i pe Internet FIPS #80-#, care este specifica"ia complet!.