Securitatea Retelelor

Cuprins

INTRODUCERE

2. REȚELE DE CALCULATOARE – PREZENTARE GENERALĂ
2.1 Modelarea rețelelor de calculatoare
2.1.1 -Elemente de interconectare a rețelelor
2.1.2 -Modelul de rețea ISO/OSI
2.1.3 -Modelul TCP/IP
2.2 Infrastructura rețelei
2.2.1-Medii de transmisii
2.2.2-Echipamente de transmisie a datelor
2.2.3-Comutarea pachetelor în rețele de calculatoare
2.3 Rețele virtuale
2.3.1 -Tipologia VLAN-urilor
2.3.2 -Configurarea VLAN-urilor

3. Aspecte teoretice privind securitatea rețelelor de calculatoare
3.1 Conceptul de securitate
3.2. Protocoale de securitate
3.2.1 Protocolul Secure Sockets Layer (SSL)
3.2.2 Protocolul Secure HTTP (S – HTTP)
3.2.3 Protocolul Secure Electronic Transă ction (SET)
3.2.4 Protocolul IPSec
3.3 Criptografia
3.3.1 Folosirea algoritmilor de criptare fără chei
3.3.2 Folosirea algoritmilor de criptare cu cheie
3.3.3 Autentificarea și semnăturile digitale
3.4 Securitatea rețelelor locale
3.4.1 BPDU Guard
3.4.2 Dynamic ARP Inspection
3.4.3 DHCP Snooping
3.4.4 Port Security
3.4.5 Private VLANs

4 Exemplu Practic de securizare a rețelelor

5. CONCLUZII

6. BIBLIOGRAFIE

INTRODUCERE

Rețelele de calculatoare, și calculatoarele în general sunt folosite pentru comunicare. Pentru a realiza acest simplu fapt, folosirea calculatorului, sunt folosite zeci de forme de semnale electronice care sunt utilizate de diferitele componente implicate. În ultimii ani se vorbește despre o era digitala , iar codul binar este mediul de comunicare fundamental pentru toate calculatoarele de pretutindeni. Mulți oameni știu multe despre calculatoare, dar nimeni nu știe totul. Începând cu realizarea microscopică a unui microprocesor până la tehnologiile de ultimă oră care ne schimbă modul de viață, multitudinea de tehnici de comunicație implicata este colosă lă și într-o continuă expansiune.

Nu trebuie să știi cum să proiectezi un microprocesor ca să achiziționezi un calculator. Nu trebuie să știi să proiectezi o navă cosmică ca să transmiți un mesaj sau un semnal printr-un satelit. Aceste doua lucruri se realizează fără să ne dam seama despre asta. Dar se poate să vrem să știm mai multe despre aceste tipuri de sisteme “transparente”. Când ești pus să faci o decizie despre ce fel de procesor să cumperi pentru mia de calculatoare pe care întreprinderea ta o va cumpăra anul acesta și felul cum aceste calculatoare vor fi legate între ele pentru a comunica e bine să știi mai multe decât îți poate oferi o revistă de specialitate sau o reclamă de televiziune.

În domeniul calculatoarelor, al rețelelor în caz particular, pentru a realiza o lucrare complexă sunt necesă re cunoștințe vaste, care depășesc intervalul de competență al unui singur om, fie el oricât de bine pregătit. În cazul proiectării si realizării rețelelor mari de calculatoare,

se angajează echipe specializate care au în componență specialiști din diferite domenii, atât software, cât și hardware.

Securitatea rețelelor de calculatoare este și va fi una dintre componentele majore ale societății informatizate.

Scopul serviciilor de securitate din domeniul rețelelor de comunicații vizeaza pe de o parte menținerea acestora în funcțiune iar pe de alta parte asigurărea securității aplicațiilor precum și a informațiilor stocate pe un suport sautransmise prin rețea. Lucrarea pe care o susțin nu poate acoperi domeniul rețelelor ci doar să reliefeze câteva aspecte ale securității rețelelor care prezintă interes atât din punct de vedere teoretic cât și practic.

In capitolele următoare vor fi prezentate pe rând câteva elemente de teorie a rețelelor, urmate de prezentarea aspectelor teoretice privind securitatea rețelelor și un exemplu practic de securizare a unei rețele care fac obiectul de studiu al lucrării, programele de proiectare și modelare a rețelelor de calculatoare.

2. REȚELE DE CALCULATOARE – PREZENTARE GENERALĂ

2.1. Modelarea rețelelor de calculatoare
2.1.1. Elemente de interconectare a rețelelor

Elementele componente ale rețelelor de calculatoare pot fi ușor clasificate în doua mari categorii:

Echipamente de rețea;

Elemente de conectică.

Elementele de conectică sunt diferite de la un tip de rețea la altul:

Pentru rețele pe cablu de cupru:

Cablu coaxial sau torsă dat de cupru de diverse tipuri, cu destinațiile si limitările descrise pe scurt mai sus;

Piese de interconectare electrică specific.

Pentru rețele pe fibra optică:

Fibra optică simplă saumultiplă;

Optocuplori.

Pentru rețele radio, infraroșu și de alte tipuri:

Elemente de interconectare specifice – antene de emisie, recepție, emițători, receptori de infraroșu saumicrounde, etc.

Echipamentele de rețea se pot și ele împărți în doua categorii si anume:

echipamentele “clienți” ai rețelei;

echipamentele “auxiliari” ai rețelei.

Din prima categorie fac parte toate echipamentele care extrag sau introduc date din rețea. Clienți ai rețelei sunt calculatoarele (nu neapărat compatibile IBM si nici măcar PC – pot fi conectate, la diverse tipuri de rețele si în diverse moduri, practic toate tipurile de mașini de calcul cunoscute de la microcalculatoarele de control plasate în diverse utilaje și aparaturi și până la supercalculatoarele de foarte mare putere) dotate cu un adaptor de rețea sau cu un modem sau cu orice alt tip de periferic de conectare (radiomodem, echipament de emisie recepție pentru microunde, modem de cablu, emițător / receptor de infraroșii, etc.), imprimantele cu posibilități de legare la rețea, scanerele de rețea, modemurile de rețea, unitățile independente de stocare, etc. Tendințele actuale duc spre o conectare globală a tuturor echipamentelor cu astfel de capacități și performanțe.

Echipamentele “auxiliari” ai rețelei sunt toate echipamentele care facilitează sau permit conexiunile de tip rețea: hub-uri, routere, amplificatoare, gateway-uri, echipamente de diagnoză, switch-uri, repetoare, multiplexoare, filtre de semnal, etc.

Ceea ce face ca aceasta clasificare să nu mai fie atât de bine definită în ultimul timp este tendința de a adăuga echipamentelor “client” capacități de echipamente “auxiliar” (funcții de diagnoza, filtrare, amplificare adăugate plăcilor de rețea, s.a.).

2.1.2 Modelul de rețea ISO/OSI

o dată cu puternica dezvoltare a echipamentelor de rețele au apărut diferite companii care își extindeau rețelele, dar care aveau probleme în a comunica cu alte companii deoarece nu foloseau aceleași standarde (precum oamenii care nu vorbesc aceeași limbă și au probleme în a comunica).

ISO (Organizația Internațională de Standardizare), una dîntre cele mai importante organizații de standardizare, a studiat diferite tipuri de rețele existente în acea vreme (DECnet, SNA, TCP/IP) și a propus în 1984 un model de referință numit OSI – Open System Interconnection. Din acel moment toți producătorii de echipamente de rețele s-au raportat la modelul OSI.

OSI a fost elaborat pentru a furniza producătorilor de echipamente de comunicație un set de standarde, a căror respectare asigură compatibilitatea și intercompatibilitatea între diverse tehnologii furnizate de firme diferite. Însuși termenul Open din denumire semnifică faptul că utilizarea standardelor este publică și gratuită spre deosebire de sistemele proprietary a căror folosire trebuie licențiată de firma care le-a produs și distribuit.

Organizatia Internationala de Standardizare ISO a propus pentru rețelele de calculatoare modelul ISO (Open System Interconnection) stratificat, cu 7 nivele (Layers) numerotate de jos în sus (Fig. I.2.2.1 a, b):

Nivel fizic (Physical Layer)

Nivelul legaturii de date (Data Link Layer)

Nivelul de retea (Network Layer)

Nivelul de transport (Transport Layer)

Nivelul sesiune (Session Layer)

Nivelul de prezentare (Presentation Layer)

Nivelul de aplicatie (Application Layer)

Fig. 2.2.1 a) Modelul de retea OSI

Modelul OSI a fost realizat pentru a interconecta sistemele deschise. Aceste sisteme sunt proiectate să fie deschise spre comunicare cu aproape orice sistem. Acest model a fost creat pentru a sparge orice nivel funcțional pentru ca complexitatea fiecărui nivel să fie micșorată. Modelul a fost creat pe baza câtorva concepte:

fiecare nivel realizează o funcție diferita;

modelul și nivelele să fie portabile internațional;

nivelele să fie necesare arhitectură l.

Fiecare nivel are funcția să specifica și distinctă :

Nivelul aplicație – înlesnește accesul la rețea printr-o aplicație. Acest nivel e interfața principala dinte utilizator și interacțiunea sa cu aplicația, deci cu rețeaua.

Nivelul de prezentare – facilitează prezentarea informației într-o manieră ordonată și cu înțeles.

Funcția principală a acestui nivel este sintaxa și semantica transmisiei. El convertește datele gazdei în date cu format standard de rețea.

Fig. 2.2.1 b)

La destinație el convertește datele în formatul corespunzător astfel ca datele să fie folosite independent de calculatorul gazdă.

Nivelul de sesiune – coordonează dialogul/sesiunea/conexiunea dîntre echipamentele din rețea. Acest nivel administrează comunicarea între sesiunile de conectare și sincronizarea de timp.

Nivelul de transport – responsabil de transmiterea solida a transmisiei și specificațiile de servicii între calculatoare. Responsabilitatea principala a acestui nivel este integritatea datelor. Nivelul de transport generează una sau mai multe legături în rețea depinzând de condiții. Acest nivel stabilește și ce tip de legătură de rețea va fi creat.

Nivelul de rețea – responsabil pentru rutarea pachetelor de date către un sistem din rețea, operează cu adresarea și trimiterea datelor. Acest nivel furnizează suport pentru rezolvarea conflictelor, descongestionarea transmisiei, informațiile conturilor de transmisie, rutare, adresă re și alte funcții

Nivelul legaturi de date – furnizează soliditatea transmiterii datelor prin rețeaua fizică. Acest nivel garantează trimiterea datelor, dar nu și că acestea au ajuns unde trebuie sau că au fost acceptate. Acest nivel are misiunea de a crea și stabili ce pachete vor fi trimise pe rețea. Pachetele sunt alcătuite din adresă sursă , adresă destinație, suma de control și datele propriu-zise.

Nivelul fizic – lucrează cu comunicația la nivel de bit, electric sau luminos, prin rețea. Lucrează cu patru caracteristici ale rețelei : mecanic, electric, funcțional și procedural. De asemenea definește și caracteristicile hardware necesare transmisiei (voltajul necesar, puterea semnalului). Practic acest nivel asigură că informația transmisă ajunge la destinație.

2.1.3 Modelul TCP/IP

Deși modelul OSI este universal recunoscut, inițiatorul din punct de vedere istori și tehnic al standardelor pentru Internet este însă modelul de referință și stiva de protocoale TCP/IP. Dezvoltarea modelului a început în anii 1960 sub forma unui proiect finanțat de SUA. Standardul TCP/IP este folosit în acest moment pentru transmisiile de date din cea mai mare rețea existentă – Internetul.

Modelul de referință TCP/IP a fost creat de Departamentul Apărării din SUA pentru a deveni rețeaua supremă-care să supraviețuiască în orice condiții. Agenția ARPA a creat în anul 1975 protocolul TCP/IP pentru a interconecta rețelele militare, dar a furnizat pe gratis standardele de protocol agențiilor guvernamentale și universităților. La 1 ianuarie 1983, TCP/IP a devenit unicul protocol oficial. Practic toate calculatoarele conectate la Internet utilizează familia de protocoale TCP/IP.

Punctele forte ale acestei stive sunt:

este independentă de producător (vânzător);

nu este protejată prin legea copyright-ului;

se poate utliza atât pentru rețele locale (LAN), cât și pentru rețele globale (WAN);

se poate utiliza pe aproape orice tip de calculator.

TCP/IP este un set de protocoale stabil, bine definit și complet care asigură transferul pachetelor de date cu o rată foarte mică de eroare printr-o rețea neomogenă de calculatoare. TCP/IP este o suită de protocoale, dîntre care cele mai importante sunt TCP și I în acest moment pentru transmisiile de date din cea mai mare rețea existentă – Internetul.

Modelul de referință TCP/IP a fost creat de Departamentul Apărării din SUA pentru a deveni rețeaua supremă-care să supraviețuiască în orice condiții. Agenția ARPA a creat în anul 1975 protocolul TCP/IP pentru a interconecta rețelele militare, dar a furnizat pe gratis standardele de protocol agențiilor guvernamentale și universităților. La 1 ianuarie 1983, TCP/IP a devenit unicul protocol oficial. Practic toate calculatoarele conectate la Internet utilizează familia de protocoale TCP/IP.

Punctele forte ale acestei stive sunt:

este independentă de producător (vânzător);

nu este protejată prin legea copyright-ului;

se poate utliza atât pentru rețele locale (LAN), cât și pentru rețele globale (WAN);

se poate utiliza pe aproape orice tip de calculator.

TCP/IP este un set de protocoale stabil, bine definit și complet care asigură transferul pachetelor de date cu o rată foarte mică de eroare printr-o rețea neomogenă de calculatoare. TCP/IP este o suită de protocoale, dîntre care cele mai importante sunt TCP și IP.

Din punct de vedere arhitectură l protocoalele TCP/IP au patru niveluri în loc de șapte ca în modelul OSI. Cele patru nivele ale modelului TCP/IP sunt: nivelul aplicație, nivelul transport, nivelul Internet și nivelul rețea.

Nivelul Aplicație

Realizatorii modelului TCP/IP au considerat că protocoalele nivelului cel mai de sus trebuie să includă detalii ale nivelului sesiune și prezentare, așa că au creat nivelul aplicație ce tratează protocoalele de nivel înalt, probleme de reprezentare, codificare și control al dialogului. TCP/IP combină toate problemele aflate în legătură cu nivelul aplcație într-un singur nivel, asigurăndu-se că aceste date sunt corect împachetate pentru următorul nivel.

Nivelul transport

Nivelul transport se ocupă de problemele legate de performanțele sistemului, controlul fluxului și corectarea greșelilor. Unul din protocoalele sale, Transmission Conrtol Protocol (TCP), propune modalităti flexibile de comunicare, cu flux de date excelent, cât mai puține erori. TCP este un protocol orientat pe conexiune. Nivelul transport este orientat pe conexiune ceea ce nu înseamnă că există un circuit între calculatoarele comunicante; presupune de fapt că segmentele nivelului 4 sunt retransmise după o anumită perioadă în caz că nu au ajuns la destinație în formă corectă.

Nivelul Internet

Nivelul Internet – corespunde nivelului OSI 3 si este denumit dupa numele principalului protocol care ruleaza pe acesta.

Acest nivel are ca și rol transmiterea pachetelor de la sursă și sosirea lor la destinație independent de calea urmată. Protocolul specific acestui nivel e Internet protocol (IP). Determinarea căii optime se face la acest nivel . Este asemănător cu sistemul poștal – când se trimite o scrisoare , nu are importanță cum ajunge la destinație (există multiple căi ), dar că ajunge sigur.

Nivelul rețea

Numele acestui nivel e extrem de confuz. Se mai numește și nivelul gazdă pentru rețea sau acces la rețea. Este nivelul ce se ocupă de problemele pe care le întampină un pachet IP pentru a realiza o conexiune fizică, și apoi o altă conexiune fizică. Include detalii ale technologiei LAN și WAN și toate atributele caracteristice nivelului fizic și legatura de date din modelul OSI.

2.2 Infrastructura rețelei
2.2.1 Medii de transmisii

Pentru rețelele locale se folosesc trei scheme de conectare: cablu pereche răsucita, coaxial saufibra optică . Perechea răsucita (Twisted Pair – TP) e cea mai comuna forma de mediu de transmitere în uz astăzi. E folosit la transmiterea de date de la 10 la 100 mbps dar viteza poate fi încetinita de erori caracteristice: pierderi de date, cuplare crosstalk, interferențe electromagnetice. Ecranarea poate fi adăugata cablului de date pentru a nu mai interacționa electromagnetic, dar sporește atenuarea. Atenuarea e micșorarea puterii semnalului în rețea. Ecranarea modifica de asemenea rezistența, inductanța și capacitanța într-un mod care duce la pierdere de date, deci poate duce la clasificarea TP-ului ecranat ca fiind un mediu de comunicare impropriu. Atât TP-ul ecranat cat și cel neecranat pot fi folosiți pe segmente de câteva sute de metri. De obicei se folosește cablu TP neecranat (Unshielded Twisted Pair) de următoarele categorii :

Cat 1 – folosită în special pentru voce la începutul anilor 80;

Cat 2 – folosită în special pentru rate de transfer de max. 4 mbps;

Cat 3 – folosită în special pentru rate de transfer de max. 16 mbps;

Cat 4 – folosită în special pentru rate de transfer de max. 16 mbps și are 4 fire;

Cat 5 – e cea mai populara categorie și e folosită în special pentru rate de transfer de max. 100 mbps.

Cablu coaxial e un mediu de transmisie versatil și folositor. Este realizat din doua fire separate de un dielectric. Cablul coaxial permite o mai mare ecranare și segmente mai lungi. Cu cât diametrul cablului se mărește cu atât rata de transfer crește, dar costurile cablurilor de diametre mari sunt și ele mari, deci instalarea acestora e îngreunată de costuri.

Fibra optică e un mediu subțire și flexibil care transforma data prin unde luminoase printr-un cablu de sticlă. Acest mediu merge și pe distante mai mari de un kilometru și e un mediu extrem de sigur. Fibra optică exista în doua varietăți : modul simplu și multimode. Fibra optică este un fir de sticlă ultrasubțire acoperit de o suprafață de plastic care reflecta lumina înapoi în sticlă.

Tabelul următor reflecta avantajele și dezavantajele mediilor de transmisie.

