curs_sec

145
Securitatea transmisiun ilor

Upload: eugen-matcin

Post on 18-Jan-2016

13 views

Category:

Documents


3 download

DESCRIPTION

Curs Protectia Informatiei

TRANSCRIPT

Page 1: curs_sec

Securitatea

transmisiunilor

Page 2: curs_sec

Curpins

Introducere ………………………………………………….

Cap.I. Criptanaliza

1.1. Introducere in criptanaliza ………………………………..1.2. Natura generala a limbii romane ………………………………..

1.3. Natura generala a limbii engleze……………………………

1.4. Identificarea cipher-ilor ……………………………

1.4.1. Testul PHI pentru monoalfabeticitate

1.4.2. Indexul de coincidenţă (I.C.)

1.4.3. Cuvinte lungi – Metoda SHERLAC

1.4.4. Textele împărţite în grupuri de litere

1.4.4.1. Metoda A – Separarea vocalelor şi consoanelor

1.4.4.2. Metoda B – Atacul prin cuvântul probabil

1.4.5. Chiper-urile formate doar din vocale

1.4.6. Substituţia bilaterală

1.4.7. Cipher-ul Trithemian

1.4.8. Cipher-ul Bacon

1.4.9. Cipher-ul Hayes

1.4.10. Cipher-ul „Blue and grey”

Cap.2. Algoritmi de criptare folosiţi în cele două războaie mondiale

Page 3: curs_sec

2.1. Algoritmul ADFGVX2.2. Enigma

Cap.3. Criptarea bloc

3.1. Algoritmul DES3.1.1. Modul de funcţionare

3.1.2. Atacarea DES-ului

3.2. Criptarea cu cheie publică

3.2.1. Algoritmul RSA

3.2.2. Semnătura digitală RSA

3.3. Obţinerea de certificate digitale

Cap.4. Aspecte de securitate în reţelele de calculatoare

Cap.5. Implicaţii sociale ale problemelor de securitate

5.1. Transmisii multimedia în Internet. Audio şi videoconferinţe5.2. Informaţii multimedia în format digital

5.2.1. Secvenţe de sunet

5.2.2. Secvenţe video – reprezentare şi afişare

5.2.3. Compresia datelor multimedia memorate şi transmise

5.3. Caracteristici şi avantaje ale transmisiilor multimedia

5.4. Audio- şi videoconferinţe

5.5. Posibilităţi de implementare a aplicaţiilor de tip video la cerere

5.6. Confidenţialitatea datelor personale

5.7. Marcă înregistrată. Copyright. Patent.

Cap.6. Steganografia

Page 4: curs_sec

6.1. Introducere6.2. Software steganografic

6.3. Exemple

6.3.1. Hide and Seek

6.3.2. StegoDos

6.3.3. White Noise Storm

6.3.4. S-Tools

6.4. Compresia

6.5. Compresia Huffman

6.6. Codarea aritmetică

6.7. Compresia prin substituţie

6.8. Fractali. Dimensiunea fractală

6.9. Comprimarea audio

Cuvânt înainte

Securitatea datelor este un concept legat, de obicei, de reţelele de calculatoare şi, mai nou, de Internet şi are trei aspecte distincte: protecţia datelor, autentificarea datelor şi identificarea utilizatorilor.

Page 5: curs_sec

Criptarea mesajelor este folosită ca mijloc de protecţie împotriva accesului neautorizat la date, dar şi pentru a determina situaţiile în care acest acces a avut loc. Dezvoltarea tehnologică aduce sistemelor de protecţie a datelor o nouă provocare: viteza de lucru! Este nevoie de tehnici de viteza mare atât pentru protejarea datelor, cât şi pentru accesarea lor. De-a lungul timpului au fost dezvoltate o serie de tehnici, algoritmi, mijloace fizice şi legale de protecţie a informaţiei. Epoca modernă a adus în discuţie nu numai concepte de protecţie strictă a datelor ci şi acelea de verificare a integrităţii (pentru a detecta eventuala alterare a datelor) şi autentificare (verificarea sursei datelor dar şi a entităţii - persoana sau program software - care acceseaza datele).

Cifrurile sunt tehnici de criptare care se aplică asupra unităţilor de text (biţi, caractere, blocuri de caractere), independent de semantica lor sau înţelesul lingvistic. Rezultatul este un text cifrat. Prin contrast, codurile criptografice operează asupra unităţilor lingvistice: cuvinte, grupuri de cuvinte, fraze substituindu-le (înlocuindu-le) cu cuvinte anume, grupuri de litere sau numere numite grupuri de cod. O cheie este un grup de biţi, caractere, numere utilizate pentru criptarea/decriptarea unui mesaj. Poate fi, de asemenea şi o carte de coduri utilizată în acelaşi scop, de codificare/decodificare a unui mesaj. În practică este acordata o atenţie deosebită criptării asimetrice, în care o cheie este făcută publică pentru criptarea oricărui mesaj şi trimiterea lui la un destinatar A, în timp ce numai A ştie cheia privată utilizată la decriptarea mesajului. La proiectarea unui algoritm de cifrare se doreşte ca spargerea unui cod să devină cel putin o problemă computaţională. Spargerea algoritmului RSA de criptare cu chei publice, se reduce la factorizarea unui număr n, numit modul, în timp ce în cazul criptarii Rabin cu cheie publică, operaţia este - fapt demonstrat - sigură.

Introducere

Reţelele de calculatoare sunt în general structuri deschise la care se pot conecta un număr mare şi variat de componente. Complexitatea arhitecturală şi distribuţia topologică a reţelelor conduce la o lărgire necontrolată a cercului utilizatorilor cu acces nemijlocit la resursele

Page 6: curs_sec

reţelei (fişiere, baze de date, dispozitive periferice, etc.). Putem vorbi despre o vulnerabilitate a reţelelor care se manifestă pe două planuri:- posibilitatea modificării sau distrugerii informaţiilor (atac la integritatea fizică);- posibilitatea folosirii neautorizate a informaţiilor;

Se inţelege că această stare de fapt nu poate fi tolerată, proiectarea sistemelor distribuite trebuind să satisfacă unele cerinţe fundamentale de fiabilitate, protecţie şi securitate. Pe măsură ce reţelele de calculatoare se extind ca număr de resurse conectate şi ca extindere geografică, nevoia de restricţionare şi control al accesului creşte.

Sub aspect fizic, resursele unei reţele trebuie protejate într-o manieră adecvată:- restricţionarea accesului la sălile cu echipamente- protejarea la furt şi distrugere a echipamentelor de comunicaţie (routere, switch-uri, calculatoare, etc.)- protejarea căilor fizice de comunicaţie prin ingroparea in paturi speciale şi plasarea în locuri greu accesibile

Atacurile de tip fizic asupra reţelelor sunt improbabile şi relativ uşor de descoperit.

Mai mult, beneficiile atacatorilor sunt minime, având în vedere că de o bună perioadă de timp, valoarea echipamentului este net inferioară informaţiei vehiculată de acesta.

Sub aspect logic, controlul resurselor se face prin asigurarea identităţii participantului la schimbul de date, denumită generic autentificare. De regulă autentificarea se realizează prin ceea ce utilizatorul ştie (parolă), prin ce utilizatorul are (smart card, cheie), sau prin ce utilizatorul este (identificare biometrică, scanare de retină, amprente).

Lucrarea de faţă încearcă să facă o prezentare a celor mai importante protocoale de autentificare pe baza unei bogate bibliografii de dată recentă.

1.1. Terminologie

Literatura din domeniul ştiinţei calculatoarelor în general şi cea referitoare la securitatea informaţiei în special are un jargon specific. Dată fiind lipsa unui organism lingvistic specializat care să definească precis modalitatea de folosire a termenilor, autorii de texte de specialitate

Page 7: curs_sec

folosesc termenii în moduri deseori contradictorii. În acest capitol ne-am propus prezentarea celor mai importante noţiuni pentru a întrerupe tradiţia nefericită amintită.

Termenul informaţie este definit astfel: „cunoştinţe comunicate sau recepţionate cu privire la un fapt particular sau circumstanţă”, în general şi „date care pot fi codificate pentru prelucrarea de către un calculator sau un dispozitiv similar”, în ştiinţa calculatoarelor. Definiţia este generală, dar serveşte scopului nostru.

Avand in vedere definiţia anterioară, termenul de tehnologia informaţiei (IT –information technology) se referă la orice tehnologie care are legătură cu informaţia. În particular, IT se referă la stocarea, procesarea şi transmiterea datelor care codifică informaţia. Similar, termenul de securitate IT se referă la chestiuni legate de securitatea informaţiilor, în speţă securitatea sistemelor şi a comunicaţiei dintre acestea.

Scopul securităţii calculatoarelor este de a preveni accesul neautorizat la sistemele de calcul şi de a proteja informaţiile stocate de distrugeri intenţionate, modificare sau deconspirare.

Scopul securităţii comunicaţiilor este de a proteja datele vehiculate intr-o reţea de calculatoare sau într-un sistem distribuit. Ca sinonim se foloseşte uneori termenul de securitatea reţelei.

ISO foloseşte termenul standard pentru un document convenit care conţine specificaţii tehnice sau alte criterii precise utilizate consistent ca reguli sau definiţii de caracteristici pentru a asigura că materialele, produsele, procesele şi serviciile sunt potrivite pentru scopul propus. În consecinţă, un standard de sistem deschis specifică un sistem deschis care permite fabricanţilor să construiască produse conforme.

În general, termenul de vulnerabilitate se referă la o slăbiciune care poate fi exploatată pentru a viola un sistem sau informaţiile pe care acesta le conţine. Termenul de ameninţare se referă la o circumstanţă, condiţie sau eveniment care are potenţialul de a viola securitatea sau de a cauza stricăciuni sistemului. Reţelele de calculatoare sunt sisteme distribuite susceptibile la o varietate de ameninţări proferate fie de intruşi, fie de utilizatori legitimi, de obicei mai periculoşi decat cei din exterior pentru că au acces la informaţii nedivulgate în mod normal celor din afară.

În cadrul reţelelor de calculatoare şi a sistemelor distribuite se disting mai multe tipuri de compromitere a bunei funcţionări, astfel:

Compromiterea host-ului ca urmare a subminării sale directe. Rezultatele subminării pot fi de la o simplă modificare a stării proceselor pană la controlul total asupra host-ului.

Compromiterea comunicării ca urmare a subminării liniei de comunicaţie din sistem.

Page 8: curs_sec

Securitatea căilor de comunicaţie este foarte importantă deoarece reprezintă un punct foarte vulnerabil in lanţul de comunicaţie. Putem distinge două tipuri de compromitere a comunicaţiei şi anume prin atac pasiv şi prin atac activ.

Atacul pasiv ameninţă confidenţialitatea datelor transmise, situaţie ilustrată în figura 1. Datele de la transmiţător (stanga) sunt observate de un intrus (mijloc).

Fezabilitatea unui astfel de atac depinde de tipul de mediu prin care are loc comunicarea.

Astfel, liniile de comunicaţie mobile sunt relativ uşor de ascultat, pe cand liniile fizice necesită acces fizic. Conductorii optici sunt şi ei susceptibili la ascultare, dar cu un efort tehnologic substanţial.

Este interesant de remarcat că atacul pasiv nu se realizează exclusiv la nivelul căilor de comunicaţie hardware. Pe piaţă se găsesc pachete software pentru monitorizarea traficului în reţea în special în scop de management. Aceleaşi pachete se pot folosi pentru capturarea parolelor necriptate din reţea.

Atacul activ ameninţă integritatea şi/sau disponibilitatea datelor, situaţie ilustrată în figura 2. În acest caz, intrusul poate observa şi controla fluxul de informaţii, putându-l modifica, extinde, şterge şi retrimite informaţii. În plus, intrusul poate inunda receptorul cu informaţii false pentru a cauza o întrerupere a comunicaţiei, situaţie denumită usual Denial of Service (DoS).

Page 9: curs_sec

Adesea, atacul poate să fie atât activ cât şi pasiv. Spre exemplu, prin atac pasiv se obţin parolele de acces la un anumit serviciu, apoi prin atac activ se face autentificarea.

Este deci clar că autentificarea prin parole nu este suficientă; despre aceste chestiuni vorbim în lucrarea de faţă.

1.2. Arhitectura OSI a securităţii

Arhitectura OSI a securităţii este o descriere generală a serviciilor de securitate şi a mecanismelor inrudite şi discută relaţiile dintre acestea şi cum corespund unei arhitecturi de reţea.

1.2.1. Servicii de securitate

Arhitectura OSI distinge cinci clase de servicii de securitate: autentificarea, controlul accesului, confidenţialitatea datelor, integritatea datelor şi non-acceptul.

Serviciile de autentificare permit autentificarea entităţilor participante la comunicaţie sau a originii datelor.

Serviciul de autentificare a entităţilor similare verifică faptul că o entitate dintr-o asociaţie aparţine acesteia şi nu incarcă să-şi falsifice identitatea sau să retransmită copii neautorizate ale identităţilor din trecut. Acest fel de autentificare se face in faza de stabilire a conexiunilor, şi ocazional in timpul fazei de transfer de date.

Serviciul de autentificare a originii datelor verifică sursele de date, dar nu poate oferi protecţie impotriva duplicării sau modificării datelor, în acest caz folosindu-se serviciul de la punctul anterior. Serviciul de autentificare a originii datelor se foloseşte în timpul fazei de transfer de date.

Serviciul de control al accesului protejează împotriva folosirii neautorizate a resurselor sistemelor. Acest tip de serviciu conlucrează strâns cu serviciile de autentificare, deoarece pentru a media accesul la o resursă, utilizatorul trebuie să îşi confirme identitatea.

Serviciul de confidenţialitate a datelor protejează sistemul de divulgare neautorizată a datelor.

Serviciul de confidenţialitate a conexiunii furnizează confidenţialitatea tuturor informaţiilor transmise într-o conexiune.

Serviciul de confidenţialitate fără conexiune furnizează confidenţialitatea unităţilor de informaţie.

Page 10: curs_sec

Serviciul de confidenţialitate cu câmp selectiv furnizează confidenţialitatea câmpurilor specifice dintr-un flux pe durata unei conexiuni sau a unei unităţi de informaţie.

Serviciul de confidenţialitate a fluxului de trafic furnizează protecţie împotriva analizei traficului.

Serviciile de integritate a datelor protejează datele de modificări neautorizate.

Serviciul de integritate a serviciului cu recuperare furnizează integritatea datelor într-o conexiune. Pierderea integrităţii este recuperată dacă acest lucru este posibil.

Serviciul de integritate a serviciului fără recuperare, ca şi în cazul precedent furnizează integritatea datelor într-o conexiune. Pierderea integrităţii nu se poate recupera.

Serviciul de integritate a unui câmp desemnat furnizează integritatea unor câmpuri specifice în cadrul conexiunii.

Serviciul de integritate fără conexiune furnizează integritatea unor unităţi de date separate.

Serviciul de integritate a unui câmp desemnat fără conexiune furnizează integritatea unor câmpuri specifice din unităţi de date separate.

Serviciul non-negare furnizează protecţie impotriva acceptării ulterioare a trimiterii sau recepţionării unui mesaj. Putem distinge două feluri de servicii:

Serviciul non-negare cu dovada originii, oferă receptorului o dovadă a originii mesajului

Serviciul non-negare cu dovada livrării, oferă transmiţătorului o dovadă a recepţionării mesajului.Serviciile non-negare devin din ce în ce mai importante în

contextul actual de schimb electronic de date şi comerţul electronic pe Internet.1.2.2. Mecanisme de securitate

Arhitectura OSI de securitate distinge între mecanisme specifice şi mecanisme generale de securitate.

Mecanisme specifice de securitate

OSI enumeră opt mecanisme specifice de securitate:

Page 11: curs_sec

1. Codificarea se foloseşte pentru a proteja confidenţialitatea unităţilor de informaţie şi deseori se foloseşte complementar cu alte mecanisme.Tehnicile de criptografie sunt prezentate în capitolele următoare.

2. Semnăturile digitale se folosesc în analogie electronică la semnăturile de mână, pentru documente electronice. Similar cu corespondentul real, semnăturile electronice nu trebuie să se poată falsifica, destinatarul să o poată verifica şi emitentul să nu o poată nega mai târziu.

3. Controlul accesului forţează aplicarea drepturilor de acces prin utilizarea identităţii autentificate a părţilor. Dacă una dintre părţi încearcă să folosească o resursă neautorizată, serviciul blochează această tentativă şi opţional poate genera o alarmă care să apară în auditul de securitate.

4. Integritatea datelor este un mecanism care protejează unităţile de informaţie sau câmpuri din acestea. În general, acest tip de mecanism nu protejează împotriva atacurilor de tip replay.

5. Schimbul de autentificare verifică identitatea părţilor. În conformitate cu ITU X.509, un mecanism de autentificare se numeşte puternic dacă se bazează pe tehnici criptografice pentru a codifica schimbul de mesaje.

6. Completarea traficului protejează împotriva analizei datelor. Acest mecanism maschează datele reale intercalând date fără valoare, fiind efectiv în conjuncţie cu un mecanism de confidenţialitate.

7. Controlul rutărilor se foloseşte pentru alegerea dinamică sau într-un mod predeterminat a rutelor pentru transmiterea informaţiei. Sistemele de comunicaţie pot comanda modificarea rutei la descoperirea unui atac pasiv sau activ. În mod asemănător, anumite informaţii cu etichete de securitate speciale pot fi rutate pe căi speciale.

8. Notarizarea se referă la asigurarea transmiterii unor proprietăţi ale informaţiei, cum ar fi integritatea, originea, timpul şi destinaţia. Asigurarea se face de către un terţ într-o manieră verificabilă.

Page 12: curs_sec

Mecanisme generale de securitate

Mecanismele generale de securitate nu sunt specifice nici unui serviciu, iar unele se confundă cu managementul securităţii. Importanţa mecanismelor generale de securitate este în stransă legătură cu nivelul de securitate cerut. OSI enumeră opt mecanisme specifice de securitate:Mecanisme generale de securitate (OSI)

1. Conceptul general de funcţionalitate credibilă se poate folosi fie pentru a extinde fie pentru a defini eficienţa altor mecanisme de securitate. Orice funcţionalitate care oferă în mod direct sau mijloceşte accesul la mecanismele de securitate trebuie să fie de incredere.

2. Resursele sistemului pot avea etichete de securitate asociate cu acestea. Deseori este necesar ca etichetele să fie transmise impreună cu datele în tranzit, sub forma unor informaţii adiţionale asociate datelor de transferat sau sub formă implicită dată de context, cum ar fi rută sau sursă.

3. Detectarea evenimentelor se poate folosi pentru a detecta violarea de securitate.

4. Auditul de securitate se referă la o examinare independentă a jurnalelor sistemului pentru a testa bonitatea controalelor de sistem, pentru a se asigura alinierea la politica şi practicile de securitate, pentru a detecta breşele de securitate şi pentru a recomanda schimbări în control, politică şi proceduri.

5. Recuperarea de siguranţă se ocupă cu manipularea cererilor mecanismelor de securitate şi aplică un set de reguli stabilit apriori.

Arhitectura OSI a securităţii nu urmăreşte să rezolve o anume problemă a reţelei, ci stabileşte un cadru şi o terminologie care poate fi folosită pentru a descrie şi discuta problemele şi soluţiile lor.

1.2.3. Integrarea criptografiei in arhitectura OSI

Page 13: curs_sec

Datele codificate într-un fel anume pot trece prin mai multe noduri ale reţelei pană să ajungă la destinaţie. Putem identifica mai multe posibilităţi de integrare ale punctelor de cifrare în arhitectura unei reţele.

1. Cifrarea la nivel de legătură de date presupune codificarea şi decodificarea mesajului la fiecare nod de comunicaţie. Fiecare nod are propria cheie şi posibil propriul algoritm de criptare. În acest caz, datele sunt protejate doar pe mediul fizic de transmitere.

2. Cifrarea la nivel de reţea este similară cu cea la nivel de legătură, restrângându-se circulaţia în clar într-un „modul de securitate”. Fiecare legătură utilizează o cheie unică, iar trecerea de la o cheie la alta se face în modulul de securitate.

3. Cifrarea la nivel superior este o soluţie ce pare mai naturală într-un system orientat prin „sesiuni”, unde schimburile sunt relativ lungi. Toate informaţiile care tranzitează prin reţea sunt cifrate în general cu aceeaşi cheie pe durata între sesiuni între entităţile sursă si destinaţie ale schimbului. Cifrarea poate fi implementată prin protocoale la nivel de sesiune sau prezentare. Această soluţie are avantaje şi dezavantaje. La cifrarea pe legătura de date, utilizatorii au nevoie doar de o singură cheie cand comunică cu sistemul local, restul cheilor fiind gestionate automat de sistem. În acest caz insă, utilizatorul trebuie să comunice cu alţi utilizatori folosind chei separate. În plus, se pune problema distribuţiei cheilor prin protocoale speciale in vederea stabilirii unor conexiuni sigure.

Page 14: curs_sec

Cifrarea la nivel superior oferă o securitate sporită, deoarece datele circulă codificat pe tot parcursul, dar adresa destinaţiei trebuie păstrată în clar, ceea ce ar putea fi o posibilă verigă slabă. La cifrarea la nivel de legătură, datele pot fi observate în clar la fiecare nod. Adresa destinaţiei este secretă pe parcursul transmisiei, ceea ce face mai dificilă prognoza rutei.

