cursuri criptografie
DESCRIPTION
Pentru toti cei care vor sa invete sau sunt pasionati de Criptografie. Cursul ii apartine lui Constantin Popescu si este predat la Universitatea din Oradea.TRANSCRIPT
01/11/2007 Introducere in Criptografie 1
Introducere înCriptografie
Prof. univ.dr. Constantin PopescuDepartamentul de Matematica si Informaticahttp://webhost.uoradea.ro/cpopescu/
Agenda
1. Protocoale TCP/IP
2. Securitatea Web
3. Protocolul Secure Electronic Transaction (SET)
4. Cerinţe ale protocolului SET
Introducere in Criptografie 2
Protocoale TCP/IP
• Protocolul IP asigură livrarea pachetelor numai dacă în funcţionarea reţelelor nu apar erori.
• Dacă un mesaj este prea lung, IP cere fragmentarea lui în mai multe pachete.
• Transmiterea pachetelor IP se face între calculatoare gazdă şi nu direct între programele de aplicaţie.
• Din aceste motive, protocolul IP este completat cu un altul, numit TCP (Transmission Control Protocol), care face fragmentarea şi asigură transmiterea corectă a mesajelor între utilizatori.
• Pachetele unui mesaj sunt numerotate, putându-se verifica primirea lor în forma în care au fost transmise şi reconstituirea mesajelor lungi, formate din mai multe pachete.
Introducere in Criptografie 3
Protocoale utilizate în suita TCP/IP
NIVEL APLICAŢIE
TELNET SMTP FTP DNS
NIVEL TRANSPORT
TCP UDP
NIVEL INTERNET
IP
LLC 802.2
NIVEL REŢEA
ETHERNET MAC 802.3 MAC 802.4 MAC 802.5
ETHERNET TOKEN BUS 802.4 802.3
TOKEN RING 802.5
Introducere in Criptografie 4
Protocolul IP
• Începând cu 1982, cel mai utilizat protocol Internet a fost IPv4 • Din 1995, IETF (Internet Engineering Task Force), care dezvoltă
protocoale standard pentru Internet, a emis o specificaţie pentru noua generaţie de IP, numită IPng sau IPv6.
• Datele sunt trimise sub forma unor blocuri de caractere, numite datagrame sau pachete.
• Fiecare pachet este prefaţat de un mic ansamblu de octeţi, numit header (antet), urmat de datele propriu-zise ce formează conţinutul pachetului.
• După sosire la destinaţie, datele transmise sub forma unor pachete distincte sunt reasamblate în unităţi logice de tip fişier, mesaj.
• Internetul comută pachetele pe diferite rute de la sursă la destinaţie, numindu-se reţea cu comutare de pachete.
Introducere in Criptografie 5
Structura unui pachet IP
Biţi 0 4 8 16 19 31 Versiune Lungime Tip serviciu Lungime totală
Identificare Indicatori Offset fragmentTimp de viaţă Protocol Sumă control antet
Adresă IP sursă Adresă IP destinaţie
Opţiuni IP Nefolosiţi Date
Introducere in Criptografie 6
Structura unui pachet IP Câmpurile unui antet pentru IPv4 sunt:
• Versiune (4 biţi): Indică numărul versiunii. Valoarea este 4. • Lungime (4 biţi): Specifică lungimea antetului. Valoarea minimă
este 5, pentru o lungime a antetului de minim 20 de octeţi. • Tip serviciu (8 biţi): Specifică rutele IP în termenii de prioritate a
pachetelor. • Lungimea totală (16 biţi): Specifică lungimea totală a pachetului
IP, în octeţi. • Identificare (16 biţi): Împreună cu adresa sursei, adresa
destinaţiei şi cu protocolul utilizatorului, identifică un pachet într-un mod unic.
• Indicatori (3 biţi): Indică dacă un pachet este fragmentat sau nu. Introducere in Criptografie 7
Structura unui pachet IP
• Offset fragment (13 biţi): Indică cui îi aparţine pachetul fragmentat.
• Timp viaţă (8 biţi): Specifică cât timp (în secunde) rămâne un pachet în Internet.
• Protocol (8 biţi): Indică protocolul de la nivelul imediat superior care primeşte datele.
• Sumă control antet (16 biţi): Este un cod de detectare a erorilor aplicat numai antetului. Acesta se calculează şi se verifică la fiecare rută.
• Adresa IP sursă (32 biţi): Specifică adresa sursă a IP. • Adresa IP destinaţie (32 biţi): Specifică adresa destinaţie a IP. • Opţiuni (variabil): Specifică opţiunile emiţătorului: eticheta de
securitate, căile de rutare. • Nefolosiţi (variabil): Utilizaţi pentru a se asigura că un antet este
un multiplu de 32 de biţi în lungime.Introducere in Criptografie 8
Securitatea Web
• Sistemul World Wide Web a luat fiinta la începutul anilor '90. • Sistemul Web nu este o reţea, ci este un sistem de aplicaţii. • Sistemul Web poate fi instalat pe diferite tipuri de reţele, care nu
trebuie să facă parte din Internet, şi poate fi folosit chiar pe calculatoare neconectate la reţea.
• World Wide Web este un sistem de comunicare a informaţiilor hipertext folosit în general în reţeaua Internet
• Funcţionează prin comunicare de date pe baza unui model client-server.
• Clienţii, adică navigatoarele Web, au acces la informaţiile hipermedia şi multiprotocol aflate pe un server Web.
• Modelul client-server pentru calculatoarele conectate în reţea implică trei componente: clientul, serverul şi reţeaua.
Introducere in Criptografie 9
Securitatea Web
• Clientul este o aplicaţie care de obicei rulează pe calculatorul utilizatorului final.
• Serverul este o aplicaţie care de obicei rulează pe calculatorul furnizorului de informaţii.
• Programul client este adaptat sistemului hardware pe care rulează şi funcţionează ca o interfaţă între sistemul respectiv şi informaţiile furnizate de server.
• Cererea este transportată prin reţea, de la client la server. • Serverul analizează cererea şi execută activităţile corespunzătoare. • Protocolul HTTP (Hyper Text Transfer Protocol) este un protocol
simplu, la nivel aplicaţie, în modelul TCP/IP, ce descrie cererile de la clienţi şi răspunsurile de la servere.
• Protocolul HTTP foloseşte portul TCP 80.
Introducere in Criptografie 10
Securitatea Web • O modalitate de a furniza securitatea Web este utilizarea securităţii
la nivel IP (IPSec). • Avantajul utilizării IPSec este acela că este transparent pentru
utilizatorii finali şi pentru aplicaţii. • Mai mult, securitatea la nivel IP include posibilităţi de filtrare aşa
încât numai mesajele selectate circulă în reţea (Figura 1).
HTTP FTP SMTPTCP
IP/IPSec
Figura 1. Securitatea la nivel IP
Introducere in Criptografie 11
Securitatea Web
• O altă soluţie de a furniza securitatea Web este aceea de a implementa o securitate deasupra protocolului TCP (Figura 2).
• Cel mai cunoscut exemplu este folosirea protocolului Secure Sockets Layer (SSL) şi a urmaşului lui SSL, numit Transport Layer Security (TLS).
• Browserele Netscape şi Microsoft Explorer au încorporate protocolul SSL şi cele mai multe servere Web au implementat acest protocol.
HTTP FTP SMTPSSL sau TLS
TCP IP
Figura 2. Securitatea la nivel SSL Introducere in Criptografie 12
Securitatea Web
• A treia soluţie pentru securitatea Web este folosirea unor aplicaţii cum ar fi (figura 3):
o Kerberos o S/MIME o PGP o SET (Secure Electronic Transaction).
S/MIME PGP SET KERBEROS SMTP HTTPUDP TCP
IP Figura 3. Securitatea la nivel aplicaţie
Introducere in Criptografie 13
Ameninţări Web
Ameninţări Urmări Contramăsuri Integritate • Modificare date
utilizator • Modificarea
memoriei • Modificarea
traficului de mesaje în tranzit
• Pierderea informaţiilor
• Compromiterea calculatorului
• Vulnerabilitate la alte ameninţări
Sume de verificare criptografică
Confidenţialitate • Ascultarea traficului în reţea
• Furtul de informaţii din server
• Furtul de informaţii de la client
• Informaţii despre configurarea reţelei
• Pierderea informaţiilor
• Pierderea datelor secrete
Criptare Folosirea proxi-urilor Web
Introducere in Criptografie 14
Ameninţări Web Ameninţări Urmări Contramăsuri Refuzul de servicii (denial of service)
• Umplerea discului sau a memoriei
• Umplerea calculatorului cu cereri false
• Izolarea calculatorului de atacurile DNS
• Imposibilitatea de a lucra la calculatorul respectiv
Greu de prevenit
Autenticitate • Date false • Utilizatori care
pretind că sunt legitimi
Se crede că informaţia falsă e validă
Tehnici criptografice
Introducere in Criptografie 15
Protocolul Secure Electronic Transaction (SET)
• Protocolul SET este o specificaţie deschisă de criptare şi de securitate proiectată să protejeze tranzacţiile cu cărţi de credit în Internet.
• Versiunea curentă, SET v1, a fost proiectată din necesitatea celor două companii Master Card şi Visa de a realiza un standard de securitate, în anul 1996.
• Un număr însemnat de companii au fost implicate în dezvoltarea SET: IBM, Microsoft, Netscape, RSA, Terisa şi Verisign.
• SET nu este un sistem de plată. • 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.
Introducere in Criptografie 16
Protocolul SET În esenţă, protocolul SET furnizează trei servicii:
• Un canal sigur de comunicare între toate părţile implicate într-o tranzacţie.
• Furnizează încredere în utilizarea certificatelor digitale X.509v3.
• Asigură secretizarea informaţiilor, astfel încât acestea să fie disponibile doar părţilor implicate în tranzacţie.
Introducere in Criptografie 17
Cerinţe ale protocolului SET
• Să furnizeze confidenţialitatea plăţilor. SET utilizează criptarea pentru a realiza confidenţialitatea.
• Să asigure integritatea tuturor datelor transmise. Semnăturile digitale sunt utilizate pentru a realiza integritatea.
• Să furnizeze autenticitatea astfel încât un deţinător de carte de credit este utilizatorul legitim al contului cărţii de credit respective. Acest mecanism reduce frauda. Semnăturile digitale şi certificatele sunt utilizate pentru a verifica dacă un deţinător de carte de credit este utilizatorul legitim al contului cărţii de credit respective.
• Să furnizeze autenticitatea astfel încât un comerciant să poată să accepte tranzacţiile cu cărţi de credit cu instituţia financiară (banca). Pentru aceasta se folosesc semnăturile digitale şi certificatele.
Introducere in Criptografie 18
Cerinţe ale protocolului SET • Să asigure utilizarea celor mai buni algoritmi criptografici şi tehnici
de proiectare a sistemelor pentru a proteja toate părţile legitime în tranzacţiile comerţului electronic.
• Să creeze un protocol care să nu depindă de alte mecanisme de securitate a transportului şi să nu împiedice utilizarea lor:
o SET poate opera sigur deasupra protocolului TCP/IP o SET nu interferează cu protocoale ca IPSec sau SSL/TLS.
• Să faciliteze şi să încurajeze interoperabilitatea între furnizorii de software şi de reţele:
o Protocolul SET este independent de platforma hardware o Este idependent de sist. de operare sau de software-ul Web.
Introducere in Criptografie 19