Tipurile de tehnologii LAN ca Fast Ethernet, Fibre Channel, FDDI și ATM noi au început să înlocuiască vechile tehnologii Token Ring și Ethernet. Voi enumera în continuare principalele tipuri de tehnologii :

Simple Ethernet (10base-X) e una din cea mai veche, simplă, ușoară și ieftina tehnologie LAN. Exista diferite varietăți depinzând de mediu: 10base-5 (Cablu coaxial subțire), 10base-2, 10base-T (twisted pair), 10base-F (fibra) . Arhitectură pentru toate patru este aproape aceeași. Ele transmit date pe rețea la viteze de 10mbps, folosesc protocolul CSMA/CD, cea mai populara fiind 10base T.

Inima tehnologiei Ethernet stă în protocolul Carrier Sense, Multiple Access, Collision Detect (CSMA/CD). Carrier Sense înseamnă ca fiecare stație verifica Dacă alta stație din rețea transmite. Dacă exista atunci nu există carrier și nu va transmite. Stația va încerca să prindă carrier până când pe rețea nu se mai transmite și carrier devine disponibil. Collision Detect înseamnă că Dacă doua stații transmit în același timp și semnalele se întâlnesc, ambele vor opri transmisia și vor încerca mai târziu. Multiple Access indica ca fiecare stație e conectată printr-o singură linie la rețea.

Token Ring e o tehnologie veche bazată pe arhitectură de inel. O stație de control creează o entitate specială în rețea numita token și o transmite în inel. Acest token controlează ce stație are dreptul să transmită în rețea. Dacă acest token ajunge la o stație care are de transmis în rețea ea “capturează” tooken-ul și îi schimba starea în “ocupat”, adaugă datele de transmis și trimite în continuare. El circula în rețea până ajunge la stația unde se vrea a ajunge informația. Stația destinație ia informația și pasează tooken-ul în continuare. Când tooken-ul ajunge la expeditor, el se șterge și se creează alt token. Token Ring sunt niște arhitecturi ordonate și eficiente. Există doua variante disponibile una la 4Mbps și alta la 16Mbps.

Fast Ethernet există în mai multe moduri, bazate pe tipul de mediu 100base-T4 (twisted pair [4 perechi])100base-TX (twisted pair [2 perechi])100base-FX (fibra) și transmite date cu o rată de transfer de pană la 100Mbps.

100VG (Voice Grade)-AnyLAN e o altă versiune de specificare de rețea la 100Mbps. Principala diferență este că folosește protocolul Demand Priority Access Method (specificația 802.12) în locul CSMA/CD. 100VG-AnyLAN utilizează medii de transmisie de tip CAT 3, 4, 5-UTP, 2-STP, ca adăugare la fibra optică . De asemenea suportă formatele 802.3 și 802.5. Acest suport permite o trecere lină de la tehnicile anterioare. Deși 100VG lucrează la aproape 100Mbps pe fir de cupru ca urmare a folosirii protocolului Demand Priority Access și folosirea repetorilor și hub-urilor pentru a spori traficul, nu e certificat că merge pe fibra. Aceasta face ca să nu meargă pe rețele pe distante lungi.

Protocolul Demand Priority Access este răspunsul VG la protocolul CSMA/CD. Clientul cere acces la rețea pentru a transmite informații. Serverul procesează cererea și transmite semnalul înapoi la client când și Dacă media e pregătita. În acest punct clientul are controlul asupra transmisiei.

IsoEthernet e unic pentru că nu suporta numai standardul 10Mbps Ethernet ci folosește canale 96 ISDN B operând la 6.144Mbps, un canal 64Kbps ISDN D pentru semnale, și un canal 96Kbps M pentru întreținere. Canalul de 10Mbps Ethernet e folosit pentru pachete de date, iar canalul ISDN B pentru video și audio. IsoEthernet lucrează pe CAT3 LAN și nu necesită upgrade de cablu la rețelele existente.

FDDI, sau Fiber Distributed Data Interface, e un mediu de transmisie pe bază de fibre optice capabil de viteze de până la 100Mbps. E folosit frecvent ca backbone la rețelele, precum și pentru a conecta rețele la calculatoare superperformante. FDDI se bazează pe topologia Token Ring, dar în loc de un singur inel folosește doua, primul este primar iar al doilea e folosit ca backup. Inelele funcționează invers unul altuia pentru a micșora erorile. Următoarele tehnici vor folosi și al doilea inel pentru date dublând efectiv rata de transfer.

CDDI, sau Copper Distributed Data Interface, a fost creat în principal ca răspuns la costul mare al fibrei optice.

Fibre Channel (FC) e o nouă schema de conexiune inteligentă care suportă propriul protocol precum și acele ale FDDI, SCSI, IP, și altele. Aceasta va servi la crearea unui standard unic în rețele, stocare și în general pentru transferul de date. Creat în special pentru WAN FC poate fi convertit simplu la LAN prin folosirea unui switch în rețea. FC suporta ambele interfețe de rețea și de canal pe același port micșorând povara rețelei asupra stației. Suportă de asemenea media electrică și optică pe rețea, cu viteze de la 133 la 1062 Mbps.

ATM, sau Asynchronous Transfer Mode, este standardul propus pentru transmisia ISDN. ATM e o soluție de înaltă performanță atât pentru LAN cat și pentru WAN. ATM folosește un switch de mare viteza care conectează calculatoarele prin fibra optică (una de transmitere și una de primire). ATM suporta de asemenea transmiterea de voce date și video prin rețea. E disponibilă la viteze de 25Mbps, deși a fost proiectată pentru 155Mbps.

Rețelele Ethernet sunt accesibile sau la o rata de transfer de 10Mbps sau 100Mbps. Rețele Gigabit măresc lățimea de bandă de 10 ori permițând viteze de până la 1000 Mbps. Rețelele existente Ethernet și Fast Ethernet sunt 100% compatibile și ușor de upgradat la noua arhitectură gigabit. Aceasta suporta protocolul CSMA/CD și va fi disponibilă pe fibră, cablu coaxial, sau chiar UTP.

În următorul tabel sunt prezentate tehnologiile precum și vitezele de transmisie și lungime maximă a segmentului de cablu între calculatoare.

Principalele medii de transmitere a datelor sunt prezentate în următoarele imagini:

Figura 2.2.1 a) – Cablul coaxial

Figura 2.2.1 b) – Cablul UTP

Figura 2.2.1 c) Tipuri de fibră optică Figura 2.2.1 d) Diferite tipuri de

medii de transmisie

2.2.2 Echipamente de transmisie a datelor

În realizarea unei rețele trebuie analizat și stabilit unele coordonate clare. Una de început și una din cele mai importante este topologia rețelei. Aceasta decizie pune bazele a tot ce va să vina : ce nivele de performanță și încredere poți întâlni, ce tip de rezultate administrative și de suport vei avea de înfruntat, cum puteți să scalați sau să expandați rețeaua.

HUB-UL

Un hub, este centrul activității unei rețele. Cu alte cuvinte hub-ul este punctul comun de legare a cablurilor unei rețele bazata pe o topologie stea. Arcnet, 10base T și 10base F și alte topologii de rețele constau în folosirea hub-urilor pentru a lega diferite cabluri și a distribui date în diferite segmente de rețea. Hub-urile funcționează ca sciziunile de semnal. Ele preiau toate semnalele care le primesc printr-un port și le distribuie pe toate porturile. Alte hub-uri redimensionează semnalul pentru a obține o comunicație sincrona între porturi. Hub-urile cu conexiuni multiple 10base F folosesc oglinzi pentru a împărți semnalul luminos la diferitele porturi. În multe cazuri gândul ca trebuie cumpărate hub-uri împiedică multe persoane să construiască rețele 10base T. Cum o frică de necunoscut e naturală, frică de hub-uri este mai degrabă o fobie necontrolată. Dacă ești în poziția de a upgrada o rețea 10base2 existenta nu ar trebui să te influențeze costul sporit al unui hub și să te oprească să te bucuri de flexibilitatea și performantele pe care un hub le oferă. De fapt costul unui hub va fi de aproximativ 10-50 $ mai mult pe stație de lucru depinzând de tipul de hub care se va folosi.

Într-o rețea 10base T toate componentele vor fi legate la unul sau mai multe hub-uri folosind cablu UTP. Hub-ul are multiple porturi și chiar multiple tipuri de conectori pentru a atașa componente de el. Se poate să fie nevoie de conectarea mai multor hub-uri între ele.

Rețelele Token-Ring de asemenea au diverse componente atașate care pot fi referite ca hub-uri. O unitate de acces multi-stație (MSAU) poate fi considerata hub. Pentru că servește același scop ca un hub Ethernet. Dar MSAU-rile folosesc switch-uri mecanice și re-rutează informația serial, nu paralel ca hub-urile Ethernet.

Exista o metodă simplă de a determina dacă ai nevoie de un hub într-o rețea. Dacă construiești o topologie star și folosești mai mult de doua mașini de legat ai nevoie de hub. Dacă construiești o rețea doar cu doua mașini poți folosi poți să le conectezi fără hub, folosind un cablu UTP și 2 conectori RJ45.

Hub-urile pasive, cum sugerează și numele, nu prea fac mare lucru pentru a crește performantele unei rețele, sau a rezolva diverse conflicte, ele doar preiau datele de pe un port și le retransmite pe celelalte, cel mai simplu lucru pe care îl poate face un hub.

Hub-urile active au un general toate facilitățile unui hub pasiv, cu bonusul de chiar a monitoriza datele transmise. Hub-urile au un rol mai larg în rețelele Ethernet prin tehnologia “stochează și transmite”.

Hub-urile inteligente oferă mai multe avantaje decât hub-urile pasive sau active. Organizațiile care caută să expandeze capacitățile rețelei astfel încât utilizatorii să împartă resurse și să funcționeze mai rapid pot folosi cu încredere hub-urile inteligente. Tehnologia din spatele hub-urilor inteligente s-a dezvoltat în ultimii ani și îți dă posibilitatea de a controla rețeaua de la o locație centrală. Dacă o problema se ivește la o componentă a rețelei legată la un hub inteligent, poți detecta , diagnostica și remedia problema utilizând informațiile furnizate de hub.

BRIDGE/ROUTER

Bridge-urile , care operează cu nivelul legături de date, conectează doua LAN-uri și redirecționează cadrele în corespondență cu adresa controlului de acces la media (MAC). Deseori conceptul de router e mai familiar decât cel de bridge, putem să gândim un bridge ca un router de nivel scăzut.

Bridge-urile nu știu nimic despre nivelele superioare în cadrele pe care le transmit. Astfel ele au de a face cu IP, IPX și altele în același timp. Un bridge poate folosi și protocoale nerutate precum NetBEUI.

Bridge-ul e mai greu de controlat decât un router. Protocoale ca IP au nivele de rutare mai sofisticate asociate, lăsând administratorul de rețea să exercite un control mai strâns asupra rutării. Protocoale ca IP de asemenea furnizează informații despre cum ar trebui segmentată logic. Din aceste motive bridge-urile sunt folosite pentru rețele mici.

Bridge-urile source routing (cu rutare de sursă ) operează cu un alt principiu față de ruterele transparente. Bridge-urile transparente prezint iluzia unui segment continuu care conectează gazdele. Bridge-ul cu rutare de sursă nu face nicio decizie asupra locului unde trebuie trimise pachetele, și nu face liste de adrese MAC.

SWITCH

Switch-urile (Fig. 2.2.2 ) funcționează împărțind rețelele cu trafic mare în subrețele mai mici și mai ușor de controlat. Ele, în aparență, nu diferă prea mult de rutere, hub-uri și bridge-uri. Totuși exista trei factori esențiali care separă switch-urile de celelalte. Ele sunt viteza de transfer (switch-urile sunt mai rapide), metodologia de retransmitere sau logică electronică (mai inteligentă) și un număr de porturi mai mare.

Fig. 2.2.2

2.2.3 Comutarea pachetelor în rețele de calculatoare

Rețelele locale folosesc cadre pentru a încapsula datele. Ele conțin toate informațiile necesare pentru a le transmite la destinație. Un cadru este un bloc de date transmis prin rețea. Mărimea și structura cadrelor e determinat de protocolul de nivel hardware folosit de rețea.

Rețelele sunt în principiu un sistem de dirijare a cadrelor, și au o mare necesitate de a standardiza pachetele. Standardizarea face ca diversele componente ale rețelei să interacționeze. Aceste standarde furnizează și o baza comună de conversie a cadrelor între diverse tipuri de rețele.

Fiecare tip de cadre, precum și protocoalele suportate oferă diferite combinații de parametrii de performanță. Înțelegerea beneficiilor și limitărilor fiecăruia ajută la crearea de rețele puternice și performante.

Un rol important în comutarea pachetelor de date în rețele îl are switch-ul. El este un dispozitiv capabil să combine capacitatea de conexiune a unui HUB cu cea a unui bridge de reglare a traficului pentru fiecare port. Comută pachetele din porturile de sosire (interfețe) spre porturile de ieșire, în timp ce asigură fiecărui port frecvență maximă. Față de HUB care nu ia nici o decizie și trimite pachetele primite pe toate interfețele sale, un switch ia decizii după adresa MAC și va trimite pachetul pe un singur port ținând cont de tabela sa de adrese MAC. Aceasta este explicația pentru care se micșorează foarte mult traficul inutil în rețea și o dată cu el se menține lărgimea de bandă. La routerele care au port de consolă se pot crea diferite reguli după care să fie dirijat traficul în rețea în funcție de cerințe, limitându-se manual traficul inutil sau nedorit. În ultimul timp sunt din ce în ce mai întâlnite switch-ul în module de router, care iau decizii după adrese IP, dar aceste switch-uri sunt deja dispozitive de nivel 3. Acestea îmbină calitătile unui switch cu o parte din proprietățile unui router în ceea ce privește securitatea, fiind capabil să-și creeze tabele de routare și să controleze traficul în rețea în funcție de acestea.

2.3 Rețele virtuale
2.3.1 Tipologia VLAN-urilor
Termenul de topologie a unei rețele se referă la forma geometrică a traseului semnalului. Din acest punct de vedere rețelele pot fi clasificate ca și rețele cu topologie simplă sau rețele cu topologie complexă. Exista trei forme fundamentale de topologie simplă pentru o rețea:

Topologia magistrală (bus) – se referă la acea structura a rețelei în care calculatoarele sunt “înșirate” de-a lungul unui unic cablu de rețea (vezi figura 2.3.1 a)

Figura 2.3.1 a)

Avantajele acestei topologii provin din simplitatea deosebită a structurii. Costurile de implementare sunt scăzute dar în schimb dezavantajele sunt multiple: limite de dimensiuni, dificultate în depanare, scalabilitate scăzuta.

Topologia stea ( star – Figura 2.3.1 b) – este o rețea în care echipamentele “clienți” sunt capetele razelor unei stele având în centru un echipament auxiliar (un hub). Topologia stea îmbina un maximum de avantaje: necesita costuri scăzute, este ușor de diagnosticat, are scalabilitate si interconectivitate mare,

Figura 2.3.1 a)

Figura 2.3.1 b)

Derivate ale topologiilor stea sunt topologiile comutate în care forma rețelei este aceiași dar echipamentul central este de aceasta data un echipament activ (un switch).

Topologia inel (ring Figura 2.3.1 c) – cablul de comunicații folosit se unește la capete formând un inel pe circumferința căruia sunt conectate echipamente client

Figura 2.3.1 c)

Este interesant de semnalat și faptul că topologiile inel pot fi implementate și pe structuri fizice de tip stea (este cazul rețelelor de tip Token Ring care sunt fizic rețele stea dar logică de transmisie a semnalului prevede o transmisie circulara – o topologie ring).

În acest caz se spune despre rețeaua respectiva că este o stea fizică si un inel logic. (Mai există și alte tipuri de rețele ale căror prevederi specifică astfel de combinații).

Topologiile complexe sunt formate prin îmbinarea (în diverse combinații) a mai multor celule – topologii simple. În continuare sunt enumerate câteva tipuri mai des răspândite de topologii complexe:

topologiile “lanț de margarete” (daisy chains) – sunt formate prin conectarea mai multor topologii stea;

ierarhii de inele – mai multe topologii inel sunt reorganizate și interconectate astfel încât fiecare inel deservește cererile de o anumita prioritate;

ierarhii de stele – câteva topologii stea sunt reorganizate și conectate astfel încât se conferă fiecăreia un anumit rol și o anumita prioritate;

ierarhii combinate – structuri de mai multe tipuri sunt conectate și deservesc fiecare un anumit gen de servicii ale rețelei.

2.3.2 Configurarea VLAN-urilor

Dincolo de elementele de teorie prezentate, activitatea de proiectare a rețelelor este o activitate complexa si laboriousă care trebuie sa tină cont în afară de intențiile inițiale de construcție si de factori economici si de mediu implicați.

Putem defini activitatea de proiectare/configurare/simulare a unei rețele VLAN ca fiind succesiunea de acțiuni care pornesc de la formularea de către beneficiar a cerințelor și merg până la definirea unei forme concrete de așezare în spațiu a rețelei, cuprinzând echipamentele necesare, amenajări, achiziții, necesități de întreținere si de personal, etc.

Prima etapa necesara este formularea de catre beneficiar (viitorul proprietar / utilizator al retelei) a necesitatilor si cerintelor sale. Este foarte important ca în această etapa beneficiarul să fie consiliat de catre persoane cu pregatire de specialitate (fie din cadrul echipei care va realiza proiectul fie din exterior). Este de retinut că în afara cerintelor curente ale beneficiarului (care sunt de obicei ușor de formulat si cuantificat) trebuie estimate si tendințele viitoare de dezvoltare sau modificare ale retelei. De asemenea trebuie bine formulat gradul în care diversele cerințe adresate rețelei vor fi atinse si respectate. Și nu în ultimul rând trebuie precizate cerințele financiare ale beneficiarului (sumele “pasibile” de a fi cheltuite în acest scop).

Urmeaza o etapa de tatonari în care echipa de proiectare propune una sau mai multe soluții tehnice posibile. Pentru fiecare dintre aceste soluții trebuie facute analize din toate punctele de vedere: cost, performanță, fiabilitate, mentenabilitate, scalabilitate, necesar de personal, necesar de service, condiții de service, etc.

Unul din instrumentele cele mai importante care vor fi folosite în cadrul acestor analize este modelarea soluțiilor propuse.

