Tuesday, January 10, 2006

 

Protocoale de distribuire a cheilor

  • cadrul de lucru
    • protocol
      un algoritm ce specifica pasii prin care doua sau mai multe entitati conclucreaza pentru atingerea unui obiectiv
    • distribuirea cheilor
      un protocol prin care un secret partajat devine disponibil partilor spre uz criptografic viitor
        multe dintre protocoalele de distribuire a cheilor implica existenta unei entitati centrale sau a unei entitati de incredere. Aceasta entitate se poate intalni sub diferite denumiri
      • trusted third party
      • trusted server
      • authentication server
      • key distribution center (KDC)
      • key translation center (KTC)
      • certification authority (CA)
    • transportul cheilor
      un protocol prin care partile creeaza sau obtin un secret pe care il transfera intr-un mod sigur intre ele
    • acordul asupra cheilor
      un protocol prin care partile deduc un secret partajat in baza informatiilor asociate fiecarei parti ai nici una dintre parti nu poate prezice rezultatul
    • schema de predistribuire a cheilor
      un caz particular de distribuire a cheilor in care cheile sunt determinate a priori din informatia asociata partilor
    • distribuirea dinamica a cheilor
      un caz particular de distribuire a cheilor in care cheile variaza de la o sesiune la alta
    • autentificarea cheii
      o entitate se asigura ca nici o alta entitate in afara entitatii/entitatilor identificate nu are acces la o anumita cheie secreta
    • confirmarea cheii
      o entitate se asigura ca o alta entitate (posibil neidentificata) este in posesia unei anumite chei secrete
    • autentificarea explicita a cheii
      sunt simultan valabile autentificarea cheii si confirmarea cheii
    • distribuirea cheii autentificate
      un protocol care asigura autentificarea cheii
    • distribuirea cheilor bazata pe identitate
      un protocol de distribuire a cheilor in care informatia de identificare a entitatii se foloseste drept cheie publica
    • distribuirea independenta de mesaj a cheilor
      un protocol de distribuire a cheilor in care sunt implicate doar doua entitati si in care mesajele schimbate intre acestea nu depind de informatia de sesiune
    • caracteristici ale protocoalelor de distribuire a cheilor
      1. natura autentificarii
        o combinatie a urmatoarelor
        • autentificarea entitatii
        • autentificarea cheii
        • confirmarea cheii
      2. reciprocitatea autentificarii
        fiecare dintre autentificarile de mai sus pot fi unilaterale sau mutuale
      3. prospetimea cheii
        din punctul de vedere al unei entitati o cheie proaspata este o cheie ce nu a mai fost utilizata
      4. controlul cheii
        • o entitate alege o cheie
        • cheia este derivata din informatioa asociata partilor si nici o parte nu poate o poate prevedea
      5. eficienta
        1. numarul de mesaje schimbate intre parti
        2. latimea de banda necesara
        3. complexitatea calculelor
        4. posibilitatea de a face calcule off-line
      6. cerinte privitoare la o terta parte
        1. existenta, on-line sau off-line sau inexistenta unei terte parti
        2. gradul de incredere cerut unei terte parti
      7. tipul de certificat utilizat daca este cazul
        maniera de distributie a informatiei initiale
      8. nonrepudierea
        un protocol trebuie sa asigure o confirmare a primirii cheii
    • atac pasiv
      atacul realizat de catre un adversar care inregistreaza traficul si apoi incearca analiza
    • atac activ
      atacul realizat de catre un adversar ce modifica sau injecteaza mesaje
    • confidentialitate perfecta inainte
      se spune despre un protocol ca are aceasta proprietate daca compromiterea cheilor de lunga durata nu duce la compromiterea cheilor din sesiunile din trecut
    • vulnerabil la atac cu cheie cunoscuta
      se spune despre un protocol ca are aceasta proprietate daca compromiterea cheilor de sesiune din trecut permite unui adversar activ sa compromita cheile de sesiune din viitor sau impersonalizarea in viitor realizata de catre un adversar activ
  • distribuire prin criptare si tehnici simetrice
    • transportul cheilor prin criptare simetrica
      • derivarea si transportul cheilor in lipsa unui server
        • actualizarea punct-la-punct a cheii prin criptare simetrica
        • actualizarea punct-la-punct a cheii prin prin derivarea cheii si functii neinversabile
        • transportul cheii fara chei partajate initiale
      • Kerberos si protocoale cu server
        • protocolul de autentificare Kerberos
          • sunt implicate trei entitati: A(client), B(server si verificator) si T(server de autentificare Kerberos)
            initial A si B nu partajeaza nici un secret in timp ce T partajeaza cate un secret cu fiecare
            scopul lui B este acela de a verifica identitatea lui A si ca efect colateral, stabilirea unei chei partajate
            optional A si B se autentifica reciproc si stabilesc o cheie secreta care nu este cunoscuta de T
            A cere lui T referinte care sa-i permita sa se autentifice fata de B
            T returneaza lui A o cheie de sesiune criptata pentru A si un tichet criptat pentru B
            A transmite lui B tichetul si identitatea lui A
            A se autentifica fata de B print-un mesaj, ce contine un marcaj de timp, criptat cu cheia de sesiune
              • E este un algoritm de criptare simetrica
              • NA este o informatie aleasa de A; TA este un marcaj de timp dedus din ceasul local al lui A
              • L este durata de validitate
            1. A si T partajeaza cheia KAT iar B si T partajeaza cheia KBT; tichetB = EKBT(k, A, L); autentificator = Ek(A, TA, Asubcheie)
              • mesaje
              • A → T: A, B, NA
              • A ← T: tichetB, EKAT(k, NA, L, B)
              • A → B: tichetB, autentificator
              • A ← B: Ek(TA, Bsubcheie)
              1. actiunile
              2. A genereaza informatia NA si trimite lui T mesajul
              3. T genereaza o cheie de sesiuen k, defineste o perioada de validitate, L, a tichetului (timp de expirare, optional timp de incepere); cripteaza cheia, informatia primita de la A, durata de validitate si identitatea lui B utilizand cheia lui A; T creeaza un tichet criptat cu cheia lui B ce contine cheia,k, identitatea lui A si durata de validitate; ambele sunt transmise lui A
              4. A decripteaza partea de mesaj ce-i este adresata si recupreaza cheia, k, informatia transmisa initial, NA, durata de validitate, L si identitatea lui B; A verifica ca identitatea lui B si informatia, NA sunt cele transmisie initila lui T si salveaza L; T cripteaza propria identitate, un marcaj de timp si optional un secret, Asubcheie utilizand cheia de sesiune si transmite lui B
              5. B decripteaza tichetul utilizand cheia, KBT si recupreaza cheia de sesiuen, k pe care o foloseste pentru decriptarea autentificatorului si verifica
                1. ca identitatea lui A din tichet si din autentificator corespunf
                2. daca marcajul de timp din autentificator este valid
                3. daca timpul local propriu este in intervalul specificat prin L
              6. (optional autentificare mutuala) B cripteaza marcajul de timp al lui A si o subcheie (care sa permita o negociere ulterioara a unei subcehi de sesiune) cu cheia de sesiune, k, si trimite lui A
              7. A decripteza si recupereaza subcheia lui B, daca marcajul de timp corespunde
        • protocolul cu chei partajate Needham-Schroeder
        • protocolul Otway-Rees
    • acordul asupra cheilor prin tehnici simetrice
      • sistem de distribuire chei (KDS - key distribution system) este o metoda prin care, in timpul unei perioade de initializare, un server de incredere genereaza si distribuie date secrete utilizatorilor ai orice pereche de utilizatori poate sa calculeze o cheie partajata, necunoscuta altor utilizatori, exceptie facand serverul
        pentru o pereche de chei fixate, KDS este o scheme de predistributie
      • KDS j-sigur pentru o pereche de utilizatori, orice coalitie de j sau mai putin utilizatori ce partajeaza datele proprii nu pot calcula cheia partajata de perechea initiala mai bine decat simpla ghicire
      • limita Blom pentru KDS intr-un KDS j-sigur ce asigura perechi de chei pe m biti, datele secrete stocate de catre fiecare utilizator trebuie sa aiba cel putin m(j+1) biti
      • sistemul simetric Blom de predistribuire a cheii
  • distribuire prin criptare si tehnici asimetrice
    • transportul cheilor prin criptare cu cheie publica
      • protocoale fara semnaturi
        • Needham-Schroeder cu cheie publica
      • protocoale cu semnaturi
        • criptarea cheilor semnate
        • criptare si semnare separat
        • semnarea cheilor criptate
        • protocoale de autentificare X.509
          • este in categoria protocoalelor cu semneaza cheile criptate; recomandarea defineste protocoale de autentificare "strong two-way" si "strong three-way" (cu doua si trei treceri) cu autentificarea mutuala a entitatilor si transportul optional al cheilor, cu marcaje de timp si intrebare-raspuns ai sa raspunda urmatoarelor cerinte:
            • inf. criptografice primite de entitatea B au fost construite de catre entitatea A, care nu le poate altera ulterior
            • inf. criptografice primite de entitatea B sunt destinate lui B
            • inf. criptografice primite de entitatea B sunt proaspete
            • secretul mutual al cheilor transferate
          • protocol cu doua treceri
              A trimite lui B un mesaj si B raspunde cu un mesaj
              in caz de reusita, ambele entitati sunt mutual autentificate si se face transportul cheilor autentificate
            1. Notatie
              • PA(x) este rezultatul aplicarii cheii publice a lui A la datele x
              • SA(x) este rezultatul aplicarii cheii private de semnare a lui A la datele x
              • rA si rB sunt numere ce nu se refolosesc
              • certA este un certificat ce asociaza entitatea A la o cheie publica adecvata atat pentru criptare cat si pentru verificarea semnaturii
            2. initializarea sistemului
              1. fiecare entitate are propria pereche de chei pentru criptare si semnare
              2. entitatea A trebuie sa obtina si sa autentifice cheia publica de criptare a lui B
            3. mesajele protocolului
              fie DA = (tA, rA, B, date1, PB(k1)) si DB = (tb, rB, A, rA, date2, PA(k2))
              • A → B: certA, DA, SA(DA)
              • A ← B: certB, DB, SB(DB)
            4. actiunile
              1. A obtine marcajul de timp tA care indica timpul de expirare, genereaza rA si optional cheia simetrica k1; date1 sunt date optionale pentru care se doreste autentificarea originii
              2. B verifica autenticitatea lui certA, extrage cheia publica de semnare a lui A si verifica semnatura lui A pe blocul DA; B verifica ca el este destinatarul mesajului, ca marcajul de timp este valid si ca rA nu a fost inlocuit (rA contime o secventa pe care B o compara cu o informatie de stare locala in ceea ce priveste unicitatea pentru intervalul de validitate definit prin tA)
              3. daca verificarile au succes B dautentifica pe A, decripteaza k1 utilizand propria cheie privata si o salveaza; A este autentificat
                daca se doreste autentificare mutuala, B obtine tB, genereaza rB si trimite lui A un mesaj similar
              4. A parcurge aceeasi secventa de actiuni; A si B sunt mutual autentificate; A si B partajeaza sceretele mutual k1 si k2
            5. se foloseste aceeasi pereche de chei pentru semnare si criptare; deoarece nu se folosesc identificatori, DA = DA (... PB(...) ...) nu exista garantia ca entitatatea care semneaza, SA(DA) este sursa
          • protocol cu trei treceri
              A si B schimba 3 mesaje; protocolul difera de cel anterior dupa cum urmeaza:
            1. marcajele de timp tA si tB sunt setate la zero si nu se verifica
            2. A verifica ca rA este acelasi ca in primul mesaj
            3. A trimite un al treilea mesaj catre B
              A → B: (rB, B), SA(rB, B)
            4. B verifica semnatura cu mesajul in clar, corectitudinea identitatii B si ca rB este acelasi cu cel initial
      • protocoale hibride
          aceste protocoale aplica o criptare simetrica peste criptarea cu cheie publica si peste semnatura
        • protocolul Beller-Yacobi
          asigura autentificarea mutuala a entitatilor si autentificarea explicita a cheii
          a fost prioectat pentru aplicatiile in care exista un dezchilibru intre puterile de calcul ale celor doua parti pentru a minimiza cerintele de putere de calcul ale partii mai slabe; identitatea partii mai slabe ramane ascunsa adversarului
          fie A entitatea mai slaba si B entitatea mai puternica; A se autentifica lui B prim semnarea unei intraberi in timp ce B se autentifica lui A demonstrand cunoasterea unei chei pe care numai B insusi o poate recupera
    • acordul asupra cheilor prin tehnici asimetrice
      • Diffie-Helllman si protocoale inrudite
        • acordul Diffie-Hellman asupra cheilor
          a fost prima solutie practica la problema distributiei cheilor care a permis celor doua parti sa partajeze un secret fara a cunoaste a priori o alta informatie, pe un canal deschis
            A si B trimit cate un mesaj peste un canal deschis, la final A si B partajeaza secretul K
          1. pas premergator, o singura data
            se selecteaza un numar prim p si un generator α al lui Zp* si se publica
          2. mesaje
            • A → B: αx mod p
            • A ← B: αy mod p
          3. actiuni
            1. A selecteaza aleator un secret x, 1 ≦ x ≦ p-2 si trimite lui B
            2. B selecteaza aleator un secret x, 1 ≦ x ≦ p-2 si trimite lui A
            3. B calculeaza K = (αx)y mod p
            4. A calculeaza K = (αy)x mod p
        • acordul ElGamal intr-o singura trecere
        • protocoale MTI cu doua treceri
        • protocolul STS (Station-to-Station)
      • Chei publice certificate implicit
        • Gunther
        • Girault
      • Protocoale Diffie-Hellman cu chei certificate implicit

Comments: Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?