4. În cazul unor aplicaţii care necesită un nivel mai ridicat de securitate, pe lângă păstrarea confidenţialităţii datelor este necesar a se păstra şi confidenţialitatea destinaţiei. Fiecare pachet are asociat un câmp de adresă cifrat cu cheia nodului anterior. Această schemă se numeşte sistem de cifrare la nivel superior în combinaţie cu cifrarea pe legătură a adresei destinaţie

1.3. Autentificarea şi distribuţia cheilor

Procesul de autentificare a părţilor participante la o comunicaţie presupune folosirea tehnicilor criptografice pentru a împiedica un posibil atac. La rândul lor, tehnicile criptografice folosesc chei pentru codificare/decodificare, ce trebuie distribuite părţilor. În acest capitol vom face o descriere a celor mai importante concepte.

1.3.1. Tehnici criptografice

În general, criptologia (cuvantul „criptologie” vine din limba greacă din cuvintele kryptos (ascuns) şi logos (cuvânt)) se referă la ştiinţa comunicării secretizate. Aceasta cuprinde atât criptografia, cât şi criptanaliza.

Page 15: curs_sec

Funcţii de dispersie cu sens unic

Funcţiile cu sens unic sunt foarte importante în criptologie. Pe înţelesul tuturor, funcţiile cu sens unic sunt uşor de calculat, dar greu de inversat. Matematic, acest lucru se spune astfel:

Funcţia f : A B este o funcţie cu sens unic dacă f(x) se calculează uşor pentru toate valorile x A, dar este nefezabil din punct de vedere al timpului de calcul cand se dă y f(A) = B să se găsească un x A astfel încât f(x) = y. Această definiţie nu este precisă în sensul matematic deoarece nu defineşte termenii „uşor” şi „nefezabil”. Este important de arătat că existenţa funcţiilor cu sens unic este o presupunere care nu a fostîncă dovedită.

Nu este in general necesar ca o funcţie cu sens unic să fie injectivă, valori distincte iniţiale putand să conducă la acelaşi rezultat. O funcţie cu sens unic f : A B pentru care |B| << |A| se mai numeşte funcţie de dispersie cu sens unic. Dacă în plus faţă de aceste condiţii este greu să se obţină x1, x2 A distincte astfel încât f(x1) = f(x2), atunci f este o funcţie de dispersie cu sens unic rezistentă la coliziuni. Exemple de astfel de funcţii sunt MD4 (Rivest, 1992), MD5 (Rivest şi Dusse, 1992) şi SHS (Secure Hash Standard) propus de U.S. National Institute of Standards and Technology (NIST).

Criptografia cu chei secrete

În criptografia cu chei secrete, o cheie este aleasă între participanţi şi este folosită pentru criptarea şi decriptarea mesajelor. De aceea, criptografia cu chei secrete se mai numeşte criptografie simetrică.

Criptografia cu chei secrete se foloseşte de mii de ani într-o varietate de forme.

Implementările moderne iau de obicei forma unui algoritm care se execută în hardware, firmware sau software. Majoritatea de astfel de criptosisteme se bazează pe operaţii simple cum ar fi permutări şi transpoziţii, dar este extrem de dificil să se creeze un system rezistent la atacuri, în ciuda faptului că istoria eşecurilor este lungă şi bogată.Exemple de sisteme de criptografie cu chei secrete utilizate pe scară largă în lume sunt: AES (Advanced Encryption Standard, cunoscut sub numele de Rijndael, adoptat de NIST ca standard înlocuitor pentru DES în anul 2001), DES (Data Encryption Standard, adoptat de NIST in anul 1977), triple DES, IDEA (International Data Encryption Algorithm, 1992), RC2, RC4, RC5 (Rivest, 1995). Algoritmul FEAL (Fast Encryption Algorithm) nu se mai foloseşte datorită vulnerabilităţii la criptanaliză diferenţială.

Page 16: curs_sec

Criptografia cu chei publice

Ideea funcţiilor cu sens unic a dus la inventarea criptografiei cu chei publice de către Diffie şi Hellman în 1976. Din punct de vedere practic, criptografia cu chei publice presupune existenţa unei perechi de chei legate matematic. Una dintre ele se numeşte cheie publică şi trebuie publicată – fără a afecta securitatea sistemului – iar cealaltă este cheia privată care nu trebuie să fie deconspirată în nici un fel. Derivarea cheiloruna dintr-alta este nefezabilă din punct de vedere computaţional. Cel mai folosit sistem cu chei publice este RSA, inventat în 1978 de Rivest, Shamir şi Adelman la Massachusetts Institute of Technology (MIT).

Aplicarea criptografiei cu chei publice necesită un cadru de autentificare care leagă cheia publică a utilizatorului de identitatea sa.

Certificatul cu cheie publică este o dovadă certificată de o autoritate de certificare (CA – certificate authority). Folosirea CA evită verificarea de către utilizatorii individuali a cheilor publice a altor utilizatori.

Criptografia cu chei publice este mai convenabilă teoretic decât criptografia cu chei secrete deoarece părţile nu mai trebuie să fie în posesia aceleiaşi chei. Astfel, este necesară o schemă de distribuţie a cheilor mult mai simplă.

Totuşi, criptografia cu chei publice necesită în general operaţii matematice dificile pentru procesoare mici. Spre exemplu, performanţa cardurilor inteligente nu este sufficient de mare pentru a permite utilizarea criptografiei cu chei publice, dar este interesant de văzut cum calculatorul gazdă poate prelua o parte din sarcini până la atingerea unui nivel de performanţă satisfăcător. O alternativă este folosirea criptografiei cu chei publice ca mecanism de distribuţie a cheilor pentru un criptosistem cu chei secrete.

1.3.2. Autentificarea

În general, autentificarea se referă la procesul de verificare a identităţii unei părţi.

Autentificarea rezultă în autenticitate, însemnând că partea care verifică (verificatorul) poate fi sigur că partea verificată (verificatul) este cel care spune că este. Uzual, aşa cum am expus în introducere, tehnicile de autentificare se impart in trei categorii fundamentale:

Autentificare prin cunoştinţe (ceva ce utilizatorul ştie: coduri PIN, coduri de tranzacţie, parole)

Autentificare prin posesie (ceva ce utilizatorul are: chei, carduri de identificare sau alt fel de dispozitive fizice)

Page 17: curs_sec

Autentificare prin proprietăţi (identificarea biometrică a utilizatorului cum ar fi identificarea feţei, imagini ale retinei, şabloane vocale, amprente)

În tehnica de calcul actuală autentificarea preponderentă este cea prin cunoştinţe.

Autentificarea bazată pe parole

În cele mai multe sisteme distribuite şi reţele de calculatoare, protecţia resurselor se realizează prin login direct folosind parole, cu transmiterea în clar a acestora. Această autentificare are mai multe inconveniente, din care amintim doar cateva:

Utilizatorii tind să selecteze parole neuniform distribuite. Această problemă este binecunoscută şi nu este neapărat legată de reţele de calculatoare şi sisteme distribuite.

Nu este convenabil pentru un utilizator care are mai multe conturi pe hosturi diferite să işi amintească parola pentru fiecare, şi de asemenea să o introducă la fiecare schimbare a host-ului. În schimb, utilizatorul va allege să fie recunoscut de reţea ca intreg şi nu de host-urile individuale.

Transmisia parolei este expusă la captură pasivă.

În principal datorită acestui ultim punct, autentificarea bazată pe parolă nu este potrivită în reţele de calculatoare şi sisteme distribuite. Parolele trimise prin reţea sunt foarte uşor compromise şi folosite ulterior pentru impersonarea utilizatorului.

În unele situaţii este chiar supărător că se foloseşte autentificarea prin parolă. Spre exemplu, în Statele Unite ale Americii telefoanele mobile folosesc ca parolă internă la efectuarea unui apel chiar numărul telefonului respectiv pentru ca centrala să poată factura fiecare apel în mod corect. Este evident că un atacator poate impersona uşor apelul şi poate efectua convorbiri în contul altei persoane.

Autentificarea bazată pe adresă

O alternativă – nu neapărat mai sigură – la autentificarea prin parolă este autentificarea prin adresă. Aceasta presupune că identitatea unei surse se poate deduce din adresa acesteia conţinută în pachete. Ideea de bază este că fiecare host memorează identitatea celorlalte host-uri care

Page 18: curs_sec

au acces la resursele sale. În UNIX, fiecare host are un fişier numit /etc/hosts.equiv. Utilizatorii cu acelaşi cont pe ambele sisteme pot folosi utilitarele „r” fără a specifica vreo parolă.

Ideea de host-uri credibile nu este o soluţie la problema autentificării în reţele de calculatoare. De fapt, acest tip de autentificare chiar pune probleme mai mari din punct de vedere al securităţii. Dacă un atacator reuşeşte să intre pe contul unui utilizator dintr-un sistem, securitatea este compromisă pe toate sistemele care au incredere în acel sistem. În plus, administratorul de sistem nu poate da drepturi preferenţiale unor utilizatori.

În funcţie de mediul concret, autentificarea prin adresă este chiar mai puţin sigură decât cea bazată pe parolă. Avantajul îl constituie însă comoditatea în folosire şi de aceea multe sisteme au ales să o implementeze.

Autentificarea criptografică

Ideea din spatele autentificării criptografice este că un A işi dovedeşte identitatea către B prin efectuarea unei operaţii criptografice asupra unei entităţi cunoscute de ambii participanţi sau oferită de B.

Operaţia criptografică efectuată de A se bazează pe o cheie criptografică. Aceasta poate fi fie o cheie secretă sau o cheie privată dintr-un sistem cu chei asimetrice.

In general, autentificarea criptografică este mai sigură decât autentificarea bazată pe parolă sau pe adresă. În schimb, noile tehnici bazate pe dovezi zero-knowledge pot oferi mecanisme de autentificare chiar mai puternice. Aceste tehnici necesită calcule matematice destul de complexe dar prezintă mai multe facilităţi attractive pentru autentificare. În primul rând, permit părţii ce se autentifică să dovedească că ştie secretul fără a transfera efectiv informaţia către verificator. În al doilea rând, multe dintre schemele propuse pană acum folosesc aceleaşi informaţii publice, evitandu-se astfel problema distribuţiei cheilor care apare în cazul mecanismelor ce folosesc DES şi RSA.

În ciuda aparentei simplităţi, proiectarea sistemelor reale este foarte dificilă. O serie de protocoale publicate au prezentat erori de securitate substanţiale sau subtile. În timpul ultimei decade, eforturile de cercetare s-au concentrat în crearea de utilitare pentru dezvoltarea protocoalelor de autentificare şi distribuţie a cheilor cu o anumită asigurare formală a securităţii. Realizările cele mai notabile sunt logica BAN şi logicaGNY. În loc de a produce protocoale specifice, aceste metodologii se utilizează pentru a verifica un set de afirmaţii presupus adevărate.

1.3.3. Distribuţia cheilor

Page 19: curs_sec

Cele mai multe dintre serviciile de securitate enumerate de arhitectura OSI a securităţii se bazează pe mecanisme criptografice, iar folosirea acestora necesită un management al cheilor corespunzător. Conform OSI, managementul cheilor se ocupă cu „generarea, stocarea, distribuţia, ştergerea, arhivarea şi aplicarea cheilor în conformitate cu politica de securitate” (ISO/IEC, 1989). Managementul cheilor se efectuează cu protocoale şi multe dintre proprietăţile importante ale acestora nu au nici o legătură cu protocoalele criptografice folosite, ci mai degrabă cu structura mesajelor schimbate. Drept urmare, scurgerile de securitate şi vulnerabilităţile nu provin de la algoritmii criptografici slabi, ci mai degrabă de la greşeli în proiectarea protocoalelor de la nivelurile mai inalte.

Grupul de lucru 802.10 a Institute of Electrical and Electronic Engineers (IEEE) a fost format în mai 1988 pentru a discuta nevoile de securitate a reţelelor locale şi metropolitane. Grupul este sponsorizat de IEEE Technical Committee on Computer Communications şi de IEEE Technical Committee on Security and Privacy. Lucrul a început în mai, 1989 iar rezultatul este standardul IEEE 802.10 care suportă trei clase detehnici de distribuţie a cheilor şi anume distribuţia manuală, distribuţia bazată pe centru şi distribuţia bazată pe certificate. În această lucrare vom adopta aceeaşi clasificare.

Distribuţia manuală a cheilor

Distribuţia manuală a cheilor foloseşte metode de distribuţie off-line pentru a distribui cheile între perechi sau la mai mulţi participanţi. Distribuţia manuală în general este dificilă şi are probleme de scalabilitate, în plus nu oferă o autentificare alta decât cea oferită în mod implicit. De aceea, siguranţa metodelor de distribuţie off-line este extremde importantă.

În multe cazuri, distribuţia manuală a cheilor este necesară doar o singură dată pentru un utilizator anume. Distribuţia materialelor adiţionale se face folosind cheia distribuită manual ca o cheie de cifrare a cheilor (KEK – Key Encryption Key).

Materialele astfel cifrate se distribuie apoi prin orice canal convenabil.

Distribuţia manuală este adesea cea mai eficientă metodă pentru distribuţia cheilor de grup, în special în cazul grupurilor mari.

Distribuţia bazată pe centru

Page 20: curs_sec

Tehnicile de distribuţie bazate pe centru se folosesc pentru a distribui chei între două sau mai multe părţi prin intermediul unui terţ credibil. Partea terţă poate fi:

Un centru de distribuţie a cheilor (KDC – Key Distribution Center) Un centru de translaţie a cheilor (KTC – Key Translation Center)

Distribuţia bazată pe centru acoperă atat KDC-urile cat şi KTC-urile. Acestea depind de KEK pentru a furniza confidenţialitatea şi protecţia integrităţii cheilor distribuite.

Cele mai multe metode de distribuţie a cheilor au fost proiectate având în vedere scenarii şi aplicaţii specifice. Spre exemplu, orice schemă care se bazează pe amprente de timp favorizează mediul local, unde toţi utilizatorii au acces la un server de timp credibil.

Cerinţa de a avea ceasuri sincronizate în reţele mari nu este absurdă, dar este cu siguranţă dificil de asigurat. Mai important este că schemele existente fac presupuneri despre configuraţia reţelei şi modelele de conectivitate. Spre exemplu, acestea pot cere o anumită paradigmă în contactarea unui server credibil sau KDC. Cand A necesită o cheie pentru a comunica cu B, Kerberos – spre exemplu – cere ca A să obţină o cheie de la KDC înainte de a comunica cu B. Această paradigmă se mai numeşte modelul „trage”, ilustrat în figura 6.

În contrast, în aceeaşi situaţie, standardul american pentru managementul cheilor instituţiilor financiare (ANSI X9.17), cere ca A să contacteze mai întâi pe B, apoi B obţine cheia necesară de la KDC. Această paradigmă se numeşte modelul „impinge”, ilustrat în figura 7.

Page 21: curs_sec

Este important de remarcat că nici unul dintre aceste modele nu este superior faţă de celălalt, fiecare fiind potrivit în mediul său. În reţele locale, pentru care Kerberos a fost proiectat, cerinţa ca clienţii să obţină cheile are sens deoarece distribuie efortul care altfel ar fi preluat de doar câteva servere. Într-o reţea mare, se adoptă metoda opusă deoarece tipic sunt mult mai mulţi clienţi decât servere şi KDC-urile se află mai apropiate de acestea. În aceste condiţii, costul conectivităţii între clienţi şi KDC necesitată de Kerberos devine prohibitiv.

Există şi posibilitatea de a combina cele două metode, ca în figura 8.

Distribuţia bazată pe certificat

Tehnicile de distribuţie bazate pe certificat se pot utiliza pentru stabilirea perechilor de chei criptografice. Distingem două tipuri de astfel de tehnici:

Criptosistem cu chei publice folosit pentru a cripta o cheie generată local pentru a o proteja în timpul transferului către o entitate de management a cheilor. Această metodă se numeşte transferul cheilor.

Page 22: curs_sec

O cheie criptografică este generată în mod cooperativ atît la entitatea locală, cât şi la cea îndepărtată. Această metodă se numeşte schimb de chei sau convenire asupra cheilor.

În general, distribuţia bazată pe certificat nu se poate utiliza pentru stabilirea cheilor într-un mediu multicast. Odată stabilite cheile perechi, acestea se pot folosi totuşi pentru distribuirea cheilor multicast.

Recomandarea X.509 a ITU-T descrie schema distribuţiei bazată pe certificat, unde o autoritate de certificare (CA) autentifică cheile principale. CA-uri diferite se pot autentifica reciproc, rezultând un graf conectat de CA-uri. Punctul iniţial de credibilitate pentru un utilizator este CA-ul care l-a inregistrat.

Page 23: curs_sec

Cap.I. Criptanaliza

1.1.Introducere in criptanaliza

Mai jos, sunt dati pasii care ar trebui urmati de un criptanalist pentru a incerca sa decripteze un mesaj criptat folosind algoritmi simetrici. Acesti pasi, sunt luati din cursul de criptanaliza al Departamentului de Marina, S.U.A.

a). Analiza criptogramei: 

1. Pregatirea unui tabel de frecvente. 2. Cautarea de repetitii. 3. Determinarea tipului de algoritm folosit. 4. Pregatirea unui tabel de lucru. 5. Pregatirea de alfabete individuale (daca sunt mai multe decat unu). 6. Cautarea de grupuri de litere care se repeta sau care arata ciudat.

b). Clasificarea vocalelor si a consoanelor dupa:

1. Frcventa. 2. Spatii. 3. Combinatii de litere. 4. Repetitii.

c). Identificarea literelor:

1. Verificarea atribuirilor facute. 2. Umplerea valorilor bune din textul mesajului. 3. Recuperarea noilor valori pentru a completa solutia.

d). Reconstituirea algoritmului:

1. Refacerea tabelei de criptare. 2. Recuperarea cheii/cheilor folosite de algoritm pentru a cripta

textul. 3. Recuperarea cheii folosite pentru a construi alfabetul.

 

Page 24: curs_sec

Un exemplu concret

Se da urmatorul text (textul decriptat este in engleza):

FYV YZXYVEF ITAMGVUXV ZE FA ITAM FYQF MV QDV EJDDAJTUVU RO HOEFVDO *QGRVDF *ESYMVZFPVD

Se incepe prin numararea spatiilor: daca este text criptat cu un algoritm conventional (simetric), atunci sunt un numar de 14 cuvinte.

Se face un tabel in care se trec cele 14 cuvinte:

1 2 3 4 5 6

FYV YZXYVEF ITAMGVUXV ZE FA ITAM

7 8 9 10 11

FYQF MV QDV EJDDAJTUVU RO

12 13 14

HOEFVDO *QGRVDF *ESYMVZFPVD

Cuvintele 1 si 7, ar putea fi "THE" respectiv "THAT", iar cuvintele 3 si 6 folosesc acelasi grup de 4 litere "ITAM". Deci, litera 'F', poate fi 'T', 'Y' poate fi 'H', 'Q' poate fi 'A' si 'V' poate fi 'E'. De asemenea, codul mai poate fi atacat prin folosirea unor dictionare, in care se cauta litere care se repeta. De exemplu, in cuvintele 2, 3, 7, 10 si 12. Cuvintele care incep cu '*', se lasa asa deoarece ele pot semnifica un nume sau altceva. Ele vor fi decriptate cand se stie cum au fost inversate literele.

Se creaza un nou tabel, in care cu un rand mai jos se inlocuiesc literele cunoscute:

1 2 3 4 5 6

FYV YZXYVEF ITAMGVUXV ZE FA ITAM

THE H__HE_T ________E __ T_ ____

7 8 9 10 11

FYQF MV QDV EJDDAJTUV RO

Page 25: curs_sec

U

THAT _E A_E ________E_ __

12 13 14

 HOEFVDO *QGRVDF*ESYMVZFPVD

___TE___ *A__E_T *__H_E_T_E_

La al doilea cuvant, terminatia este E_T, litera care se potriveste este 'S'. Cuvantul 9, trebuie sa fie "ARE". Cuvantul 5, incepe cu 'T', este format din 2 litere, si ar putea fi "TO". Nu intodeauna literele pot fi gasite asa usor; trebuie puse litere care se crede ca se potrivesc cel mai bine; trebuie facute confirmari ca litera respectiva este corecta. Daca nu esti sigur ca ai pus o litera corecta, este recomandat sa fie precedata de ?.

Deci, s-a mai obtinut: 'E' - 'S'; 'A' - 'O'; 'D' - 'R'. Se face un nou tabel in care se trec literele nou gasite:

1 2 3 4 5 6

FYV YZXYVEF ITAMGVUXV ZE FA ITAM

THE H__HEST __O_____E _S TO __O_

7 8 9 10 11

FYQF MV QDV EJDDAJTUVU RO

THAT _E ARE S_RR____E_ __

12 13 14

 HOEFVDO *QGRVDF *ESYMVZFPVD

__STER__ *A__ERT *S_H_E_T_ER

In cuvantul 14, S_H poate sa provina de la un nume nemtesc, care in acest caz ar fi SCH. Cuvantul 10, poate fi "SURROUNDED", iar numele ar putea fi "ALBERT SCHWEIZER". Cuvantul 2, poate fi "HIGHEST".

Page 26: curs_sec

1 2 3 4 5 6

FYV YZXYVEF ITAMGVUXV ZE FA ITAM

THE HIGHEST _NOWLEDGE IS TO _NOW

7 8 9 10 11

FYQF MV QDV EJDDAJTUVU RO

THAT WE ARE SURROUNDED __