Activitatea de modelare a funcționării unei rețele de calculatoare presupune crearea, cu ajutorul unui program specializat, a unei imagini a rețelei examinate, cuprinzând caracteristicile de bază ale rețelei. Programul folosit va calcula mai departe care va fi comportamentul rețelei în diverse conditii date (depinzând și de limitările funcționale ale programului de modelare). Caracteristicile selectate ca fiind reprezentative vor fi vizualizate mai departe printr-o metoda oarecare (raport, animație, imagine, etc.) (depinzând de asemenea de capabilitățile programului de modelare).

După ce fiecare dintre soluții a fost examinată și a fost aleasă cea corespunzatoare se va trece în final la realizarea practică a retelei cerute.

E necesar de mentionat ca acelasi proces de proiectare se aplica si in cazul extinderii sau / si modificarii unei rețele existente.

De asemenea procedeele de modelare sunt folosite nu numai în cadrul proiectarii rețelelor ci și în cazul studierii sau / și diagnosticarii unei retele.

Configurarea VLAN-ului manual. Acest tip de configurare are avantajul controlului total asupra rețelei de către administratorul de rețea. Dar daca rețeua este una complexă, cu dimensiune foarte mare mentenanța manuală este greu de realizat.

Configurarea semi-automată. În acest tip de configurare se poate automatiza fie configurarea inițială, fie eventualele modificări și relocări de stații de lucru, fie ambele. La fel se poate crea un VLAN manual, apoi toate prelucrările asupra sa să fie realizate automat. Administratorul de rețea poate interveni manual și poate face orice schimbare necesară.

Configurarea automată: În acest tip de configurare stațiile de lucru se conectează automat și dinamic la VLAN, în funcție de mai multe criterii : aplicație, ID-ul utilizatorului sau alte politici predefinite de către administrator.

3. Aspecte teoretice privind securitatea rețelelor de calculatoare

3.1 Conceptul de securitate

Rețelele de calculatoare și infrastructurile de comunicații devin din ce în ce mai complexe, fiind integrate în structurile de bază ale organizațiilor. De mulți ani, infrastructurile de comunicații s-au extins de la nivelul intern al acestor organizații (Intranet) către conectarea globală la nivelul Internet-ului. Toate acestea au însă un cost care se concretizează în posibilitatea de penetrare și compromitere a rețelei și a datelor existente în servere. Există domenii “sensibile” (sistemul bancar, militar, asigurări,…..) unde orice breșă în securitate poate avea consecințe catastrofale asupra organizațiilor.

Posibilitatea de accesare rapidă, în orice moment, a informației, precum și necesitatea de a asigura protecția acesteia împtriva furtului sau distrugerii au devenit cerințe care nu existau atunci când rețeaua și serviciile sale au fost create. Necesitatea asigurării securității informației nu mai trebuie demonstrată în zilele noastre.

Principalele concepte de securitate a informațiilor sunt confidențialitatea, integritatea și disponibilitatea acestora. Conceptele referitoare la persoanele care manipulează aceste informații sunt autentificarea și autorizarea.

Confidentalitatea înseamnă că informațiile stocate în rețea sunt accesate de către o persoana autorizată în acest sens. În domeniul medical, bancar, confidențialitatea este esențială, iar o eventuală “spargere” a rețelei duce la scurgeri de informații, având loc o loc pierderea a confidențialității.

Integritatea informațiilor presupune că acestea pot fi modificate sau șterse de către anumite persoane. Astfel pot fi compromise date în mod intenționat sau din greșeală. Disponibilitatea înseamnă că informațiile sunt accesibile pentru persoane autorizate -într-un anumit moment de timp dat. Disponibilitatea informațiilor pentru utilizatorii autorizație este un atribut important, îndeosebi pentru anumite tipuri de informații. Atunci când informațiile devin inaccesibile, spunem că avem de-a face cu un refuz al serviciilor (DoS). Securitatea informațiilor reprezintă protejarea lor pentru a respecta aceste criterii de securitate.

Autentificarea reprezintă operațiunea de demonstrare că un utilizator are identitatea declarată de acesta. Operațiunea presupune solicitarea unei informații suplimentare de la utilizatorul în cauză (o parolă, un certificat digital etc).

Autorizarea este determinarea dacă un utilizator sau un calculator are dreptul de a efectua o anumită operațiune cum ar fi accesarea unui fișier sau execuția unui program. S-a dovedit că accesarea informațiilor în mod neautorizat este mult mai ușoară decât determinare intrușilor, de aceea asigurarea securității sistemelor informatice, cu precădere a celor legate în rețea este o cerință de neocolit.

Încă de la apariția rețelelor ca și entități au existat programe de diagnostic/devirusare (în momentul de față oferta de astfel de programe este impresionantă prin diversitate a programelor și multitudine a caracteristicilor analizate – de la miniprogramele de diagnostic ale plăcilor de rețea, trecând prin programele de analiza scrise de diverși amatori și ajungând la programe profesionale sau chiar echipamente hardware dedicate pentru analiza funcționării rețelelor produse de marii companii – Ex. 3Com, IBM, Sun, Hewlett-Packard, etc.).

În practică va trebui realizată o balanță între funcționarea normală a serviciilor și asigurarea securității acestora.

Protocoalele TCP/IP reprezintă standarde în jurul cărora s-a dezvoltat Internetul, așa că modelul TCP/IP e mult mai răspândit din cauza protocoalelor sale. În opoziție, nici o rețea nu e construită în jurul protocoalelor modelului OSI, deși toată lumea folosește modelul OSI pentru a evalua o rețea. Din aceste considerente a fost prezentată partea fizică a rețelelor conform modelului OSI, iar în cadrul modelului TCP/IP vor fi prezentate celelalte protocoale.

În figura 3.1. este prezentată echivalența între cele două tipuri de protocoale.

Figura 3.1. – Protocoale TCP/IP

Protocolul de control în Internet

Pe lângă IP, care este folosit pentru transferul de date, Internetul are câteva protocoale de control la nivelul rețea precum ICMP, ARP, RARP, BOOTP

Protocolul ICMP. Funcționarea Internet-ului este atent monitorizată de către rutere. Atunci cînd se întîmplă ceva neobișnuit, evenimentul este raportat prin ICMP (Internet Control Message Protocol – protocolul mesajelor de control din Internet), care este folosit și pentru testarea Internet-ului.

Protocolul de rezoluție a adresei – ARP. Există cazuri când un proces de la nivelul rețea dorește să transmită un pachet care are adresa Internet specificată, dar a cărui adresă Ethernet nu este cunoscută. În acest caz acel proces de la nivelul rețea trebuie să transmită o cerere ARP broadcast pentru a afla adresa Ethernet a destinației. Un nod urmează să răspundă cererii de adresă Ethernet conținută în pachetul ARP, de obicei chiar nodul destinației. Când este recepționat răspunsul, de obiceicei 48 biți sunt reținuți într-un cache, iar dacă este găsit pachetul este transmis direct și se poate evita o tranzacție ARP.

Protocolul de rezolutie inversă a adresei – RARP. ARP-ul rezolvă problema aflării adresei Ethernet corespunzătoare unei adrese IP date. Câteodată trebuie rezolvată problema inversă. Soluția este folosirea RARP-ului (Reverse Address Resolution Protocol). Acest protocol permite unei stații de lucru să difuzeze adresa sa Ethernet, și permite serverului RARP să caute în fisierele sale de configurare și trimite înapoi adresa IP corespunzătoare.

Protocolul alternativ de pornire – BOOTP

Deoarece existența unui server RARP în fiecare rețea nu ar fi practic posibilă, pentru a rezolva această problemă a fost realizat un protocol alternativ de pornire numit BOOTP.

Protocoale la nivelul transport

TCP – Protocolul de control al transmisiei

Deoarece protocolul IP este de tip datagramă, utilizarea lui direct în aplicații, care în general au nevoie de conexiuni sigure, este anevoioasă. Din aceste motive peste IP a fost construit un alt protocol numit Transmission Control Protocol (TCP), care corectează aceste probleme. Alături de protocolul UDP, TCP se situează pe nivelul transport în ierarhia de protocoale. Cu toate că se bazează pe același protocol TCP furnizează către nivelul aplicație servicii orientare-conexiune sigure de tip flux de octeți.

Termenul de orientat-conexiune presupune că între cele două aplicații care comunică utlizând TCP trebuie să se stabilească o conexiune TCP înainte ca transferul de date să aibă loc.

TCP este responsabil cu:

Stabilirea conexiunii

Dirijarea pachetelor

Controlul fluxului

Detecția și tratarea erorilor

UDP – User Datagram Protocol

UDP este un protocol de nivel transport construit special pentru a oferi un serviciu de comunicare peste IP

SSH – Secure Shell Este un protocol care permite accesul sigur de la distanță între două calculatoare.

Protocoale ale nivelului aplicație

Cele mai cunoscute aplicații ale Internetului care folosesc protocoale de la nivelul transport sunt:

DNS – Domain Name Service

Internet funcționează un sitem centralizat care gestionează corespondența între numele unui domeniu și adresa IP a calculatorului-gazdă. Acest sistem se numește Domain Name Service (sau System) – DNS.

FTP – File Transfer Protocol

FTP este cel mai cunoscut protocol pentru transferul fișierelor și permite utilizatorilor atutorizați să transfere fișiere de la și către servere aflate la distanță. FTP stabilește o conexiune în „mod pasiv” (Passive Mode) în care clientul preia structura de directoare, transferă fișiere și apoi se deconectează.

Remote login – Telnet

Este prescurtarea de la TELEcommunications NETwork și se referă atât la aplicație cât și la protocol. Telnet oferă utilizatorilor o cale de a se loga și de a-și accesa terminalele proprii prin rețea. Practic, Telnet asigură accesul direct la calculatorul aflat la distanță.

SMTP – Simple Mail Transfer Protocol

SMTP este standardul utilizat pentru transferul poștei electronice prin Internet. Toate sistemele de operare au clienți de e-mail care suportă SMTP. Acest protocol utilizează și alte servicii și protocoale cum ar fi POP3 și IMAP4 care permit utilizatorului să-și gestioneze mesajele pe serverul pe care are configurată căsuța poștală.

HTTP – Hyper Text Transfer Protocol

http este un protocol ce asigură transferul unor fișiere text în care conținutul a fost scris folosind limbajul HTML (Hyper Text Markup Language)

Protocoale de rutare

Relizează crearea tabelelor de rutare în mod automat. Exemple: RIP, OSPF, NCP,NLSP , EIGRP

Protocoalele de rutare pot fi construite pe baza diferitor algoritme, fiecare cu specificația lor și metoda de alegerea rutei potrivite.

RIP – Protocolul de Rutare a Informației ( Routing Protocol Information) este un protocol de rutare de tip distanță-vector ce implică utilizarea ca metrică de rutare a numărului de pași de rutat (hop count). Rutarea se poate baza pe algoritmi cu vectori-distanță (numiți și algoritmi Bellman-Ford)

OSPF – Open Shortest Path First „deschide prima oară calea cea mai scurtă”, este un protocol IP dinamic destinat rutării în interiorul unui rețele de dimensiuni mari mari.

NLSP -NetWareLink Services Protocol . Unul din principalele protocoale de aplicatie este NCP (NetWare Core Protocol), folosit pentru acces la structurile si serviciile de directori și fișere, imprimare și e-mail. Alte protocoale din stratul de aplicatie Novell sunt: RIP (Routing Information Protocol), SAP (Service Advertising Protocol- standard Novell) si NLSP (NetWareLink Services Protocol). NLSP este un protocol de rutare si de publicitate a serviciilor, menit sa înlocuiasca vechile protocoale RIP si SAP.

EIGRP- Enhanced Interior Gateway Routing Protocol este un protocol de rutare hibridă dezvoltat din protocolul mai vechi IGRP realizat de către Cisco.

Protocoale de securitate

Layer 2 Tunneling Protocol (L2TP) este un protocol folosit pentru rețelele virtual private (VPNs).

IPSec a apărut pentru a standardiza protocolul IPv6 și reprezintă singura soluție deschisă pentru securizarea a conexiunilor pe Internet. IPSec poate fi configurat pentru două moduri: modul tunel și modul transport.

Protocoalele SSL/TLS sunt protocoalele la nivel de transport și servesc pentru instalarea legăturii de încredere între server și client

Protocolul SSH – Secure Shell Este un protocol care permite accesul sigur de la distanță între două calculatoare

Protocolul OpenPGP este un protocol pentru criptarea și decriptarea mesajelor electronice folosind chei criptografice publice.

Protocolul MIME – Multipurpose Internet Mail Extensions este un protocol de comunicare care defineste tipurile documentelor, cum ar fi: text/html, imagine/gif, imagine/jpg, etc.

Protocolul Kerberos este un protocol de autentificare standard utilizat la scară mare și folosit pentru a verifica identitatea utilizatorului sau a stației gazdă.

Protocolul SESAME (Secure European System for Applications in a Multi-vendor

Environment), este realizat de către europeni, fiind un omolog al protocolului Kerberos În jurul acestui protocol s-a dezvoltat un întreg proiect ce avea ca obiectiv primar să producă tehnologie pentru controlul accesului în sisteme distribuite

Internet Key Exchange (IKE –schimbul de chei in Internet) ofera un cadru de negociere a parametrilor de securitate (durata de viata a unei asocieri pentru securitate, tipul de criptare, etc) si de stabilire a veridicitatii cheilor.

Protocoale de autentificare

IEEE 802.1x este un protocol de autentificare extins ce poate fi folosit ca suport pentru RADIUS, pentru profilul userului centralizat si managementul conturilor intr-un server RADIUS

RADIUS Remote Authentication in Dial-In User Service.

Autentificarea RADIUS este un protocol utilizat pentru autentificarea userilor folosind un server extern în locul unui device intern cu baza de date a userilor care este limitată la capacitatea memoriei device-ului. Este realizată validarea unui numar nelimitat de useri de la o locatie centrala.

DIAMETER este un protocol de autentificare, autorizare și contabilizare. Se folosește în aplicații ce permit acces la rețea sau IP mobility. Este succesorul lui RADIUS.

EAP – Extensible Authentication Protocol, un protocol de autentificare folosit în standardul IEEE 802.1x.

LEAP – Lightweight Extensible Authentication Protocol – bayat pe EAP și creat de Cisco, numit și EAP-Cisco este un protocol de securitate pentru conexiuni wireless.

TACACS – Access Controller Access-Control System este un protocol realizat de către Cisco, care oferă funcții de autentificare, autorizare si administrare complexe.

SSH – Secure Shell

Este un protocol care permite accesul sigur de la distanță între două calculatoare. SSH negociază și stabilește o legătură criptată între un client și un server SSH prin intermediul unor diverse metode de autentificare. Această conexiune sigură poate fi apoi utilizată pentru accesarea serverului (înlocuirea serviciilor telnet, rlogin sau FTP, sau chiar conexiunile X11) sau pentru realizarea unei rețele private (VPN). Pachetul ssh este compus din server(sshd), client (ssh) si inca cateva utilitare pentru manevrarea cheilor. In genral sshd-ul se porneste din scripturile de initializare ale sistemul si ruleaza tot timpul in background. La fiecare conexiune noua, serverul face fork. Fiecare masina are o cheie RSA: host key (in mod normal pe 1024 de biti). In plus, cand e pornit demonul, el genereaza automat o cheie: server key (pe 768 de biti). Aceasta e regenerata din ora in ora daca a fost folosita si nu e pastrata niciodata pe disc. De fiecare data cand un client vrea o conexiune, demonul ii trimite host key si server key (publica). Clientul compara host key cu cea din baza lui de date, pentru a verifica daca nu s-a schimbat. Apoi clientul genereaza un numar aleator de 256 de biti. Cripteaza acest numar folosind host key si server key si trimite numarul criptat la server. In continuare ambele parti vor folosi numarul acest aleator ca o cheie de criptare. Sunt suportate urmatoarele metode de criptare: IDEA, DES, 3DES, ARCFOUR si TSS. Implicit se foloseste IDEA.

3.2. Protocoale de securitate

Protocolul Secure Sockets Layer (SSL)

Protocoalele SSL/TLS sunt protocoalele la nivel de transport și servesc pentru instalarea legăturii de încredere între server și client. Pentru instalarea unei asemenea legături serverul trebuie să aibă un certificat digital.

Protecția datelor la nivelul protocolului de transport este destul de simplă de realizat și de înțeles, de aceea ea este cel mai des utilizată pentru asigurarea accesului securizat la pagini și servicii Web. Protocoalele cel mai des folosite la nivel de transport sunt SSL(Secure Socket Layer) și TLS(Transport Layer Security). Protocoalele SSL/TLS sunt standarde – în acest fel, ele asigură integrarea aplicațiilor-client și serviciilor Web independent de platforma folosită.

Pentru interacțiunea cu serviciul Web se folosește protocolul HTTPS – protocolul HTTP în conjuncție cu protocolul SSL/TLS.

Pentru interacțiunea cu serviciul Web este deajuns să setăm serverul Web și în rândul de adresa a serviciului web sa indicam https://…. Astfel, apelarea metodei web-service se desfasoara absolut discret atat pentru aplicatia client, cat si pentru Web-service.

Protocoalele SSL/TLS permit nu numai autentificarea serverului și protecția datelor transmise, ele dau posibilitatea și de a autentifica clientul cu ajutorul certificatului lui digital. Microsoft .NET Framework permite folosirea a amândouă variante: cu una, sau cu doua autentificări. În primul caz e necesar doar certificatul serverului cu Extended Key Usage, în al doilea – e necesar certificatul serverului, cât și a clientului cu Extended Key Usage – Client Authentication.

În figura 3.2. este prezentată echivalența între cele două tipuri de protocoale TCP/IP

Figura 3.2. – Protocoale TCP/IP

SSL- Protocolul Secure Sockets Layer este un protocol de transport a datelor care transmite informațiile pe Internet într-o formă încriptată. SSL are rolul de a transmite informații catre serverul indicat totodată răspunzănd de fidelitatea lor. Secure Sockets Layer a fost realizat în anul 1994 de către Netscape Communications cu rolul de a realiza tranzacții sigure cu cărți de credit pe Internet. Aceste tranzacții au nevoie de un browser, un server web și o linie sigură de transmitere a informațiilor. Primele doua versiuni au avut probleme în ceea ce privește securitatea datelor, însă în anul 1995 a fost lansată cea de-a treia versiune SSL, o versiune completă fară a avea “bug-uri”, care a fost foarte bine primită de către public. În anul 1996, comunitatea IETF (prescurtare de la Internet Engineering Task Force) a dorit standardizarea protocolul SSL, obtinand protocolul Transport Layer Security (TLS) . Acesta a modificat foarte puțin în versiunea a treia a SSL.. Din anul 2001, majoritatea browserelor web au fost livrate cu suport atat pentru versiunea a treia SSL cat si pentru TLS.Certificatele SSL (secure sockets layer) au fost special concepute pentru a garanta identitatea unui site web si pentru a asigura integritatea mesajelor si criptarea datelor confidențiale pe timpul tranzactiilor online.

 Certificatele SSL se pot comanda folosind următoarele instrucțiuni:

1. Ne logăm în Control Panel-ul tău 1&1 la adresa: https://admin.1and1.com
Dacă dorim un singur pachet, va trebui să mergem pe pagina de Administrare.
Dacă dorim mai multe pachete, selectăm pachetul corespunzător pentru a ajunge pe pagina lui de Administrare.

2. Selectăm Dedicated SSL din secțiunea Order More Features.

3.Dăm click pe Next apoi Order

5. Se afișează o confirmare. Dăm click pe Edit pentru a atribui un domeniu certificatului SSL.

Certificatele SSL conțin:

 • numele celui care detine certificatul
• cheia deschisa a detinatorului
• perioada de valabilitate a certificatului
• numele autorului certificatului
• semnatura electronica a autorului

3.2.2 Protocolul Secure HTTP (S – HTTP)

HTTP este un protocol ce asigură transferul unor fișiere text în care conținutul a fost scris folosind limbajul HTML (Hyper Text Markup Language). Limbajul permite integrarea textului cu imaginile, cu alte elemente multimedia și cu elemente active. Se poate integra în corpul fișierelor HTML un cod care se va executa pe server sau pe calculatorul client. Serverul http poate fi configurat să autentifice utilizatorul înainte de a transfera un fișier către acesta. Portul implicit utilizat de http este portul 80.

În timp ce SSL creează o conexiune securizată între un client/stație de lucru și un server prin care poate fi trimisă în siguranță orice cantitate de date, S-HTTP este proiectat pentru a transmite mesaje individuale în siguranță, fără pierderi de informații. Din acest punct de vedere SSL și S-HTTP pot fi privite ca tehnologii complementare, nu concurente. Ambele protocoale au fost aprobate ca standard de către Internet Engineering Task Force (IETF).

Pentru un schimb de date cu Web service securizat e de ajuns setarea Web serverului, dar câteodată e necesar să verificăm se folosește sau nu conexiunea securizată în însuși Web Service. Pentru asemenea scopuri se folosește proprietatea IsSecureConnection din clasa System.Web.HttpRequest. Ea ne indică, se folosește protocolul S-HTTP pentru accesul la resurse sau nu.

Pentru autentificarea clientului cu ajutorul certificatelor se folosește proprietatea ClientCertificates din aceeași clasă. Ea returnează o colecție de obiecte a clasei HttpClientCertificate, din care se pot ușor obține certificatele clientului.

Folosirea protocoalelor SSL/TLS din partea clientului pentru accesul la serviciile Web

E necesar să indicați calea către serviciul Web cu prefixul https://

Pentru autentificarea clientului e necesar ca în proxy-class să fie adăugate certificatele utilizatorului în colecția ClientCertificates

Pe partea clientului pentru schimbul sigur cu Web-service este necesar de a folosi protocolul https. La conectarea cu Web-server SSL-client primește certificatul serverului și îl verifică. Dacă rezultatul este pozitiv el verifică dacă corespunde partea distinguished name (CN) cu adresa sitului. De exemplu, la accesarea paginii sau a serviciului Web pe adresa http://devgroup.mephist.ru/pki/test certificatul serverului trebuie să fie emis pe numele devgroup.mephist.ru. În cazul în care numele serverului din certificat nu corespunde cu calea lucrul cu Web service va fi întrerupt. În cazul accesării paginii din Internet Explorer va fi afișată o avertizare corespunzătoare, dar lucrul cu pagina va fi posibil.

Pentru autentificarea utilizatorului este necesar de a adăuga certificatele clientului în colecția ClientCertificates a clasei proxy Serviciului dat. La apelarea metodei serviciului Web certificatele clientului vor fi transferate serverului.

La folosirea prefixului https în adresa clasa SoapHttpClientProtocol automat va încerca să instaleze o legătură securizată cu Web-server. De obicei pentru aceasta se folosește portul 443. În afară de aceasta, toate certificatele din colecția ClientCertificates clasei proxy din Web service vor fi transmise web-serverului pentru autentificarea clientului.

Acum clientul poate interacționa cu Web service prin canal securizat.

Autentificarea utilizatorului:

La autentificarea utilizatorului folosind certificatele serviciul Web primește certificatul clientului cu ajutorul proprietății ClientCertificate a obiectului Context.Request;

Certificatele se prezintă sub forma unei mase de biți. Pentru verificarea certificatelor e necesar de a folosi clasa X509CertificateEx;

În clasa proxy de partea clientului e necesar de a adăuga certificatele utilizatorului în colecția ClientCertificates.

În cazul autentificării pe baza certificatelor digitale e necesar a seta corect serverul pentru recepționarea certificatelor clienților.

De partea clientului e de ajuns să adăugăm certificatele în colecția certificatelor utilizatorului. Aceasta se poate realiza în constructorul clasei proxy sau chiar în aplicația clientului:

CodeForLab3.Service SSLDemo=new CodeForLab3.Service();

SSLDemo.ClientCertificates.Add(x509cert);

De partea serverului e necesar de a efectua următorii pași:

de a recepționa certificatul pentru web-server.

de a permite recepționarea certificatelor de la client.

De partea serverului certificatul este accesibil prin proprietatea ClientCertificate a obiectului Context.Request.

În versiunea curentă .Net Framework și ASP.NET serviciile Web pot lucra cu un certificat al utilizatorului, dar de partea clientului e posibilă adăugarea câtorva certificate ale clientului.

Protocolul Secure Electronic Transaction (SET)

Cea mai simplă metodă de a proteja datele transmise între Web Service și client – folosirea unui canal securizat. În acest caz aplicația apelează metoda clasei proxy, care, la rândul ei, se adreseză serviciului Web pe un canal securizat. În calitate de canal cel mai des sunt folosite protocoalele SSL/TLS.

A doua metodă de protecție a datelor – cifrarea și/sau semnarea mesajelor separate între aplicație și serviciul Web. În acest caz clasa proxy ar trebui să prelucreze fiecare mesaj, transmis de client către Web-service. Web-Service verifică și/sau descifrează mesajul și, după aceea, îl prelucrează.

A treia metodă – organizarea protecției datelor de aplicația însuși. În acest caz aplicația singură cifrează sau semnează datele, le trimite către clasa proxy, care, la rândul ei, le trimite către Web-Service. În continuare, Web-Service descifrează datele primite, le prelucrează și trimite răspuns clientului, anterior cifrându-l. Pentru această variantă și aplicația, și serviciul Web trebuie să realizeze mecanisme proprii de protecție a datelor transmise.

În anul 1996, companiile Master Card și Visa au realizat împreună un protocol de securizare a plăților online numit Secure Electronic Transaction (SET). Apoi, un număr însemnat de companii au fost implicate în dezvoltarea SET: IBM, Microsoft, Netscape, RSA, Terisa și Verisign . Protocolul SET este o aplicație deschisă de criptare și de securitate care are rolul de a proteja tranzacțiile cu cărți de credit în Internet. SET este un set de protocoale de securitate ce permite utilizatorilor să folosească infrastructura de plăți cu cărți de credit într-o rețea deschisă, cum este Internet, într-un mod sigur.

Pentru a oferi o reală protecție, SET permite comercianților să verifice identitatea cumpărătorilor, dar și cumpărătorilor să transfere numărul cărții de credit direct la emitent, pentru verificare și plată. Comerciantul nu are dreptul de a vedea numărul cardului celui care cumpără un anumit produs.

3.2.4 Protocolul IPSec

IPSec este un alt standard de strat rețea ce asigură securitatea transportului ce poate deveni important pentru serviciile web. Precum SSL/TLS, IPSec de asemenea furnizează sesiuni sigure cu autentificarea gazdei, integritatea datelor și confidențialitatea informației.

Topologiile aplicațiilor de servicii web din zilele de azi sunt compuse dintr-o combinație largă de echipamente mobile, portale, servere intermediare, balanțatoare de încărcare, zone demilitarizate (DMZ), centre de informare cu surse străine de informație, și sisteme configurate dinamic și distribuite global. Toate aceste sisteme se bazează pe abilitatea intermediarilor de procesare a mesajelor să înainteze mesajele. În mod specific, modelul mesajelor SOAP operează pe terminale logice ce nu țin cont de infrastructura de rețea fizică și cea a aplicației și de aceea de multe ori include o topologie multi-hop cu actori intermediari.

Când informația este primită și înaintată de către un intermediar ce ține de un strat superior celui de transport atât integritatea informației și informația de securitate ce circulă împreună cu ea pot fi deteriorate. Acest fapt impune ca orice procesor de mesaj ce e contra curentului să se bazeze pe evaluări de securitate făcute de intermediarii precedenți și să fie încredere totală în manipularea de către aceștia a conținutului de mesaje. Ce e necesar într-o arhitectură de securizare a serviciilor web cuprinzătoare este un mecanism ce furnizează securitatea punct-la-punct. Soluțiile de securizare a serviciilor web ce au succes vor putea să acționeze atît mecanismele de securitate a stratului de transport cît și a celui de aplicație pentru furnizarea unei garnituri vaste de capabilități a securității.

Figura 2.2 Configurația punct-la-punct

Figura 3.2.4. a) End-to-end configuration

Modelul de securitate a serviciilor web descris mai sus ne permite să îndeplinim aceste țeluri printr-un proces în care :

Un serviciu web poate necesita ca un mesaj ce sosește să dovedească un set de cereri (ex. Nume, cheie, permisiuni, capabilități, etc.). Dacă un mesaj sosește fără a conține cererile necesare, serviciul poate ignora sau respinge mesajul. Noi ne referim la setul de cereri necesare și la informația legată de acesta sub numele de poliță.

Un apelant poate trimite mesaje cu dovada cererilor necesare prin asocierea jetoanelor de securitate cu mesajele. Astfel, mesajele necesită o acțiune specifică și dovadă că expeditorul lor are cererea pentru revendicarea acțiunii.

Cînd un apelant nu posedă cerințele necesare, acesta sau un reprezentant al lui poate încerca să obțină cerințele necesare prin contactarea altor servicii web. Aceste alte servicii web, la care ne vom referi ca fiind servicii ai jetonului de securitate, pot la rîndul lor să aibă setul lor propriu de cerințe. Agentul serviciilor jetonului de securitate trebuie să se încredințeze în cadrul diferitor domenii de încredere prin emiterea de jetoane de securitate.

Acest model este ilustrat în figura 3.2.4. b) , indicînd faptul că orice apelant poate de asemenea fi un serviciu și că serviciul jetonului de securitate poate de asemenea fi un integru serviciu web, care exprimă polițe și necesită jetoane de securitate.

Figura 3.2.4. b) Security token service model

Acest model general de mesagerie – cereri, polițe și jetoane de securitate – extinde și suportă cîteva modele mai specifice cum ar fi securitatea pe bază de recunoaștere a identității, liste cu control de acces și securitate pe baza de acțiuni permise. Acesta permite folosirea unor tehnologii deja existente precum certificatele cu cheie publică X.509, tichete Kerberos cu chei partajate și chiar a digest-urilor de parole. Așa cum vom vedea mai tîrziu, acesta de asemenea furnizează o abstracție integrată care permite sistemelor să construiască o punte de comunicare între diferite tehnologii de securitate. Modelul general este suficient pentru construcția schimburilor de chei de nivel superior, autentificare, autorizare, revizie și mecanisme de încredere.

IPSec este utilizată între aplicația Web și Web service pentru a asigura control adițional al accesului. Accesul neautorizat este prevenit de către IPSec. Autentificarea prin certificate pe serverul de Web service de asemenea previne accesul neautorizat.

3.3 Criptografia

Rolul criptografiei într-o rețea de calculatoare

Aplicațiile pentru rețele vor avea din ce în ce mai multă nevoie de măsuri pentru a asigura securitatea datelor precum și pentru a asigura că mesajele sunt autentice , atât în ce privește conținutul cât și originea lor. Cu cât se realizează mai multe aplicații pentru retele, cu atât ele vor trata informații ce sunt importante și de mare valoare ( ca de exemplu transferul de fonduri financiare ) și care trebuiesc protejate împotriva diferitelor moduri de distrugere.

În prezent există legislații în mai multe țări care impun ca organizațiile , ce mențin fișiere cu date personale să le înregistreze la o autoritate publică . Cei ce păstrează aceste fisiere trebuie să asigure acuratețea lor, acolo unde afectează drepturile oamenilor , și trebuie să garanteze informatiile și să le folosească numai în scopuri legale . Atunci când informațiile circulă în rețele , și acest lucru se întîmplă fregvent în prezent , în unele tări există legi care cer să se aplice un anumit grad de securitate (protecție).

În felul acesta protecția prin criptografie ,care astfel ar fi exclusă din cauza costului ,va fi probabil folosită în viitor la scară mai largă. Suporții de memorare ușor transportabili cum sunt discurile magnetice- benzile magnetice ,casetele și discurile magnetice flexibile ,ar necesita criptografierea pentru protejarea datelor înregistrate . Acești suporți sunt tot atât de vulnerabili la acțiuni ilegale , ca și datele în rețeaua de comunicatie .Un caz particular de memorare este cel al arhivelor , când este necesar să se memoreze informații personale timp de mai mulți ani. Aceste informații pot deveni mai importante odată cu trecerea timpului.

Criptografia este un mijloc tehnic prin care conținutul mesajelor sau traficul de pe o cale de transmisie poate fi ascuns (protejat) de un dușman și de asemenea se poate preveni modificarea mesajelor. Dintre numeroasele acțiuni ce pot afecta traficul ce circulă pe o cale, criptografia poate trata în mod excelent aspecte legate de livrarea ,modificarea , inserarea mesajelor și (cu anumite precauții suplimentare) repetarea mesajelor vechi. O aplicație a criptografiei o constituie sistemul de eliberare a banilor în numerar , una din formele de ,,transfer electronic de fonduri” . Pentru o securitate mai mare ,identitatea clientului ,dată de cartela sa magnetica și numărul personal ,este verificată de un calculator central care deține detalii privind cartelele furate și alte motive de a refuza plata . Aceste verificări pot fi anulate în mod fraudulos de un dispozitiv de interceptare ,spionare a liniei ,care poate citi mesajele dintre terminal și calculator și de asemenea poate modifica sau insera mesaje, făcând ca orice cartelă de identitate să apară validă . Criptografia este folosită pentru a preveni aceste fraude .

Identificarea persoanei

Autentificarea mesajelor înseamnă urmarirea lor înapoi la originea lor și foarte adesea aceasta impune ca sistemul să identifice persoana care foloseste un terminal . În practică , utilizatorul își furnizează identitatea , iar sistemul trebuie să fie capabil să o verifice sau să o autentifice , adică să verifice că identitatea pretinsă este autentică . Un sistem de autentificare trebuie să fie sigur ,atât cît este posibil , și să ia măsuri împotriva incercărilor de a-l înșela ,dându-se un individ căruia i se permite accesul la date sau care este autorizat să facă tranzacții . Există trei clase de identificare personală ,în funcție de:

(a)Ceva ce cunoaște o persoană ca de exemplu , parola sa,în termeni bancari , numărul său de identificare personală denumit PIN (Personal Identification Number) .

(b)Ceva ce posedă o persoană , care acționează ca o cheie fizică, pentru deschidere (ca de exemplu o cartelă de plastic cu o înregistrare magnetică pe ea .

(c)Unele caracteristici personale ale persoanei ,ca de exemplu vocea sa ,scrisul de mînă sau amprentele digitale . Pentru o securitate mai mare , se poate aplica o combinație a acestor măsuri de autentificare.

Identificarea bazată pe cunoaștere

Primele sisteme cu acces multiplu au folosit o parolă pentru a identifica sau a autentifica utilizatorii . Este metoda cea mai simplă de implementat ,deoarece nu folosește nici un hardware special și , în forma sa mai redusă folosește un software redus .

Unul din riscurile oricărui sistem de autentificare ,care nu este securizat prin criptografie (sau o formă înlănțuită a mesajelor unei conversații) ,constă în faptul că un intrus poate să aștepte ,pînă când utilizatorul a intrat în sistem și apoi să întrerupă conexiunea ,continuînd el conversația .Aceasta ,ar necesita un număr mare de cereri de parole diferite ,dar utilizatorul va gasi acest lucru dificil și plictisitor .

Identificarea prin cheie fizică

Pentru a fi eficientă , o cheie trebuie să aibă o gamă largă de valori posibile. Cel mai simplu mod de a purta o astfel de cheie este cartela magnetică, în prezent folosită în mod obișnuit , ca o cartelă de credit pentru dispozitivele de eliberare de bani în numerar și altele. Câmpul de informații în formatul standard consimțit de bănci are mai multe piste , unele conținând identificarea.

3.3.1 Folosirea algoritmilor de criptare fără chei

La baza cifrurilor simetrice,deci a cifrurilor care folosesc o singură cheie secretă , stau cifrurile elementare : transpoziția si substituția .

3.3.1 a) Cifrurile transpoziție

Realizează o permutare a caracterelor din textul clar .Cheia de cifrare este perechea K={d,f} unde d = lungimea blocurilor succesive , care vor fi cifrate conform permutării f :

Definim f : Zd Zd cu Zd= { 1,2,…,d}.

de forma :

unde evident f(i) != f(j) pentru orice i ! = j;

Mulțimea funcțiilor astfel definite este d! . În acest fel mesajul clar M=m1m2…md+d .. este cifrat astfel Ek(M)= mf(1)…mf(d) md+f(1) … md+f(d) . Descifrarea se obține prin permutare inversă .

Cifrarea prin transpoziție este o transformare a textului clar prin care se modifică poziția caracterelor în mesaj . Transpozițiile se pot aplica întregului mesaj sau blocurilor de lungime d obținute prin împarțirea întregului mesaj .În metoda de cifrare transpozițională , alfabetul textului clar ramîne neschimbat . O metodă des folosită pentru implementarea acestui tip de transformări este scrierea mesajului într-o anumită matrice, după care textul clar se obține prin citirea caracterelor pe linie ,pe coloană, sau după un anumit traseu în matrice .

