43 Prelegerea 4 Protocoale de distribuire a cheilor 4.1 Introducere Am văzut că sistemele bazate pe chei publice nu necesită un canal sigur pentru tra

Documente similare
8.1. Elemente de Aritmetică. 8. Aplicatii (15 aprilie 2019) Lema 8.1. Fie (A, +) un grup abelian şi H, K A. Atunci H K şi H + K = {h + k h H şi k K} s

SECURITATE ȘI CRIPTOGRAFIE

Prelegerea 3 În această prelegere vom învăţa despre: Clase speciale de latici: complementate. modulare, metrice, distributive şi 3.1 Semi-distributivi

ÎS CENTRUL DE TELECOMUNICAȚII SPECIALE CENTRUL DE CERTIFICARE A CHEILOR PUBLICE POLITICA de utilizare a certificatelor SSL Iunie 2013 Chişinău 2013

UNIVERSITATEA DIN BUCUREŞTI FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ Protocoale de stabilire a cheilor de grup bazate pe scheme de partajare a secretel

Aproximarea functiilor prin metoda celor mai mici patrate

Probleme de securitate si administrarea cheilor in MANET - rezumat

Microsoft Word - cap1p4.doc

CRIPTOSISTEME SIMETRICE I

Noțiuni de bază ale criptografiei

DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂT

Microsoft Word - D_ MT1_II_001.doc

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

Clasa IX 1. O lăcustă face salturi, fiecare salt în linie dreaptă şi de două ori mai lung ca precedentul. Poate vreodată lăcusta să revină în punctul

20 SUBIECTE DE EXAMEN - De fapt, în pofida acestor probleme, până la urmă tot vom logaritma, căci aceasta este tehnica naturală în context. Trebuie do

Cursul 12 (plan de curs) Integrale prime 1 Sisteme diferenţiale autonome. Spaţiul fazelor. Fie Ω R n o mulţime deschisă şi f : Ω R n R n o funcţie de

Acest fișier conține rezumatul anumitor explicații prezente în Curs - privind Sintaxa GNY Totul este legat de Alf = alfabetul de neterminali/ unități

Microsoft Word - TIC5

PROGRAMA CONCURSULUI NAŢIONAL

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x.

gaussx.dvi

CONCURSUL DE MATEMATICĂ APLICATĂ "ADOLF HAIMOVICI" ETAPA JUDEȚEANĂ 18 martie 2017 Filiera Tehnologică : profilul Tehnic Clasa a IX -a Problema 1. 2 Se

Spatii vectoriale

Ecuatii si sisteme de ecuatii neliniare 1 Metoda lui Newton Algorithm 1 Metoda lui Newton pentru ecuaţia f(x) = 0. Date de intrare: - Funcţia f - Apro

Microsoft Word - Curs_10.doc

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

Facultatea de Matematică Anul II Master, Geometrie Algebrică Mulţimi algebrice ireductibile. Dimensiune 1 Mulţimi ireductibile Propoziţia 1.1. Fie X u

Elemente de aritmetica

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii

CONCURSUL NAŢIONAL DE MATEMATICA PANAITOPOL EDIŢIA a X-a, TULCEA, 21 aprilie 2018 Clasa a VII - a 1. Se consideră numerele reale x, y şi z, cel puţin

Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor

Plan de activități Domeniul: Siguranța online Tema: Reputația mea online Grupul țintă: Elevii claselor a VIII-a IX-a Obiective operaționale O1 Elevii

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

BAC 2007 Pro Didactica Programa M1 2 Rezolvarea variantei 36 versiune finală Redactia Pro Didactica Suportul pe net:

Republica Moldova PARLAMENTUL LEGE Nr. 91 din privind semnătura electronică şi documentul electronic Publicat : în Monitorul Ofi

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

Laborator 9- Estimarea parametrilor Sef lucrari dr.mat. Daniel N.Pop Departamentul de calculatoare si inginerie electrica 29.nov

Microsoft Word - lab-fr_3

I

Probleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da

Autoevaluare curs MN.doc

CLP_UTCN-grila-2012.dvi

Examenul de bacalaureat 2012

Laborator Implementarea algoritmului DES - Data Encryption Standard. Exemplu DES Algoritmul DES foloseşte numere b

E_d_Informatica_sp_SN_2014_bar_10_LRO

Algebra si Geometri pentru Computer Science

OfertĂ comercialĂ certsign

METODE NUMERICE ÎN INGINERIE

Calcul Numeric

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

O teoremă de reprezentare (II) Marian TETIVA 1 Abstract. In this paper some (in general well-known) results on complete sequences are exposed, with ap

LUMINIŢA SCRIPCARIU

Retele Petri si Aplicatii