12 13 14

 HOEFVDO *QGRVDF *ESYMVZFPVD

__STER__ *ALBERT *SCHWEITZER

Deci, mesajul final este:

"THE HIGHEST KNOWLEDGE IS TO KNOW THAT WE ARE SURROUNDED BY MYSTERY. ALBERT SCHWEITZER."

 

1.2. Natura generala a limbii romane

Pentru a decripta mesaje care au fost criptate folosind algoritmi simetrici, este necesara o cunoastere a modului de aranjare a literelor,  a relatiilor dintre ele, o anumita pozitie de aranjare a literelor in cuvinte, s.a.m.d.

Astfel, este bine sa se cunoasca o frecventa (in procente) de aparitie a tuturor literelor din alfabet. Pentru aceasta, am creat un program C++, care numara de cate ori apare o litera intr-un text.

Am facut testul pe 4 fisiere diferite (toate in limba romana), si am obtinut rezultatele:

Testul 1: am luat la intamplare un fisier text de pe www.ginfo.ro:

23 595 caractere, unde:

Page 27: curs_sec

e 2271 9.624% c 1016 4.305% s 714 3.026% g 165 0.699% j 38 0.161% q 1 0.004%

i 1849 7.836% n 973 4.123% d 555 2.352% v 153 0.648% x 31 0.131% spatii 5689 24.111%

a 1648 6.984% u 820 3.475% m 488 2.068% b 128 0.542% k 13 0.055% cifre 87 0.368%

r 1357 5.751% o 786 3.331% p 482 2.042% z 120 0.508% y 12 0.050% altele 1745 7.395%

t 1278 5.416% l 746 3.161% f 331 1.402% h 92 0.389% w 7 0.029%      

Testul 2: am luat diverse stiri de pe un site:

18 743 caractere, unde:

a 2016 10.756% n 984 5.249% o 702 3.745% g 184 0.981% j 26 0.138% q 0 0.000%

i 1865 10.003% u 843  4.497% d 494 2.635% v 172  0.917% x 23  0.122% spatii 2587 13.802%

e 1835 9.790% c 780  4.161% p 459 2.448% b 136  0.725% k 4  0.021% cifre 97 0.517%

r 1257 6.706% s 745  3.978% m 384 2.048% z 112  0.597% y 1  0.005% altele 866 4.620%

t 1176 6.274% l 738  3.937% f 197 1.051% h 50  0.266% w 0  0.000%      

Testul 3: am luat un text de pe un site de sport:

7 779 caractere, unde:

a 830 10.669% n 429 5.514% o 294 3.779% g 60 0.771% h 34 0.437% q 0  0.000%

i 688  8.844% u 387  4.974% p 211  2.712% f 51  0.655% x 16  0.205% spatii 1163  14.950%

e 542  6.967% l 355  4.563% d 183  2.352% v 48  0.617% k 15  0.192% cifre 136  1.748%

Page 28: curs_sec

r 435  5.823% s 303  3.895% m 176  2.262% z 37  0.475% y 4  0.051% altele 488  0.273%

t 433  5.566% c 300  3.856% b 106  1.362% j 35  0.449% w 2  0.025%      

Testul 4: un text luat dintr-o carte de C:

24 085 caractere, unde:

e 2434  10.105% n 1145 4.753% l 751 3.118% v 177 0.734% h 85 0.352% q 4 0.016%

a 1897  7.876% s 954 3.960% p 601  2.495% z 166  0.689% w 55  0.228% spatii 4161 17.276%

i 1844  7.656% u 953  3.956% d 527  2.188% b 164  0.680% j 20  0.083% cifre 274 1.137%

t 1519  6.306% c 916  3.803% m 416  2.017% g 143  0.593% y 17  0.070% altele 4161 9.329%

r 1261  5.235% o 829  3.441% f 311  1.291% x 129  0.535% k 15  0.062%      

Pentru a vedea o medie de cate ori apar literele limbii romane intr-un text, am mai efectuat astfel de teste pe inca 10 texte. Media rezultatelor, a fost:

 1. e - 9.283%         2. a - 7.421%                            3. i - 7.142% 4. r - 5.295%                   5. t - 5.091%                             6. n - 4.307% 8. u - 3.825%                  9. c - 3.560%                           10. l - 3.396%11. s - 2.984%                12. o - 2.978%                          13. d - 2.367%14. p - 2.356%               15. m - 2.122%

Restul literelor, au o aparitie de sub 1%.

1.3. Natura generala a limbii engleze

Sunt niste teste, facute de un englez (Friedman) asupra cuvintelor limbii engleze. Astfel, in limba engleza, procentajul de aparitie a literelor este:

Page 29: curs_sec

13 9 8 8 7 7 7 6 6 4 4 3 3 3 3 2 2 2 1 1 1 - - - - -

e t a o n i r s h l d c u p f m w y b g v k q x j z

Alte date importante despre limba engleza sunt:

6 vocale (A E I O U Y):                                                    40%20 consoane:   5 consoane cu frecventa ridicata(D N S R T):                   35% 10 consoane cu frecventa medie(B C F G H L M P V W):   24%   5 consoane cu frecventa scazuta(J K Q X Z):                      1%

Vocalele A, E, I, O si consoanele N, R, S, T formeaza 2/3 din limba engleza.

Perechile de 2 litere care apar cel mai des sunt (per 200 de litere):

TH-50      AT-25         ST-20ER-40       EN-25         IO-18ON-39      ES-25          LE-18AN-38      OF-25          IS-17RE-36      OR-25          OU-17HE-33      NT-24          AR-16IN-31       EA-22          AS-16ED-30      TI-22           DE-16ND-30      TO-22         RT-16HA-26      IT-20          VE-16

Perechile de 3 litere care apar cel mai des sunt(per 200 de litere):

THE-89          TIO-33              EDT-27AND-54          FOR-33             TIS-25THA-47          NDE-31            OFT-23ENT-39          HAS-28             STH-21ION-36           NCE-27             MEN-20

Frecventa la prima si ultima litera dintr-un cuvant:

Litera: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Page 30: curs_sec

Prima: 9 6 6 5 2 4 2 3 3 1 1 2 4 2 10 2 - 4 5 17 2 - 7 - 3 -

Ultima:1 - - 10 17 6 4 2 - - 1 6 1 9 4 1 - 8 9 11 1 - 1 - 8 -

Concluzie

Deci, un text criptat folosind algoritmi simetrici, poate fi atacat cu un program care numara numarul de aparitii al celei mai intalnite litere si o inlocuieste cu cea mai intalnita litera din limba respectiva. Metoda merge pana la primele 13-14 litere care apar ca frecventa, restul obtinandu-se "manual", adica inlocuid dupa cum se potriveste in cuvant. Trebuie sa se tina cont de numarul de vocale dintr-un cuvant (fiecare silaba contine neaparat cel putin o vocala), de succesiunea unor litere, s.a.m.d.

1.4. Identificarea cipher-ilor

Cipher-ul, mesajul criptat, poate fi de doua feluri daca s-a folosit un algoritm simetric: obtinut prin substitutie sau obtinut prin transpozitie (sau poate amandoi, folositi in comun). Diferenta dintre cele doua tipuri, este ca in primul tip de criptare literele isi schimba "valoarea" (de ex. a devine k, b devine p, s.a.m.d.), dar nu isi schimba pozitia in cuvant (litera a decriptata este in acelasi loc), pe cand in al doilea tip, este schimbata doar pozitia literelor din cuvant, fara sa fie afectata valoarea literei (litera a din mesajul necriptat este tot a si in mesajul criptat, doar ca are o alta pozitie in cuvant, fraza sau text).

Prin analiza cipher-ului, se poate determina:

1. daca algoritmul simetric folosit apartine clasei de substitutie sau clasei de transpozitie;

2. daca apartine de prima clasa, daca foloseste un singur alfabet (monoalfabetic) sau foloseste mai multe alfabete pentru criptare;

3. daca este monoalfabetic, daca cipher-ul este standard (direct sau invers) sau mixt.

Clasele

Page 31: curs_sec

Deoarece algoritmii simetrici obtinuti prin transpozitie nu modifica literele, ele modificand doar pozitia literelor in text, frecventa de aparitie a literelor in textul criptat este aceasi ca si in textul decriptat. Intr-un cipher obtinut prin substitutie, frecventa de aparitie a literelor este modificata datorita substitutiei literelor din text cu alte litere. Cu cat textul criptat este mai lung, cu atat se poate vedea mai bine frecventa de aparitie a literelor. De exemplu, daca textul criptat este de 100 de caractere, nu se poate vedea prea clar frecventa de aparitie a literelor.

1.4.1. Testul PHI pentru monoalfabeticitate

Aceasta poate arata daca un cipher obtinut printr-un algoritm simetric de substitutie este mono-alfabetic (a folosit un singur alfabet pentru criptare) sau nu. Testul care se face, compara PHI(o) al textului criptat cu PHI(r) al unui text luat aleator si cu PHI(p) al unui text obisnuit. (Metoda de calculare a lui PHI() este data de Friedman si este pentru limba engleza.)

            PHI(r)=0.0385N(N-1)            PHI(p)=0.0667N(N-1)unde N, este numarul de elemente din distributie. Constanta 0.0385, este 1/26 si constanta 0.0667 este suma patratelor probabilitatii aparitiei literelor intr-un text necriptat.

Exemplu 1:

Textul criptat:

 OWQWZ   AEDTD   QHHOB   AWFTZ   WODEQ TUWRQ    BDQRO   XHQDA   GTBDH   PZRDK

Alfabetul si frecventa de aparitie:

f: 3 3   7 2 1 1 4     1       4 1 6 3   4 1   5 1   3

C: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

f(f-1): 6 6   42 2 0 0 12     0       12 0 30 6   12 0   20 0   6

N- numarul de litere=sum fi=50PHI(o)=sum[fi(fi-1)]=154PHI(r)=0.0385N(N-1)=0.0385*50*49=94PHI(p)=0.0667N(N-1)=0.0667*50*49=163

Page 32: curs_sec

Deoarece, PHI(o), 154, este mai apropiat decat PHI(p) decat de PHI(r), avem "dovada" matematica asupra ipotezei ca textul criptat este mono-alfabetic.

Exemplul 2:

Se da frecventa de distributie a literelor din textul criptat:

f:     1       1 1 2 1 1 1 3 1 1   1 2   1 1   1 1 2 3

C: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

f(f-1):     0       0 0 2 0 0 0 6 0 0   0 2   0 0   0 0 2 6

N=25 de literePHI(r)=0.0385*25*24=23PHI(p)=0.0667*25*24=40PHI(o)=18

Deoarece PHI(o), este mai apropiat de PHI(r) decat de PHI(p), atunci distributia literelor nu este mono-alfabetica.

Bineinteles, ca acest test nu poate spune exact daca distributia este mono-alfabetica sau nu. De exemplu in textul "a quick brown fox jumps over the lazy dog"(fraza care contine toate literele alfabetului o singura data), PHI(o)=20, N=33, PHI(r)=41 si PHI(p)=70. Se observa ca PHI(o) este mai apropiat de PHI(r) decat de PHI(p), dar textul este mono-alfabet.

Mai jos sunt date tabelele pentru texte mono-alfabetic si digrafic pentru opt limbi (de Kullback):

        Text monoalfabetic                         Text digrafic

Engleza                        0.0661N(N-1)                                 0.0069N(N-1)Franceza                      0.0778N(N-1)                                 0.0093N(N-1)Germana                      0.0762N(N-1)                                 0.0112N(N-1)Italiana                         0.0738N(N-1)                                 0.0081N(N-1)Japoneza                      0.0819N(N-1)                                 0.0116N(N-1)Portugheza                   0.0791N(N-1)Rusa                            0.0529N(N-1)                                 0.0058N(N-1)Spaniola                       0.0775N(N-1)                                 0.0093N(N-1)

Page 33: curs_sec

Text aleator:Text monografic              Text digrafic                      Text trigrafic  0.038N(N-1)                  0.0015N(N-1)                   0.000057N(N-1)

1.4.2. Indexul de coincidenta (I.C.)

I.C. este dat de Friedman. Este o alta metoda de aflare a monoalfabeticitatii a unei criptograme. Se compara I.C. teoretic cu I.C. actual, care este definit ca PHI(o)/PHI(r). In exemplul 1, I.C. este 154/94=1.64. I.C. teoretic pentru limba engleza este 1.73 (0.0667/0.385). I.C. pentru text aleator este 1 (0.0385/0.0385).

1.4.3. Cuvintele lungi - Metoda SHERLAC

Cand un cipher este alcatuit din cuvinte lungi, el poate fi atacat folosind metoda SHERLAC. Obiectivul, este sa se compare pozitia vocalelor si sfarsitul cuvintelor intr-o desfasurare pe coloane a cuvintelor individuale. Se marcheaza toate frecventele mici (f<=3), apoi sunt examinate sfarsitul cuvintelor si coloana a doua.

Exemplu:

fi: 14 13 12 12 10 10 8 5 5 4 4 4 3 3 3 3 3 3 2 2 2 2

C: D Q I N O P A L E X R V C F H M S Y J K W Z

F=127 litere=sum fi

Textul criptat in forma de coloana este:

  C . c v . . v c c v              

1. X W V I M S O Q P N V            

  S   c o   h a n t i              

                                   

  C v . c c . v . v c              

2. Q I F E D Y I H O Q ,            

  N o b l e w o m a n              

                                   

Page 34: curs_sec

  . v . c v . v c c                

3. Z I Y P I Y N Q L                

    o w t o w i n g                

                                   

  V . v c c v c v c v c c          

4. D K O L L D A O P D R E W ,      

  E x a g g e r a t e d l y        

                                   

  C v c . c v v v c                

5. R N X M E D O X D R              

  D i s   l e a   e d              

                                   

  C v . v c v v c c                

6. X I C D A D N L Q .              

  S o   e r e i g n                

                                   

  . c v . v v v c v v c            

7. M A I C I V O P N I Q            

    r o   o e a t i o n            

                                   

  V c v c c v c v c v              

8. N Q I A R N Q O P D ,            

  I n o r d i n a t e              

                                   

  . v c v c . . v c c              

9. F O Q N X S H D Q P              

    a n i s h m e n t              

Page 35: curs_sec

                                   

  V c c v c c c v . v c c v . c v  

10. N Q V I Q P A I C D A P N F E D .

  I n c o n t r o v e r t i b l e  

                                   

  V . c v c . v c .                

11. O J P D A H O P S                

  A f t e r m a t h                

                                   

  . v c c . v . v c                

12. Z N Q L -J N K D A !!!              

    i n g f i x e r                

Criptograma de mai sus se completeaza astfel: Analiza coloanei 2, arata ca 'I', apare de 3 ori cu 11 contacte de frecventa mica. Este probabil o vocala, dar nu 'i'. 'N', apare de 2 ori cu 5 contacte de frecventa mica si mai apare si in ante-penultima pozitie de 3 ori. Posibila vocala, ar putea fi 'i'. 'Q' apare de 2 ori; nici un contact de frecventa mica; urmeaza probabil vocale de 7 ori. Ar putea fi 'n'. 'i' si 'n' sunt inlocuite in textul criptat. In cuvantul 7, se pare ca 'I'='o'. In cuvantul 3, 'L'='g'. Tot in cuvantul 7, 'P'='t'. 'P' le precede pe 'N' si 'I' de 4 ori si il urmeaza pe 'O' de 3 ori. 'D' incepe un cuvant, termina 2, are frecventa mare si este risipit. Fie 'D'='e'. 'O' este in contact cu 6 litere de frecventa mica si precede 'n' de 3 ori, 't' de 4 ori si 't' este urmat de 'e' de 2 ori. Avem perechea de 3 litere 'ate', deci 'O' este 'a'. 'A' are tangenta cu vocale de 10 ori si urmeaza dupa 'D'. Ar putea fi 'r'.

Cuvantul 10, se pare ca este "incotrovertible". Inlocuind pe 'V'='c', 'F'='b' si 'E'='l', cuvantul 2 devine "noblewoman", 'Y'='w', 'H'='m'. Cuvantul 11 este "aftermath" si 'J'='f' si 'S'='h'. Cuvantul 4 ne da 'K'='x', 'R'='d', 'W'='y'. Cuvantul 6 este "sovereign".

Textul decriptat este: "Sycophantic noblewoman, kowtowing exaggeratedly, displeased sovereign. Provocation inordinate, banishment incontrovertible. Aftermath king-fixer!"

Page 36: curs_sec

Metoda SHERLAC, este folositoare si pentru texte criptate care contin cuvinte mai mici de 4 litere. Se pun in coloana cuvintele care contin peste 5 litere si se ignora restul, iar cand s-au obtinut ceva rezultate, se inlocuieste si in cuvintele scurte pentru confirmare.

1.4.4. Textele impartite in grupuri de litere

Pentru a fi mai usor de trimis, textul criptat se imparte in grupuri de un anumit numar de litere (de exemplu pentru standardul telegrafic, se impart in grupuri de cate 5 litere).

Exemplu de decriptare a unui astfel de text. Se da textul:

SFDZF IOGHL PZFGZ DYSPF HBZDS GVHTF UPLVD FGYVJ VFVHT

GADZZ AITYD ZYFZJ ZTGPT VTZBD VFHTZ DFXSB GIDZY VTXOI

--------------------------------------------------

YVTEF VMGZZ THLLV XZDFM HTZAI TYDZY BDVFH TZDFK ZDZZJ

--------------------------------------------------

SXISG ZYGAV FSLGZ DTHHT CDZRS VTYZD OZFFH TZAIT YDZYG

--------------------------------------------------

AVDGZ ZTKHI TYZYS DZGHUZFZTG UPGDI

XWGHX ASRUZ DFUID

--------------------------------------------------

EGHTV EAGXX  

Pentru a "sparge" astfel de texte, se pot folosi doua metode. In prima metoda, se creaza un tabel de frecvente in care se separa vocalele de consoane, iar cea de-a doua, foloseste metoda "cuvantului probabil".

Page 37: curs_sec

1.4.4.1. Metoda A - Separarea vocalelor si consoanelor

Pas 1: Marcarea repetitiilor, a literelor cu frecventa scazuta, cum ar fi F, G, V, X, Z;

Pas 2: Aplicarea testului PHI.

8 4 1 23 3 19 19 15 10 3 2 5 2 0 3 5 0 2 10 22 5 16 1 8 14 35

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

           PHI(p)=3668        PHI(r)=2117        PHI(o)=3862Deci, PHI(o) este mai apropiat de PHI(p) decat de PHI(r) si inseamna ca textul este mono-alfabetic.

Pas 3: Pregatirea unui tabel de lucru; marcarea digrafurilor si trigrafurilor (grupurile de cate 2/3 litere care se repeta); inscrierea frecventelor primelor 10 si ultimelor 10 litere; notarea pozitiilor literelor cu frecventa scazuta.

Pas 4: Prepararea Frecventelor de Distribtie Trilaterale (FDT), aratand un prefix si un sufix. Examinarea FDT pentru digrafuri si trigrafuri.

DZ=9x                 DF=5x               DV=2xZDF=4x               YDZ=3x            BDV=2x

Tabelul repetitiilor:

Digrafuri                       Trigrafuri                  Poligrafuri   DZ-9    GH-4                DZY-4                HTZAITYDZY-2  ZD-9    IT-4                  HTZ-4                BDVFHTZDF-2  HT-8    VF-4                 ITY-4                 ZAITYDZY-3  ZY-6    VT-4                 ZDF-4                FHTZ-3  DF-5    ZF-4                  AIT-3  GZ-5    ZT-4                 FHT-3  TZ-5    ZZ-4                 TYD-3  TY-5                            YDZ-3  FH-4                             ZAI-3

Page 38: curs_sec

       IE                                              

      ZF                               HV              

      GI                               ZG              

      SZ                               IY              

      VG   DU AX                         ZK              

      YZ   ZZ EH                         IY           TD  

      ZO   FH WH                         HZ           DY UD

      CZ   ZF PD GT                       VY   TE       TA FT

      ZT   VS TU GX                       HC   AD       XD UF

      ZZ   DK ZH GU                       DH   ST     ZS ZT UG

      ZF   VH DZ KI                       HZ   AF     TZ GZ YY

      BV   DM YA FT                       IY   DF     ZG DY ZT

      YZ   EV LZ FT                       HZ   LX     TD TD GZ

      ZF   DX YA HT UD                   AR ZH   FM     TZ TB DY

      IZ   VH SZ TH DX                   YD VE   YT     ZG JT TA

EG     ZF   YZ MZ FT HT                   RV VX   YT   X- ZB FJ OF

XS     BV   VV BI MT AT                   FL HZ   DF   GX TD DY YD

GV     YZ   DG TP TL XS                   IG VZ   TT   HA IV ZA DR

ZI     AZ   TU TA FT AT     SG       UG     JX PV FI FH   IW ZV DZ GD

GV YD   VF   PH FY VT OY     LV       GT     XB ZG RZ JF   SI ZF BD GY

ZI SG   ZS VA ZG SV VT GD ZS   HL     DZ UL     DG IY GP YJ   VZ TD GD ZJ

ZI ZD   ZY DG ZI FZ FB AT ZZ TH PV FH   XI SF   SU YP HG HZ LD   TO GV PF DZ

GD HZ TD FZ TF SD OH GL FO VV FZ HP VG   IG LZ   ZS -F HF FP GH XG FS DS DF KD

Page 39: curs_sec

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

8 4 1 23 3 19 19 16 10 3 2 5 2 0 3 5 0 2 10 22 5 16 1 8 14 35