Cifrurile transpozitie , se pot clasifica după numărul lor de aplicare , în transpoziții monofazice , când se aplică o singură dată , și transpoziții polifazice ,când se aplică de mai multe ori . Dacă în procesul de transformare , elementul unitate este litera , atunci transpoziția se numește monografică , iar dacă se transpun grupe de litere (simboluri) transpoziția se zice poligrafică .Cele mai simple transpoziții monografice ,se obțin prin împarțirea textului clar , în două jumătați care se scriu una sub alta ,după care se citesc coloanele de la stînga la dreapta .De exemplu cuvîntul CALCULATOR se cifrează astfel :

C A L C U

L A T O R

care citit pe coloane , arată astfel : CLAALTCOUR.

Altă metodă ar fi împarțirea cuvîntului în două ,astfel :

C L U A O

A C L T R

care citit pe linii , arată CLUAOACLTR .

Acest sistem este ușor de atacat ,deoarece fregvența de apariție a literelor ramîne invariantă în procesul de cifrare . De asemenea , se poate obține o transpozitie de caractere dacă literele textului clar se scriu ca elemente ale unei matrice .Se completează matricea cu elementele textului clar ,plecând de la un element oarecare al matricei , pe un anumit traseu. Astfel , textul clar CALCULATOR UNIVERSAL FELIX se scrie sub forma matriceală:

C A L C U

L A T O R

U N I V E

R S A L X

F E L I X

Mesajul se poate cifra în următoarele feluri :

Prin citirea elementelor matricei pe coloane de la stînga la dreapta , ceeace conduce la următoarele criptograme :CLURF AANSE LTIAL COVLI UREXX .

Prin citirea elementelor matricei pe diagonală ,de jos în sus , începând cu primul element al matricei : CLAUA LRNTC FSIOU EAYRL LEIXX .

În practica cifrării ,stabilirea traseelor de citire din matrice , se face în mod fregvent ,cu ajutorul unui cuvînt cheie . Cheia are un număr de litere egal cu numărul de coloane din matrice . Literele cheii , numerotate în ordine alfabetică ,se scriu deasupra matricei , în ordinea stabilită de cheie ,furnizează textul cifrat . O transpoziție ingenioasă a literelor dintr-un text se poate realiză prin rotirea cu 90 de grade a unei grile de formă pătratică . Se pot imagina și alte grile (tringhi ,pentagon ,hexagon ) care pot fi folosite la transpoziția literelor din textul clar .De asemenea trebuie observat că se poate realiza și alte tipuri de transpozitii , cum ar fi cele observate asupra unor grupuri de litere -transpoziții poligrafice .

3.3.1 b) Cifrurile substituție

Cifrurile substituție , înlocuiesc fiecare caracter din alfabetul mesajelor A ,cu un caracter din alfabetul criptogramelor C .

Dacă A={ a1,a2,…,an} atunci C={f(a1),f(a2),…,f(an)} unde f : A C este functia de substituție , constituind cheia cifrului . Cifrarea unui mesaj M=m1m2…mn se face prin Ek(M)=f(m1)f(m2)…f(mn) .

Deci substituțiile sînt transformări prin care caracterele (literele) sau grupurile de caractere ale alfabetului secundar . În practică se aplică fregvent substituția care se poate descrie cu ajutorul transformării liniare de forma : C=aM+b(mod N) .

În acest scop , se stabilește o corespondență biunivocă între literele alfabetului primar și numerele întregi 0,1,…,N-1 care formează un inel ZN ,fată de operațiile de adunare modulo N și înmulțire modulo N . În relație , a se numește factor de amplificare , iar b , coeficientul de deplasare .Prin particularizarea coeficienților a și b , se obțin cazuri particulare de transformări liniare .În cazul cel mai simplu , se stabilește o corespodența între literele mi M ale alfabetului primar și elementele alfabetului secundar ( eventual extins ) al criptogramei .

3.3.1 c) Substituțiile monoalfabetice

Transformările cu o singură lege de corespondență între literele alfabetului primar și cele ale alfabetului secundar , se numesc substituții monoalfabetice.

Cea mai simplă substituție monoalfabetică este cunoscută sub denumirea de cifrul lui CESAR . În cifrul lui CESAR , atât alfabetul primar , cît și alfabetul secundar ,coincid cu alfabetul latin de 26 de litere. Corespondența biunivocă între literele celor două alfabete ,se stabilește scriind în ordine alfabetică literele și trecând sub fiecare literă corespondența acestuia din alfabetul secundar , obținută prin deplasarea ciclică cu trei poziții la stînga a literelor alfabetului primar . Corespondența în cifrul lui CESAR este :

A B C D E … X Y Z

D E F G H …. A B C

Astfel la A corespunde litera D , lui B litera E , etc.

Folosind corespondența biunivocă între literele alfabetului latin mi și echivalentele lor numerice ei unde ei {0,1, ..25} cifrul lui CESAR se poate scrie sub forma : C(ei)=ei+bi(mod 26) cu bi =3 .

Ulterior ,cifrul lui CESAR , a fost generalizat ,prin alegerea în calitate de cheie, a oricărei litere din alfabet . În acest caz corespondența invariabilă este stabilită prin funcția C(ei)=ei+ bi ( mod 26) unde ei,bi {0,1,..25} .

Prin particularizarea , în continuare , a coeficiențiilor ,punând b=0, se obține o substituție de litere de forma : C(ei)=aei(mod 26).

Corespondența ei C(ei) este biunivocă dacă numerele a și 26 sînt relativ prime ,deci (a,N)=1 . În caz contrar ,două sau mai multe litere primare vor fi cifrate prin aceeași literă și fiuncția de cifrare nu admite o inversă . Alegând a astfel încît să fie relativ prim cu N=26, relatia stabilește o permutare a alfabetului primar .

De exemplu , luând a=3 ,se obține următoarea corespondența :

Litere primare : A B C D …. X Y Z

Numere echivalente 0 1 2 3 …..23 24 25

3ei (mod 26) 0 3 6 9 …..17 20 23

Cifrul : A D G I …….R U X

Literele cifrului se pot obține din alfabetul primar și prin următorul procedeu de selectare :

Se alege prima literă A și apoi în ordine ciclică , fiecare a treia literă , deci D,G,…,Y . După Y cifrul se continuă cu B, deoarece, în ordine ciclică , a treia literă după Y în alfabetul primar este B, ș.a.m.d., motiv pentru care factorul de amplificare a=3 se mai numește și factor de selectare.

Se poate obține un alfabet de substituire prin compunerea operației de deplasare cu operația de selectare. Astfel , alegând b=4 și a=3 se obține cifrul C(ei)=3(ei+4)( mod 26 ); ceeace este echivalent cu o transformare liniară generală de forma C(ei)= 3*ei+12(mod 26);

Cifrul sau permutarea P a literelor alfabetului primar ,unde :

P= A B C ….X Y Z

M P S … D G J

se poate caracteriza în mod univoc prin perechea de numere (3,4) , în care 3 reprezintă factorul de selectare iar 4 coeficientul de deplasare .

În general , perechea de numere (a,b) care definește în mod unic o transformare liniară ,se numește cheia substituției respective .

Cifrurile , discutate pînă acum ,cifrul CESAR și cifrul obținut prin compunerea operației de deplasare ciclică de amplitudine b cu operația de selectare ,având intervalul de selectare a , pot fi considerate ca cifruri simple și slabe la atacuri criptoanalitice . Ele sînt simple deoarece cheile, prin care aceste substituții se definesc ,sunt numerele a și b . Cifrurile sunt slabe la atacuri criptoanalitice ,deoarece este suficient pentru un criptoanalist să stabilească o cheie simplă ,pe baza căreia să obțină substituția tuturor literelor . Cifrul de substituție cel mai puternic și cel mai rezistent la atacurile criptoanalitice este cifrul aleator de substituție , în care literele alfabetului de substituire se obțin printr-un proces aleator .

3.3.1 d) Cifrul aleator de substituție

Acest cifru , pe lîngă avantajele referitoare la dificultățile sporite ale decriptării , întrucît literele alfabetului de substituire sunt statistic independente ,prezintă încă un dezavantaj în privința generării, transmiterii și păstrării cheii . Cheia conține , în acest caz ,26 de perechi de numere echivalente de forma (a,b) unde a,b {1,2,…,25} , și ca atare necesită o memorie de 26 de ori mai mare decît cifrul de substituție cu transformare liniară . În plus , memorarea cheii de cifrare ,de către cifrator fiind imposibilă , se recurge la înregistrarea cheii într-o anumită modalitate ce determină însă apariția pericolului pierderii sau furtul cheii . Un sistem de cifrare bazat pe substituție se poate obține și prin folosirea unei chei mnemonice . Pentru aceasta se alege cheia literală CERNEALA sub care se scrie cheia numerică ,care se obține prin numărarea literelor cuvintului-cheie ,după așezarea lor în ordinea alfabetică ,deci :

CHEIA LITERALĂ : C E R N E A L A

CHEIA NUMERICĂ : 3 4 8 7 5 1 6 2

în care primul A din cuvintul cheie are numărul de ordine 1 ,cel de-al doilea A are numărul de ordine 2 ș.a.m.d .În continuare se scriu literele alfabetului primar sub cheia numerică în forma :

C E R N E A L A

3 4 8 7 5 1 6 2

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

Corespondența monoalfabetică ,corespunzătoare cuvîntului cheie CERNEALA se obține prin scrierea sub literele alfabetului primar a literelor coloanelor de mai sus în ordinea crescătoare ,adică :

P= A B C …. X Y Z

F N V … C K S

Cu ajutorul acestei corepondențe se poate cifra orice text clar, obținând textul cifrat . În acest caz , numărul corespondențelor posibile crește de la 26 la 26! și ca atare ,această metodă de cifrare implică operații criptoanalitice de mare complexitate .

Cifrând încă o dată permutarea P ,conform cuvîntului cheie CERNEALA ,se obține permutarea P2(CERNEALA) .În acest caz ,tabelul pentru a doua substituiție , arătă astfel :

C E R N E A L A

3 4 8 7 5 1 6 2

F N V H P X A I

Q Y B J R Z E M

U G O W D L T C

K S

de unde rezultă permutarea :

P2(CERNEALA)= A B C … X Y Z

X Z L … V B O

În mod asemanător se pot construi permutările P3,….Pn .

Un cifru de substituție se poate obține și cu un tabel sub formă de scară. Pentru aceasta se scriu toate literele alfabetului , în ordine alfabetică, sub literele cheii ,cu condiția ca litera i să se completeze începând cu coloana i ,pentru i=1 ,2 ,…. .

Apoi , permutarea fixă ,sau alfabetul cifrat rezultă din scrierea sub literele alfabetului primar , a literelor coloanelor tabelului scară în ordinea crescătoare .Astfel de exemplu , pentru cheia mnemonică :

P R A C T I C A

6 7 1 3 8 5 4 2

1 A B C D E F

2 G

3 H I J K L

4 M N

5 O P Q

6 R S T U V W X

7 Z

care conduce la următoarea permutare :

P = A B C D E …. W X Y Z

R S Z A T….. L N Q Y

Un alt procedeu de obținere a unui alfabet cifrat constă în repetarea cuvîntului cheie ,pînă rezultă un număr de litere ,egal cu numărul literelor din alfabetul primar . Aceasta se scrie sub literele alfabetului primar și se numerotează în ordine alfabetică de la 0 la 25 .Litera A se cifrează prin acea literă care este deasupra lui 0 ș.a.m.d .

3.3.1 e) Substituția polialfabetică

Cifrurile bazate pe substituție polialfabetică , constau din utilizarea periodică a unor substituții simple , diferite .Fie d alfabete de cifrare C1,C2,…Cd și d funcții fi care realizează substituții de forma :

fi : A Ci

Un mesaj clar M=m1m2…md md+1….m2d va fi cifrat prin repetarea secvențelor de funcții f1,….fd la fiecare al d-lea caracter .

Avem astfel EK(M) = f1(m1)….fd(md)f1(md+1) . Utilizarea unei secvențe periodice de substituții ale alfabetului ,mărește în mod considerabil securitatea criptogramei prin nivelarea caracteristicilor statistice ale limbii . Aceeași literă din textul cifrat , poate reprezenta mai multe litere din textul clar , cu diferite fregvențe de apariție . În acest caz , numărul cheilor posibile , se marește de la 26! , cîte erau la substituția monoalafabetică , la (26!)n . În substituția n-alafabetică , caracterul m1 al mesajului clar , este înlocuit cu un caracter din alfabetul A1 , m2 cu un alt caracter din alfabetul A2 ș.a.m.d ,mn+1 printr-un alt caracter din alfabetul A1 conform tabelului :

CARACTERE DE INTRARE :m1 m2 m3 m4 m5 m6 m7 m8 m9 ….

ALFABET DE SUBSTITUȚIE :A1 A2 A3 A4 A5 A6 A7 A8 A9….

O substituție cunoscută , de acest fel , este cifrul lui Vigenere , când cheia K este o segvență de litere de forma : K= k1k2….kd .

Funcțiile fi de substituție se definesc astfel :

f i ( a )=(a+ k i )(mod n) unde n este lungimea alfabetului .

Ca de exemplu , se consideră cheia de 8 litere , ACADEMIE , care v-a fi utilizată repetitiv pentru cifrarea mesajului SUBSTITUȚIE POLIALFABETICĂ .Folosind o corespondență biunivocă , între literele alfabetului și elementele inelului claselor de resturi modulo 26 (A=0,B=1,…. Z=25) ,substituția 8-alfabetică ,conduce la urmatorul text cifrat :

TEXT CLAR : SUBSTITUȚIA POLIALFABETICĂ

CHEIA :ACADEMIE

S+A=18+0(MOD 26)=18=S;

U+C=20+2(MOD 26)=22=W;

B+A=1+0(MOD 26)=1(MOD 26)=1=B;

…………………………………………………………………………

C+E=2+4(MOD 26)=6=G;

Ă+A=0+0(MOD 26)=0=A;

TEXT CIFRAT : S W B V X U B Y T K E S S X Q E L H A E I F Q G A

Un cifru Vigerene cu o perioada n , deși mult mai puternic decît un cifru bazat pe substituția monoalfabetică , poate fi spart dacă criptanalistul dispune de cel puțin 2n caractere din textul cifrat . O variantă mai nouă a acestui cifru peste alfabetul binar , este cifrul Vernam care se diferențiază prin cheia de cifrare care este reprezentată de o segvență de caractere aleatoare care nu se repetă . Fie M=m1m2 … mn un mesaj clar binar si K=k1k2 … un șir binar care reprezintă cheia .Criptograma C=EK(M) = c1c2 .. se obține determinând fiecare caracter ci astfel :

ci=(mi + ki)(mod n) unde i=1,2 , …

Utilizarea o singură data a cheii (“on time pad “) face ca mesajul să fie foarte rezistent la criptoanaliză , practic imposibil de spart : aceste cifruri au o largă utilizare în comunicații diplomatice și militare .

Metode criptografice simetrice.

Cifrul DES și standardul DES :

Sistemul DES este primul standard dedicat protecției criptografice , a datelor de calculator . Standardul a fost adoptat în 1977 , în SUA și reprezintă o dezvoltare și perfecționare a sistemului LUCIFER .

DES este un cifru bloc , cu lungimea de 64 de biti , prelucrați în conjuncție cu o cheie , aceasta fiind compusă din 56 biți generați aleator, și 8 biți folosiți pentru detectarea erorilor de tarnsmitere . Fiecare din acești biți , prezintă paritatea impară a celor 8 octeți ai cheii .Prin această modalitate , cheia este expandată la lungimea blocului . Această cheie este păstrată de către toți membrii unui grup de utilizatori , care astfel pot cifra /descifra datele transmise de la unii la alții . Cifrarea , constă din trei categorii de prelucrări care se fac asupra blocului cu text clar de la intrare .

Blocul este mai întîi supus unei permutări inițiale IP de forma indicată în tabelul 3.1.

În cazul acestei permutări , bitul 58 de la intrare devine primul bit la ieșire , bitul 50 , al doilea , …..,bitul 7 devine ultimul (al 64-lea) .

În continuare , blocul permutat ,trece printr-un calcul complex care depinde de cheie și care constă din 16 iterații funcționale identice.

Considerând cei 64 de biți ai unui bloc supus unei iterații i , se notează cu Li-1 și Ri-1 , cele două jumătăți , de 32 de biți , stânga și dreapta care-l compun . Fie Ki cheia pentru ciclul i , un bloc de 48 de biti, aleși din cei 64 de biți ai cheii . Prelucrările unei iterații i sunt:

Li=Ri-1 ;

Ri=Li-1f(Ri-1,Ki) ;

Cheia Ki corespunzătoare unui ciclu , este o funcție de i (numărul iterației ) și KEY , șirul de 64 de biți ai cheii inițiale , adică : Ki=KS(i,KEY) .

Cei 48 de biți ai cheii Ki se obțin printr-un procedeu după cum urmează . Fiecare cheie , este supusă unei permutări inițiale P1 , este împărțită în două blocuri de 28 de biți , Ci și Di , deplasate la rândul lor cu cîte una sau două poziții la fiecare ciclu . Intrările Ki sunt supuse din nou unei permutări P2 . Cele două permutări sunt date de tabelele 3.2 și 3.3 .

Tabelul 3.1 Forma lui IP .

Ultima iterație este puțin diferită decît celalalte , fiind definită de ecuațiile :

L16= R15;

R16=L15 f(R15,K16);

Funcția de cifrare f , este “inima schemei “ și realizează o substituție neliniară .După cum se observă , asupra blocului inițial de 32 de biți , se aplică o funcție E care generează 48 de biți la ieșire (vezi tabelul 3.5) .

Tabelul 3.2 .Forma permutării P1

Tabelul 3.3 .Forma permutării P2

Tabelul 3.4

Tabelul 3.5

Primii trei biți sunt cei din pozițiile 32 , 1 și 2 iar ultimii din pozițiile 32 și 1 . Se observă că biții 4,5,8,9,12,13,16,17,20,21,24,25,28,29,32 se regăsesc de cîte două ori în expandarea E[R(i-1)] .În continuarea prelucrărilor făcute de funcția f , E(Ri-1 ) , se însumează mod 2 ,cu cei 48 de biți ai cheii Ki. Rezultatul este partiționat în 8 blocuri de 6 biți , care constituie intrările a 8 cutii , Sj , j=1,…,8 care realizează o substituție neliniară cu 6 intrări și patru ieșiri .Cele opt cutii sunt prezentate în tabelul 3.6 .În cazul unor cutii Sj , dacă B este blocul de 6 biți de la intrare ,Sj(B) este determinat în felul următor :