COMENTARII FAZA JUDEŢEANĂ, 9 MARTIE 2013 Abstract. Personal comments on some of the problems presented at the District Round of the National Mathemati

CURBE BÉZIER În CAGD se utilizează adesea curbele polinomiale, adică acele curbe definite de o parametrizare polinomială: C : [a, b] R 3 C(t) = (x(t),

Microsoft Word - dice town.docx

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Slide 1

Documentul-de-informare-modificare-prospect

Universitatea Politehnica din Bucureşti 2019 Disciplina: Geometrie şi Trigonometrie G1 * Varianta A 1. Ştiind cos x = 3 2, atunci sin2 x

Example Title with Registration Microsoft® and Trademark SQL ServerTM

Şcoala ………

Microsoft Word - Cap09_AutoorganizareSiEmergentaInSistemeleAdaptiveComplexe_grile.doc

REGULAMENTUL OFICIAL AL PROMOȚIEI ( Promoție ) Trimite dragostea acasă și câștigă chiar acum 1. Informația cu privire la înregistrare în concurs și pr

MD.09. Teoria stabilităţii 1

REGULAMENTUL OFICIAL AL CAMPANIEI PROMOTIONALE Christian Tour implineste 21 de ani. De ziua noastra, iti dam o vacanta! Perioada Campaniei: 17 august

OPERATII DE PRELUCRAREA IMAGINILOR 1

BAC 2007 Pro Didactica Programa M1 2 Rezolvarea variantei 61 versiune finală Redactia Pro Didactica Suportul pe net:

Microsoft PowerPoint - SD7-RO.ppt

Laborator 4 Modele sistemice liniare. Reprezentare numerică. Conversii. Conexiuni 4.1 Tema Formarea deprinderilor de utilizare a convenţiilor MATLAB d

ETTI-AM2, , M. Joița & A. Niță Notițe de Adrian Manea Seminar 10 Transformata Fourier Integrala Fourier Seriile Fourier sînt utile pentru dez

Diapositive 1

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

Analiz¼a Matematic¼a - Curs 6 M¼ad¼alina Roxana Buneci

Sistem de supraveghere video inteligent cu localizarea automata a evenimentelor de interes SCOUTER, cod proiect PN-II-IN-DPST , contract nr

Microsoft Word - Rezolvarea Test 16 carte 2015.doc

Proiectarea Sistemelor Software Complexe

Microsoft Word - Algoritmi genetici.docx

Romania postcomunista. Trecut, prezent si viitor

2

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Microsoft Word - FiltrareaNyquist-rezumat.doc

Școala: Clasa a V-a Nr. ore pe săptămână: 4 Profesor: MATEMATICĂ Clasa a V-a Aviz director PLANIFICARE CALENDARISTICĂ ORIENTATIVĂ Nr. crt. Unitatea de

Microsoft PowerPoint - 20x_.ppt

CONCURSUL NAŢIONAL DE MATEMATICA PANAITOPOL EDIŢIA a X-a, TULCEA, 21 aprilie 2018 Clasa a VII - a Soluţii orientative şi bareme Problema 1. Se conside

Universitatea POLITEHNICA din Bucureşti Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei FISA DISCIPLINEI 1. Date despre program 1

1

FEDERATIA ROMANA DE FOTBAL ASOCIATIA JUDETEANA DE FOTBAL HUNEDOARA RAPORT DE OBSERVARE PENTRU ARBITRI LIGA IV, V - SENIORI Echipele A B Localitatea: D

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

Programarea şi utilizarea calculatoarelor

Subiectul 1

Microsoft Word - Politica de marcare temporala v1.0

Secţiunea 7-8 începători Concurs online de informatică Categoria PROGRAMARE PROBLEMA 1 ID 100 puncte Calculatoarele trebuie să se recunoască în rețeau

Specificaţii tehnice aparate de detectare conducte de metal şi fire trasatoare

Microsoft Word - 01_Introducere.doc

Raportarea serviciilor de dializă la nivel CNAS

Regulament campanie Aboneaza-te la newsletterul Dedeman Campania Aboneaza-te la newsletter-ul Dedeman este organizata de DEDEMAN SRL cu sediul in muni

2

09-ppt-2018-capac

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA

Transcriere:

43 Prelegerea 4 Protocoale de distribuire a cheilor 4.1 Introducere Am văzut că sistemele bazate pe chei publice nu necesită un canal sigur pentru transmiterea unei chei private. Aceste avantaj este compensat însă de faptul că un canal cu cheie publică este mult mai lent decât unul cu cheie privată, el necesitând protocoale, procedee de autentificare etc.în această prelegere vom aborda această problemă, de stabilire a unor modalităţi de a schimba mesaje între mai mulţi utilizatori, folosind protocoale rapide, fiecare având propria sa cheie privată. Protocoalele vor consta din două părţi principale: 1. Distribuirea cheilor: un protocol prin care o persoană alege cheia privată şi o transmite mai departe. 2. Punerea de acord: toţi participanţii stabilesc o cheie privată folosind un canal public. Baza de comunicare constă dintr-o reţea (nesigură) care leagă n utilizatori. În general se presupune că există o autoritate A numită arbitru, considerată apriori ca fiind onestă; ea va verifica identităţile utilizatorilor, alegerea şi transmiterea cheilor iniţiale, precum şi alte probleme curente. Deoarece reţeaua nu este sigură, participanţii trebuie să prevadă unele atacuri din partea lui Oscar. Acesta poate fi pasiv (adică doar să intercepteze mesaje) sau activ. Un adversar activ este capabil să: modifice un mesaj în cursul transmisiei; transmită mesaje vechi; încerce să se prezinte ca unul din utilizatorii reţelei. Obiectivul lui Oscar este: Să îi facă pe U şi să accepte o cheie invalidă Să îi facă pe U şi să creadă că au schimbat chei între ei. Scopul protocolului de distribuţie a cheilor sau al punerii de acord este ca în final cei doi participanţi să deţină aceaşi cheie K, necunoscută de ceilalţi participanţi (exceptând eventual A).

44 PRELEGEREA 4. PROTOCOALE DE DISTRIBUIRE A CHEILOR 4.2 Predistribuirea cheilor Iniţial are loc o etapă de predistribuire a cheilor: pentru orice pereche de utilizatori (U, ), arbitrul A alege aleator o cheie K U, = K,U pe care o transmite în prealabil lui U şi printr-un canal sigur (neutilizat pentru comunicaţiile uzuale). Deci, în această fază, A generează C 2 n chei pe care le distribuie celor n utilizatori. Fiecare utilizator trebuie să păstreze cheia sa precum şi cele n 1 chei de comunicaţie cu ceilalţi utilizatori. Această etapă este sigură, dar ridică o serie de probleme cum ar fi: existenţa de canale sigure între A şi fiecare din cei n participanţi; obligaţia pentru fiecare participant să stocheze n 1 chei şi să participe la Cn 2 transmisii de chei solicitate de arbitru. Chiar pentru o reţea mică, acest lucru devine destul de dificil. Scopul protocoalelor prezentate mai departe este de a micşora (fără a periclita siguranţa comunicării) cantitatea de informaţie care trebuie transmisă. 4.2.1 Protocolul Blom Fie n (n 3) utilizatori şi p (p n) un număr prim. Fiecare cheie este un element din Z p. Se alege un număr întreg k, (1 k n 2). aloarea lui k este numărul maxim de intruşi Oscar contra cărora trebuie construită protecţia. În procedeul Blom, A transmite printr-un canal sigur k + 1 elemente din Z p fiecărui utilizator (în loc de n 1 chei în varianta generală). Fiecare pereche de utilizatori (U, ) poate calcula o cheie K U, = K,U. Condiţia de securitate este: orice coaliţie de k utilizatori diferiţi de U şi nu poate obţine informaţii despre K U,. Pentru cazul k = 1 protocolul Blom este: 1. Se alege public un număr prim p şi pentru fiecare utilizator U se alege r U Z p. Numerele r U sunt distincte. 2. A alege aleator trei numere a, b, c Z p şi formează polinomul f(x, y) = a + b(x + y) + cxy (mod p) 3. Pentru fiecare utilizator U, A determină polinomul g U (x) = f(x, r U ) (mod p) şi transmite g U (x) lui U printr-un canal sigur. 4. Dacă U şi doresc să comunice, cheia lor privată este K U, = K,U = f(r U, r ) Observaţii: Aplicaţia g U (x) de la pasul 3 este o aplicaţie afină, de forma g U (x) = a U + b u x, unde a U = a + br U (mod p), b U = b + cr U (mod p).

4.2. PREDISTRIBUIREA CHEILOR 45 La pasul 4, U poate calcula cheia privată K U, similar K,U = f(r U, r ) = g (r U ). = f(r U, r ) = g U (r ), iar în mod Exemplul 4.1 Să presupunem că sunt 3 utilizatori U,, W şi p = 17. Cheile lor publice sunt r U = 12, r = 7, r W = 1. Presupunem că arbitrul alege a = 8, b = 7, c = 2. Atunci f(x, y) = 8 + 7(x + y) + 2xy Polinoamele g sunt acum g U (x) = 7 + 14x, g (x) = 6 + 4x, g W (x) = 15 + 9x. Cele trei chei private sunt K U, = 3, K U,W = 4, K,W = 10. U poate calcula K U, prin g U (r ) = 7 + 14 7 = 3 (mod 17); poate calcula K,U prin g (r U ) = 6 + 4 12 = 3 (mod 17). Să arătăm că nici un utilizator nu poate obţine informaţie asupra cheilor private ale celorlalţi utilizatori. Teorema 4.1 Protocolul Blom pentru k = 1 este necondiţionat sigur contra oricărui atac individual. Demonstraţie: Să presupunem că utilizatorul W doreşte să calculeze cheia K U, = a + b(r U + r ) + cr U r mod p. alorile r U şi r sunt publice, dar a, b, c sunt secrete. W cunoaşte propriile sale valori a W = a + br W, b W = b + cr W (mod p), care sunt coeficienţii propriului său polinom g W (x). om arăta că informaţia deţinută de W este consistentă cu orice valoare posibilă m Z p a cheii K U,. Deci W nu poate obţine nici o informaţie asupra cheii K U,. Să considerăm ecuaţia matricială în Z p : 1 r U + r r U r 1 r W 0 0 1 r W a b c = Prima ecuaţie este de fapt K U, = m, iar celelalte două dau informaţia furnizată de g W (x) despre a, b, c. Determinantul matricii este rw 2 + r U r (r U + r )r W = (r W r U )(r W r ) unde toate calculele sunt efectuate în Z p. Cum r W este distinct de r U şi r, acest determinant este nenul, deci sistemul admite o soluţie unică (a, b, c). Cu alte cuvinte, orice valoare m Z p este compatibilă cu informaţia deja deţinută de W. O coaliţie între doi utilizatori W, X poate conduce la aflarea cheii K U,. W şi X ştiu că: a W = a + br W b W = b + cr W a X = a + br X b X = b + cr X Acesta este un sistem de 4 ecuaţii cu 3 necunoscute, din care se poate afla imediat soluţia unică (a, b, c). După ce s-au aflat aceste trei valori, se poate construi polinomul f(x, y), din care se poate determina mai departe restul informaţiei. m a W b W

46 PRELEGEREA 4. PROTOCOALE DE DISTRIBUIRE A CHEILOR Acest protocol poate fi generalizat pentru a rezista la atacul unei alianţe de k utilizatori. Singura modificare se face la pasul 2, unde arbitrul foloseşte polinomul k k f(x, y) = a i,j x i y j (mod p) i=0 j=0 unde a i,j Z p (0 i k, 0 j k) şi a i,j = a j,i pentru orice i şi j. 4.2.2 Protocolul Diffie - Hellman Este un protocol celebru, des folosit, bazat pe problema logaritmului discret. om folosi grupul Z p unde p este număr prim (deşi construcţia funcţionează pentru orice grup finit în care problema logaritmului discret este dificilă) şi fie α Z p un element primitiv. p şi α sunt publice. ID(U) este o informaţie capabilă să identifice utilizatorul U în reţea (numele, adresa electronică, numărul de telefon etc). Orice utilizator U dispune de un număr secret a U (0 a U p 2), putând să calculeze b U = α a U (mod p) Arbitrul A dispune de un algoritm de semnătură secret sig A şi o procedură de verificare publică ver A. Mai presupunem implicit că datele au fost în prealabil supuse unei funcţii de dispersie criptografice h pe care pentru simplificarea scrierii nu o mai menţionăm explicit. Anumite informaţii despre utilizatorul U sunt autentificate folosind un certificat care conţine şi amprenta (semnătura) arbitrului; un certificat este o definit ca o secvenţă de forma C(U) = (ID(U), b U, sig A (id(u), b U )). De remarcat că arbitrul nu trebuie să cunoască a U pentru a produce certificatul. Când U intră în reţea, se generează un astfel de certificat, care poate fi păstrat în baza de date sau poate fi comunicat chiar de U la fiecare utilizare. Semnătura lui A permite oricui să verifice autenticitatea informaţiei pe care o conţine. O cheie privată pentru U şi este definită K U, = α a U a (mod p). Ea poate fi construită atât de U, prin K U, = b a U (mod p) cât şi de prin K U, = b a U (mod p) (reamintim, a U, a sunt private, b U, b sunt publice). Exemplul 4.2 Să presupunem p = 25307 şi α = 2. Dacă luăm a U = 3578, vom avea b U = 2 3578 = 6113 (mod 25307), valoare pusă în certificatul lui U. Să presupunem că alege a = 19956; atunci b = 2 19956 = 7984 (mod 25307). U poate calcula cheia comună K U, = 7984 3578 = 3694 (mod 25307). Aceiaşi cheie este calculată şi de : K U, = 6113 19956 = 3694 (mod 25307).

4.3. KERBEROS 47 Să studiem securitatea acestui protocol contra unui atac (activ sau pasiv). Semnătura lui A pe certificate împiedică producerea de informaţii publice false. Deci vor rămâne în discuţie numai atacurile pasive, care se reduc la problema: W poate determina K U, dacă nu este U sau? Altfel spus: fiind date α au şi α u, ambele (mod p), se poate calcula α a U a (mod p)? Aceasta este cunoscută şi sub numele de problema Diffie - Hellman, formulată astfel: Fie I = (p, α, β, γ) unde p este număr prim, α Z p este primitiv, iar β, γ Zp. Se poate determina β log αγ (mod p)? (sau echivalent, γ log αβ (mod p)) Evident, securitatea protocolului Diffie - Hellman de predistribuire a cheii faţă de atacurile pasive este echivalent cu dificultatea problemei Diffie - Hellman. Dacă W poate calcula a U (sau a ) plecând de la b U (b ), el poate deduce K U, aşa cum face U (respectiv ). Aceasta conduce la rezolvarea unei probleme de logaritm discret. Deci, dacă problema logaritmului discret în Z p este dificilă, atunci protocolul de predistribuire a cheii Diffie - Hellman nu poate fi atacat. Conjectura este aceea că problema Diffie - Hellman este echivalentă cu problema logaritmului discret (aşa cum s-a conjecturat că spargerea sistemului RSA este echivalentă cu factorizarea unui număr). Teorema 4.2 A sparge sistemul de criptare El Gamal este echivalent cu a rezolva problema Diffie - Hellman. Demonstraţie: Să reamintim sistemul de criptare El Gamal: O cheie este K = (p, α, a, β) unde β = α a (mod p); a este secret, iar p, α, β sunt publice. Criptarea unui mesaj x Z p se face alegând aleator un număr k Z p 1 ; apoi e K (x, p) = (y 1, y 2 ) unde y 1 = α k (mod p), y 2 = xβ k (mod p) Pentru y 1, y 2 Z p, decriptarea este definită prin d K (y 1, y 2 ) = y 2 (y a 1) 1 (mod p) Să presupunem că dispunem de un algoritm A care rezolvă problema Diffie - Hellman şi încercăm un atac asupra mesajului criptat (y 1, y 2 ). Aplicând A asupra intrărilor p, α, y 1 şi β avem: A(p, α, y 1, β) = A(p, α, α k, α a ) = α ka = β k (mod p) De aici rezultă x = y 2 (β k ) 1 (mod p), deci se poate decripta mesajul (y 1, y 2 ). Invers, să presupunem că dispunem de un algoritm B de decrptare pentru sistemul El Gamal. Deci B admite la intrare (p, α, β, y 1, y 2 ) şi calculează ( ) x = y 2 y log α β 1 1 (mod p). Fiind dată o apariţie (p, α, β, γ) a problemei Diffie - Hellman, se poate calcula uşor ( (γ B(p, α, β, γ, 1) 1 log = 1 ) α β 1 ) 1 = γ log α β (mod p) 4.3 Kerberos Un punct slab în metodele de predistribuire a cheilor prezentate este acela că fiecare pereche de utilizatori primeşte mereu aceeaşi cheie. Acest lucru, pe o perioadă de timp mai lungă pericilitează confidenţialitatea cheii. Este mult mai indicat să se calculeze câte o cheie nouă (freshness) pentru fiecare contact direct.

48 PRELEGEREA 4. PROTOCOALE DE DISTRIBUIRE A CHEILOR În plus, dacă se utilizează o distribuţie a cheilor în direct, nici un utilizator nu va mai fi nevoit să stocheze cheile de comunicare cu ceilalţi utilizatori (înafara cheii de comunicare cu arbitrul, bineînţeles). Cheile de sesiune sunt transmise la simpla solicitare a lui A. Tot arbitrul este responsabil de noutatea cheii livrate. Kerberos este unul din cele mai răspândite sisteme de gestiune a cheilor. Să prezentăm protocolul de fabricare a cheilor de sesiune asigurat de acest sistem. Fiecare utilizator U împarte cu arbitrul o cheie DES notată K U. Ultimele versiuni folosesc modul CBC de implementare a sistemului DES. ID(U) reprezintă o informaţie publică care identifică utilizatorul U. La solicitarea lui U de a comunica cu, arbitrul efectuează următorii paşi: Generează o cheie K; Înregistrează ora T a cererii; Stabileşte o durată L de validitate a lui K; deci cheia de sesiune este validă în intervalul de timp [T, T + L]. Aceste informaţii sunt transmise de A lui U, apoi. Protocolul Kerberos este următorul: 1. A generează K, T şi L. 2. A calculează m 1 = e KU (K, ID( ), T, L), m 2 = e K (K, ID(U), T, L) pe care le trimite lui U. 3. U calculează d KU (m 1 ) şi află K, T, L, ID( ). Pe urmă calculează m 3 = e K (ID(U), T ) şi trimite lui mesajele m 2 şi m 3. 4. află K, T, L, ID(U) din d K (m 2 ) şi T, ID(U) din d K (m 2 ). erifică dacă cele două valori pentru T şi ID(U) sunt identice. 5. calculează pe care îl trimite lui U. m 4 = e K (T + 1) 6. U calculează d K (m 4 ) şi verifică dacă este T + 1. Fiecare din cele patru mesaje m i transmise are rolul său bine determinat. Astfel, m 1 şi m 2 servesc la transmiterea confidenţială a cheii K. La rândul lor, m 3 şi m 4 asigură o confirmare a cheii; după primirea ei, U şi sunt siguri că dispun de aceeaşi cheie de sesiune K. Rolul lui T şi L este acela de protejare contra unui atac activ constând din înregistrarea unor mesaje vechi şi retransmiterea lor ulterior. Unul din slabiciunile sistemului Kerberos constă în imposibilitatea unei sincronizări a ceasurilor utilizatorilor. În practică se admit anumite decalaje, stabilite de comun acord. În plus, spargerea sistemului DES a condus la renunţarea treptată la sistemul Kerberos.

4.4. SCHIMBUL DE CHEI DIFFIE - HELLMAN 49 4.4 Schimbul de chei Diffie - Hellman Dacă nu se acceptă un furnizor universal de chei, atunci va trebui stabilit un protocol de punere de acord. Primul şi cel mai cunoscut astfel de protocol este protocolul de schimb de chei Diffie - Hellman. Fie p număr prim şi α Z p un element primitiv, ambele publice; eventual ele sunt alese de U şi comunicate lui. Protocolul de schimb este următorul: 1. U alege aleator a U [0, p 2]; 2. U calculează α a U (mod p) şi îl trimite lui ; 3. alege aleator a [0, p 2]; 4. calculează α a (mod p) şi îl trimite lui U; 5. U calculează K = (α a ) a U (mod p) iar calculează K = (α a U ) a (mod p) La sfârşitul protocolului, U şi obţin aceeaşi cheie K = α a U a (mod p). Procedeul este asemănător cu cel de predistribuire a cheii, cu diferenţa că exponenţii a U şi a se schimbă la fiecare sesiune. 4.4.1 Protocol între staţii Protocolul Diffie - Hellman se efectuează după schema următoare: U α a U α a Acest protocol este însă vulnerabil la un atac activ al unui intrus W, care se interpune între U şi în modul următor: α a U α a U U α a W α a W interceptează mesajele lui U şi şi le înlocuieşte cu ale sale. La sfârşitul lui, W a stabilit o cheie de comunicaţie α a U a cu U şi o cheie α a U a cu. Când U doreşte să trimită un mesaj lui, el va utliliza cheia pe care o împarte cu W ; acesta poate decripta mesajul şi apoi să îl cripteze cu cheia comună cu. Acesta primeşte mesajul, fără să realizeze că a fost citit de W. Acelaşi lucru se întâmplă în cazul unui mesaj trimis de către U. Este necesar deci ca utilizatorii să jşi autentifice punerea de acord a protocolului de stabilire a cheilor. Acesta va fi numit protocol de punere de acord autentificat. Un astfel de acord, bazat pe schimbul de chei Diffie - Helmann este numit protocol între staţii (ST S) şi este construit de Diffie, an Oorschot şi Wiener. O variantă ST S simplificată este:

50 PRELEGEREA 4. PROTOCOALE DE DISTRIBUIRE A CHEILOR 1. U generează aleator un număr a U [0, p 2]; apoi calculează numărul α a U (mod p) pe care îl trimite lui ; 2. generează aleator un număr a [0, p 2]; 3. calculează α a (mod p), apoi K = (α a U ) a (mod p) şi y = sig (α a, α a U ). Trimite lui U mesajul (C( ), α a (mod p), y ). 4. U calculează K = (α a ) a U (mod p) şi verifică C( ) cu ver A, apoi y cu ver extras din C( ); 5. U calculează y U = sig U (α a U, α a ) şi trimite lui mesajul (C(U), y U ); 6. verifică C(U) cu ver A, apoi y U cu ver U extras din C(U). În această schemă, numărul prim p şi elementul primitiv α Z p sunt publice. Fiecare utilizator U dispune de un protocol privat de semnătură sig U şi unul public de verificare ver U. Arbitrul A are de asemenea asociate funcţiile sig A respectiv ver A. Certificatul lui U este C(U) = (ID(U), ver U, sig A (ID(U), ver U )) Informaţiile schimbate în cadrul protocolului ST S simplificat sunt schematizate de diagrama următoare: U α a U α a, sig (α a, α a U ) sig U (α a U, α a ) Prin acest protocol, un intrus W nu se mai poate interpune între U şi. Într-adevăr, dacă W interceptează α au şi îl înlocuieşte cu α a U, el va trebui să înlocuiască de asemenea şi sig (α a, α a U ) cu sig (α a, α a U ), ceea ce nu poate decât în cazul a U = a U şi a = a (pentru că nu cunoaşte sig ). La fel, W nu poate înlocui sig U (α a U, α a ) cu sig U (α a U, α a ), pentru că nu cunoaşte sig. arianta aceasta de protocol nu oferă totuşi o confirmare a cheii. Pentru aceasta trebuie modificat y = e K (sig (α a, α a U )) în pasul 3 şi y U = e K (sig U (α a U, α a )) în pasul 5. În acest fel, ca la Kerberos, se obţine o confirmare a cheii decriptând o parte cunoscută a cheii de sesiune. Acesta este protocolul ST S complet. 4.4.2 Punerea de acord MT I Matsumoto, Takashima şi Imai au dezvoltat mai multe protocoale de punere de acord, bazate pe schimbul de chei Diffie - Hellman. Aceste protocoale numite MTI necesită doar două schimburi de informaţii între U şi (câte unul pe fiecare sens) şi nu folosesc protocoale de semnătură. Unul din protocoalele MT I este definit astfel: Fie p un număr prim şi α Z p un element primitiv, ambele publice. Fiecare utilizator U posedă un identificator ID(U), un exponent secret a U [0, p 2] şi o valoare publică b U = α a U (mod p).

4.4. SCHIMBUL DE CHEI DIFFIE - HELLMAN 51 Arbitrul dispune de un protocol de semnătură sig A şi unul de semnătură ver A. Fiecare utilizator posedă un certificat C(U) = (ID(U), b U, sig A (ID(U), b U )). Protocolul M T I este dat mai jos. În urma lui, utilizatorii U şi obţin aceeaşi cheie K = α r U a +r a U (mod p). 1. U selectează aleator r U [0, p 2], calculează s U = α r U (mod p) şi trimite lui (C(U), s U ). 2. selectează aleator r [0, p 2], calculează s = α r (mod p) şi trimite lui U (C( ), s ). 3. U calculează K = s a U b r U (mod p), iar calculează K = s a U b r U (mod p). Exemplul 4.3 Să luăm p = 27803 şi α = 5. Dacă U alege a U = 21131, el va calcula b U = 5 21131 = 21420 (mod 27803), pe care îl pune în certificatul său. La fel, dacă alege a = 17555, va avea b = 5 17555 = 17100 (mod 27803) Presupunem că U selectează r U = 169; el va trimite lui s U = 5 169 = 6268 (mod 27803). Dacă alege r = 23456, el trimite lui U s = 5 23456 = 26759 (mod 27803). Acum se poate calcula K U, = s a U b r U (mod p) = 26759 21131 17100 169 = 21600 (mod 27803) Aceeaşi cheie 21600 o obţine şi. Semnătura arbitrului elimină posibilitatea interpunerii lui Oscar. W se interpune între U şi, va avea loc scenariul Într-adevăr, dacă un intrus C(U), α r U C(U), α r U U C( ), α r W C( ), α r În acest moment, U şi vor calcula chei diferite: U calculează K = α r U a +r a U (mod p), iar calculeazăk = α r U a +r a U (mod p). În plus, nici una din cheile lui U sau nu pot fi calculate de W, pentru că aceasta ar solicita cunoaşterea exponentului secret a U respectiv a. Deci, deşi U şi obţin chei distincte, nici una din ele nu poate fi calculată şi de W (în ipoteza că problema logaritmului discret este dificilă). Altfel spus, U şi sunt siguri că nici o altă persoană nu poate calcula cheia. Această proprietate este numită autentificare implicită. Pentru atacuri pasive, securitatea sistemului M T I se reduce tot la dificultatea problemei Diffie - Hellman. 4.4.3 Chei auto-certificate Metoda punerii de acord prezentată în acest paragraf este construită de Girault; ea nu necesită certificat. aloarea cheii publice asigură o autentificare implicită. Protocolul lui Girault combină proprietăt ile sistemului RSA cu cele ale logaritmului discret. Fie n = pq unde p = 2p 1 + 1, q = 2q 1 + 1 sunt numere prime sigure (p 1, q 1 sunt numere prime

52 PRELEGEREA 4. PROTOCOALE DE DISTRIBUIRE A CHEILOR distincte). Cum grupul multiplicativ Z n este izomorf cu Z p Z q, ordinul maxim al unui element din Z n este deci cmmmc(p 1, q 1) = 2p 1 q 1. Fie α Z n de ordin 2p 1 q 1. om utiliza problema logaritmului discret în subgrupul ciclic al lui Z n, generat de α. În acest protocol, factorizarea n = pq este cunoscută numai de către arbitru. alorile n, α sunt publice, iar p, q sunt secrete (deci şi p 1, q 1 ). A alege un exponent de criptare RSA public, să spunem e. Exponentul de decriptare d = e 1 (mod φ(n)) este secret. Fiecare utilizator U are un identificator C(U) şi primeşte de la A o cheie publică autocertificată p U conform următorului protocol: 1. U alege un exponent secret a U şi calculează b U = α a U (mod n); 2. U trimite lui A valorile a U şi b U ; 3. A calculează p U = (b U ID(U)) d (mod n), pe care îl trimite lui U. De remarcat aportul arbitrului în calculul lui p U. Se observă că b U = p e U + ID(U) (mod n) poate fi calculat folosind numai informaţiile publice. Protocolul lui Girault este dat mai jos. Schematizat, schimbul de informaţii arată în felul următor: ID(U), p U, α r U (mod n) U ID( ), p, α r (mod n) La sfârşitul acestui protocol, U şi dispun de aceeaşi cheie: K = α r U a +r a U (mod n). 1. U alege aleator r U şi calculează s U = α r U (mod n); tripletul (ID(U), p U, s U ) este trimis lui. 2. alege aleator r şi calculează s = α r (mod n); tripletul (ID( ), p, s ) este trimis lui U. 3. U calculează cheia K = s a U (p e + ID( )) r U (mod n). Cheia calculată de este K = s a U (p e U + ID(U)) r (mod n). Exemplul 4.4 Să presupunem p = 839 şi q = 863. om avea n = 724057 şi φ(n) = 722356. Elementul α = 5 are ordinul 2p 1 q 1 = φ(n)/2. Dacă arbitrul A alege e = 84453 drept exponent de criptare, vom avea d = 125777. Dacă ID(U) = 500021 şi a U = 111899, vom avea b U = 488889 şi p U = 650704. În mod similar, considerăm ID( ) = 500022 şi a = 123456, deci b = 111692, p = 683556. Dacă U şi vor să stabilească o cheie comună şi U alege numărul r U = 56381, iar numărul r = 356935, vom avea s U = 171007, s = 320688. După protocol, cei doi vor dispune de cheia K = 42869.

4.4. SCHIMBUL DE CHEI DIFFIE - HELLMAN 53 Să studiem puţin evitarea atacurilor cu acest sistem de chei auto-certificate. Cum valorile b U, p U, ID(U) nu sunt semnate de A, nimeni nu poate verifica direct autenticitatea lor. Să presupunem că ele provin de la W (fără ajutorul arbitrului), care vrea să se dea drept U. Dacă W furnizează ID(U) şi dacă p U conduce la un b U greşit, nu se poate calcula exponentul a U asociat (dacă problema logaritmului discret este dificilă). Fără a U, W nu poate determina cheia. O situaţie similară apare dacă W se interpune între U şi. El poate împiedica pe U şi să obţină o cheie comună, dar nu poate efectua calculele lor. Are loc deci o autentificare implicită, ca la MT I. O întrebare ar fi: De ce U trebuie să comunice arbitrului valoarea a U? A poate determina p U plecând de la b U, fără să cunoască a U. Acest lucru se face pentru ca arbitrul să fie convins că U posedă a U, înainte de a calcula p U. Dacă A nu face această verificare înainte de calculul lui p U, sistemul poate fi atacat. Să presupunem că W alege un a U fals şi determină b U = α a U (mod n). Cu ele, stabileşte o cheie publică falsă p U = (b U ID(U)) d (mod n) în felul următor: W calculează b W = B U ID(U) + ID(W ) şi trimite lui A perechea (b W, ID(W )). Presupunem că arbitrul calculează efectiv pentru W valoarea p W = (b W ID(W )) d (mod n). Atunci, din b W ID(W ) b U ID(U) (mod n) se obţine imediat p W = p U. Să presupunem acum că U şi efectuează protocolul, iar W se interpune conform schemei următoare: ID(U), p U, α r U mod n ID(U), p U, α r U mod n U ID( ), p W, α r mod n ID( ), p, α r mod n calculează deci cheia K = α r U a +r a U (mod n), iar U calculează K = α r U a +r a U (mod n). W obţine K calculând K = s a U (p e + ID( ))) r U (mod n). W şi posedă deci aceeaşi cheie, în timp ce crede că o împarte cu U. În acest moment, W poate decripta mesajele trimise de pentru U.