Pasul 5: Clasificarea literelor textului criptat in vocale si consoane. Se procedeaza ca la metoda SHERLAC, adica se separa literele de frecventa mare, in vocale si consoane. Daca se gasesc vocalele A, E, I, O si consoanele N, R, S, T, s-au gasit 2/3 din literele din textul necriptat.

Cele 18 digrafuri de mai sus, alcatuiesc aproximativ 25% din limba engleza. Litera 'e', se potriveste in 9 din cele 18 digrafuri:

ED    EN   ER   ES   NE   RE   SE   TE   VE.

Celelalte 9 digrafuri care raman, sunt:

AN   ND   OR   ST   IN   NT   TH   ON   TO.

Nici un digraf de mai sus nu este o combinatie de vocale. Deci, 'e', se combina mai bine cu consoane decat cu vocale sau cu el insusi. In concluzie, literele care au cea mai mare frecventa si se potrivesc cel mai bine cu 'e', se pare ca sunt consoanele 'n', 'r', 's', 't', iar cele care nu se prea potrivesc, sunt vocalele 'a', 'i', 'o', 'u'. Fie 'Z'='e', deoarece este o litera cu frecventa ridicata si se combina cu alte litere de frecventa ridicata 'D', 'F', 'G'. Urmatoarele 9 litere de frecventa ridicata, care se combina cu 'Z', sunt:

'Z' ca prefix: 8 4 4 1 0 0 6 0 0

  D(23) T(22) F(19) G(19) V(16) H(15) Y(14) S(10) I(10)

'Z' ca sufix: 9 5 2 5 0 0 2 0 0

Pasul 6: Analizele datelor. In text, 'D', apare de 23 de ori, de 18 ori in combinatie cu 'Z' (de 9 ori "ZD" si de 9 ori "DZ"). 'T', se combina cu 'Z' de 9 ori, de 4 ori formand "ZT", iar de 5 ori formand "TZ". 'D' si 'T', trebuie sa fie consoane. Similar, 'F', 'G', 'Y', sunt ghicite ca si consoane. Pana acuma avem:

Vocale: 'Z'='e', 'V', 'H', 'S', 'I'Consoane: 'D', 'T', 'F', 'G', 'Y'.

Primii 10 diftongi, care apar ca frecventa in limba engleza, sunt:

Page 40: curs_sec

Diftong:       io    ou    ea    ei    ai    ie    au   eo    ay    ueFrecventa:   41    37    35   27   17  13    13   12   12    11

Combinatiile mai "ciudate" si cu litera 'Z', sunt:

"ZZ"=4     "VH"=4       "HH"=1      "HI"=1        "IS"=1      "SV"=1

Deci, "ZZ"="ee", iar "HH"="oo", deoarece "aa", "ii" si "uu", sunt practic inexistente in limba engleza, iar "oo", are a doua frecventa de aparitie dupa "ee". Daca 'H'='o', atunci, 'V'='i', deoarece "io", este diftongul care apare cel mai frecvent in textele din limba engleza.

'I' si 'S', ar trebui sa fie 'a', respectiv 'u'. La "GVHT" si "FVHT", unde "VH"="io", 'T', ar putea fi 'n', si 'G' sau 'F', ar putea fi 's' sau 't'.

Acum, se ia literele gasite si se inlocuiesc cu literele din textul criptat, unde: 'S'='a', 'Z'='e', 'V'='i', 'T'='n', 'H'='o', 'D'='r', 'G' sau 'F'='s' sau 't' si 'I'='u'. Aici, nu voi mai include tabelul, deoarece ar ocupa si mult spatiu si ar creste destul de mult si marimea fisierului.

Acum, se poate vedea cuvintele: "operation", "nine prisoners" si "afternoon", deci 'G'='t', 'F'='s', 'B'='p' si 'L'='f'.

Pasul 7: Se completeaza solutia in tabel si se gaseste cheia de criptare.

Mesajul este: "As result of yesterdays operations by first division three hundred seventy nine prisoners captured including sixteen officers.  One hundred prisoners were evacuated this afternoon, remainder less one hundred thirteen wounded are to be sent by truck to chambersburg tonight.", iar cheia de criptare este: 'S'='a', 'U='b', 'X'='c', 'Y'='d', 'Z'='e', 'L'='f', 'E'='g', 'A'='h', 'V'='i', 'N'='j', 'W'='k', 'O'='l', 'R'='m', 'T'='n', 'H'='o', 'B'='p', 'C'='q', 'D'='r', 'F'='s', 'G'='t', 'I'='u', 'J'='v', 'K'='w', 'M'='x', 'P'='y', 'Q'='z'.

1.4.4.2. Metoda B: Atacului prin cuvantul probabil

Aceasta metoda, presupune existenta unui dictionar al limbii din care se incearca decriptarea mesajului, unde, la fiecare cuvant sa se incerce sa se gaseasca anumite repetitii de litere, grupuri de litere sau litere care sunt puse intr-o anumita ordine.

1.4.5. Cipher-urile formate doar din vocale

Page 41: curs_sec

Acest tip de criptare, a fost introdus de Louis Mansfiel in 1936. La acest tip de criptare, fiecare litera este inlocuita cu doua litere de pe marginea patratului urmator:

 

  A E I O U

A a b c d e

E f g h i/j k

I l m n o p

O q r s t u

U v w x y z

Deci, daca se doreste criptarea literei 't', aceasta va fi "OO", si marimea textului criptat va fi de doua ori mai mare decat lungimea textului necriptat.

Un text criptat astfel, nu este mai greu de "spart", decat cel din exemplul precedent. De exemplu, fie textul:

"OUOE  OUAE  OUIUIAAIUIUUOEOUAOAI  OEEOUUOE  OEEOAI UOEUUEUEAIAEOE  OOAIOEUUOUUEAE  EEUO UUUEUE  OEUIEEEEIA IUEEAOAIIUAIOAOEAE IOAI EIUUUIAIUOEUUEUEEA EIEEIUIAOUUEAIOO  UUOAOO AEAIOAOE  OEEE EUAE UIAIIIEUUEUUUIUEEA."

Pentru a se sparge acest cipher, se imparte tot textul in grupuri de cate doua litere, si se numara numarul de aparitii al fiecarui grup in text.

Dupa ce se numara, se va observa ca "AI" si "OE" apar de cate 11 ori, deseori la sfarsitul cuvantului si ar putea fi 'e'. "OE" apare si ca si primul grup din cuvinte, deci este foarte probabil ca "OE" sa fie 't', iar "AI" sa fie 'e'. Atunci, cuvantul al 5-lea ar fi "the", iar al 4-lea "that"("UU"='a' si "UE"='l'). Dupa aflarea si restului literelor, mesajul decriptat este: "It is imperative that the fullest details of all troop movements be carefully compiled and sent to us regularly.", iar tabelul partial, ar deveni:

 

Page 42: curs_sec

  A E I O U

A   s e v  

E y o c h u

I p   g b m

O n t   d i

U   l r f a

Cipher-ul Mirabeau

Contele de Mirabeau(1749-1791), a fost un inamic politic al lui Robespierre. El a creat un cipher pentru a schimba mesaje cu Louis XVI. Acest cipher, a fost creat cat timp a stat la puscarie, unde a fost bagat de tatal lui, marchizul Victor Riqueti Mirabeau, deoarece nu a putut sa-si plateasca datoriile.

Cipher-ul, presupune impartirea literelor alfabetului in cinci grupe, fiecare litera fiind numerotat de la 1 la 5, si fiecare grup fiind la randul lui numerotat. Un astfel de exemplu, ar fi:

 

1 2 3 4 5   1 2 3 4 5   1 2 3 4 5   1 2 3 4 5   1 2 3 4 5

I S U W B   K T D Q R   X L P A E   G O Y V F   Z M C H N

6 8 4 7 5

Criptarea frazei "the boy ran", va fi "82.54.45, 65.72.73, 85.44.55", unde 't', este litera a doua din grupul 8.

O compicatie adusa algoritmului de criptare, este numerotarea grupurilor tot cu cifre de la 1 la 5, si exprimarea cipher-ului ca o fractie, unde numitorul este grupa, iar numaratorul este numarul cifrei din grupa. Astfel, cheia de criptare devenea

1 2 3 4 5   1 2 3 4 5   1 2 3 4 5   1 2 3 4 5   1 2 3 4 5

Page 43: curs_sec

O A G P U   T C N H Y   X M F I S   L Q W B V   R E K Z D

1 2 3 4 5

iar textul "the boy ran", ar fi reprezentat astfel:

2 2 5   4 1 2 3   5 1 2

- - -   - - - -   - - -

1 4 2   4 1 5 5   1 5 3

Adaugarea numerelor 6, 7, 8, 9, 0 ca si caractere fara insemnatate, ar face acest cipher si mai dificil de spart. Astfel, textul ar deveni:

29 27 50   48 17 29 39   56 10 28

- - -   - - - -   - - -

71 64 92   74 94 85 65   91 75 83

Cel care primeste mesajul, va sterge caracterele fara insemnatate si va trata mesajul ca de obicei. O cale de a recunoaste caracterele fara insemnatate, este verificarea numerelor care nu apar in grup decat o data(un astfel de caracter este adaugat o singura data la fiecare grup), iar restul procedurii, este ca si la celelalte exemple.

Substitutia monoalfabetica, este clasificata ca substitutie uniliterara si multiliterara. Substitutia uniliterara, pastreaza lungimea textului criptat, care este la fel de lung ca si textul necriptat, pe cand substitutia multiliterara, va multiplica lungimea textului criptat, fata de cel necriptat; deci, fiecare litera din textul necriptat, va fi inlocuita cu 1,2,3... litere, care va duce la textul criptat. Cel mai des folosite, sunt substitutia biliterara si triliterara, unde fiecare litera este inlocuita cu 2, respectiv 3 alte litere.

1.4.6. Substitutia bilaterala

Astfel de exemple, sunt cipher-urile in care fiecare litera face parte din elementele unei matrici, iar fiecare caracter din textul necriptat, este inlocuit cu cele doua elemente care corespund indexului liniei si a coloanei; un astfel de cipher, este cel bazat pe vocale.

Page 44: curs_sec

Si numerele pot fi folosite pentru a obtine un cipher biliterar. Cea mai simpla forma, este asocierea fiecarei litere cu numarul ei de ordine: 'a'=01, 'b'=02, 'c'=03, s.a.m.d.

1.4.7. Cipher-ul Trithemian

Staretul Trithemius, nascut Johann von Heydenberg(1462-1516), a creat una dintre primele metode de criptare prin substitutie multiliterara; el a mai scris in 1499 si lucrarea "Steganographia", care trateaza metode de scris ascuns, lucrare dupa numele careia s-a numit si stiinta.

Alfabetul de criptare, este alcatuit din toate permutarile a trei lucruri, luate cate trei deodata(in total ). Alfabetul este:

A=111 G=131 M=221 S=311 Y=331

B=112 H=132 N=222 T=312 Z=332

C=113 I=133 O=223 U=313 *=333

D=121 J=211 P=231 V=321

 E=122 K=212 Q=232 W=322

F=123 L=213 R=233 X=323

Nu este neaparat sa fie trei cifre; pot fi orice trei obiecte distincte.

1.4.8. Cipher-ul Bacon

Francis Bacon(1561-1626) a inventat o metoda de criptare, in care literele sunt inlocuite cu grupuri de cinci litere. Alfabetul este:

A=aaaaa G=aabba N=abbaa T=baaba

B=aaaab H=aabbb O=abbab U/V=baabb

Page 45: curs_sec

C=aaaba I/J=abaaa P=abbba W=babaa

D=aaabb K=abaab Q=abbbb X=babab

E=aabaa L=ababa R=baaaa Y=babba

F=aabab M=ababb S=baaab Z=babbb

Bacon, descrie efectul steganografic al mesajului care se poate trimite. Daca toate literele mari sunt inlocuite cu 'a' si toate literele mici sunt inlocuite cu 'b', mesajul "ALl is WElL WItH mE TodaY", poate fi mesajul "HELP", astfel:

A L l i s   WE l L W  I t H m E   T o d a Y

a a b b b   a a b a a   a b a b a   a b b b a

H E L P

 

1.4.9. Cipher-ul Hayes

Acest cipher, este legat de una dintre cele mai mari fraude din timpul alegerilor din SUA. Alegerile s-au desfasurat pe 7 Noiembrie 1876, si s-au terminat cu desemnarea ca presedinte al SUA pe Rutherford B. Hayes (Republican), care l-a invins pe Samuel Johnes Tilden (Democrat). Cu toate ca Tilden avea cu 700 000 de voturi mai mult, datorita fraudelor, a ajuns presedinte Hayes (astazi, se crede ca ambii presedinti s-au ocupat cu fraude si mituiri; oricum, tot cel mai bun a iesit :) ). Dupa desemnarea ca presedinte a lui Hayes, Tilden, a plecat la New York, oras pe care il controla.

Dupa doi ani de scandaluri intre Tilden si Hayes, ziarul New York Tribune si Republicanii au publicat metodele de criptare folosite de Tilden si cheile, care erau peste 400, reprezentand criptare prin substitutie si prin transpozitie. Textele decriptate, erau operatii secrete si ilegale, facute de oamenii lui Tilden in Florida, Louisiana, Carolina de Sud si Oregon.

Un cipher folosit, este urmatorul:

Page 46: curs_sec

P P Y Y E M N S N Y Y Y P I M A S H N S Y Y S S I T E P A A E N S H N S P E N N S S H N S M M P I Y Y S N P P Y E A A P I E I S S Y E S H A I N S S S P E E I Y Y S H N Y N S S S Y E P IA A N Y I T N S S H Y Y S P Y Y P I N S Y Y S S I T E M E I PI M M E I S S E I Y Y E I S S I T E I E P Y Y P E E I A A S SI M A A Y E S P N S Y Y I A N S S S E I S S M M P P N S P I NS S N P I N S I M I M Y Y I T E M Y Y S S P E Y Y M M N S Y Y SS I T S P Y Y P E E P P P M A A A Y Y P I I T

Analiza mesajului, a aratat ca erau folosite doar 10 litere, iar fiecare litera necriptata era reprezentata de doua litere in cipher. Astfel, s-a impartit mesajul la doi, fiecarui grup de doua litere, atribuindu-se litere luate la intamplare. Solutia, era:

PP YY EM NS NY YY PI MASH NS YY SS

A B C D E B F G H D B I

Iar mesajul, era: "Have Marble and Coyle telegraph for influential men from Delaware and Virginia. Indications of weakening here. Press advantage and watch board."

Alt cipher obtinut tot prin substitutie, este:

84  55  84  25  93  34  82  31  31  75  93  82  77  33  55  4293  20  93  66  77  66  33  84  66  31  31  93  20  82  33  6652  48  44  55  42  82  48  89  42  93  31  82  66  75  31  93

S-a observat ca s-au folosit doar 26 de grupuri (alfabetul englez) distincte, caz in care s-a procedat ca si la mesajul precedent. Mesajul, era: "Cocke will be ignored, Eagan called in. Authority reliable.". Cei care s-au ocupat de decriptarea mesajelor, au dat urmatoarele doua alfabete:

AA=O EN=Y IT=D NS=E PP=H SS=N

AI=U EP=C MA=B NY=M SH=L YE=F

EI=I IA=K MM=G PE=T SN=P YI=X

EM=V IM=S NN=J PI=R SP=W YY=A

------------------------------------------------------

Page 47: curs_sec

20=D 33=N 44=H 62=X 77=G 89=Y

25=K 34=W 48=T 66=A 82=I 93=E

27=S 39=P 52=U 68=F 84=C 96=M

31=L 42=R 55=O 75=B 87=V 99=J

1.4.10. Cipher-ul "Blue and grey"

Acest cipher, este legat de Razboiul Civil(1861-1865) din SUA, pe cand se foloseau steagurile pentru a se transmite mesajele; acest mod de a transmite mesajele se numea wigwag, si functiona prin inclinarea unui (sau unor) steag (steaguri) in diferite unghiuri, care reprezenta cele 26 de litere ale alfabetului. A fost creat la mijlocul secolului XIX, de catre trei oameni: capitanul de marina Phillip Colomb, capitanul de armata Francis Bolton, amandoi din Anglia, si Albert Meyer din SUA.

Se foloseau trei steaguri de culori diferite, care erau de 0.185 , 0.371 si 0.557 . Stegurile albe, aveau centrele formate din patrate rosii si

steagurile negre si rosii, aveau centrele, patrate albe. Prima pozitie, intotdeauna insemna inceperea unui mesaj. Prima pozitie, era miscarea steagului de la cap, la picior si inapoi in partea dreapta. A doua pozitie, era de la cap, la picior si inapoi in partea stanga. A treia pozitie, era de la cap, la picior, si apoi in fata omului. Alfabetul folosit, era:

A=112 G=123 M=132 S=332 Y=111

B=121 H=312 N=322 T=133 Z=113

C=211 I=213 O=223 U=233  

D=221 J=232 P=313 V=222  

E=122 K=323 Q=131 W=311  

Page 48: curs_sec

F=123 L=231 R=331 X=321  

Alte conventii folosite, erau urmatoarele:

3 - sfarsit de cuvant33 - sfarsit de propozitie333 - sfarsit de mesaj22.22.22.3 - mesaj inteles22.22.22.333 - sa se inceteze semnalarea121.121.121.3 - sa se repete212121.3 - eroare211.211.211.3 - muta putin la dreapta221.221.221.3 - muta putin la stanga

Page 49: curs_sec

Cap.II. Algoritmi de criptare folositi in cele doua razboaie mondiale

2.1. Algoritmul ADFGVX

ADFGVX, este una dintre cele mai bune metode de criptare folosit in timpul primului razboi mondial. Acesta, este o extensie a altui algoritm, care era format dintr-o matrice de 5X5, si se numea ADFGV. Extensia de inca o litera, a fost adaugata la 1 iunie 1918. Au fost alese aceste litere datorita claritatii cu care erau trimise in codul Morse (A .-, D -.., F ..-., G --., V ...-, X -..-).

Cipher-ul ADFGVX, era considerat sigur, deoarece, combina atat criptarea prin substitutie, cat si criptarea prin transpozitie. Aceasta metoda de criptare, a fost folosita in jur de opt luni (de catre germani), si au fost recuperate in 10 zile doar 10 chei, decriptandu-se doar 50% din mesajele transmise de germani. Solutiile mesajelor criptate, au fost gasite de capitanul francez Georges Painvin.

Metoda de criptare, folosea o matrice de 6X6, unde erau puse 26 de litere si 10 cifre; matricea, arata astfel:

  A D F G V X

A f l 1 a o 2

D j d w 3 g u

F c i y b 4 p

G r 5 q 8 v e

V 6 k 7 z m x

X s n h 0 t 9

De exemplu, daca se cripta mesajul "all quiet on this front today", se obtinea "AG AD AD GF DX FD GX XV  AV XD  XV XF FD XA  AA GA AV XD XV  XV AV DD AG FF".

Page 50: curs_sec

Dupa aceea, textul astfel criptat, era pus intr-o matrice numerotata (numerele, erau cheia decriptarii mesajului, putandu-se folosi un cuvant la a carui litere le erau asociate numerele de aparitie in alfabet), incepandu-se cu primul element de pe prima linie, si continuandu-se completarea pe linii. Astfel, urmatoarea metoda in criptarea textului, folosind ca si cheie cuvantul "GERMAN", este:

G E R M A N

3 2 6 4 1 5

A G A D A D

G F D X F D

G X X V A V

X D X V X F

F D X A A A

G A A V X D

X V X V A V

D D A G F F

Dupa ce textul a fost pus in matrice, el se ia pe coloane, in ordinea numerelor indicate de cheie. Astfel, mesajul final devine "AFAXA XAFGF XDDAV DAGGX FGXDD XVVAV VGDDV FADVF ADXXX AXA". Decriptarea unui astfel de text, presupunea gasirea cheii si alcatuirea matricii originale.

Pentru a decripta un astfel de mesaj, erau trei metode care se puteau folosi. Prima metoda, necesita doua sau mai multe cipher-uri care sa aiba inceputurile textelor necriptate identice; a doua metoda, necesita tot doua sau mai multe cipher-uri, care sa aiba sfarsitul textelor necriptate identice (de multe ori se gaseau mesaje care aveau fie inceputurile, fie sfarsiturile, si cateodata, chiar si inceputul si si sfarsitul identice); iar, a treia metoda necesita mesaje de lungimi identice. Capitanul francez Painvin, a folosit primele doua metode pentru a "sparge" versiunea de 5 litere (ADFGX), in aprilie 1918.

Page 51: curs_sec

2.2. Enigma

Enigma, este cea mai buna masina de criptare care a fost folosita in timpul celui de-al doi-lea razboi mondial. Se asemana cu o masina de scris, la care erau cuplate intre 1 si 8 rotoare. O foarte buna simulare a acestei masini, am gasit pe internet, si poate fi descarcata de aici: enigma.zip.

Slabiciunile masinii de criptat (dintre care unele au fost inlaturate la "versiunile" ulterioare), erau:

literele de pe rotoare, erau fixe; cu toate ca posibilitatile de schimbare erau enorme, nu se foloseau decat seturile care erau initial pe rotoare

intr-un set erau 8 rotoare, dar numai 3 sau 4 erau folosite odata rotatia rotoarelor, era destul de restrictiva; nu se roteau decat o

singura pozitie la fiecare litera criptata; al doi-lea rotor, se invartea o pozitie doar dupa ce primul rotor se invartea de 26 de ori, al trei-lea se invartea o data doar dupa ce al doi-lea se invartea de 26 de ori, s.a.m.d.

