5.1. Criptografia
Criptografia este stiinta scrierilor secrete. Ea sta la baza multor servicii
si mecanisme de securitate folosite in internet, folosind metode matematice
pentru transformarea datelor, in intentia de a ascunde continutul lor
sau de a le proteja impotriva modificarii. Criptografia are o lunga istorie,
confidentialitatea comunicarii fiind o cerinta a tuturor timpurilor. Daca ar
trebui sa alegem un singur exemplu al criptografiei "clasice", acesta
ar fi cifrul lui Cezar, nu atat datorita celebritatii imparatului
roman de care se leaga folosirea lui, ci pentru ca principiul sau de baza, al
substitutiei, s-a mentinut nealterat aproape doua milenii. i6b24bg
Multa vreme, eforturile criptografilor au fost dirijate spre intarirea
cifrurilor prin complicarea algoritmului, combinand substitutii si transpozitii
asupra unor simboluri sau asupra unor blocuri (grupe de simboluri). Istoria
moderna a criptografiei cunoaste numeroase inovatii in aceasta privinta.
Doua sunt elementele ce au marcat insa cotitura semnificativa in
dezvoltarea metodelor criptografice.
Primul este legat de dezvoltarea retelelor de calculatoare, al caror stimulent
extraordinar s-a manifestat atat prin presiunea exercitata de tot mai
multi utilizatori (a caror dorinta obiectiva este pastrarea secretului si a
sigurantei asupra postei electronice private, a transferului electronic de fonduri
si a altor aplicatii) cat si prin potentarea gamei de instrumente folosite
efectiv in executia algoritmilor de cifrare. Utilizarea calculatoarelor
electronice a permis folosirea unor chei de dimensiuni mai mari, sporindu-se
atfel rezistenta la atacuri criptoanalitice. Cand cheia secreta are o
dimeniune convenabila si este suficient de frecvent schimbata, devine practic
imposibila spargerea cifrului, chiar daca se cunoaste algoritmul de cifrare.
Pe aceasta idee se bazeaza si standardul american de cifrare a datelor - DES
(Data Encryption Standard) larg utilizat de guvernul SUA si de diverse companii
internationale. Propus intr-o forma initiala de IBM in 1975, DES
a rezistat evaluarii facute de "spargatorii de cifruri" de la U.S.
National Security Agency (NSA), care au recomandat doar reproiectarea anumitor
componente (casete de substitutie). DES a fost adoptat ca standard federal in
1977 si a fost folosit intens datorita performantelor de viteza atinse la cifrare
(peste 100 de milioane de biti/secunda). Din pacate, nu se stie cu certitudine
daca cei de la NSA sau de la vreo alta organizatie au reusit sau nu sa sparga
DES. Experienta a aratat insa ca orice schema criptografica are o viata
limitata si ca avansul tehnologic reduce, mai devreme sau mai tarziu,
securitatea furnizata de ea.
Al doilea moment important in evolutia criptografiei moderne l-a constituit
adoptarea unui principiu diferit de acela al cifrarii simetrice. Whitfield Diffie
si Martin Hellman, cercetatori la Univeritatea Stanford din California, prin
articolul "New Directions in Criptography", publicat in 1976
in revista IEEE Tranactions on Information Theory, au pus bazele "criptografiei
asimetrice" cu chei publice. in locul unei singure chei secrete,
criptografia asimetrica foloseste doua chei diferite, una pentru cifrare, alta
pentru descifrare. Deoarece este imposibila deducerea unei chei din cealalta,
una din chei este facuta publica, fiind pusa la indemana oricui
doreste sa transmita un mesaj cifrat. Doar destinatarul, care detine cea de-a
doua cheie, poate descifra si utiliza mesajul. Tehnica cheilor publice poate
fi folosita si pentru autentificarea mesajelor, fapt care i-a sporit popularitatea.
Nu este, deci, de mirare ca guvernul SUA a initiat adoptarea unui standard de
semnatura digitala bazat pe conceptul de cheie publica. Acest demers a generat
controverse, soldate chiar cu acuze intre organizatiile implicate. Pana
in decembrie 1990, Institutul National de Standarde si Tehnologie ai SUA
(NIST) recomanda pentru adoptare ca standard metoda RSA, prezenta deja in
industrie. Dar noua luni mai tirziu, in august 1991, NIST a avansat
un cu totul alt algoritm, bazat pe o metoda cu chei publice, publicata de Taher
El Gamal in 1986. Noua propunere, denumita DSS (Digital Signature Standard),
a fost dezvoltata de Agentia de Securitate Nationala a SUA (NSA). Ea a dezamagit
nu datorita performantelor, ci "gratie" autorului, care este nu doar
priectant, dar si spargator de cifruri, ceea ce a starnit, inevitabil,
suspiciuni. Un cifru se defineste ca transformarea unui mesaj clar sau text
clar in mesaj cifrat ori criptograma. Procesul de transformare a textului
clar in text cifrat se numeste cifrare sau criptare, iar transformarea
inversa, a criptogramei in text clar, are denumirea de descifrare sau
decriptare. Atat cifrarea cat si descifrarea sunt controlate de
catre una sau mai multe chei criptografice. Exista doua tipuri de sisteme criptografice:
- simetrice (cu cheie secreta) care folosesc aceeasi cheie, atat la cifrarea
cat si la descifrarea mesajelor.
- asimetrice (cu chei publice) care folosesc chei distincte de cifrare si descifrare
(dar legate una de alta). Una din chei este tinuta secreta si este cunoscuta
doar de proprietarul ei. A doua cheie (perechea ei) este facuta publica, de
unde si numele de criptografie cu cheie publica.
5.2. Algoritmi criptografici cu cheie secreta
Securitatea criptarii simetrice (cu cheie secreta) depinde de protectia cheii;
managementul acestora este un factor vital in securitatea datelor si cuprinde
urmatoarele aspecte:
- generarea cheilor. Pot fi folosite, cu o tabela de conversie, proceduri manuale
(datul cu banul, aruncarea zarurilor), dar numai pentru generarea cheilor master
(folosite pentru cifrarea cheilor). Pentru cheile de sesiune sau de terminal
sunt necesare proceduri automate, de generare (pseudo) aleatoare, care se pot
baza pe amplificatoare de zgomot, functii matematice si diversi parametri (numarul
curent al apelurilor sistem, data, ora etc).
- distributia cheilor. Cu privire la transportul cheii secrete, problema este
in general rezolvata prin folosirea unei alte chei, numita cheie terminal,
pentru a o cripta. Cheile de sesiune - generate numai pentru o comunicatie -
sunt transportate criptat cu cheile terminal care, de asemenea, pot fi protejate
(cand sunt memorate) cu alta cheie, numita cheie master.
- memorarea cheilor. Utilizarea algoritmilor simetrici, in cazul a N entitati
care doresc sa comunice, implica N(N-1)/2 chei de memorat intr-un mod
sigur. in realitate, nu toate legaturile bidirectionale se stabilesc la
acelasi timp; este motivul pentru care se utilizeaza cheile de sesiune. Cheile
terminal, care cripteaza numai date foarte scurte (chei de sesiune), sunt foarte
dificil de atacat. Cand sunt folosite chei publice, X500 pare cea mai
buna solutie pentru managementul cheilor. Cheile publice sunt pastrate in
directoare X500, ca certificate semnate cu o semnatura digitala a Autoritatii
de certificare (Certificate Authority).
Intalnim urmatoarele tipuri de sisteme de criptare cu algoritmi
cu cheie secreta:
- cifrul DES (DES simplu, DES cu sub-chei independente, DESX, DES generalizat
GDES, DES cu cutii S alternative, DES cu cutii S dependente de cheie);
- cifrul IDEA;
- cifrul FEAL;
- cirful LOKI;
- cifrul RC2.
5.3. Algoritmi criptografici cu cheie publica
Un moment important in evolutia criptografiei moderne l-a constituit
crearea, in anul 1976, de catre Whitfield Diffie si Martin Hellman, cercetatori
la Univeritatea Stanford din California, a unui principiu diferit de acela al
cifrarii simetrice. Ei au pus bazele criptografiei asimetrice cu chei publice.
In locul unei singure chei secrete, criptografia asimetrica foloseste
doua chei diferite, una pentru cifrare, alta pentru descifrare. Deoarece este
imposibila deducerea unei chei din cealalta, una din chei este facuta publica,
fiind pusa la indemana oricui doreste sa transmita un mesaj cifrat.
Doar destinatarul, care detine cea de-a doua cheie, poate descifra si utiliza
mesajul. Tehnica cheilor publice poate fi folosita si pentru autentificarea
meajelor prin semnatura digitala, fapt care i-a sporit popularitatea. Intalnim
urmatoarele tipuri de sisteme de criptare cu algoritmi cu cheie publica:
- sisteme de cifrare exponentiala RSA (Rivert-Shamir-Adleman);
- cifrul EL GAMAL (EG);
- standardul DSS de semnatura digitala.
5.4. Utilizarea criptografiei in retele
Putem privi securitatea - securitatea datelor, securitatea comunicatiilor,
in general securitatea informatiilor de orice fel - ca un lant. Securitatea
intregului sistem este o combinatie puternica de legaturi slabe. Totul
trebuie securizat: algoritmii criptografici, protocoalele, programele de administrare
etc. Daca, de exemplu, algoritmii sunt puternici, insa sunt probleme cu
generatorul de numere aleatoare, orice criptanalist va ataca sistemul pe aceasta
cale. Daca nu sunt securizate locatiile de memorie care contin cheia, criptanalistul
va sparge sistemul utilizand aceasta slabiciune. In timp ce proiectantul
securitatii unui sistem trebuie sa identifice toate caile posibile de atac si
sa le asigure, un criptanalist are nevoie doar de o singura slabiciune pentru
a patrunde in sistem.
Criptografia este doar o parte a securitatii; ea acopera problematica realizarii
securitatii unui sistem, ceea ce este diferit de ceea ce inseamna realizarea
unui sistem securizat. Traditionala imagine a criptografiei ca "spion"
in tehnologie este destul de departe de realitate. Peste 99% din aplicatiile
criptografice utilizate in lume nu protejeaza secrete militare; ele sunt
intalnite in banci, plati-TV, taxe de drum, acces la terminale,
contoare de electricitate etc. Rolul criptografiei in aceste aplicatii
este de a impiedica efectuarea de furturi si inselaciuni. in
cele mai multe dintre aceste aplicatii s-a utilizat prost criptografia, atacurile
reusite neavand insa nimic in comun cu criptanaliza. Chiar
si NSA a admis ca marea parte a erorilor aparute in activitatile sale
provin din erorile de implementare si nu din algoritmi sau protocoale. in
acest conditii, nu conteaza cat de buna a fost criptografia, atacurile
reusite anuland acest lucru si speculand erorile de implementare.
5.5. Criptarea hardware
Pana recent, toti producatorii de criptare isi ofereau produsele
sub forma unor cutii ce se atasau unei linii de comunicatii si criptau toate
datele de-a lungul liniei. Desi criptarea software devine tot mai dominanta,
cea hardware este inca cea mai ceruta in aplicatiile militare sau
comerciale de mare importanta. NSA, de exemplu, autorizeaza doar criptari hardware.
Exista si motive pentru aceasta.
Primul este viteza. Criptarea consta dintr-o multime de operatii complicate
ce se efectueaza asupra unui sir de biti clar, operatii care trebuie simulate
intrIun calculator. Cei doi algortmi comuni de criptare, DES si RSA, lucreaza
ineficient pe procesoare normale. Daca o serie de criptografi si-au facut propriii
algoritmi adaptati implementarilor software, hardware-ul specializat castiga
prin viteza.
In plus, criptarea este adesea o sarcina complexa. Introducerea in
procesor a acestor operatii ete ineficienta. Sistemul va fi mult mai rapid daca
operatiile de acest gen se fac de catre un chip sau procesor dedicat.
Un al doilea motiv este securitatea. Un algoritm de criptare ce lucreaza pe
un calculator obisnuit nu are protectie fizica. Dispozitivele de criptare hardware
sunt incapsulate, iar protectia se poate face destul de usor. Chip-urile
VLSI dedicate pot fi tratate chimic, astfel incat orice incercare
de patrundere poate distruge chip-ul.
IBM a dezvoltat un sistem criptografic de criptare a datelor si comunicatiilor
pentru maiframe-uri, ce include module inviolabile care pastreaza cheile.
Radiatia electromagnetica poate uneori arata ce este in interiorul unei
piese a unui echipament electronic. Dispozitivele de criptare pot fi ecranate,
astfel incat sa nu ofere informatii la o astfel de incercare.
Calculatoarele obisnuite pot fi ecranate la fel de bine, insa este o problema
mult mai complexa (programul este cunoscut sub numele de TEMPEST). Motivul final
este usurinta in instalare. Se poate dori ca secretizarea sa fie facuta
pentru conversatiile telefonice, transmisiile de fax sau pentru legaturi de
date.
Chiar daca datele criptate vin de la un calculator, este mai usor de instalat
un dispozitiv specializat, decat sa se modifice sistemul software al calculatorului.
Criptarea trebuie sa fie invizibila; ea nu trebuie sa fie accesibila utilizatorului.
Singura cale de a face acest lucru software este de a scrie criptarea in
sistemul de operare, ceea ce nu este usor. Pe de alta parte, chiar si unui calculator
slab i se poate atasa un dispozitiv de criptare, intre el si modem-ul
de comunicatie.
Cele trei lucruri de baza ale criptarii hardware oferite pe piata sunt: module
de criptare (care realizeaza operatii de genul verificarea parolei sau administrare
de chei pentru banci), dispozitive dedicate de criptare pentru legaturi de comunicatie
si placi atasate in calculatorul personal.
Exista diferente majore intre dispozitive proiectate pentru criptare sincrona
sau asincrona. Un dispozitiv nu va accepta niciodata o viteza a datelor mai
mare decat cea pentru care a fost proiectat. In aceasta familie
de dispozitive exista o serie de incompatibilitati. Problema principala este
daca exista compatibilitate intre necesitatile particulare ale propriei
aplicatii si caracteristicile principale ale dispozitivului de criptare oferit.
Tot mai multe companii isi secretizeaza datele prin hardware specializat.
Administrarea interna a cheilor pentru aceste dispozitive este in general
sigura, desi sunt tot atatea scheme cati producatori sunt.
5.5.1. Criptarea software
Orice algoritm de criptare poate fi implementat software. Dezavantajele constau
in viteza, cost si usurinta in manipulare si modificare. Avantajul
este oferit de flexibilitate si portabilitate, usurinta in folosire si
in efectuarea de upgrade-uri. Programele criptografice pot fi copiate
foarte usor si instalate pe orice masina si se pot incorpora in
aplicatii complexe, cum ar fi cele de comunicatii si procesoarele de texte.
Programele de criptare software sunt foarte populare si sunt valabile pentru
majoritatea sistemelor. Ele sunt destinate sa protejeze fisiere individuale.
Utilizatorul, in general, cripteaza si decripteaza fisiere. Este important
ca schema de administrare a cheilor sa fie sigura. Cheile nu trebuie pastrate
oriunde pe disc. Textele clare ce se cripteaza trebuie, de asemenea, sterse
dupa efectuarea operatiei.