Primul și ultimul bit al blocului B reprezintă în binar un număr cuprins între 0 și 3 (fie acesta k) .Cei 4 biți din mijlocul lui B reprezintă în binar un număr cuprins între 0 și 15 și fie acesta numărul 1 . În tabela Sj , la intersecția rândului k cu coloana l se găsește un număr cuprins între 0 și 15 a cărui reprezentare este de 4 biți ce constituie ieșirea cutiei Sj .

3.3.2 Folosirea algoritmilor de criptare cu chei

Criptosisteme cu chei publice

Conceptul de criptosistem cu două chei (asimetric) a fost introdus de Diffie și Hellman în 1976 [DIFF76]. Ei propuneau o nouă metodă de cifrare ,numită cifrare cu cheie publică , în cadrul căreia , doi utilizatori (procese) pot comunica cunoscând fiecare doar cheia celuilalt .

În criptosisteme cu chei publice , fiecare utilizator A , deține o transformare de cifrare publică ,EA , memorată într-un registru (fisier) public , și o transformare de descifrare secretă ,DA , ce nu este posibil să fie obținută din EA .Cheia de descifrare (secretă) este derivată din cheia de cifrare (publică) printr-o transformare greu inversabilă (one-way) . În sistemele cu chei publice , protecția și autentificarea sunt realizate prin transformări distincte .Să presupunem că utilizatorul (procesul A) dorește să emită un mesaj M, unui alt utilizator (proces ) B .Dacă A cunoaște transformarea publică EB, atunci A poate transmite M la B sub forma C=EB(M), asigurându-se astfel funcția de protecție (confidențialitate).

La recepție ,B v-a descifra criptograma C , utilizând transformarea secretă DB cunoscută doar de el . Avem următoarele transformări :

DB(C) = DB(EB(M)) = M ;

Schema nu furnizează facilități de autentificare , deoarece orice utilizator (proces ) poate avea acces la transformarea publică EB a lui B și îi poate trimite mesaje false M’ sub forma C’=EB(M’) .Pentru autentificare , se aplică lui M , transformarea secretă DA a lui A. Ignorând protecția pentru moment ,A v-a emite C=DA(M) la B , care la recepție va aplica transformarea publică EA a lui A adică EA(C)=EA(DA(M))=M .

Autentificarea este realizată , deoarece numai A poate aplica transformarea DA dar protecția nu este asigurată , întru-cât este posibil ca M să fie obținut de oricine aplicând transformarea publică EA. Pentru a se realiza simultan protecția și autentificarea informațiilor , spațiul {M} trebuie să fie echivalent spațiului {C} , astfel încât orice pereche {EA,DA} să fie în măsură să opereze atât asupra textului clar , cât și asupra textului cifrat , în plus se cere ca EA si DA să fie mutual inverse , adică EA(DA(M)) = DA(EA(M)) = M;

Emițătorul de mesaj A , v-a aplica mai întîi transformarea secretă a sa DA, mesajului M , apoi v-a cifra rezultatul – utilizând transformarea publică a lui B ,EB și v-a emite criptograma C = EB(DA( M )).

Receptorul B îl obține pe M , aplicând la început propria-i functie de descifrare , DB , iar apoi transformarea publică a lui A ,EA ,cea care furnizează autentificarea :

EA(DB(C)) = EA(DB(EB(DA(M)))) = EA(DA(M)) = M .

3.3.2.1 Sistemul de criptare cu cheie publică și folosirea lui pentru autentificare

Vom descrie sistemul de criptare cu cheie publică în termeni generali , folosind o schema bloc și apoi vom arăta cum poate aceasta să fie folosită pentru a asigura un fel de autentificare , care face posibilă rezolvarea disputelor între emitător și receptor cu privire la transmiterea unui mesaj .

Sistemul se bazează (ca și criptografia) pe o clasă specială de funcții așa încât shema bloc a unui astfel de sistem , nu indică în mod convingător că se poate realiza ușor în practică . Ca urmare , mai tîrziu vom descrie o formă particulară de sistem cu cheie publică care a fost propus . Diffie și Hellman au descris principiul sistemului cu cheie publică în [8] . Textul clar este cifrat de emițător și transformarea inversă la capătul receptor îl descifrează înapoi în textul clar .Diferența în sistemul cu cheie publică constă în aceea că , cheile utilizate în algoritmul de cifrare si descifrare , sunt diferite .Nu este important dacă algoritmii folosiți la cele două capete sunt identici .De fapt , s-au realizat sisteme cu cheie publică care sunt în funcțiune , în care algoritmii de cifrare-descifrare , sunt identici , într-un caz și complet diferit în alt caz . Esența metodei este că cheile sunt diferite .

În mod clar , cele două chei trebuie să fie idependente , iar în diagramă , ele sunt arătate că fiind deduse , de un algoritm cunoscut dintr-o cheie comună de start . În unele cazuri, punctul de start va fi cheia secretă și din aceasta se deduce cheia publică printr-un calcul cunoscut . Așa cum vom vedea mai târziu , o cheie poate cuprinde mai mult de un număr .Procesul de calculare a cheilor este efectuat de receptorul mesajelor , care pastrează pentru el însuși cheia de utilizat -cheia secretă. El transmite emițătorului mesajului , cealalaltă cheie , care poate fi denumită cheie publică , deoarece nu există un risc în a o face cunoscută la scara largă . Deoarece este cunoscută la scara largă , oricine poate genera și transmite un text cifrat , la receptorul care deține cheia publică. Într-o conversație bilaterală , fiecare parte transmite celeilalte ,cheia sa publică . Ca și în alte forme de criptografie ,algoritmii folosiți sunt cunoscuți în mod public , și acest lucru este valabil și pentru metoda de generare a cheilor .

Se observă unele caracteristici pe care trebuie să le aibă diversele funcții . Cea mai importantă este aceea că funcțiile de cifrare și descifrare sunt inverse atunci când l-i se furnizează o pereche corectă de chei publice și secrete . Este de asemenea evident , că cheia publică trebuie să fie o funcție greu inversabilă de variabilă cheie secretă ,altfel un intrus ar putea deduce cheia de start și din acesta , cheia secretă . Cu toate acestea , această funcție greu inversabilă se bucură de o “capcană”, ce constă în aceea că , cunoașterea cheii secrete face posibilă inversarea ei . Deoarece funcțiile arătate în figură sunt funcții greu inversabile, dimensiunea blocurilor de date pe care le cifrează sau cheile generate trebuie să fie suficient de mari pentru a împiedica inversarea prin încercare , din eroare sau prin memorare la scară largă . Acestea nu sunt foarte diferite de cerințele pentru sisteme normale de criptare . Așa cum se arată , sistemul este în principiu , un sistem de cifrare pe blocuri , similar standardului de criptare a datelor . Avantajul sistemului cu cheie publică constă în faptul că cheia de cifrare este publică. Nu mai există problema dificilă de distribuire secretă a cheilor .

Acest lucru poate fi de mare importanța acolo unde sunt necesare conversații sigure între calculatoare și terminale într-un mod ocazional – așa numitele rețele deschise .

3.3.2.2 Autentificarea prin sistemele de criptare cu cheie publică

Pentru a adapta un sistem cu cheie publică în scopul autentificării , trebuie să presupunem o altă caracteristică a funcțiilor .În mod clar , ar fi convenabil dacă blocul de text cifrat ar ocupa același număr de biți ca și textul în clar . Acest lucru este adevarat în exemplul descris mai jos. Există totuși cazuri , în care textul cifrat este mai lung și trebuie să excludem aceste cazuri în considerarea schemelor posibile de autentificare .Presupunând acum că algoritmul de cifrare face corespondența între valorile posibile ale textului clar și valorile posibile în numar egal ale textului cifrat , atunci funcția de descifrare face corespondența inversa .Putem trata textul prin aceste două transformări în ordine inversă și obținem din nou textul clar .

Deoarece cheia secretă este tot aceea care intră în algoritmul de descifrare , observăm că emițătorul este cel care transformă textul în clar în secret în timp ce receptorul îl poate transforma din nou în clar , folosind cheia publică. Dacă un receptor poate face acest lucru , la fel poate proceda oricare altul care cunoaște cheia publică . Prin urmare , nu mai putem privi textul transformat ca un text cifrat . Acesta nu este un mecanism pentru securitatea împotriva intercepției liniei , ci o metodă de a asigura integritatea și de a autentifica originea mesajelor .

Procesul de “cifrare” , restabilește de data aceasta , textul original . Scopul acestei transformări a funcțiilor este de a obține un mijloc prin care receptorii oricărui mesaj transformat în acest fel ,pot , cu ajutorul unei chei publice , să dovedească lor însuși , și altora , că mesajele au venit de la emițătorul S. Acest lucru este adevărat , deoarece ele au fost transformate cu ajutorul unei chei secrete care este cunoscută numai de S. Același proces care restaurează textul original , servește pentru a verifica faptul că textul a venit de la S ,presupunând că suntem siguri că cheia publică pe care am folosit-o este aceea a emițătorului respectiv .

Caracteritica particulară a metodei prezentate , este aceea că se pot rezolva disputele . Receptorul nu poate construi un mesaj fals cu semnătura emițatorului asa încât nu are sens ca emițătorul să acuze pe receptor de acest lucru . Receptorul se poate adresa unei a treia părti , ca de exemplu un judecator legal , în caz de dispută și să prezinte valoarea cheii publice , care este cunoscută în comun , împreuna cu mesajul transformat , pe care la primit și textul clar obținut (pe care îl poate verifica oricine ) .În felul acesta , se stabilește conținutul mesajului și identitatea emițătorului.

Trebuie doar să fim siguri că cheile pe care le folosim sunt autentice . Dacă avem nevoie de o metodă atât pentru autentificarea mesajelor cât și pentru cifrarea lor cu ajutorul unei chei publice , se pot folosi cele doua metode prezentate mai sus , în cascadă . O astfel de metodă este de a prezenta o legatură între emițător și receptor , fiecare din ei fiind sigur de identitatea celuilalt dacă se cunoaste că el folosește cheia publică a celuilalt . Astfel , emițătorul cunoaște că doar receptorul destinat poate citi mesajul , iar receptorul știe că mesajul a venit de la emițătorul respectiv .

Există o problemă tehnică , în aplicarea în practică a sistemului în cascadă . În sistemul cu cheie publică , care este cel mai potrivit pentru autentificare , dimensiunea blocului pe care se fac transformările variază în funcție de cheia secretă aleasă .Avem nevoie de o metodă pentru a evita reâmpărțirea în blocuri a mesajului atunci când el trece între părțile de criptare și de autentificare ale sistemului , care folosesc chei diferite . O soluție a fost propusă de Kohnfelder[9] , care folosește metoda alternativă în care cele două subsisteme pot fi îmbinate. Noi am ales succesiunea operațiilor arătată ca în figură , așa încât “blocul de decizie “ , poate compara intrarea și iesirea din blocul “Cifrare”, S,folosind cheia publică a emițătorului respectiv. În metoda lui Kohnfelder , dacă dimensiunile blocurilor nu sunt egale ,din cauza că dimensiunea blocurilor generate de subsistemul S este mai mare decât a blocurilor generate de subsistemul R ,se inversează ordinea de aplicare a celor două transformări la ambele capete ale liniei și aceasta rezolvă problema dimensiunilor blocurilor .

Problema nouă este de a decide cum v-a verifica blocul de decizie , transformarea de autentificare și a face corespondența cu textul în clar, fără a cunoaște cheia de descifrare . El poate compara intrarea și ieșirea în blocul “Cifrare” S , ca mai înainte , și acesta verifică originea mesajului ,dar în aceasta etapa ea este de forma cifrată . Corespondența cu textul în clar este făcută după cum urmează .Receptorul prezintă mesajul în clar , blocului de decizie și îi furnizează cheia sa publică (pe care blocul de decizie o poate verifica) .Blocul de decizie cifrează mesajul , și îl compară cu ieșirea din blocul de “Cifrare “ S .Dacă ele sunt identice ,textul în clar respectiv , corespunde textului cifrat care a fost autentificat .În acest fel , sistemele cu cheie publică ne pun la dispozitie o funcție care a fost denumită “semnătura electronică ”. Este o semnătură nefalsificată , și , în particular , receptorul unui mesaj , deși poate verifica semnătura , nu o poate reproduce , sau să o atașeze la un alt mesaj .

Între oricare doi utilizatori , se poate comunica confidențial , cunoscându-se de către fiecare doar cheia publică a partenerului . În sistemele cu chei publice , fiecare utilizator A are o transformare publică EA care poate fi înregistrată într-un fisier public , și o transformare secretă DA cunoscută doar de proprietar . Transformarea publică (numită și cheie publică ) a destinatarului , permite cifrarea mesajelor care îi sunt destinate . Cu ajutorul transformarii secrete (numită și cheie secretă ) destinatarul ( și numai el) poate descifra mesajul recepționat . Așa cum s-a văzut , folosirea cheii secrete ,permite creeare unor semnături digitale , care să ne asigure de autenticitatea mesajelor. Aceste criptosisteme cu chei publice se bazează pe o serie de metode matematice de mare complexitate , în aritmetica numerelor mari (de obicei cu 256-512 biți) a căror implementare se face cu dificultate .

3.3.2.3 Sisteme de cifrare cu chei publice exponențiale .

Ideea care stă la baza acestui concept constă în faptul că procedura (cheia) de cifrare este făcută publică de către utilizator , și poate fi folosită de către toți ceilalti utilizatori, pentru cifrarea mesajelor ce îi sunt adresate. În schimb , procedura (cheia) de descifrare, diferită de prima , – de unde aributul de sistem asimetric, este ținută secretă . Dacă notăm cu {M} -mulțimea mesajelor, {C} -mulțimea criptogramelor, E-procedura de cifrare, și D-procedura de descifrare, un criptosistem cu chei publice trebuie să satisfacă următoarele cerințe :

Dacă C = E(M) ,atunci M = D(C) sau D ( E ( M ) ) = M,

M {M};

E și D sunt ușor de aplicat .

Dezvăluirea publică a lui E nu trebuie să compromită pe D , ceeace înseamnă că obținerea lui D din E este matematic imposibil sau presupune un consum prohibitiv de resurse .Metoda propusă , permite comunicații sigure între utilizatorii care au stabilit contacte prealabile. De exemplu , dacă utilizatorul A , dorește să transmită un mesaj confidențial utilizatorului B , v-a căuta în fișierul public EB și v-a transmite la B pe C=EB(M).Conform proprietății a treia , B este singurul utilizator care știe să descifreze criptograma C aplicând DB ținută secretă . În plus, pentru ridicarea gradului de securitate a transmisiei , Diffie si Hellman, propun că E și D să îndeplinească urmatoarea proprietate adițională :

(4) Dacă S = D(M) , atunci M=E(S) sau E(D(M))=M pentru oricare M{M};

Valoarea S este numită semnătura digitală și reprezintă o metodă de autentificare reciprocă . În timp ce B poate fi sigur că mesajul recepționat a venit de la adevăratul A,prin semnarea mesajelor sale ,A poate fi sigur că nimeni nu v-a putea să-i atribuie un mesaj fals . Utilizatorul A poate semna mesajul către A astfel : S=DA(M) , și apoi trimite criptograma C=EB(S). În aceste condiții , numai B poate recunoaște pe S din C , calculând:

DB(C)=DB(EB(S))=S.Apoi mesajul se obține calculând :

EA(S)=EA(DA(M))=M.

Diffie și Hellman sugerează o metodă de implementare practică a conceptului propus . Se indică utilizarea unor funcții inversabile (“one -way functions”) .Ele își au originea în probleme grele din punct de vedere computațional .

O functie este greu inversabilă dacă este inversabilă și ușor de calculat , dar pentru aproape toate valorile y din codomeniu , este imposibil computațional să se calculeze x = f -1 (y) .Cu alte cuvinte , este imposibil computational , să se calculeze f -1 dacă se dispune de o descriere completă a lui f . Cu alte cuvinte , o functie f este greu inversabilă dacă :

Este ușor să se calculeze y din x , y= f (x) .

Există inversa lui f.

Este computațional imposibilă determinarea inversei lui f .

O functie greu inversabilă se spune că este cu trapă , atunci când f -1 este ușor de calculat numai dacă se dispune de o informație numită trapă . Nerecunoașterea acestei informații face ca funcția să fie greu inversabilă .

O astfel de pereche de funcții (f,f -1) poate constitui perechea (E,D) a unui criptosistem cu chei publice . În general, pentru procedurile E și D se indică scheme bazate pe operații modulo n cu elemente din inelul claselor de resturi modulo n .

Schema propusă în [DIFF76] își bazează securitatea pe dificultatea calculului logaritmilor modulo număr prim .

Fie q un număr prim și un întreg X , cu X [1,q-1].

Se poate calcula Y = aX (mod q) ,unde a este un element primitiv al cîmpului Galois GF(q). După cum se știe , clasele de resturi modulo q , formează un inel , și dacă q este număr prim , acesta formează un câmp Galois GF(q) . Într-un câmp Galois ,GF(q) ,există q-1 numere a , care se numesc elemente primitive ale cîmpului .Dacă a,a2,a3,…,a(q) sunt puterile lui a ,acestea au ca resturi mod q , pe 1,2,…,(q) , ceeace înseamnă că un element primitiv , generează prin ridicarea la putere , toate numerele nenule ale cîmpului .

S-a notat cu (q) = indicatorul lui Euler, unde (q)=q-1 .Fiecare utilizator A ,alege în mod aleator un număr XA ,XA {1,2,…,q} și calculează YA = aXA (mod q). Numărul XA este ținut secret , în timp ce YA se face public . Dacă A și B doresc să comunice între ei , se utilizează urmatoarea cheie de comunicație: KAB=YAXB =YBXA= aXAXB(mod q) .În timp ce utilizatorii A și B pot calcula cheia KAB pornind de la X propriu (secret) și Y public al partenerului , un criptanalist trebuie să calculeze pe KAB pornind de la YA și YB , singurele publice, procedând astfel : KAB=YAlogYB( mod q).