o litera din mesajul necriptat, nu putea fi aceasi in mesajul criptat

Page 52: curs_sec

Cap.III. Criptarea bloc

Criptarea bloc, a luat naştere în anii 1970, pentru a mări securitatea sistemelor bancare. Aceast tip de criptare, imparţea mesajul în blocuri de anumită lungime, după care, fiecare bloc era criptat cu o cheie, de un anumit număr de ori. Primul algoritm, creat de IBM, a fost Lucifer; variantele care erau cele mai folosite, criptau textul impartindu-l in blocuri de 128 de biti şi o cheie tot de 128 de biti. Nici una din variantele algoritmului nu este prea sigură.

3.1. Algoritmul DES

DES, este acronimul de la Data Encryption Standard, şi este un algoritm simetric (atât cel care criptează, cât şi cel care decriptează, trebuie să posede aceaşi cheie). A fost adoptat de ANSI (American National Standards Institute), ca standard ANSI X3.92 şi intitulat DEA.

Page 53: curs_sec

Schema de aplicare a unui algoritm simetric

Algoritmul, foloseşte o cheie de 56 de biţi, care o aplică la blocuri din mesaj de 64 de biţi, de 16 ori; adică, ia un bloc de 64 de biţi, ii aplică cheia de 56 de biţi şi obţine un bloc de text criptat de 64 de biţi; această operaţie, este repetată de 16 ori.

3.1.1. Modul de funcţionare

Prima dată, este aplicată o funcţie de permutare a blocului de 64 de biţi (de exemplu, bitul 58 devine bitul 1, bitul 50 - bitul 2, ş.a.m.d.). Rezultatul, este divizat în două sub-blocuri de cate 32 de biti, L0 si R0, după care, de 16 ori, se aplică următorii paşi:Iteraţia numărul i (0<i<17):

1. se obţine cheia transformarii i, care este o permutare, dar după care, se elimină 8 biţi (deci, rămân doar 48 de biţi)

2. fie A=Li şi J=cheia transformării. Se aplică funcţia f(A,J) (explicată mai jos), pentru a produce un rezultat pe 32 de biţi

3. se aplică un Sau Exclusiv lui Ri şi lui f(A,J) (Sau Exclusiv, ia doi biţi, iar dacă sunt identici, returnează 0, altfel 1). Rezultatul, este pus în Ri+1

4. fie Li+1=Ri Aceşti paşi, pot fi descrişi prin diagrama de mai jos:

Page 54: curs_sec

Functia f, ia 32 de biti din text (A) şi cheia pe 48 de biţi (J). O funcţie de expandare îi este aplicată lui A, care schimbă câţiva biţi între ei, şi mai pune încă 16, ceea ce duce la creşterea lui A la 48 de biţi. A expandat şi J, sunt combinaţi, folosind un Sau Exclusiv. Cei 48 de biti rezultaţi, sunt trecuţi prin nişte "S-boxes" (explicate mai jos), pentru a produce un rezultat pe 32 de biţi. La final, este aplicată o altă permutare.

S-boxes, ia ca date de intrare 6 biţi, şi returnează 4 biţi. Acest proces, foloseşte un tabel (numit S-Box), format din 4 linii şi 16 coloane (numerotate de la 0, nu de la 1). Un exemplu de astfel de tabel, este dat mai jos:

14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 70 15 7 4 14 2 13 1 10 6 12 11 9 5 3 84 1 14 8 13 6 2 11 15 12 9 7 3 10 5 015 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

Pentru a se obţine 4 biţi, se ia primul şi ultimul bit din grupul de 6 pentru a stabili linia, şi grupul de 4 biţi de la mijloc, pentru a stabili coloana. De exemplu, dacă se dă grupul de biţi 110111 şi tabelul de mai sus, se ia primul şi ultimul bit, care sunt 11 şi reprezintă linia 3, şi mijlocul de 4 biţi 1011, care reprezintă coloana 11. Deci numărul rezultant, este la intersecţia liniei 3 şi a coloanei 11, şi este 14 (în binar 1110).

Page 55: curs_sec

Astfel, cei 48 de biti, sunt împărţiţi în 8 grupe de câte 6 biţi şi trecute prin 8 S-Boxes diferite, care sunt definite în specificaţiile algoritmului. Se obţin tot 8 grupe, dar de câte 4 biţi, care puse una lângă alta, dau rezultatul final de 32 de biti.Functia f(), este descrisă prin diagrama de mai jos:

3.1.2. Atacarea DES-ului

Pentru a ataca algoritmul DES, se folosesc 3 metode:1. criptanaliza diferenţială - unde se caută corelaţii între rezultatele

primite de funcţia f() şi cele returnate 2. criptanaliza liniară - unde se caută corelaţii între cheie şi cipher-ul

de intrare şi cel de ieşire 3. criptanaliza referitoare la chei - unde se caută corelaţii între

schimbarea de chei şi rezultate Metodele de criptanaliză diferenţială, descoperite în 1990, au scos

la iveală faptul că orice algoritm de criptare în bloc care a fost inventat înainte de 1990, este vulnerabil, cu excepţia DES-ului (criptanaliştii de la IBM şi de la alte organizaţii, ştiau asta de 15 ani).

Page 56: curs_sec

3.2. Criptarea cu cheie publica

Bazele criptării asimetrice, au fost puse în 1976 de Whitfield Diffie şi Martin Hellman. Criptarea asimetrică, presupune generarea a două chei, dintre care una este publică şi poate fi dată oricui, iar cealaltă, este privată, şi nu trebuie să fie cunoscută decât de cel care o foloseşte. Cele două chei, sunt una inversul celeilalte, şi nu pot fi deduse una din cealaltă. În mare, principiul este urmatorul: cheia publică= 3, cheia privată= 1/3, iar mesajul= 4. Criptarea, se face astfe: cipher= cheie publica X mesaj= 3X4= 12. Decriptarea: mesaj= cipher X cheie privata= 12 X 1/3= 4.

Schema de aplicare a unui algoritm asimetric

3.2.1. Algoritmul RSA

RSA, sunt iniţialele numelui celor trei inventatori ai algoritmului: Ron Rivest, Adi Shamir si Leonard Adleman.

Acest cifru cu chei publice, realizat de cei trei cercetatori de la Massachusetts Institute of Technology, reprezinta standardul "de facto" in domeniul semnaturilor digitale si al confidentialitatii cu chei publice. El se bucura de o foarte mare apreciere atit in mediul guvernamental cit si in cel comercial, fiind sustinut prin lucrari si studii de comunitatea academica. Sub diferite forme de implementare, prin programe sau dispozitive hardware speciale, RSA este astazi recunoscuta ca fiind cea mai sigura metoda de cifrare si autentificare disponibila comercial. O

Page 57: curs_sec

serie de firme producatoare de sisteme de programe si echipamente ca DEC, Lotus, Novell, Motorola precum si o serie de institutii importante (Departamentul Apararii din SUA, National Aeronautics-SUA, Boeing, reteaua bancara internationala SWIFT, guvernul Belgiei etc), folosesc acest algoritm pentru protejarea si autentificarea datelor, parolelor, fisierelor, documentelor memorate sau transmise prin retele. De exemplu firma Lotus dezvolta Notes, un nou concept groupware intr-o retea. La o astfel de legatura in comun a numeroase programe si persoane se cere insa o mare incredere in informatie cit si o mare confidentialitate; ca urmare Lotus foloseste semnatura digitala si secretizarea cu ajutorul criptosistemelor RSA.

In sistemul de operare NetWare, pentru retele locale, al firmei Novell se foloseste curent RSA in mecanimele de autentificare care permit utilizatorilor sa acceada la orice server al retelei. Motorola comercializeaza telefoane sigure care incorporeaza o serie de metode de confidentialitate si autentificare a utilizatorilor cit si a partenerilor de dialog. Toate acestea se bazeaza pe algoritmul RSA si se regasesc atit in variante de uz general cit si in variante pentru comunicatii militare, fiind destinate atit transmisiilor de voce cit si de FAX.

 

2. Descrierea algoritmului RSA

Sistemul RSA este de tip exponential. Se aleg doua numere prime mari, p si q iar produsul lor, n=p*q, va purta numele de modul.

o Se alege un numar d relativ prim cu fi(n) (unde fi(n) este indicatorul lui Euler, iar in cazul de fata va fi egal cu fi(n)=(p-1)*(q-1)) si d in intervalul  [max(p,q)+1, n-1].

o Se va considera e ca fiind invesul lui d modulo fi(n)  ( pentru calculul lui e se poate utiliza o versiune extinsa a algoritmului lui Euclid) .

Schema poate fi folosita cu succes intr-un criptosistem cu chei publice astfel: se vor face publice e si n, iar d va fi tinut secret. In consecinta cheia publica este formata din perechea (e,n) iar

Page 58: curs_sec

cheia privata din perechea (d,n).  

Securitatea metodei

    Securitatea metodei depinde de dificultatea factorizarii lui n in p si q.     Cel mai rapid algoritm publicat de Schroeppel, cere un numar de pasi egal cu: T = exp(sqrt(ln(n)*ln(n)))) , acelasi cu cel al calculului logaritmului in cimpul GF(n).     Rivest, Shamir si Adleman sugereaza utilizarea unor numere prime p si q de 100 cifre, adica a unui n de 200 de cifre, ceea ce cere pentru factorizare mai multe milioane de ani.  

Realizarea autentificarii folosind RSA

Deoarece cifrarea si descifrarea sint functii mutual inverse, metoda RSA poate fi utilizata atit la secretizare, cit si la autentificare.

Fiecare utilizator A obtine modulul nA si exponentii eA si dA. Apoi A va inregistra intr-un fisier public cheia publica (nA, eA), in timp ce va tine secreta pe dA.

Un alt utilizator B va putea emite un mesaj secret M utilizind transformarea de cifrare publica a lui A:

EA(M)=M^eA mod nA

La receptie A va obtine mesajul in clar: DA(EA(M)) = M^(eA*dA) mod nA = M.

 Utilizatorul A va putea semna un mesaj M catre B calculind:

DA(M) = MdA mod nA,iar B va autentifica acest mesaj, utilizind cheia publica a lui A:

EA(DA(M)) = M^(dA*eA) mod nA = M. 

Exemplu

Sa consideram un mic exemplu care sa ilustreze acest algoritm: Fie p=53 si q=61 doua numere prime; Produsul acestor doua numere tinute secrete este n=53*61=3233 iar (n)=(p-1)*(q-1)=52*60=3120. Fie d =791 cheia secreta; exponentul e (cheia publica) se

Page 59: curs_sec

calculeaza ca invers multiplicativ mod 3120 a lui d. Ca urmare e=71.

Pentru a cifra mesajul, M=RENAISSANCE, acesta se va imparti in blocuri de 4 biti fiecare, unde A=00,B=01,C=02,...Z=25 si blanc=26: M=RE NA IS SA NC E =1704 1300 0818 1800 1302 1426. Primul bloc se va cifra ca 170471 mod 3233 =3106,etc. Criptograma obtinuta devine: C = 3106 0100 0931 2691 1984 2927.

La descifrare, fiecare grup de doua litere in clar se obtine folosindu-se cheia secreta d: 3106791 mod 3233=1704,etc. 4.

3. Unele aspecte de implementare a algoritmilor exponentiali

(A) Proiectarea unor criptosisteme RSA pleaca de la alegerea unor numere prime mari p si q pe baza carora se calculeaza modulul n. Dimensiunea acestor intregi este esentiala in asigurarea tariei criptografice a schemei.

Pentru o mai buna protectie impotriva factorizarii, trebuie luate si urmatoarele masuri suplimentare [VPATR93]:

o p si q trebuie sa difere in lungime prin citiva biti; o atit (p-1) cit si (q-1) trebuie sa contina factori primi mari; o cmmdc (p-1, q-1 ) trebuie sa fie mic.

Pentru a gasi un numar prim p astfel ca (p-1) sa aiba un factor prim mare, se va genera mai intii un intreg aleator p', iar apoi se calculeaza: p = p' * i + 1 , i = 2,4,6,... , pina cind p este prim. O protectie suplimentara se poate obtine daca alegem p' astfel ca (p'-1) sa aiba un factor prim mare.  

(B) O alta problema importanta consta in alegerea exponentilor e si d. Avind alesi intregii p si q, si deci n=p*q, exponentii e si d trebuie sa satisfaca conditia: e * d = 1 mod fi (n). Se alege intii un intreg d > max (p, q) din multimea de intregi relativi primi si mai mici ca fi(n). Este de asemenea necesar ca atit d cit si e sa fie mai mari ca log2 n, deoarece acest lucru ar face ca X^e (mod n) = X si astfel cifrul sa fie ineficient. Alegerea lui e, 0 < e < fi(n) se face astfel incit el sa reprezinte inversul multiplicativ mod  fi(n) al lui d.

Page 60: curs_sec

Acest lucru se poate realiza folosind o variatie a algoritmului lui Euclid.  

5. Atacuri criptoanalitice posibile la RSA

Taria criptografica a cifrului RSA a facut obiectivul a numeroase studii in literatura de specialitate. Atacul criptografic principal consta in incercarea de a determina cheia secreta d din informatia care constituie cheia publica (e,n). Aici exista mai multe cai posibile:  

(1) Factorizarea lui n