Acest lucru face ca sistemul să fie foarte greu de spart , datorită imposibilității calculului logaritmului modulo q . Calitatea fundamentală a sistemului este că nu necesită stabilirea în avans a unei chei secrete de cifrare între doi utilizatori ai unei rețele care doresc să comunice date confidentiale , ei facând apel doar la fișierul de chei publice . Descifrarea mesajelor nu se poate face însă pe baza unor chei din fisierul public , ci doar pe baza perechilor lor , ținute secrete de către fiecare utilizator . Criptosistemele cu chei publice fac parte din clasa sistemelor criptografice sigure computațional .

3.3.2.4 Cifrul POHLING-HELLMAN

In 1979 Pohling și Hellman publică o schemă de cifru bazată pe calculul exponențialelor într-un cîmp finit . Aproximativ în același timp, Rivest- Shamir-Adleman [RIVE79], comunică o schemă oarecum asemănătoare. Atât metoda PH (prescurtarea de la prima metodă) cât și RSA ( a doua metodă) cifrează câte un bloc de mesaj M (0,n-1), calculând exponențialele: C=Me(mod n) ,unde e și n reprezintă cheia publică a transformării de cifrare. Descifrarea se face prin aceeași operație, utilizând drept cheie secretă un exponent diferit ,d : M=Cd(mod n) .

Funcția exponențială poate fi implementată printr-un algoritm rapid de calcul, care calculează fastexp =a Z (mod n). Cifrarea și descifrarea sunt bazate pe generalizarea lui Euler a teoremei lui Fermat , care afirmă că pentru orice M relativ prim cu n ,avem :

M(n) (mod n) = 1, unde (n) este indicatorul lui Euler .Acestă proprietate implică faptul că e și d să satisfacă proprietatea :

ed(mod (n))=1,

pentru ca descifrarea să ducă la obținerea mesajului original .

Într-adevar ,deoarece e d =1(mod (n)),putem scrie :

ed=K (n)+1= (n)+ (n)+…+ (n)+1 .

Rezultă :

Med = M ( n) + ( n) + ( n) +…+ ( n ) +1=M (n) M (n) M (n)…M(mod n).

Dar conform teoremei lui Euler ,M (n) =1(mod n) .

Rezultă Med =M(mod n). În aceste condiții avem E(D(M))=D(E(M))=M(mod n), M [0,n-1]

Deoarece (Md mod n)e mod n=Mde mod n=M , adică algoritmul este simetric , el poate fi folosit atât pentru cifrare cât și pentru autentificare. Fiind dat (n) ,este ușor să se genereze perechea (e,d) care să satisfacă proprietatea cerută..Tocmai abilitatea cu care se ascunde (n) deosebește schema RSA de PH .În metoda PH modulul este ales ca fiind un număr prim mare .Funcțiile de cifrare și descifrare sunt : C=Me mod p;

M=Cd mod p;

toate aceste calcule făcându-se în câmpul Galois GF(p).Deoarece p este număr prim, (p)=p-1 ,deci este derivat în mod trivial din p. Ca urmare metoda PH poate fi folosită doar într-un criptosistem convențional , atunci când se țin secrete , atît e cât și d.Se recomandă un p=2p’+1, unde p’ este un număr prim mare .

Securitatea schemei rezidă în complexitatea calculării unor logaritmi discreți în câmpul Galois GF(p), criptoanalistul poate calcula pe e (și pe d) din perechea (M,C).

Avem deci : E=logM(C) în câmpul Galois GF(p).

Cel mai rapid algoritm publicat de Adleman , pentru calculul unui logaritm în GF(p), cere un numar de pași egal cu : T=exp(sqrt(ln(p)ln(ln p)))) .

Dacă are o lungime de 200 de baiți ,t=2.71011,ceeace înseamnă (la un sistem cu 1 pas/microsec) un calcul de aproximativ trei zile , iar un p de 664 biți , T=1.21023 ,ceeace va cere aproximativ 1012 zile ,cu totul prohibitiv.

3.3.2.5 Cifrul RIVEST-SHAMIR-ADLEMAN (RSA)

Acest cifru cu chei publice ,realizat de trei cercetători de la Massachusetts Institute of Technology ,realizează standardul de “facto” în domeniul semnăturilor digitale și al confidențialității cu chei publice . El se bucură de o mare apreciere atît în mediul guvernamental , cât și în cel comercial , fiind susținut prin lucrări și studii de comunitatea academică .

Sub diferite forme de implementare ,prin programe sau dispozitive hardware speciale,RSA este astăzi recunoscută ca cea mai sigură metodă de cifrare și autentificare disponibilă comercial . O serie de firme producătoare de sisteme de programe și echipamente ca DEC,Lotus,Novell,Motorola precum și o serie de instituții importante (Departamentul Apararii din SUA,National Aeronautics -SUA, Boeing,rețeaua bancară internațională SWIFT, guvernul Belgiei ), folosesc acest algoritm pentru protejarea și autentificarea datelor ,parolelor, fișierelor ,documentelor memorate sau transmise prin rețele . De exemplu , firma Lotus , dezvoltă un Notes , un concept de lucru în comun( groupware) ,într-o rețea. La o astfel de legatură în comun a numeroase programe și persoane , se cere însă o mare încredere în informație cât și o mare confidențialitate ,ca urmare Lotus folosește semnătura digitală și secretizarea cu ajutorul criptosistemelor RSA.

În sistemul de operare NetWare ,pentru rețele locale , ale firmei Novell ,se folosește curent RSA în mecanismele de autentificare care permit utilizatorilor să acceadă la orice server al rețelei .

Motorola comercializează telefoane sigure care încorporează o serie de metode de confidențialitate și autentificare a utilizatorilor cât și a partenerilor de dialog .Toate acestea se bazează pe algoritmul RSA și se regăsesc atît în variante de uz general cât și în variante pentru comunicații militare ,fiind destinate atît transmisiilor de voce, cât și de FAX.

Un alt exemplu semnificativ ,de utilizare a sistemului RSA este rețeaua de poșta electronică a guvernului belgian .Toate protocoalele de asigurare a confidențialității și de autentificare prin semnatură digitală folosesc acest algoritm .

Sistemul RSA este de tip exponențial .În cadrul acestei metode , modulul n este obținut prin produsul a două numere prime mari : n=pq , astfel încât indicatorul lui Euler (n) =(p-1)(q-1) ,devine mult mai greu de determinat ,iar schema poate fi folosită cu succes într-un criptosistem cu chei publice. Se vor face publice e și n ,iar d va fi ținut secret .În privinta metodei se recomandă alegerea unui d relativ prim cu (n) în intervalul [max(p,q)+1,n-1].În acest caz e se v-a calcula astfel : e=inv(d, (n)), putându-se utiliza o versiune a algoritmului lui Euclid .

Securitatea metodei depinde de dificultatea factorizării lui n în p și q. Cel mai rapid algoritm publicat de Schroeppel , cere un numar de pași egal cu :

T=exp(sqrt(ln(n)(ln(n)))) , aceeași cu cel al algoritmului în câmpul GF(n).

Rivest-Shamir-Adleman,sugerează utilizarea unor numere prime p și q de 100 de cifre , adică a unui n de 200 de cifre , ceeace cere pentru factorizare mai multe milioane de ani .Deoarece cifrarea și descifrarea sunt funcții mutual inverse , RSA poate fi utilizată atât la secretizare cât și la autentificare . Fiecare utilizator A, obține modulul nA și exponenții eA și dA.

Apoi A va înregistra într-un fisier public , cheia publică (nA ,eA) , în timp ce va ține secretă pe dA . Un utilizator B,v-a emite un mesaj secret M, utilizând transformarea de cifrare publică a lui A : EA(M)=MeA mod nA.

La recepție A v-a emite mesajul în clar : DA(EA(M))= M eA dA mod nA= M .

Utilizatorul A va putea semna mesajul M către B , calculând : DA(M)=MdA mod nA,

iar B v-a putea autentifica acest mesaj , utilizând cheia publică A :

EA(DA(M))=M dAeA mod nA =M .

O dificultate în utilizarea criptosistemelor RSA , apare atunci când este nevoie atît de protecție cât și de autentificare ,deoarece este necesar să se aplice transformări succesive cu module diferite . De exemplu , pentru ca A să transmită la B un mesaj semnat și secret ,A va calcula : C=EA(DA(M)).

Dacă nA > nB , blocul DA(M) nu mai aparține mulțimii [0,nB-1] corespunzatoare lui EB .Reducerea lui DA(M) mod nB nu rezolva problema, nemaiputându-se apoi obține mesajul original . Soluția ,constă în utilizarea unui prag h (de exemplu h=1099 ) astfel încât fiecare utilizator să aibă două perechi de transformări (EA1 , DA1 ) pentru semnătură și

( EA2 , DA2 ) pentru protecție ,respectând condiția : nA1 < h < nA2 .

În acest caz , la transmiterea unui mesaj semnat și secretizat la B, A v-a calcula : C=EB2(DA1(M)) ,deoarece nA1 <h <nB2 , problema este rezolvată Utilizatorul B v-a obține pe M verificând și semnătura :

EA(DB(C))=EA1(DB2(EB2(DA1(M))) = EA1(DA1(M))=M .

O altă soluție în situația în care C=EB(DA(M)) nu este acceptabilă , deoarece nA > nB este indicată de Konfelder . El recomandă , să se calculeze C’=DA(EB(M)), observând că aceasta este calculabilă. Utilizatorul ,B,care cunoaște atât nA, cât și nB ,poate obține pe M , în două moduri :

dacă nA < nB atunci : EA(DB(C))=EA(DB(EB(DA(M))))=EA(DA(M))=M.

dacă nA > nB atunci : DB(EA(C’))=DB(EA(DA(EB(M)))))=DB(EB(M))=M.

Când apare o dispută între A și B asupra autenticității semnăturii lui A , un “judecator “ , v-a trebui să fie capabil ca să stabilească dacă M aparține lui A:

Dacă nA < nB , B va aplica transformarea sa secretă asupra lui C și va prezenta “judecatorului “ X=DB(C) si pe M . “Judecatorul”, va calcula M’=EA(X) , folosind transformarea publică a lui A , și va verifica dacă M’=M.

Dacă nA > nB ,B se va putea prezenta la “judecator”, cu C’ și M.

”Judecatorul “ , va calcula : X=EB(M) ; X’=EA(C’)=EA(DA(EB(M))) si va verifica dacă X=X’; Se observă că protocolul nu cere ca A sau B să dea “judecatorului”, cheile (transformările lor secrete) .Pentru reducerea dimensiunii semnăturii , se sugerează comprimarea mesajului printr-o functie de hashing și apoi semnarea rezultatului .

3.3.2.6 Aspecte legate de implementarea algoritmilor exponențiali.

Proiectarea unor criptosisteme RSA pleacă de la alegerea unor numere prime mari p și q pe baza cărora se calculează modulul n . Dimensiunea acestor întregi este esențială în asigurarea tăriei criptografice a schemei.

Următorul tabel , extras din [RIVE78] dă o indicație a legăturii dintre dimensiunea lui n și numărul de operații necesare , în cel mai bun algoritm publicat,pentru factorizarea lui n:

Odată aleasă dimensiunea lui n , cei doi întregi p și q trebuie aleși pseudoaleator . Teorema numerelor prime arată însă că doar (ln n ) întregi pot candida la statutul de numere prime , mai mici ca n. Pentru un n , de mai multe sute de cifre , numai câteva sute de “candidați “,trebuie să fie testați ,pentru a găsi un numar prim .Pentru o mai bună protecție împotriva factorizarii ,trebuie luate și următoarele măsuri suplimentare [DENN82]:

p și q trebuie să difere în lungime prin câțiva biți .

atât (p-1) cât și (q-1) trebuie să conțină factori primi mari .

cmmdc(p-1,q-1) trebuie să fie mic.

Pentru a găsi un numar prim p astfel încât (p-1) să aibă factor prim mare , se va genera mai întîi un număr întreg aleator p’, iar apoi se calculează :

p=p’i+1, i =2,4,6,…. , pînă când p este prim .O protecție suplimentară se poate obține dacă alegem p’ , astfel încât (p’-1) să aibă un factor prim mare. Condiții suplimentare în alegerea lui p și q se pot găsi în [HUBE91].

O altă problemă importantă constă în alegerea exponenților e și d . Având aleși întregii p și q , și deci n=pq , exponenții e și d trebuie să satisfacă condiția : ed=1 mod (n) .

Se alege întâi un întreg d > max (p,q) din mulțimea de întregi relativi primi,și mai mici ca (n) . Este de asemenea necesar ca atât d cât și e să fie mai mari ca log2n deoarece acest lucru ar face adevărată egalitatea Xe ( mod n) =X și astfel cifrul este ineficient . Alegerea lui e , unde 0 < e < (n) se face astfel încât el să reprezinte inversul mutiplicativ mod (n) al lui d .Acest lucru se poate realiza folosind o variație a algoritmului lui Euclid .

Dată fiind complexitatea calculelor impuse de aplicarea algoritmului RSA o serie de cercetări au vizat implementarea hardware, fie sub forma unor plăci coprocesor , fie ca chip independent, [KOCH86] sau [RIVE80] . Conform datelor publicate , astfel de implementări , realizate în SUA și supuse embargoului la export, ating performanțe foarte bune ; de exemplu lucrând cu operanzi de 512 biți , cifrarea/descifrarea ,materializate prin ridicări la putere modulo , se realizează în chipul FAP4 în medie în 100 ms .De asemenea firma CRYPTECH realizează plăci coprocesor RSA care cifrează operanzi de 512 biți cu o rată superioară celei de 126000 bps.

3.3.3 Autentificarea și semnăturile digitale. Sigilul digital

Serviciul de semnatură digitală (Digital Signature ) , trebuie să asigure originea autentică a unui mesaj , document sau fișier . Pentru aceasta , semnătura trebuie să asigure două cerințe :

să depindă de mesaj ( pentru a nu putea fi mutată de la un mesaj la altul ).

să depindă de emițător ( pentru a nu putea fi falsificată ) .

Semnătura olografă din documentele scrise , identifică autorul acestora . Ea certifică ca documentul este original și conține acele informații pe care autorul a vrut să le trimită . În sistemele de semnatură digitală , bazate pe cifruri cu chei publice , emițătorul unui document / mesaj / scrisoare va folosi cheia sa secretă pentru crearea semnăturii . Ea se aplică nu mesajului original , ci unei valori rezumat ( digest ) , obținută cu ajutorul unei funcții de dispersie (hash) , valoare care are de obicei 128 de biți . Una din condițiile esențiale pentru algoritmii de dispersie este că o schimbare de doar un bit al mesajului original să producă o avalansă de schimbări la ieșire ( aproximativ 50% din biții modificați în valoarea rezumat ) . Receptorul mesajului semnat , poate verifica originea autentică a acestuia ( și integritatea ) cu ajutorul cheii publice a emițătorului .

În scopul realizării acestui tip de serviciu , se folosesc criptosisteme D cu chei publice . Deoarece criptosistemele cu chei publice au o mare complexitate și consumă un timp important , semnătura D se aplică unei forme condensate a mesajelor ( documente , fișiere ) , obținute printr-o funcție de dispersie Fh a s h .Serviciul are două funcții diferite :

creare semnatură ;

verificare semnatură ;

Explicăm pe scurt pseudocodul acestor două funcții :

Creare_semnătură_digitală_este ;

{

cere_nume_fișier M ;

scrie ( C , articol_header ) ;

repetă până EOF

{

citește ( M, bloc) ;

scrie ( C ,bloc ) ;

F_hash ( bloc ) ;

}

cere_nume_fișier_cheie_secretă ;

semnează S=DA( bloc ) ;

scrie ( C,S) ;

}

Verificare_semnătură_digitală_este ;

{

cere_nume_fișier C;

citește ( C ,articol_header) ;

repetă până EOF-1

{

citește ( C , bloc ) ;

scrie ( M , bloc ) ;

F_hash ( bloc ) ;

}

citește ( C ,S ) ;

cere_nume_fișier_cheie_publică

M’=EA(S) ;

dacă M’ = bloc atunci OK ! altfel ALARMĂ !

}

Sigiliul digital

Sigiliul digital asigură două funcții de securitate :

confidențialitatea mesajelor ( documentelor , fișierelor ) , prin cifrare simetrică .

autenticitatea originii lor prin semnătură digitală .

Cele trei funcții folosite sânt F ( cifrare simetrică ) , DA ( semnatură digitală) și Fh a s h (dispersie) .Funcția F de cifrare ,de tip bloc , poate fi făcută să lucreze cu sau fără reacție . Pseudocodul serviciului este următorul :

Creare_sigiliu_digital_este;

{

cere_nume_fișier M ;

scrie ( C , articol_header ) ;

cere_cheie K ;

repetă până EOF

{

citește ( M , bloc ) ;

bloc1 = F_cifrează(bloc ,K ) ;

rezumat = F_hash( bloc ) ;

scrie ( C , bloc1) ;

}

cere_nume_fișier_cheie_secretă;

semnează S = DA(rezumat) ;

scrie (C , S ) ;

}

Verificare _sigiliu_digital_este ;

{

cere_nume_fișier C ;

cere_cheie K ;

citește (C, articol_header) ;

repetă până EOF -1

{

citește (C , bloc) ;

bloc1 = F_descifrează ( bloc , K ) ;

scrie (M , bloc1 ) ;

rezumat = F_hash ( bloc1 ) ;

}

cere_nume_fișier_cheie_publică ;

rezumat’ = EA(S) ;

dacă rezumat’ = rezumat atunci OK ! altfel ALARMĂ !

}

Receptorul mesajului poate fi sigur că atât conținutul acestuia a fost confidențial ( nu a putut fi citit de nici o altă persoană ) cât și originea acestuia este sigură deoarece , numai emițătorul deține cheia cu ajutorul căreia se poate face crearea semnăturii .

Securitatea rețelelor locale

3.4.1 BPDU Guard

BPDU (Bridge Protocol Data Unit) Guard este un mecanism de securitate ce are ca rol protejarea rețelelor de configurații invalide.

În cadrul unui dispozitiv switch, funcția BPDU Guard dezactivează interfețele cu funcționalitate Spanning Tree Protocol PortFast când se primesc unități de date ale protocolului de bridge pentru evitarea buclelor topologice accidentale.

Funcția Spanning Tree Root Guard (STRG) nu permite dispozitivelor periferice ce nu se află sub controlul administratorului de rețea să devină noduri principale Spanning Tree Protocol. Influentarea identificarii bridge-ului radacina se poate face prin setarea priorității switch-urilor

Un exemplu de folosire a BPDU este stabilirea bridge-ului rădăcină, procedeu folosit de toate switch-urile:

Se trimite mesaje BPDU recepționate de către toate switch-urile

Când este pornit un switch, acesta presupune că este bridge-ul rădăcină și transmite mesaje BPDU conținând adresa MAC a switch-ului atât în câmpul root BID cât și în câmpul sender BID.

Dacă un switch recepționează un BPDU cu o valoare root BID mai mică setează acest root BID în mesajele BPDU care sunt transmise

Switch-ul cu cea mai mică valoare BID va fi bridge-ul rădăcină.

3.4.2 Dynamic ARP Inspection

ARP – Protocolul de rezoluție a adresei

Cu toate că fiecare mașină din Internet are una sau mai multe adrese IP, acestea nu pot fi folosite de fapt pentru trimiterea pachetelor deoarece hardware-ul nivelului legăturii de date nu înțelege adresele Internet. Fiecare placă Ethernet fabricată până acum vine cu o adresă Ethernet de 48 de biți. Fabricanții plăcilor Ethenet cer un spațiu de adrese de la o autoritate centrală pentru a se asigura că nu există două plăci cu aceeași adresă. Plăcile trimit și primesc cadre pe baza adresei Ethernet de 48 biți; nu știu nimic despre adresele IP.

Transmiterea de pachete dintr-o rețea Ethernet cere adrese destinație de 48 de biți pentru a identifica nodul destinație, astfel se pot inventa cei 16 biți adiționali. Nici aceasta nu este o soluție deoarece adresele Ethernet sunt arbitrare și în general sut setate de către producătorii plăcilor. De aceea un alt set de servicii trebuie asigurat în cadrul nivelului rețea, pentru a asigura transformarea unei adrese IP de 32 biți într-o adresă Ethernet de 48 biți. Astfel a apărut ARP. Atunci când un proces de la nivelul rețea dorește să transmită un pachet care are adresa Internet specificată, dar a cărui adresă Ethernet nu este cunoscută, acel proces de la nivelul rețea trebuie să transmită o cerere ARP broadcast pentru a afla adresa Ethernet a destinației. Un nod urmează să răspundă cererii de adresă Ethernet conținută în pachetul ARP, de obicei chiar nodul destinației. Când este recepționat răspunsul, de obiceicei 48 biți sunt reținuți într-un cache, iar dacă este găsit pachetul este transmis direct și se poate evita o tranzacție ARP.

Deci un host rezolvă adresa destinație în următorul mod: caută în cache adresa Ethernet corespunzătoare; dacă nu o găsește, apelează la ARP pentru a transmite o cerere de adresă Ethernet în rețea-se poate folosi un fișier de configurație aflat la nivelul hostului sursă. Deci, există trei surse tipice din care se poate afla echivalentul Ethernet al unei adrese IP:

Răspunsul la cereri ARP

Memoria cache de adrese provenite de la răspunsuri ARP anterioare

Informația conținută în fișierele de configurație

Trebuie remarcat că ARP localizează hosturile aflate în aceeași rețea sau subrețea ca și hostul sursă. Utilitatea sa este limitată deci la un broadcast Ethernet. Pentru a trimite pachete unui host dintr-o altă rețea, datagrama trebuie întâi trimisă unui router atașat rețelei sursă. În acest caz hostul sursă trebuie să identifice adresa routerului, care apoi va trimite datagrama către rețeaua destinație.

Unele routere IP răspund la cereri ARP în numele unui host îndepărtat. Hostul sursă este astfel păcălit, deoarece va crede că îi răspunde hostul destinație. Această tehnică se numește Proxy ARP.

3.4.3 DHCP Snooping

Dynamic Host Configuration Protocol (DHCP) reprezintă standardul IP proiectat cu scopul de a reduce complexitatea muncii de administrare a adreselor prin folosirea unui server în acest scop.

DHCP Snooping este un sistem de protecție realizat de către Cisco, care lucreaza cu 2 tipuri de porturi, trust si untrust. El permite doar unui port care este declarat manual ca și trust să aibă dreptul să dea IP-uri.

În cazul Windows Server 2003 serviciul DHCP permite serverului să îndeplinească acest rol, adresele IP fiind alocate dinamic. Acest lucru înseamnă că un dispozitiv poate avea, de fiecare data când se conectează la rețea, altă adresă IP. Sau chiar se poate schimba în timp ce dispozitivul este conectat la rețea!

Un alt mare avantaj ar fi că un calculatorpoate fi adăugat în rețea fără a fi nevoie de un administrator care să-i configureze proprietățile TCP/IP.

Funcționarea DHCP

În primul rând, DHCP nu este un protocol care să necesite autentificare. Altfel spus oricine are acces fizic la rețea și activează aceasta opțiune pe clientul său va putea face lucruri dintre cele mai neplăcute (un atac de tip DoS).

În Active Directory (AD) nu pot fi autorizate să funcționeze ca servere DHCP decât serverele pe care rulează Windows 2000 sau Server 2003. Dacă un server DHCP descoperă că nu este autorizat în AD, atunci nu va mai răspunde cererilor clienților (facilitatea aceasta se întâlnește numai la Microsoft. Se poate instala DHCP pe Linux și va funcționa fără să necesite autorizare).

O altă problemă ține de traficul generat în rețea. Prima dată când în rețea apare un dispozitiv care are activată această opțiune, va transmite broadcast (la toate calculatoarele din rețea) un pachet DHCPDISCOVER. Serverul de pe segmentul local din care face parte stația respectivă va citi acest pachet și va răspunde cu un altul, numit DHCPOFFER. Acesta din urmă conține adresa IP și alte informații specifice. Este posibil ca înainte de a oferii adresa clientului său, serverul să facă anumite teste în rețea: să genereze un pachet ARP sau ICMP pentru a verifica dacă nu cumva adresa este deja folosită de o altă stație. Dacă mai există mai multe segmente de rețea, dar nu sunt servere DHCP, pentru fiecare dintre acestea mașina care asigură rutarea între segmentele de rețea va trebui să fie configurată astfel încât să transmită cererile broadcast către segmentul pe care există serverul DHCP.

Dacă există mai multe servere, un client poate recepționa pachete DHCPOFFER de la toate serverele, prin urmare trebuie să aleagă dintre acestea și să retransmită o cerere DHCPREQUEST prin care să identifice explicit serverul care are „cea mai bună ofertă”. Celelalte servere vor trebui să notifice în mod explicit pachetul DHCPREQUEST și să-și vadă de treaba lor în continuare.

Presupunând că a fost găsit un server să ofere o adresă IP, acesta răspunde clientului cu un pachet DHCPPACK, prin care îl anunță că închirierea (lease) adresei IP s-a încheiat. Dacă din diferite motive oferta nu mai este valabilă, serverul va răspunde cu un pachet DHCPNAK, care îl va obliga pe respectivul client să transmită din nou în rețea pachetul DHCPDISCOVER.

Presupunând că mașina a recepționat DHCPPACK, responsabilitatea este transferată clientului: va testa adresa primită prin transmiterea în broadcast a unor cereri ARP. Dacă un nod răspunde la cererea ARP, se presupune că adresa a fost alocata unui alt calculator. În acest moment, clientul va refuza adresa oferită transmițînd un mesaj DHCPDECLINE către server si un nou pachet DHCPDISCOVER.

În cazul în care un client a obținut adresa IP de la serverul DHCP, cererea de închiriere a adresei trebuie înnoită înainte de perioada de expirare printr-o altă cerere de DHCPREQUEST. Dacă stația de lucru își termină treaba înaintea timpului de expirare a perioadei de valabilitate a timpului ar trebui să transmită serverului un mesaj DHCPRELEASE, prin care defapt anunță că adresa poate fi pusă la dispoziția altor echipamente.

Componentele DHCP și alocarea adreselor

În momentul configurării unui server pentru a funcționa ca DHCP server se întâlnesc următoarele componente:

Scope – reprezintă intervalul de adrese IP consecutive, definind de obicei o singură subrețea pe care trebuie să o deservească DHCP. Prin intermediul său serverul gestionează distribuția și alocarea adreselor IP;

Superscop – reprezintă gruparea adminstrativă a mai multor scopuri pentru a putea fi folosite în cazul mai multor subrețele. Această gruparea îmbracă forma unei liste ce cuprinde member scopes (scopurile membre). Configurarea unui scop implică configurarea individuală a membrilor acestuia;

Exclusion range – reprezintă o secvență de adrese IP din cadrul unui scop, care nu poate fi oferită spre distribuție cliențlor DHCP;

Address pool – reprezintă adresele IP rezultate prin eliminarea din cadrul unui scop a intervalului mai sus amintit;

Lease (închirierea) – se referă la timpul pe care un client îl are la dispoziție pentru a folosi adresa IP. Înainte de expirarea timpului, clientul trebuie să-și reînoiască cererea către server;

Reservation – se utilizează atunci când se dorește ca un anumit dispozitiv să folosească de fiecare dată aceeași adresă IP;

Options type – parametrii de configurare ai serverului, care pun la dispoziție opțiui suplimentare: adresa IP a gateway-ului (ruter, serverele DNS);

Options class – clienții pot fi grupați pe clase, cărora li se vor asocia tipuri de opțiuni de configurare. Clasele de opțiuni sunt de două tipuri: vendor sau user.

Alocarea către clienți a adreselor IP se face prin trei metode:

Dinamic. Serverul DHCP se ocupă doar cu alocarea adreselor din cadrul scopului. Periodic, fiecare client trebuie să-și reînoiască cererea. Dacă nu se face acest lucru, perioada de închiriere expiră și adresa va fi alocată altui client.

Automat. O dată alocată o adresă unui client, singura modalitate prin care aceasta mai poate fi schimbată presupune configurarea manuală a stației respective. Dacă stațiile din rețea nu-și schimbă poziția, aceasta este cea mai bună variantă.

Manuală. O adresă este alocată permanent aceluiași calculator.

3.4.4 Port Security

Securitatea accesului la rețeaua internă bazata pe switching se poate realiza prin limitarea clientilor care se pot conecta la infrastructura, pornind de la datele de identificare ale statiei de lucru.

Port Security permite doar pachetelor cu adresa MAC alocată dinamic și/sau adresa MAC statică configurată să treacă prin switch. Astfel, dispozitivele cu adrese MAC neînvățate nu pot accesa rețeaua prin intermediul unui port prestabilit. Pentru securitate maxima pe port se va activa Port Security, dezactivând Address Learning si configurând adresa sau adresele MAC statice pe port. Nu este recomandat să se dezactiveze și Port Security și Address Learning deoarece vor rezulta multe broadcasturi.

Practic, solutia uzuală este de a configura un switch sa accepte conexiuni de date doar daca provin de la un anumit interval de adrese de tip MAC, adresele fiind scrise din fabrica în memoria placilor de rețea sub forma unui identificator unic de 48 de biți lungime.  Astfel configurat pe un anumit port fizic se va conecta doar una sau mai multe adrese MAC deja retinute ca având permisiune. Se va limita accesul la rețea cu orice echipament , iar o interfață care are activata optiunea de port-security trebuie sa fie un port de acces, si nu unul care leaga doua switch-uri.

Majoritatea echipamentelor de tip switch cu management suporta optiuni de configurare Port Security.

3.4.5 Private VLANs

În rețelele Lan clasice, stațiile conectate la același switch împart același domeniu, astfel că fiecare stație primește pachetele de date trimise de fiecare dintre celălalte stații. Daca numărul de stații este mare, transferul de date crește , ceea ce duce la încărcarea rețelei, scăzând dramatic performanțele.

O retea fizică de dimensiuni mari se poate diviza în mai multe subrețele logice independente, numite VLAN-uri. Calculatoarele dintr-un VLAN pot fi conectate în switch-uri diferite din reteaua LAN. Switch-urile care folosesc VLAN-uri crează o împărțire a rețelei în domenii de broadcast separate, dar fara a avea problemele de latență ale routerelor.
Dispozitivele nu pot comunica direct între ele daca nu apartin aceluiași VLAN decât dacă traficul trece mai întai printr-un router.

VLAN-urile private ofera o izolarea logică și nu o separație fizică. Un VLAN este format din mai multe stații care sunt tratate ca un singur domeniu de broadcast. Acestea pot comunica unele cu altele, dar nu pot comunica cu statiile din alt VLAN, iar izolarea se realizează folosind VLAN Tagging.

Un tag VLAN este o extensie de patru octeti a frame-ului Ethernet care transporta o prioritate (0-7) si un identificator (1-4096). Calculatoarele care suporta VLAN-urile pot aplica aceste tag-uri. Tag-urile pot fi adaugate și de switch-urile care suporta acest lucru, pe baza portului pe care soseste frame-ul.

Putem avea un switch programat în așa fel încât să știe ca porturile 5,3 și 2 sunt în cadrul VLAN-ului 1 si porturile 7.6.4 aparțin VLAN-ului 2. Switch-ul va trimite pachetele de broadcast spre toate porturile de pe acelasi VLAN, dar niciodata spre porturile celuilalt VLAN. In figura 3.4.5 de mai jos este prezentata aceasta situatie:

Fig. 3.4.5

Creare si folosirea VLAN-urilor se face dupa cateva reguli, cum ar fi:

traficul Layer 2 nu poate ajunge dintr-un VLAN în altul

fiecare port trebuie să fie inclus ăntr-un VLAN static. Implicit un port este membru untagged al VLAN-ului default

un port poate exista în unul sau mai multe VLAN-uri, in acest caz, “tagging” este folosit pentru a identifica carui VLAN apartine un anumit frame

un port poate fi definit ca untagged pentru nici un VLAN sau doar pentru un VLAN. Un port care este untagged pentru un VLAN transmite frame-urile destinate acelui VLAN fara tag-ul VLAN în frame-ul Ethernet

un port poate fi definit ca tagged pentru nici un VLAN sau pentru mai multe VLAN-uri. Un port care este tagged pentru un VLAN transmite frame-urile destinate acelui VLAN cu tag-ul VLAN, incluzand și identificatorul numeric al VLAN-ului

un port nu poate fi untagged si tagged în acelasi VLAN

Folosirea VLAN-urilor aduce pe langa alte avantaje și îmbunătățirea performanțelor rețelei.

Capitolul 5 CONCLUZII

Securitatea rețelelor de calculatoare este și va fi una dintre componentele majore ale societății informatizate.

În lucrarea realizată am dorit să accentuez câteva aspecte ale securității rețelelor care prezintă interes atât din punct de vedere teoretic cât și practic.

Securitatea în rețelele de calculatoare este în continuă dezvoltare, asemeni domeniului în care sunt necesare, domeniul larg al IT-ului. Cu cât o soluție de securitate sau un algoritm de criptare este folosit pentru un timp mai îndelungat, cu atât devine mai susceptibil atacurilor și este nevoie de o perpetuă creare de algoritmi noi și performanți sau de noi tehnologii.

Un criteriu important în dezvoltarea unei tehnici de securitate este asigurarea compatibilității cu echipamentele deja existente pe piață, pentru a asigura o continuitate în menținerea confidențialității datelor.

Pe parcursul celor patru capitole : Introducere, Rețele de calculatoare-prezentare generală, Aspecte teoretice privind securitatea rețelelor de calculatoare , Exemplu practic de securizare a rețelelor am realizat o prezentare a principalelor aspecte ce țin de domeniul securității rețelelor, domeniu complex și într-o continuă evoluție.

Capitolul 6 BIBLIOGRAFIE

1. Patriciu Victor-Valeriu, Pietroșanu-Ene Monica, Bica Ion, Cristea Costel – “Securitatea informatică în UNIX și INTERNET”, Ed.Tehnică, București, 1998

2. Microsoft Course 2389: Programming with Microsoft ADO.NET, Microsoft Corporation, 2001-2002

3. “Building Secure ASP.NET Applications. Authentication, Authorization, and Secure Communication” vol. I& vol. II, Microsoft Corporation, 2002

4. Martin Joe, Tomson Brett – “Introducere în ASP.NET” Teora, 2002

5. Schildt Herbert – “C#”, Teora, 2002

6. Waymire Richard, Sawtell Rick – “Microsoft SQL Server 2000”, Teora, 2002

7. High Performance Networking Unleashed – Macmillan Computer Publishing

8. Upgrading and repairing networks – Macmillan Computer Publishing

9. Building an intranet with Windows NT 4.0 – Macmillan Computer Publishing

10.Primii pași în securitatea rețelelor – Tom Thomas, Ed. Corint 2011

11.Cisco – arhitecturi de securitate – Gil Held, Kent Hundley, Ed Teora 2010

12. Protecția și securitatea informațiilor – Dumitru Oprea, Ed Polirom 2011

Resurse electronice pe INTERNET

www.msdn.microsoft.com

http://www-106.ibm.com/developerworks/webservices/library/ws-secure/

www.w3c.org

Publicația lui Bilal Siddiqui “Securitatea Serviciilor Web”

www.citforum.ru – “Managing Web Services”, Mike Lehmann,Oracle

www.wikipwdia.ro

BIBLIOGRAFIE

1. Patriciu Victor-Valeriu, Pietroșanu-Ene Monica, Bica Ion, Cristea Costel – “Securitatea informatică în UNIX și INTERNET”, Ed.Tehnică, București, 1998

2. Microsoft Course 2389: Programming with Microsoft ADO.NET, Microsoft Corporation, 2001-2002

3. “Building Secure ASP.NET Applications. Authentication, Authorization, and Secure Communication” vol. I& vol. II, Microsoft Corporation, 2002

4. Martin Joe, Tomson Brett – “Introducere în ASP.NET” Teora, 2002

5. Schildt Herbert – “C#”, Teora, 2002

6. Waymire Richard, Sawtell Rick – “Microsoft SQL Server 2000”, Teora, 2002

7. High Performance Networking Unleashed – Macmillan Computer Publishing

8. Upgrading and repairing networks – Macmillan Computer Publishing

9. Building an intranet with Windows NT 4.0 – Macmillan Computer Publishing

10.Primii pași în securitatea rețelelor – Tom Thomas, Ed. Corint 2011

11.Cisco – arhitecturi de securitate – Gil Held, Kent Hundley, Ed Teora 2010

12. Protecția și securitatea informațiilor – Dumitru Oprea, Ed Polirom 2011

Resurse electronice pe INTERNET

www.msdn.microsoft.com

http://www-106.ibm.com/developerworks/webservices/library/ws-secure/

www.w3c.org

Publicația lui Bilal Siddiqui “Securitatea Serviciilor Web”

www.citforum.ru – “Managing Web Services”, Mike Lehmann,Oracle

www.wikipwdia.ro

Similar Posts