Factorizarea lui n in componentele sale ar permite calculul lui fi(n) = (p-1)*(q-1) si apoi determinarea lui d ca invers multiplicativ mod ((n) al lui e. Exista un numar mare de algoritmi de factorizare. Cel mai rapid insa, apartinind lui R. Schroeppel, nepublicat, conduce pentru numere de sute de biti, la valori reprezentind volume de calcul prohibitive. Rivest si Shamir arata ca formula lui Schroeppel privind numarul de pasi ca si cea corespunzatoare timpului necesar factorizarii pot fi reduse prin detinerea, in procesul criptoanalizei a unor informatii colaterale: procedura de generare a intregilor primi p si q; lungimea lui p si q, radacinile mod n, semnatura RSA a unui mesaj M utilizind un modul n corespunzator unui exponent public 3, cei mai putin semnificativi n/4 biti ai lui p. In plus se demonstreaza ca daca criptoanalistul poate pune k intrebari la care sa i se raspunda cu "da" sau "nu", are loc o reducere dramatica a timpului de factorizare a lui n (de exemplu daca k = n/2 sarcina poate deveni banala: el intreaba reprezentarea binara a lui p).  

(2) Calculul lui fi(n) fara factorizarea lui n

Exista studii de criptoanaliza a cifrului RSA care isi propun determinarea directa a lui fi(n) fara obtinerea in prealabil a celor 2 factori p si q ai lui n. Insa problema, din punct de vedere matematic, nu este cu nimic mai simpla decit factorizarea lui n, deoarece gasirea lui fi(n) conduce apoi la factorizarea simpla a lui n.    

Page 61: curs_sec

(3) Determinarea lui d fara factorizarea lui n sau calculul lui fi(n)

A treia metoda de criptoanaliza consta in calculul exponentului secret d, lucru aratat in ca este computational la fel de dificil ca factorizarea lui n. Daca d este cunoscut, este posibila calcularea unor multiplii ai lui (n): e * d - 1 = K * fi (n) , K nr. natural. Miller a demonstrat ca n poate fi factorizat utilizind multiplii ai lui fi(n). Oponentul poate determina o multime de d', cu proprietatea ca toti d' difera prin c.m.m.m.c.((p-1)*(q-1)) iar daca se gaseste unul, atunci n poate fi factorizat. Determinarea insa a fiecarui d' este echivalenta computational cu factorizarea lui n.

Exemplu de criptare RSA: fie mesajul necriptat M, numerele prime p=5 şi q=7. Produsul lor, n=5X7=35. Numărul e=3, iar d=

=16. Criptarea se face astfel: , iar decriptarea . Deci, fie mesajul M=4Criptarea: =29Decriptarea: .

3.2.2. Semnatura digitala RSA

Semnătura digitală, este folosită pentru a identifica autorul unui mesaj. La semnătura digitală, se trimite atât textul criptat, cât şi textul decriptat, care este criptat cu cheia privată a persoanei care-l trimite. Persoana care primeşte mesajul, îl va decripta cu cheia publica a celui care l-a trimis, şi-l va compara cu mesajul necriptat (care este trimis cu mesajul criptat). În caz că cele două texte coincid, atunci transmiţătorul, este acelaşi cu posesorul cheii publice.

Page 62: curs_sec

Semnarea digitală a mesajelor necriptate

3.3. Obţinerea de certificate digitale

Certificatele digitale asigură semnarea electronică a mesajelor, permitând autentificarea expeditorilor. Obţinerea unor certificate digitale se realizează în general după verificarea identităţii celui care doreşte un astfel de certificat şi este în general destul de costisitoare. Există autorităţi de certificare care asigură însă servicii gratuite de acest tip. Printre ele se numără firma Thawte (http://www.thawte.com), care asigură crearea unui cont ce permite obţinerea de certificate digitale în scopuri exclusiv personale gratuit (celelalte servicii fiind cu plată), şi firma GlobalSign Network of Trust (http://www.globalsign.net) care asigură obţinerea de certificate digitale demonstrative pentru scopuri personale (aceste certificate sunt valide pentru o lună).

În general, certificatele care pot fi obţinute gratuit vor conţine doar adresa de poşta electronică a celui căruia i s-a acordat certificatul, fără a fi indicată identitatea acestuia. Verificarea deţinerii acestei adrese de poşta electronică se realizează destul de simplu: se trimite un mesaj care conţine un cod de activare la acea adresă, care poate fi utilizat doar o perioadă limitată de timp pentru a activa certificatul.

În cazul în care se doreşte ca certificatul să conţină şi date despre proprietar (nume, prenume, adresa, loc de muncă etc.) acesta va trebui să dovedească identitatea sa (fapt realizat în general prin intermediul unor acte oficiale, copii după acte de identitate, sau chiar prin prezentarea în persoană la firma care emite certificatul) şi trebuie plătită o anumită sumă pentru acest serviciu. Firmele care emit certificate digitale îşi asumă în general responsabilitatea juridică pentru daunele provocate de eventualii

Page 63: curs_sec

utilizatori care pretind a fi altcineva şi utilizează (fraudulos) în acest scop un certificat digital emis în mod eronat de firma respectivă.

Există ţări în care un contract realizat pe cale electronică şi semnat digital de ambele părţi are aceeaşi valoare ca şi un contract realizat pe hârtie şi semnat de ambele părţi, putând duce la o responsabilitate civilă în diverse cazuri şi la despăgubiri. Nivelul maxim al despăgubirilor pentru care firma îşi asumă responsabilitatea depinde de tipul serviciului oferit deţinătorului certificatului (evident este mai mare în cazul în care acesta era un certificat emis pentru o firmă, şi mai mic în cazul în care certificatul a fost emis gratuit).

Un certificat digital poate fi instalat şi utilizat în programele de informare/comunicare în Internet, cum ar fi: Microsoft Outlook Express, Internet Explorer, NetMeeting. Pentru obţinerea unui certificat emis de Thawte (opţiune recomandată) se parcurg următorii paşi:

1. Conectare la situl http://www.thawte.com; 2. Alegerea opţiunii de "Certificate Personale" (Personal Certs, în

dreapta); 3. Înregistrare ca şi nou utilizator al sistemului (Enroll New Users, în

dreapta); 4. Se cere introducerea unor date specifice (printre care codul

numeric personal, numele, prenumele, alegerea unei parole etc.). Este recomandată citirea cu atenţie a mesajelor afişate în cursul acestei înregistrări, deoarece oferă informaţii utile despre sistemul respectiv;

5. După ce înregistrarea a fost realizată cu succes, se trimite un cod temporar, care este valid o perioadă limitată pentru activarea contului (informaţii suplimentare se trimit fiecărui utilizator prin poşta electronică);

6. Se validează contul; 7. Se intră în pagina proprie (Login existing users în loc de Enroll

New Users); 8. Se solicită emiterea unui certificat digital şi se selecteaza scopurile

în care se doreşte să fie utilizat acesta (cele selectate implicit sunt în general corecte pentru utilizarea dorită);

9. Certificatul se instalează în Internet Explorer (automat va fi recunoscut şi de celălalte aplicaţii) prin efectuarea unui click pe un buton pentru instalare. Pentru obţinerea unui certificat DEMO emis de GlobalSign se

parcurg urmatorii paşi: 1. Conectare la situl http://www.globalsign.net; 2. Alegerea opţiunii de "Certificate Personale" (Personal Certificates); 3. Solicitarea unui certificat (Request your certificate);

Page 64: curs_sec

4. Se completează datele solicitate şi se va primi în scurt timp un cod temporar de activare;

5. Se urmăresc instrucţiunile din mesajul cu codul temporar de activare pentru activarea certificatului;

6. Certificatul se instalează în Internet Explorer (şi automat va fi recunoscut de alte aplicaţii). Certificatul obţinut în acest mod de la firma VeriSign este valabil

doar o lună.Certificatele digitale astfel obţinute se pot folosi pentru trimiterea

de mesaje criptate sau semnate digital ; evident, se pot şi primi asemenea mesaje; în acest caz, este necesară verificarea datelor despre certificatul utilizat.

Page 65: curs_sec

Cap.IV.Aspecte de securitate în reţele de calculatoare

Importanta aspectelor de securitate în retelele de calculatoare a crescut odată cu extinderea prelucrărilor electronice de date si a transmiterii acestora prin intermediul retelelor. În cazul operării asupra unor informatii confidentiale, este important ca avantajele de partajare si comunicare aduse de retelele de calculatoare să fie sustinute de facilităti de securitate substantiale. Acest aspect este esential în conditiile în care retelele de calculatoare au ajuns să fie folosite inclusiv pentru realizarea de operatiuni bancare, cumpărături sau plata unor taxe.

În urma implementării unor mecanisme de securitate într-o retea de calculatoare, informatiile nu vor putea fi accesate sau interceptate de persoane neautorizate (curioase sau, eventual, chiar rău intentionate) si se va împiedica falsificarea informatiilor transmise sau utilizarea clandestină a anumitor servicii destinate unor categorii specifice de utilizatori ai retelelor.

Persoanele care atentează la securitatea retelelor pot apartine unor categorii diverse, comitând delicte mai mult sau mai putin grave: studenti care se amuză încercând să fure posta electronică a celorlalti, "hacker"-i care testează securitatea sistemelor sau urmăresc să obtină în mod clandestin anumite informatii, angajati care pretind că au atributii mai largi decât în realitate, accesând servicii care în mod normal le-ar fi interzise, sau fosti angajati care urmăresc să distrugă informatii ca o formă de răzbunare, oameni de afaceri care încearcă să descopere strategiile adversarilor, persoane care realizează fraude financiare (furtul numerelor de identificare a cărtilor de credit, transferuri bancare ilegale etc.), spioni militari sau industriali care încearcă să descopere secretele / strategiile adversarilor, sau chiar teroristi care fură secrete strategice.

În conditiile în care pot exista interese atât de numeroase de "spargere" a unei retele, este evident că proiectantii resurselor hard si soft ale acesteia trebuie să ia măsuri de protectie serioase împotriva unor tentative rău intentionate. Metode de protectie care pot stopa "inamici" accidentali se pot dovedi inutile sau cu un impact foarte redus asupra unor adversari redutabili - dedicati si cu posibilităti materiale considerabile.

Problemele de asigurare a securitătii retelelor pot fi grupate în următoarele domenii interdependente:

confidentialiatea se referă la asigurarea accesului la informatie doar pentru utilizatorii autorizati si împiedicarea accesului pentru persoanele neautorizate;

integritatea se referă la asigurarea consistentei informatiilor (în cazul transmiterii unui mesaj prin retea, integritatea se referă la protectia împotriva unor tentative de falsificare a mesajului);

Page 66: curs_sec

autentificarea asigură determinarea identitătii persoanei cu care se comunică (aspect foarte important în cazul schimbului de informatii confidentiale sau al unor mesaje în care identitatea transmitătorului este esentială);

ne-repudierea se referă la asumarea responsabilitătii unor mesaje sau comenzi, la autenticitatea lor. Acest aspect este foarte important în cazul contractelor realizate între firme prin intermediul mesajelor electronice: de exemplu, un contract / comandă cu o valoare foarte mare nu trebuie să poată fi ulterior repudiat(ă) de una din părti (s-ar putea sustine, în mod fraudulos, că întelegerea initială se referea la o sumă mult mai mică). Aspectele de securitate enumerate anterior se regăsesc, într-o

oarecare măsură, si în sistemele traditionale de comunicatii: de exemplu, posta trebuie să asigure integritatea si confidentialitatea scrisorilor pe care le transportă. În cele mai multe situatii, se cere un document original si nu o fotocopie. Acest lucru este evident în serviciile bancare. În mesajele electronice însă, distinctia dintre un original si o copie nu este deloc evidentă.

Procedeele de autentificare sunt foarte răspândite si ele: recunoasterea fetelor, vocilor sau scrisului sau semnăturilor unor persoane pot fi încadrate în această categorie. Semnăturile si sigiliile sunt metode de autentificare folosite extrem de frecvent. Falsurile pot fi detectate de către experti în grafologie prin analiza scrisului si chiar a hârtiei folosite. Evident, aceste metode nu sunt disponibile electronic si trebuie găsite alte solutii valabile.

Dintr-un punct de vedere mai pragmatic, implementarea unor mecanisme de securitate în retelele de calculatoare de arie largă, în particular - Internet-ul, priveste rezolvarea următoarele aspecte:

1. bombardarea cu mesaje - asa numitul spam - trimiterea de mesaje nedorite, de obicei cu un continut comercial. Acest fenomen este neplăcut în cazul unui număr mare de mesaje publicitare nedorite si poate avea efecte mai grave în cazul invadării intentionate cu mesaje ("flood"), uzual cu un continut nesemnificativ. Pentru utilizatorii de Internet conectati prin intermediul uni modem, numărul mare de mesaje are ca efect cresterea perioadei necesare pentru "descărcarea" postei electronice si deci un cost de conectare mai ridicat.Există programe de postă electronică care permit vizualizarea antetelor mesajelor primite înainte ca acestea să fie aduse pe calculatorul local, selectarea explicită a mesajelor care se doresc transferate si stergerea celorlalte. În plus, programele de e-mail pot încorpora facilităti de blocare a mesajelor de tip "spam" prin descrierea de către utilizator a unor actiuni specifice de aplicat

Page 67: curs_sec

asupra mesajelor, în functie de anumite cuvinte cheie sau de adresele (listele de adrese) de provenientă.

2. rularea unui cod (program) dăunător, adesea de tip virus - acesta poate fi un program Java sau ActiveX, respectiv un script JavaScript, VBScript etc. ; Asemenea programe sunt în general blocate de navigatoarele moderne dar au ajuns să se răspândească ca fisiere atasate mesajelor de mail, un caz renumit în acest sens fiind cel al virusului "Love Letter" (care deteriorează fisiere de tip sunet si imagine) si mutantilor lui, mai distructivi decât prima versiune.În general marile firme care produc navigatoare testează riguros riscurile impuse de programele dăunătoare rulate de pe site-uri web, uneori create cu intentii distructive, si intervin în general prin versiuni superioare imediat ce un astfel de risc a fost descoperit si corectat. În plus, cea mai mare parte a programelor de navigare permit utilizarea unor filtre specifice pe baza cărora să se decidă dacă un anumit program va fi rulat sau nu, si cu ce restrictii de securitate (decizia se realizează în general pe baza "încrederii" indicate în mod explicit de utilizator). O altă solutie la această problemă va fi prezentată ulterior.

3. infectarea cu virusi specifici anumitor aplicatii - se previne prin instalarea unor programe antivirus care detectează virusii, devirusează fisierele infectate si pot bloca accesul la fisierele care nu pot fi "dezinfectate". În acest sens, este importantă devirusarea fisierelor transferate de pe retea sau atasate mesajelor de mail, mai ales dacă contin cod sursă sau executabil, înainte de a le deschide / executa.

4. accesarea prin retea a calculatorului unui anumit utilizator si "atacul" asupra acestuia. La nivelul protocoalelor de retea, protejarea accesului la un calculator sau la o retea de calculatoare se realizează prin mecanisme de tip fire-wall, prin comenzi specifice; acestea pot fi utilizate si în sens invers, pentru a bloca accesul unui calculator sau a unei retele de calculatoare la anumite facilităti din Internet.

5. interceptarea datelor în tranzit si eventual modificarea acestora - snooping. Datele se consideră interceptate atunci când altcineva decât destinatarul lor le primeste. În Internet, datele se transmit dintr-un router în altul fără a fi (uzual) protejate. Routerele pot fi programate pentru a intercepta, eventual chiar modifica datele în tranzit. Realizarea unei astfel de operatii este destul de dificilă, necesitând cunostinte speciale de programare în retele si Internet, dar există numeroase programe (de tip hacker) care pot fi utilizate în aceste scopuri, ceea ce duce la� �

Page 68: curs_sec

cresterea riscului de interceptare a datelor. Transmisia protejată a datelor trebuie să garanteze faptul că doar destinatarul primeste si citeste datele trimise si că acestea nu au fost modificate pe parcurs (datele primite sunt identice cu cele trimise). Modificarea datelor s-ar putea realiza în mod intentionat, de către o persoană care atentează la securitatea retelei sau printr-o transmisie defectuoasă.

6. expedierea de mesaje cu o identitate falsă, expeditorul impersonând pe altcineva (pretinde că mesajul a fost trimis de la o altă adresă de postă electronică)? spoofing. Această problemă se revolvă prin implementarea unor mecanisme de autentificare a expeditorului.

Se poate remarca faptul că problemele ridicate la punctele 3 si 4 sunt riscuri generice, specifice pentru utilizatorii care fac schimb de fisiere si respectiv pentru toti cei care sunt conectati la o retea de calculatoare - locală sau de arie largă. Problemele de interceptare si autentificare, cele mai importante din punctul de vedere al utilizatorilor obisnuiti, sunt rezolvate prin aplicarea unor tehnici de codificare.

Pentru asigurarea securitătii retelei este importantă implementarea unor mecanisme specifice pornind de la nivelul fizic (protectia fizică a liniilor de transmisie ), continuând cu proceduri de blocare a accesului la nivelul retelei (fire-wall), până la aplicarea unor tehnici de codificare a datelor (criptare), metodă specifică pentru protectia comunicării între procesele de tip aplicatie care rulează pe diverse calculatoare din retea.

Împiedicarea interceptării fizice este în general costisitoare si dificilă; ea se poate realiza mai facil pentru anumite tipuri de medii (de exemplu, detectarea interceptărilor pe fibre optice este mai simplă decât pentru cablurile cu fire de cupru). De aceea, se preferă implementarea unor mecanisme de asigurare a securitătii la nivel logic, prin tehnici de codificare / criptare a datelor transmise care urmăresc transformarea mesajelor astfel încât să fie întelese numai de destinatar; aceste tehnici devin mijlocul principal de protectie a retelelor.

Având în vedere importanta dezvoltării procedeelor de criptare pentru asigurarea securitătii, dedicăm următoarele paragrafe acestui subiect. Pentru început, se prezintă problema criptării si metodele traditionale de criptare iar apoi - câteva directii de evolutie în criptografia modernă.

Page 69: curs_sec

Cap.V. Implicatii sociale

ale problemelor de securitate

Din motive strategice lesne de înteles, dezvoltarea tehnicilor criptografice este o problemă delicată si în general politicile guvernamentale încearcă să tină sub control acest domeniu. Evident că această abordare nu este pe placul cercetătorilor care urmăresc evolutia algoritmilor în primul rând din ratiuni stiintifice si nici al publicului larg, în măsura în care s-ar leza libertătile individuale.

Un caz renumit de reactie guvernamentală negativă la distribuirea unui soft criptografic, dezbătut în cele din urmă instantă juridică, este cel al sistemului de postă electronică criptată Pretty Good Privacy, creat de Phil Zimmerman si distribuit pe Internet.

În unele tări (de exemplu, Franta), criptografia neguvernamentală este interzisă, cu exceptia cazurilor în care guvernul primeste toate cheile utilizate. De asemenea, interceptările guvernamentale ale comunicatiilor private s-au practicat pe scară destul de extinsă. De exemplu, guvernul SUA a propus o tehnică de criptare a viitoarelor telefoane digitale care include o caracteristică specială ce ar permite institutiilor autorizate (si care detin un ordin judecătoresc în acest sens) interceptarea si decriptarea oricărui apel telefonic din SUA. Acest subiect a iscat numeroase discutii contradictorii atât din punct de vedere din punct de vedere tehnologic (au fost propuse chiar metode de contracarare a procedeului), cât si juridic fiindcă, pe de o parte, ar putea fi lezate libertătile individuale iar, pe de altă parte, s-ar putea asigura depistarea unor actiuni antisociale.

6.1. Transmisii multimedia în Internet. Audio- si videoconferinte

Notiunea de multimedia sugerează combinarea mai multor medii, de interes fiind cele derulate în intervale de timp bine determinate, eventual în interactiune cu utilizatorul, cum ar fi mediile audio si video (sunete si filme). Prelucrările de informatii multimedia sunt un atuu

Page 70: curs_sec

relativ recent al tehnologiilor informatiei si s-au extins din domeniul unui calculator local integrat într-un sistem birotic în retele de calculatoare.

Astfel, serviciile de comunicare din Internet au evoluat în timp de la mijloacele textuale (mesaje electronice, talk, chat textual) la utilizarea unor tehnici mai complexe, cu caracteristici multimedia: postă electronică în care se pot insera imagini, documente, filme video sau alte tipuri de obiecte, audioconferinte, videoconferinte, discutii audio.

Facilitătile multimedia disponibile în retelele de calculatoare au devenit curând foarte atractive pentru multi utilizatori. În acest context, dezvoltarea tehnicilor de integrare cât mai performantă a acestora în serviciile oferite de retelele de calculatoare este extrem de actuală.

6.2. Informatii multimedia în format digital

Pentru a fi prelucrate cu ajutorul calculatorului, datele audio si video vor fi codificate digital, fisierele obtinute putând fi redate si prelucrate cu produse soft specifice (multimedia). De exemplu, sistemele de operare Windows sunt prevăzute cu o gamă de accesorii multimedia pentru redarea si procesarea fisierelor audio-video (Sound Recorder, CD Player, MIDI, Media Player - care redă fisiere audio-video).

6.2.1. Secvente de sunet

Undele audio vor fi convertite în formă numerică (digitală) de un convertor analogic-numeric specific. Procesul de transformare poate introduce erori ("zgomote") dar acestea sunt în general minore, nedetectabile de urechea umană. Convertirile digitale al informatiilor sonore sunt necesare pentru prelucrările sau transmisiile digitale ale datelor sonore: accesarea acestora prin intermediul calculatoarelor sau retelelor de calculatoare, convorbiri telefonice prin linii analogice si centrale digitale, crearea CD-urilor audio etc.

Fisierele de sunet pot fi usor prelucrate pe calculator, prin intermediul unor programe specifice, care permit utilizatorilor să înregistreze (memoreze), să redea, să editeze sau să mixeze unde sonore provenite din surse multiple. Una din cele mai cunoscute aplicatii pentru prelucrări muzicale este MIDI (Musical Instrument Digital Interface), o interfată digitală standard care simulează diverse instrumente muzicale si efecte speciale, inclusiv sunete din natură sau produse de diverse aparate si asigură gestiunea lor. MIDI este un echivalent informatic de redare / creare a unei partituri sonore si poate fi folosit de către muzicieni ca un instrument de dezvoltare pentru secventele de sunet.

Page 71: curs_sec

Mesajele audio contin frecvent discursuri umane; pentru transmiterea lor eficientă pe cale digitală, s-au creat sisteme de generare si transmisie a vocii care folosesc modele de sisteme vocale ce reduc vocea la câtiva parametri esentiali, cu proprietăti fonetice particulare.

Secvente video - reprezentare si afisare

Derularea imaginilor video are la baza succedarea unui anumit număr de imagini statice în fiecare secundă. Dacă se utilizează cel putin 25 de imagini pe secundă, ochiul uman nu sesizează faptul că imaginile sunt discrete, ci le percepe ca imagini continue, în miscare. Acest principiu stă la baza tuturor sistemelor de producere a filmelor, inclusiv a televiziunii - care este în esentă, analogică.

Într-un sistem digital, fiecare cadru este reprezentat sub forma unei grile dreptunghiulare de puncte luminoase numite pixeli. Pentru o imagine în alb si negru, un bit (0 sau 1) este suficient pentru reprezentarea unui pixel. Nivelurile de gri (în număr standard de 256) se pot reprezenta dacă fiecare pixel este codificat pe 8 biti. Sistemele color uzuale cu 256 de culori folosesc în consecintă tot 8 biti pentru reprezentarea unui pixel. Evident, pentru reprezentarea unui număr mai mare de culori ar trebui utilizati mai multi biti în codificarea fiecărui pixel dar introducerea unui număr mai mare de culori nu este relevantă din moment ce ochiul uman nu ar putea distinge diferente infime între două nuante apropiate.

O imagine retinută prin codificarea fiecărui pixel continut este de tip BiT Map (hartă de biti, BMP) si are dimensiuni destul de mari. Un format de dimensiuni mult mai mici pentru memorarea imaginilor si, în consecintă, larg utilizat, este GIF. Există programe care permit conversia unor tipuri de reprezentări ale imaginilor în alte tipuri de reprezentări.

Configuratiile obisnuite ale monitoarelor de calculator sunt: 640×480 pixeli (VGA), 800×600 pixeli (SVGA), 1024×768 pixeli (XVGA). Această caracteristică, dată de numărul de pixeli de pe ecran, se numeste rezolutie. Raportul dintre numărul de pixeli pe orizontală si verticală, important pentru simetria figurilor, se numeste raport de aspect si are valoarea 4/3. Acest raport asigură o compatibilitate între tuburile electronice ale monitoarelor si televizoarelor.

Numărul de cadre derulate pe secundă pentru imaginile animate, ca si în cazul analogic, este de cel putin 25. Monitoarele de înaltă calitate a calculatoarelor redesenează ecranul de 75 de ori pe secundă (sau chiar mai des) iar pentru eliminarea pâlpâirii, acelasi cadru de reafisează de câteva ori la rând. Procesul de reafisare este simplificat de faptul că într-un calculator imaginea ecranului este memorată.

Page 72: curs_sec

6.2.2. Compresia datelor multimedia memorate si transmise

Informatiile multimedia au dimensiuni foarte mari; de aceea, pentru transmiterea lor trebuie găsită o formă comprimată echivalentă sau foarte apropiată - cu o dimensiune considerabil redusă dar păstrând în esentă aceleasi informatii. Un factor important în buna functionare a transmisiilor multimedia actuale îl constituie aplicarea tehnicilor de compresie dezvoltate în ultimele decenii.

Păstrarea într-o formă comprimată a datelor multimedia are avantaje evidente si din punctul de vedere al memoriei externe necesare pentru a le retine. În plus, trebuie să existe produse soft capabile să prelucreze datele în acea formă.

Compresia datelor transmise presupune aplicarea unui algoritm de codificare a datelor înainte de a le emite si a unui algoritm de decodificare la destinatie (acesta din urmă va reconstrui forma initială, sau o formă foarte apropiată de aceasta, din datele comprimate). Practic, este important ca algoritmul de decodificare să fie rapid si putin costisitor din punctul de vedere al resurselor folosite fiindcă într-o retea de calculatoare, un fisier comprimat reprezentând informatii multimedia poate fi accesat si transferat repetat, de mai multi utilizatori. În cazul în care anumite informatii multimedia se transmit în timp real - de exemplu, în videoconferinte, codificarea rapidă a datelor este de asemenea importantă pentru a se asigura eficienta transmisiei.

Aceste necesităti, la care se adaugă faptul că diferente minore în secventele multimedia sunt adesea imperceptibile de către om, dau o caracteristică importantă a codificărilor / decodificărilor multimedia: procesul de codificare / decodificare nu trebuie să fie perfect reversibil dar trebuie să fie rapid si să furnizeze o formă comprimată foarte apropiată de forma initială, si de dimensiuni convenabile. Acceptarea unui număr mic de informatii pierdute este foarte avantajoasă pentru ratele de compresie uzual necesare. Astfel, algoritmii de compresie cu pierderi mici de informatie în rezultat fată de forma originală sunt adesea preferati celor care furnizează o iesire absolut identică dar sunt mai costisitori.

Urmărind aceste principii, în 1993 au fost adoptate două standarde de codificare: pentru compresia imaginilor statice cu tonuri continue - standardul JPEG (Joint Photografic Experts Group) iar pentru filme - MPEG (Motion Picture Experts Group), care foloseste codificarea JPEG pentru fiecare cadru separat.

Aceste tipuri de codificări sunt foarte importante pentru eficienta memorării si transmiterii imaginilor statice si animate; de exemplu, o imagine va fi mult mai convenabil memorată în format JPEG decât în format BMP. Imaginile animate au uzual dimensiuni mult mai mari - s-a

Page 73: curs_sec

estimat, de exemplu, că un film în format comprimat MPEG ocupă aproximativ 4GO.

6.3. Caracteristici si avantaje ale transmisiilor multimedia

Limitările impuse în urmă cu câtăva vreme de viteza de comunicare redusă au început să dispară odată cu introducerea de noi tehnologii de conectare la Internet si de interconectare a serverelor, care au dus la o crestere a cantitătii de date ce pot fi transmise si, în consecintă, la utilizarea de noi facilităti. Cel mai cunoscut exemplu în acest sens este ISDN (Integrated Services Digital Network).

Evolutia infrastructurii de telecomunicatii si reducerea continuă a preturilor a dus la utilizarea tot mai intensă a programelor ce asigură o comunicare cu caracteristici apropiate de cea care are loc între persoane situate fizic în aceeasi încăpere. Trecând de la comunicarea textuală la o comunicare audio se poate transmite o parte suplimentară a mesajului, cea reprezentată de mesajele vocale non-verbale, care nu pot fi exprimate convenabil, nici chiar prin "smileys", în mesajele scrise (interjectii, onomatopee, râsul, intonatia vocii etc.). În cazul utilizării unei comunicări de tip video-conferintă mesajul comunicat este si mai complex, la elementele anterior enumerate adăugându-se mesajele non-verbale vizuale, cum ar fi mimica fetei, miscări ale corpului etc.

Comunitatea Internet si-a implementat propriul sistem digital multimedia, numit MBone (Multicast Backbone). Acesta poate fi privit ca un sistem de radio si televiziune în Internet, care este utilizat pentru difuzări audio si video în întreaga lume, prin intermediul retelei Internet. Operational din 1992, a fost folosit inclusiv pentru transmiterea unor evenimente stiintifice notabile, cum ar fi lansarea navetelor spatiale. Emisiunile MBone pot fi înregistrate digital, folosind un soft corespunzător.

Tehnologiile de codificare MBone utilizează atât standardul MPEG, cât si alte tehnologii de codificare. Sub aspect tehnic, MBone poate fi privită ca o retea virtuală care acoperă Internet-ul, fiind formată din LAN-uri sau grupuri de LAN-uri interconectate, cu posibilităti de transmitere multiplă.

6.4. Audio- si videoconferinte

Dezvoltarea recentă a programelor pentru compresia/decompresia semnalelor, suprimarea zgomotului de fond, codificarea/decodificarea audio si video în formate standardizate a permis răspândirea din ce în ce mai largă a aplicatiilor de tip audio-conferintă si video-conferintă. Scăderea pretului si cresterea performantelor dispozitivelor hardware

Page 74: curs_sec

asigură utilizarea programelor de video-conferintă cu ajutorul calculatoarelor uzuale, fără a mai fi necesare echipamente speciale si costisitoare. Crearea de standarde pentru comunicarea între diferite programe de video-conferinte a permis eliminarea incompatibilitătilor existente între diversele tipuri de sisteme.

Audio-conferinta asigură comunicarea simultană între mai multe persoane, prin dialog direct, permitând ridicarea de probleme si obtinerea imediată a răspunsului. În unele cazuri se utilizează suplimentar faxul, posta electronică sau posta normală pentru a face un schimb de documente necesare conferintei înainte, în timpul sau după desfăsurarea acesteia.

Video-conferintele au apărut initial în forma broadcast, prin care toti participantii puteau vizualiza secventele video primite de la un calculator central iar între ei comunicau doar prin linii audio. Acest model de video-conferintă este foarte util în situatiile în care se doreste realizarea unei prezentări video (de exemplu, a unui produs sau a unui proiect).

Un model mai performant de video-conferintă este tipul multipoint; în acest caz, toti participantii pot comunica între ei, sistemul permitând fie vizualizarea tuturor participantilor într-o zonă a fereastrei de lucru utilizate, fie doar a participantului "activ" (cel care vorbeste în momentul respectiv).

Organizarea videoconferintelor impune utilizarea unor echipamente aditionale pe lângă calculator si programele acestuia: camere video performante, sistem audio pentru săli de conferinte, video-proiector; aceste echipamente asigură participarea efectivă la conferintă a mai multor persoane din aceeasi sală.

Videoconferintele sunt extrem de utile în aplicatii de învătământ la distantă, pentru întâlniri de afaceri sau întâlniri politice, consultatii medicale preliminare etc.

Programele uzuale de videoconferintă oferă si servicii suplimentare, cum ar fi: transferul de fisiere, chat (discutii în mod text), realizarea de desene si schite în comun, partajarea de aplicatii (astfel încât toti participantii să poată vizualiza ecranul unuia dintre participanti, respectiv să preia controlul aplicatiei pentru a face modificări într-un document activ) si altele. În capitolul 19 se prezintă programul NetMeeting, care este creat de firma Microsoft si permite realizarea de video-conferinte cu o mare parte dintre facilitătile anterior descrise.

Page 75: curs_sec

6.5. Posibilităti de implementare a aplicatiilor de tip video la cerere

Un serviciu potential legat de tehnologiile multimedia în retele, si care pare a câstiga tot mai multi adepti în tările cu o infrastructură de comunicatii dezvoltată, este video-ul la cerere, prin care să fie satisfăcută instantaneu cererea de difuzare a unui film de către un client. Desi detaliile tehnice si juridice ale unei asemenea retele nu sunt încă complet puse la punct, gradul ridicat al cererii motivează firmele să investească în acest domeniu.

Un sistem de tip "video la cerere" ar trebui să contină: o retea de bază de arie largă (natională sau internatională) la care să

fie conectate mii de retele locale de distributie (de exemplu, de tip cablu TV sau ale companiilor de telefoane), continând servere locale;

calculatoare personale specializate ("cutii de conectare") prin care fiecare utilizator să fie conectat la o retea de distributie. Într-un asemenea sistem, furnizorii de informatie conectati la

reteaua de bază (recomandabil prin fibre optice) ar putea oferi servicii diverse: cumpărături la domiciliu, servicii de ascultare audio, servicii de vizualizare video, acces la Web.

Un video server ar trebui să memoreze si să transmită simultan un număr mare de filme, programe de televiziune înregistrate, rubrici sport, jurnale sonore etc., ceea ce ridică probleme din punctul de vedere al spatiului de memorare. Pentru filmele care nu sunt accesate foarte frecvent, se poate adopta stocarea pe suporturi mai putin costisitoare si cu acces mai lent (de exemplu, banda magnetică) iar pentru informatiile accesate frecvent, se vor utiliza suporturi rapide, de tipul discului magnetic. În vederea realizării transmisiei, informatiile se vor transfera în memoria RAM.

Pentru a face fată la cererile utilizatorilor, localizarea filmelor, mutarea datelor între echipamente si taxarea clientilor, video-serverele ar trebui să aibă o arhitectură performantă, multiprocesor, echipamente de stocare, componente pentru conectarea la retea si un soft adecvat, care să functioneze în timp real. Softul trebuie să permită clientilor, printr-o interfată adecvată si în regim distribuit, să deschidă, să deruleze sau să oprească derularea secventelor video dorite.

Pentru realizarea retelei de distributie, concurează, prin dezvoltarea de noi tehnologii care să atragă clientii, companiile telefonice si companiile de televiziune prin cablu. Principalele proiecte propun utilizarea fibrei optice pentru conectarea la servere, respectiv a unor cabluri coaxiale mai performante decât cele din televiziunea clasică, care să înlocuiască sistemul de TV cablu existent. Se pare că din motive

Page 76: curs_sec

comerciale se preferă ultima solutie, care asigură un sistem simplu de taxare bazat pe codificarea transmisiilor.

Pentru conectarea clientilor la reteaua de distributie se pot folosi: calculatoare personale, cu monitoare de rezolutie mare, interfată la

reteaua de distributie locală si un soft accesibil. Această abordare nu este costisitoare si permite integrarea în WWW dar calitatea filmelor derulate pe monitoarele obisnuite nu este cea mai convenabilă.

dispozitive speciale ("cutii de conectare") care conectează televizorul la reteaua de distributie. Aceste dispozitive sunt similare calculatoarelor, continând o unitate centrală, memorii ROM si RAM, un controlor al operatiilor de intrare-iesire, un decodificator MPEG, interfată de retea si un sistem de operare în timp real cu nucleul în memoria ROM. Avantajul abordării constă în faptul că orice posesor al unui televizor ar putea beneficia de servicii de video la cerere. Apar însă probleme de interfată, selectarea optiunilor cu telecomanda fiind mai putin convenabilă decât cu ajutorul mouse-ului si a softului de tip PC.

Aplicatiile de acest tip vor fi probabil puse în practică pe scară largă în viitor. Problemele actuale de implementare a video-ului la cerere sunt legate de faptul că încă nu s-au dezvoltat standarde pentru componentele si facilitătile unui asemenea sistem, conditie indispensabilă pentru productia de masă. În plus, tehnologia este foarte costisitoare, pornind de la costul video-serverelor (în jur de 10 milioane de dolari) si până la cutiile de conectare. În aceste conditii, s-a preconizat s-ar putea amortiza costurile dacă, de exemplu, o cutie de conectare s-ar închiria cu 300 de dolari si fiecare client ar cumpăra cel putin două filme pe lună, cu 5 dolari pe film.

Ar fi necesare standarde pentru tehnologia reţelei de bază şi metoda de distribuţie locală, proprietatea asupra cutiei de conectare, includerea facilităţilor de telefonie şi acces la Web.

6.6. Confidentialitatea datelor personale

      Cand navigam pe Internet, multe site-uri colecteaza date despre noi, incluzand de unde suntem conectati. Din pacate aceste informatii sunt colectate fara consimtamantul noastru. In celelalte tari, unde cadrul legislativ este unul care apara consumatorul, pentru ca aceasta suntem pe Internet, confidentialitatea datelor personale este un lucru vital, care tine de civilizatie. Noi nu suntem obisnuiti sa ne protejam, sau sa nu acceptam ca anumite date sa se "vada", date personale, cum ar fi: la ce firma

Page 77: curs_sec

Internet Service Provider (ISP) avem abonament, din ce site am intrat in cel ce ne citeste acesti parametrii privati, ce sistem de operare avem instalat si ce agent de navigare folosim. Binenteles ca uneori nu ne pasa, caci nevoia de informatie este mai puternica decat "paranoia" privatului. Daca incerc o comparatie, ce este mai puternic, sa se uite cineva ce benzina folosim, de unde venim, ce tip de masina avem, de cate ori am mai fost in acel loc, sau sa stam linistiti ca nu ne cunoaste nimeni si sa consumam. Pana acum frica de pe Internet este cea produsa de hackeri, si nu cea a privatului, a privirii in gradina proprie.      Aparitia unui site, care cucereste toata reteaua romaneasca, fara ca utilizatorul sa fie protejat, fara ca sa fie avertizat ce se intampla cu IP-ul (Internet Protocol) lui, cu tipul de navigator, cu tipul de sistem de operare. Ganditi-va numai la 500.000 de utilizatori unici (utilizatorul este identificat prin IP, aparitia in lista celor 500.000 fiind unica) care alimenteaza baza de date lunar cu datele acestea. Toti banii pe care o agentie ii da pe colectare datelor, tiparind formulare, platind oamenii care suna din usa in usa, incercand sa intrebe DACA utilizati Internetul si la ce ISP aveti abonament, platind micile premii promotionale care se ofera la completare unui formular, se duc pe apa Sambetei din cauza unui sistem care necesita 40-60 de ore de programare pentru creerea lui. Nu iau apararea acestor agentii care pot sau nu sa fie subventionate din banii statului, ci iau apararea individului care este descoperit in fata unor astfel de practici care sunt niste artificii de programare. Cu alte cuvinte ceea ce face www.trafic.ro sau alte site-uri care publica datele utilizatorilor este un furt.       Comunicate de presa in care se afirma ca puteti obtine "profilul utilizatorului" este o incalcare a drepturilor omului, si toata "afacerea" in este detaliata in termeni legali. Ceea ce reprezinta din punct de vedere tehnic, posibilitatea contorizarii utilizatorilor, este benefic pentru un site care nu dispune de astfel de "counter", etica ne invata sa respectam aproapele si sa respectam intimitatea unui utlizator.       Pe Internet un site care sa aiba putere juridica, in fata unui ligitiu cauzat de copyright sau de confidentialitate trebuie sa aiba "Terms of use" si "Privacy policy", care in romana s-ar traduce "Termeni de utilizare", respectiv "Politica de confidentialitate".       La ce intrebari trebuie sa rapunda "Politica de confidentialitate":

Ce informatii de identificare ale voastre sunt colectate; Ce organizatie colecteaza aceste informatii; Cum sunt utilizate informatiile; Cu cine pot fi impartasite informatiile; Ce alegeri va sunt disponibile folosind si distribuind informatia;

Page 78: curs_sec

Ce tip de procedee de securitate sunt folosite pentru protejarea contra pierderii, lipsei sau alterarii informatiei de sub controlul firmei; si

Cum puteti corecta orice inacurateta din informatie.

Un astfel de document se face impreuna cu o descriere tehnica a ceea ce inseamna informatia ce se poate obtine de la voi, cum ar fi: un cookie, o adresa de email, o adresa de Internet. Intr-un site care are un continut propriu care reprezinta o creatie intelectuala, nu este de ajuns sa specificam "Copyright 2000 XYZ" ci acest copyright trebuie insotit de termenii de utilizare si politica de confidentialitate. Cel mai simplu este ori sa traduceti un document deja existent - ceea ce inseamna furt sau in viziunea altora "cine isi da seama" - sau sa platiti un jurist pentru redactarea lor. Acum depinde de voi cat de bine doriti sa va protejati opera, daca ceea ce ati creat nu vreti sa fie folosit de altcineva care cunoaste aceste minimale cerinte juridica pentru folosirea unui continut.

Citez dintr-un document public al organizatiei non-profit Truste care acorda licente pentru "politele de confidentialitate":

"Informatia personala de identificare" se refera la orice informatie care identifica sau poate fi folosita la identificare, contactare, sau localizare a unei persoane ale carui apartin aceste informatii. Aceasta include informatii care sunt folosite in sensul indentificarii personale, incluzand legatura cu informatii de identificare din alte surse, sau de la care cu alte informatii personale pot fi usor derivate, incluzand, dar nelimitand, nume, adresa, numar de telefon, numar de fax, adresa email, profil financiar, numar personal si numar de credit card...

      Pornind de la "romanizarea" cuvintelor va voi furniza urmatoarele

zone din cadrul unui site unde intra in discutie protejarea utilizatorului in situatia de frauda a datelor personale: Inregistrare (Registration), Cumpara (Order), Cookieuri (Cookies), Loguri (Log Files), Sheruire (Sharing), Linkuri (Links), Newsletter, Surveys & Contests, Spune-i unui Prieten (Tell-A-Friend), Securitate (Security), Supplementation of Information, Special Offers, Updateuri (Site and Service Updates), Correction/Updating Personal Information, Choice/Opt-out, Notification of Changes.       Adrese utile de unde puteti obtine informatii detaliate depre confidentilitatea datelor pe Internet:

www.privacy.net - Teste pentru a putea realiza ce se poate obtine de la tine

www.privacy.org - Resurse

Page 79: curs_sec

www.truste.com - Definitii, modele, etc.

6.6. Marca Inregistrata, Copyright, Patent

6.7.1. Marca inregistrata ® (Trademark/Service Mark)...

Protejeaza nume distincte, fraze scurte, sigle sau design grafic care sunt proiectate sa distinga produsele si serviciile furnizate de stapanul marcii. Exemple ar fi: Kodak, "Just do it" si sigla McDonalds.

6.7.2. Copyright ©...

Protejeaza lucrarile originale ale unui autor cum ar fi lucrari de arta, imagini, lucrari literare, incluzand programe de calculator (software), compozitii muzicale si alte creatii care sunt fixe intr-o forma tangibila.

6.7.3. Patent...

Un patent garanteaza un monopol pentru un numar de ani pentru folosirea si dezvoltarea unei inventii.       Inainte de revolutia digitala, scriitorii, artistii si editorii s-au luptat cu

controlul creatiilor, cu folosirea textului, imaginilor si designului. In noua

tehnologie, cu o apasare de buton, multiple lucrari pot fi reproduse si

transmise la un terminal al unui computer din intreaga lume. Encodand si

encriptand (cuvinte romanizate) informatia cu aceste modele noi de

licentiere poate prezenta solutia de protejare a acestor lucrari. Patetismul

poate fi sesizat, dar cea mai mare multumire a unui creator este ca munca

lui sa fie raplatita si din punct de vedere social, sa fie respectat.

Page 80: curs_sec

Cap.VI. Steganografia6.1. INTRODUCERE

Steganografia, este stiinta ascunderii datelor. Cuvantul steganografie, provine din limba greaca si inseamna scris ascuns; acest cuvant, a folosit pentru prima oara de un staret, care a publicat in 1499 o lucrare intitulata "Steganographia" si care trata tehnici de scris ascuns. Steganografia, include o varietate mare de metode de comunicare secreta. Printre aceste metode, se numara: scrierea cu cerneala invizibila, microfotografii, aranjarea caractrelor (o alta aranjare decat cea obtinuta prin criptografiere), s.a.

Steganografia, nu inlocuieste criptografia, ea oferind inca un strat de protectie daca acestea doua sunt folosite impreuna.

Importanta steganografiei, a fost evidentiata mai ales in timpul razboaielor, ea fiind folosita de sute de ani, sub diferite forme. Primul document care descrie folosirea steganografiei pentru ascunderea mesajelor transmise, este scris de Herodot. In Grecia antica, se scria pe tablite de lemn acoperite cu ceara. Astfel, pentru a transmite mesaje care sa nu dea de banuit, ceara era data jos de pe tabita de lemn, mesajul era incrustat direct pe lemn, dupa care era acoperit din nou cu ceara.

O alta metoda era raderea in cap a unui mesager, tatuarea pe cap a unui mesaj, dupa care se astepta cresterea parului.

O alta cale de transmitere a mesajelor, era scrierea cu substante invizibile. Asemenea substante au fost folosite cu mare succes in Al Doi-lea Razboi Mondial. Astfel, o scrisoare care parea banala, putea contine diferite mesaje scrise intre randuri. La inceputurile celui de-Al Doi-lea Razboi Mondial, tehnicile de steganografie, constau aproape in exclusivitate din scrierea cu substante invizibile. Aceste substante, puteau fi: lapte, otet, suc de fructe, urina, etc.

Cu avansarea tehnologiei, aceste "cerneluri" au fost inlocuite cu substante tot mai sofisticate, care reactionau la diferite substante chimice, iar pentru obtinerea mesajului, hartia era trecuta prin bai cu diferite substante.

O alta cale de transmitere a mesajelor, era "spargerea" textelor in litere si punerea lor intr-o anumita pozitie in cuvinte care formeaza un text care nu trezeste nici o suspiciune. O astfel de tehnica, a fost folosita de un spion german in cel de-al doilea razboi mondial. Unul din textele pe care le-a trimis, era urmatorul:"Apparently neutral's protest is thoroughly discounted and ignored. Isman hard hit. Blockade issue affects pretext for embargo on by products, ejecting suets and vegetable oils."

Page 81: curs_sec

Astfel, daca se ia a doua litera din fiecare cuvant, se obtine mesajul: "Pershing sails from NY June 1".

Cu dezvoltarea tehnicilor de detectare a mesajelor, s-au dezvoltat si tehnicile de steganografie, inventandu-se noi metode care puteau sa transmita mai multa informatie intr-o forma mai ascunsa. Germanii, au inventat microfotografiile, metoda prin care se putea transmite printr-o fotografie de marimea unui caracter, pagini de ziar cu o claritate uimitoare. Prima microfotografie, a fost descoperita pe un plic, care era dus de un agent german in 1941.

Dar, cu fiecare metoda de steganografie care a fost descoperita, o alta a fost inventata. Chiar si aranjarea in pagina a unui document, poate ascunde un mesaj.  De exemplu, daca se ia textul :                  "We explore new steganographic and cryptographic                    algorithms and techniques throughout the world to                    produce wide variety and security in the electronic web                    called the Internet."si se muta cu cateva spatii unele cuvinte din text, se obtine textul:                     "We explore new steganographic and cryptographic                    algorithms and techniques throughout the world to                    produce wide variety and security in the electronic web                    called the Internet."Daca cele doua texte se suprapun, se obtine:                  "We explore new steganographic and cryptographic                    algorithms and techniques throughout the world to                    produce wide variety and security in the electronic web                    called the Internet."

Aceasta, este obtinuta prin expandarea cu un spatiu inainte de "explore", "the", "wide" si "web" in primul text si condensarea cu un spatiu dupa "explore", "the", "wide" si "web" in al doilea text.

6.2. SOFTWARE  STEGANOGRAFIC

Software-ul steganografic, este nou si foarte eficace. Asemenea software, permite ascunderea informatiilor in fisiere de sunet, imagini si pe medii care aparent par goale.

O imagine, este reprezentata ca un sir de numere, care reprezinta intensitatile luminii in diferite puncte (pixeli). O rezolutie destul de folosita a unei imagini este cea de 640 pe 480 pixeli, avand 256 de culori (8 biti pe pixel). O astfel de imagine contine aproximativ 300K de date.De obicei, sunt doua tipuri de fisiere folosite pentru a ascunde date intr-o imagine: fisierul imagine initial, numit container si mesajul care se doreste a se ascunde. Mesajul care se ascunde poate fi simplu text, un text

Page 82: curs_sec

criptat, o alta imagine sau orice altceva ce poate fi ascuns in bitii cel mai putin semnificativi (ultimul bit al unui byte).

De exemplu, o imagine cu rezolutia de 1024x768 pe 24 de biti (3 bytes sau octeti), poate produce un fisier de peste 2MB (1024x768x24/3). Toate variatiile de culori, sunt derivate din 3 culori principale: rosu, verde si albastru. In aceasta imagine, fiecare culoare este reprezentata de 3 octeti (fiecarei culori principale, ii revine cate un octet). Daca informatia este ascunsa in fiecare cel mai putin semnificativ bit, 3 biti, pot si ascunsi in fiecare pixel. Imaginea container, va arata exact la fel cu imaginea in care au fost ascunse datele (deoarece ochiul uman nu face distinctie intre 2 culori atat de apropiate) si va avea aceasi marime (deoarece doar se inlocuieste ceva cu altceva, neadaugandu-se sau stergandu-se nimic).

Fisierele imagine care sunt cele mai recomandate, sunt imaginile pe 24 de biti (alternativa putin acceptata deoarece ocupa un spatiu mare) care pot ascunde multa informatie sau fisierele care contin imagini alb-negru, deoarece diferentele de culoare sunt foarte departate. Astfel, imaginea de mai jos contine culorile posibile ale unei imagini alb-negru pe 1 octet (2 =256 culori).

                                  Orice culoare dintr-o astfel de imagine, poate fi inlocuita cu o alta

culoare pe 4 biti, iar restul de patru sa fie folositi pentru ascunderea datelor. Exemplu de paleta de culori pe 4 biti:

Page 83: curs_sec

6.3. Exemple

Pentru a arata diferenta dintre o imagine obisnuita si o imagine steganografiata, am inclus niste teste (cam vechi, de prin 1998) facute cu diferite softuri steganografice.

Mesajele care se doresc transmise, sunt un text in limba engleza si o imagine, astfel:

Mesajul 1, notat cu M1:"Steganography is the art and science of communicating in a way which hides the existence of the communication. In contrast to cryptography, where the "enemy" is allowed to detect, intercept and modify messages without being able to violate certain security premises guaranteed by a cryptosystem, the goal of steganography is to hide messages inside other "harmless" messages in a way that does not allow any "enemy" to even detect that there is a second secret message present [Markus Kuhn 1995-07-03].".

Mesajul 2, notat cu M2, este o imagine din satelit a unei baze sovietice de bombardiere din Dolon, Kazakstan, facuta pe 20 August 1966.

Astfel de fotografii (din anii 1960), pot fi luate de pe site-ul http://edcwww.cr.usgs.gov/dclass.

Imaginile container care vor fi folosite, sunt o poza a unui Renoir si un portret al lui William Shakespeare.

Primul fisier container, notat cu C1, se poate gasi pe site-ul unui muzeu francez la http://www.cnam.fr/wm/paint/auth/renoir.

Page 84: curs_sec

Al doi-lea fisier container, notat cu C2, (portretul lui William Shakespeare) poate fi luata de pe site-ul http://www.cultureware.com/cultureware/shakespeare

Imaginea lui Shakespeare, este prea mica pentru a ascunde mesajul M2, dar se poate ascunde mesajul M1, fara sa se observe aproape nici o diferenta. Din soft-urile testate, doar doua au reusit sa ascunda mesajul M2, mesajul M1, fiind ascuns de orice soft, in orice container. Al doi-lea set de teste s-a incercat ascunderea ambelor mesaje (M1 si M2) intr-un singur container (s-au folosit tot C1 si C2, sau alte containere).

Soft-urile cu care s-au facut testele, sunt: Hide and Seek, StegoDos, White Noise Storm si S-Tools. Toate aceste programe sunt shareware.

Page 85: curs_sec

Aproape fiecare autor al acestor soft-uri au recomandat criptarea mesajelor inainta steganografierii, unele chiar folosind-o direct.

6.3.1. Hide and Seek:

Nu a reusit decat sa ascunda mesajul M1. Acesta este ascuns in containerul C2. Imaginea din stanga este imaginea originala, iar cea din dreapta, imaginea cu mesajul M1.

6.3.2. StegoDos

Este destul de dificil de folosit, atat la "punerea" textului, cat si la "luarea" lui. La fel, imaginea din stanga reprezinta imaginea originala. Nu s-a reusit decat includerea mesajului M1.

Page 86: curs_sec

6.3.3. White Noise Storm

Cu acest soft, s-a reusit ascunderea si a mesajului M2. Este destul de usor de folosit si se obtine o degradare foarte mica a containerului. Imaginea de mai jos, contine rezultatul inscrierii lui M1 in C2. Acest soft, include si o rutina de criptare inainte de a ascunde mesajul in container.

Rezulatul includerii bazei aviatice in Renoir, este dat mai jos.

Page 87: curs_sec

8.3.4. S-Tools

Este cel mai bun soft testat. Cuprinde mai multe aplicatii, printre care ascunderea de mesaje in fisiere .BMP, .GIF, in fisiere .WAV si chiar pe dischete goale. Si acest soft, cuprinde posibilitatea de criptare a mesajului, el folosind algoritmii Idea, MPJ2, DES, 3DES si NSEA. Imaginea de mai jos, cuprinde containerul C2, inainte(dreapta) si dupa inscriptionarea lui M1.

Imaginea de mai jos, cuprinde containerul C1, in care este mesajul M2:

Page 88: curs_sec

Concluzii

Steganografia, nu este facuta pentru a inlocui criptarea, ea fiind un element suplimentar care sporeste posibilitatea transmiterii de mesaje, fara a fi detectate. Astfel, daca se stie ca o imagine contine un mesaj, acel mesaj, va trebui intai scos din container si apoi decriptat (lucru nu tocmai usor).

Avantajul steganografiei, este ca nu trezeste nici o banuiala, deoarece este un fisier text, grafic, etc. care la prima vedere pare inofensiv. Dar, daca un anumit mesaj, criptat si apoi trimis, este vazut de o a treia persoana, acesta poate atrage suspiciuni.

8.4. COMPRESIA

Dupa partea de Grafica, partea de compresie, este cea mai grea (datorita lipsei de documentatii). In aceasta categorie, voi include informatii despre fractali si despre unele formate de fisiere. Cu toate ca este vorba tot de compresie, aici nu voi include informatii despre fisierele imagine sau film, lasandu-le pentru partea de grafica.

Compresia, este folosirea unor functii recursive pentru a crea fisiere de dimensiuni mai mici prin eliminarea redundantei (a repetitiilor). Un arhivator, este un program care ia ca argumente unul sau mai multe fisiere, le comprima si produce un singur fisier arhiva.

8.4.1. Compresia Huffman

Compresia Huffman, este o tehnica de compresie statistica, care da o reducere a codului folosit pentru reprezenta simbolurilor alfabetului; adica, cu biti mai putini sunt reprezentate caracterele care apar mai des, iar caracterele care apar mai rar, cu biti mai multi. Un cod Huffman, poate fi construit in felul urmator:

se oranduiesc toate simbolurile in ordinea probabilitatii de aparitie succesiv, se combina doua simboluri cu probabilitate mica, pentru

a crea un simbol compus nou; eventual, se creaza arborele binar, unde fiecare nod, este probabilitatea tuturor nodurilor de la nivelele inferioare

se cauta un drum la fiecare frunza, observandu-se directia. Pentru o frecventa de distributie data, sunt mai multe coduri

posibile Huffman, dar lungimea fisierului comprimat, va fi aceasi.O alta tehnica de compresie inrudita cu compresia Huffman, este

Shannon-Fano, care functioneaza astfel:

Page 89: curs_sec

1. se imparte multimea de simboluri in doua submultimi egale sau cel putin egale ca marime pe baza probabilitatii de aparitie a caracterelor din multimea-mama. Primei multimi ii este asociat un zero binar, iar celei de-a doua un unu binar.

2. se repeta pasul 1 pana cand toate submultimile au un singur element Algoritmul Huffman, actioneaza de jos in sus, iar algoritmul

Shannon-Fano, actioneaza de sus in jos; cea mai buna compresie o da algoritmul Huffman, algoritmul Shannon-Fano, dand cateodata cativa biti in plus. Cei doi algoritmi, dau o compresie buna daca probabilitatea aparitiei simolurilor, sunt intregi, puteri ai lui ½ (care, de obicei, nu este asa).

8.4.2. Codarea aritmetica

Codarea aritmetica, este folosita cand probabilitatea aparitiei simbolurilor nu sunt intregi, puteri ai lui 1/2; aceasta codare, obtine acelasi efect ca si codarea Huffman, tratand mesajul ca un tot unitar, si, teoretic obtine compresia maxima pentru orice sursa.

Codarea aritmetica, functioneaza prin reprezentarea unui numar, printr-un interval de numere reale intre 0 si 1. Cu cat mesajul devine mai lung, cu atat intervalul folosit pentru a-l reprezenta devine tot mai mic si numarul de biti utilizati pentru a reprezenta respectivul interval devine tot mai mare. Simbolurile succesive din mesaj, reduc acest interval, in conformitate cu probabilitatea aparitiei simbolului.

Aceasta, este una dintre cele mai bune tehnici de compresie, dar nu este prea folosita deoarece este o mare consumatoare de resurse(atat de memorie, cat si de procesor), folosindu-se alte alternative, cum ar fi compresia prin substitutie.

8.4.3. Compresia prin substitutie

Ideea de baza la aceasta compresie, este inlocuirea aparitiilor repetate a unei fraze sau a unui grup de simboluri (litere, cifre, etc.) cu o referinta, care sa indice prima aparitie a frazei, grupului de simboluri, etc. Aceasta familie de compresoare, are doua clase, numite dupa(initialele numelor) Jakob Ziv si Abraham Lempel, primii care le-au propus, in 1977si 1978.Familia LZ78Aceasta familie, functioneaza prin introducerea de fraze intr-un dictionar, si cand este gasita o repetitie a acelei fraze, se inlocuieste fraza cu indexul din dictionar. Exista mai multi algoritmi care se bazeaza pe aceasta idee, dar diferenta principala, este modul in care lucreaza cu dictionarele. Cel

Page 90: curs_sec

mai cunoscut algoritm de acest tip, este LZW, creat in 1984 de Terry Welch, care a fost implementat si in controller-ele de hard disc.

LZW, incepe cu un dictionar de 4K, din care intrarile de la 0 la 255, fac referire la simboluri individuale, si intrarile 256-4095 la subsiruri. De fiecare data cand un cod nou este generat, inseamna ca un nou sir a fost analizat. Noi siruri sunt generate, prin adaugarea caracterului curent K, la sfarsitul unui sir deja existent, w. Algoritmul de compresie LZW, este:repeta{  citeste caracterul K  daca wK exista in dictionar, w=wK  altfel{    adauga wK la tabela de siruri    w=K}        }

Un exemplu al algoritmului pe sirul "/WED/WE/WEE/WEB", este dat mai jos:

Caracterul de intrare

Codul de iesireNoile valori si

asocierile de siruri/W / 256=/WE W 257=WED E 258=ED/ D 259=D/

WE 256 260=/WE/ E 261=E/

WEE 260 262=/WEE/W 261 263=E/WEB 257 264

SFARSIT B  

Sirul rezultat dupa aplicarea algoritmului asupra codului de intrare, este "/WED<256>E<260><261><257>B".

Decompresia LZW, ia ca intrare codul si il foloseste pentru a crea exact textul original. La fel ca si algoritmul de compresie, algoritmul de decompresie adauga un nou sir dictionarului de fiecare data cand citeste un nou cod. Un exemplu de decompresie a sirului

"/WED<256>E<260><261><257>B", este dat mai jos:

Caracterul de intrare

Codul de iesireNoile valori si

asocierile de siruri/ /  

W W 256=/W

Page 91: curs_sec

E E 257=WED D 258=ED

256 /W 259=D/E E 260=/WE

260 /WE 261=E/261 E/ 262=/WEE257 WE 263=E/WB B 264=WEB

Cea mai remarcabila caracteristica a acestui tip de compresie este accea ca intreg dictionarul a fost transmis decompresorului fara ca dictionarul sa fie transmis ca un pachet suplimentar langa datele comprimate; adica, el a putut fi recreat doar datorita datelor primite. Deci, intreg dictionarul va fi gata doar la terminarea procesului de decompresie.

Familia LZ77

Aceasta familie de compresoare, functioneaza astfel: pastreaza ultimii n octeti vazuti si cand este gasita o fraza care a mai fost vazuta, inlocuieste fraza gasita cu pozitia frazei gasite prima oara si cu lungimea frazei. Deci, compresorul muta o "fereastra" deasupra datelor, "fereastra" care contine pe langa fraza si o pereche (pozitie,lungime), care indica locul, respectiv lungimea frazei din fereastra. Cei mai folositi algoritmi, sunt cei derivati din algoritmul LZSS, descris pentru prima oara in 1982, de James Storer si Thomas Szymanski. Acesti algoritmi, tin o "fereastara" de N octeti si un buffer de inaintere, in al carui continut incearca sa gaseasca o "potrivire" a "ferestrei":

cattimp(buffer-ul de inaintare nu este gol){    obtine o pereche (pozitie,lungime) a celei mai lungi potriviri din "fereastra", in buffer-ul de inaintare;    daca(Lungime>LungimeaMinimaDePotrivire){        scrie perechea (pozitie,lungime);        muta fereastra cu Lungime caractere mai in fata;}    altfel{        scrie primul caracter din buffer-ul de inaintare;        muta "fereastra" cu un caracter mai in fata;}}

Decompresia, se face astfel: de cate ori este gasita o pereche (pozitie,lungime), du-te la acea pozitie si copiaza lungime octeti in fisierul de iesire.

Page 92: curs_sec

8.5.Fractali

Fractalii sunt forme geometrice, care pot fi impartite in bucati, fiecare dintre ele, fiind o copie la scara redusa a intregului. Fractali, pot fi considerati norii, muntii, copacii, malurile, etc.

Denumirea de "fractal", a fost data prima oara de Benoit Mandelbrot (un matematician de la IBM) de la adjectivului latin "fractus". Verbul corespunzator, este "frangere", care inseamna "a sparge".

8.5.1. Dimensiunea fractala

Obiectele geometrice, au o dimensiune topologica; de exemplu, liniile au dimensiunea 1, suprafetele plane(patrate, cercuri, etc.) au dimensiunea 2, spatiul, dimensiunea 3. Dar, s-au construit figuri, care nu se puteau caracteriza prin nici una dintre dimensiunile cunoscute; o linie curba care uneste doua puncte, nu i se putea determina lungimea, iar daca se faceau detalieri succesive asupra fiecarui punct de pe dreapta, lungimea liniei crestea(conturul unui munte se detaliaza cu cat distanta de la care este privit este mai mica).

Astfel, in 1919, matematicianul Hausdorff, a introdus o noua dimensiune, dimensiunea fractala sau dimensiunea Hausdorff. Aceasta dimensiune, masoara numarul de multimi de diametre mai mici, necesare pentru a acoperi o figura. Daca acest numar este intreg, atunci dimensiunea este topologica, altfel, dimensiunea este fractala. De exemplu, o linie dreapta marita de 2 ori, este de doua ori mai mare decat linia initiala; dimesniunea ei, este log2/log2=1. Un patrat marit de 2 ori, este de 4 ori mai mare decat patratul initial(aria sa, cuprinde 4 arii a patratului initial), iar dimensiunea lui, este log4/log2=2. Intr-un cub, marit de 2 ori, incap 8 cuburi initiale, iar dimensiunea lui este log8/log2=3. Daca se ia o dreapta, in care se inlocuieste repetat __ cu _/\_, unde fiecare 4 linii sunt 1/3 din lungimea vechii linii si se mareste de 3 ori, rezulta o linie care este de 4 ori mai mare si care are dimensiunea log4/log3=1.261..., dimensiune care nu este o valoare intreaga, fiind deci o dimensiune fractala.

Fractalii, sunt folositi mai ales la compresia imaginilor. Este o tehnica relativ noua si care nu da rezultate destul de bune in comparatie cu alte tehnici de compresie a imaginilor. De exemplu, daca se ia un portret alb-negru, cu culori pe 8 biti si se trece prin programul de compresie, se obtine un fisier de 2500 octeti (se obtine o compresie de 25:1). Daca se mareste parul peroanei din portret de 4-5 ori, se va vedea o textura care seamana cu parul. Dar, detaliile nu s-au aratat, ci s-au

Page 93: curs_sec

generat; deci, daca se va mari fata persoanei, nu se vor vedea porii pielii ci aceasi textura, ca si cum ar fi marita cu lupa.

Formatul fisierelor .zip

In mare, un fisier .zip, are urmatorul format: la inceput fisierele arhivate, fiecare avand propriul lui header; dupa fisiere, urmeaza informatii despre structura de directoare in care se gasesc fisierele, iar la sfarsit, informatii despre sfarsitul structurii de directoare, care are si el un header propriu.

Deci, fiecare fisier din arhiva incepe cu urmatorul header:

Offset Nr. de octeti Descriere0000h 4 ID='PK',03,040004h 2 Versiunea de care este nevoie pentru a fi extrase fisierele0006h 2 Camp de biti cu scop general0008h 2 Metoda de compresie000Ah 4 Timpul si data originale ale fisierului000Eh 4 Codul CRC pe 32 de biti al fisierului0012h 4 Marimea fisierului comprimat0016h 4 Marimea fisierului decomprimat001Ah 2 Lungimea caii fisierului001Ch 2 Lungimea campurilor suplimentare001Eh "LEN"octeti Director/nume fisier

  "XLN"octeti Campurile suplimentareDupa toate fisierele, la sfarsitul arhivei, urmeaza structura directorului, care mai contine informatii suplimentare despre fisierele din arhiva.

Nr. de octeti Descriere4 ID='PK', 01, 022 Versiune creata de2 Versiunea de care este nevoie pentru a fi extrase fisierele2 Camp de biti cu scop general2 Metoda de compresie4 Timpul si data originale ale fisierului4 Codul CRC pe 32 de biti al fisierului4 Marimea fisierului comprimat4 Marimea fisierului decomprimat2 Lungimea caii fisierului ="LEN"2 Lungimea campurilor suplimentare="XLN"

Page 94: curs_sec

2 Lungimea comentariului fisierului="COM"2 Numarul discului de inceput2 Atribute interne ale fisierului4 Atribute externe ale fisierului4 Offsetul relativ

"LEN" octeti Director/nume fisier"XLN" octeti Campurile suplimentare"COM" octeti Comentariul fisierului

Sfarsitul structurii directorului, are forma urmatoare:Nr. de octeti Descriere

4 Semnatura sfarsitului structurii directorului2 Numarul acestui disc2 Numarul discului care contine inceputul structurii directorului2 Numarul total de intrari din structura directorului de pe acest disc2 Numarul total de intrari din structura directorului4 Marime directorului4 Offset-ul inceputului directorului in concordanta cu discul

numarului de inceput2 Lungimea comentariului arhivei="COM"

"COM"octetiComentariul arhivei

Explicatii despre campurile care alcatuiesc header-ele:1. Versiune creata de - primul octet, indica numarul versiunii

programului folosit pentru a comprima datele. Valoarea octetului impartita la 10, indica versiunea majora, iar valoarea octetului modulo 10, indica versiunea minora(daca versiunea este 5.2, versiunea majora este 5, iar versiunea minora este 2). Al doi-lea octet, indica sistemul de operare al fisierului. Acesta poate fi: 0 - pentru MS-DOS si OS/2 care foloseste sistemul de fisiere FAT; 1- Amiga; 2- VMS; 3- *nix; 4- VM/CMS; 5- Atari; 6 - OS/2 care foloseste sistemul de fisiere HPFS; 7- Macintosh; 8- Z-System; 9- CP/M; de la 10 la 255 nefolositi.

2. Versiunea de care este nevoie pentru a fi extrase fisierele - versiunea minima de care este nevoie pentru a extrage fisierele; octetii au aceleasi valori ca mai sus.

3. Camp de biti cu scop general - bitul 0 - daca este setat, indica un fisier criptat; bitul 1- daca metoda de compresie folosita este de tipul 6, atunci daca acest bit are valoarea 1, inseamna ca s-a folosit un dictionar de 8K, altfel, s-a folosit un dictionar de 4K. Bitii 1 si 2, nu sunt definiti daca metoda de compresie nu este de tipul 6.

4. Metoda de compresie: 0 - fisierul este pus in arhiva dar, nu este comprimat; 1- fisierul este compactat; 2- fisierul este comprimat cu factorul de compresie 1; 3- fisierul este comprimat cu factorul de

Page 95: curs_sec

compresie 2; 4- fisierul este comprimat cu factorul de compresie 3; 5- fisierul este comprimat cu factorul de compresie 4; 6- fisierul este comprimat folosind arbori Shanno-Fano, folosind dictionare de 4K/8K.

5. Data si timpul - timpul si data fisierului codate in formatul standard MS-DOS

6. Numarul discului de inceput - numarul discului pe care se afla inceputul acestui fisier

7. Atributele interne ale fisierului - daca primul bit este setat(este 1), atunci, fisierul este un fisier ASCII, sau text; altfel, este posibil sa contina date binare. Restul bitilor nu sunt folositi.

8. Atributele externe ale fisierului - aceste atribute, depind de tipul sistemului de operare.

9. Offset-ul relativ - este offset-ul de la inceputul primului disc, unde acest fisier apare; adica unde ar trebui sa fie gasit header-ul

10. Numele/calea fisierului - numele si calea fisierului; toate slash-urile, trebuie sa fie '/', nu '\'.

11. Numarul acestui disc - Numarul discului care contine sfarsitul structurii directorului.

12. Numarul discului care contine inceputul structurii directorului - Numarul discului care contine inceputul structurii directorului

13. Numarul total de intrari din structura directorului de pe acest disc - numarul total de fisiere de pe discul curent.

14. Numarul total de intrari din structura directorului - numarul total de fisiere din toata arhiva.

15. Marimea directorului - marimea in octeti a directorului. 16. Offset-ul inceputului directorului in concordanta cu discul

numarului de inceput - offset-ul inceputului structurii directorului de pe discul de pe care incepe.

Page 96: curs_sec

Disciplina “Securitatea reţelelor de telecomunicaţii”

Bilet de examinare la nr. ___

Grupa__________ Data 05.04.2003

1. Paşii ce trebuie urmaţi în analiza criptogramei.2. Natura generală a limbii române3. Indexul de concidenţă4. Cipher-ul Mirabeau5. Enigma6. Semnătura digitală RSA7. Reprezentarea secvenţelor video8. Copyright9. Compresia Huffman

Aprob Semnatura titularuluiSef catedra

____________________ ___________________

Page 97: curs_sec

Disciplina “Securitatea reţelelor de telecomunicaţii”

Bilet de examinare la nr. ___

Grupa__________ Data 05.04.2003

1. Modul de clasificare a vocalelor şi consoanelor în analiza criptogramei.

2. Natura generală a limbii engleze3. Texte impărţite în grupuri de litere4. Cipher-ul Bacon5. Algoritmul RSA6. Certificate digitale7. Compresia audio8. Patent9. Compresia prin substituţie

Aprob Semnatura titularuluiSef catedra

____________________ ___________________

Page 98: curs_sec