sec_flux_informational.pdf

  • Upload
    srb

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

  • 8/16/2019 sec_flux_informational.pdf

    1/274

    Capitolul 1

    Infrastructură cu chei publice (P KI )

    1.1 Prezentare generală

    Într-un sistem de criptare cu cheie publică, cheia de criptare nu este secretă; deci estenecesară o autentificare a sa, pentru a-i garanta integritatea şi a elimina o serie de atacuri,cum ar fi  man-in-the-middle .

    Cheia publică a unui utilizator trebuie autentificată (semnată) de o autoritate decertificare (CA). Rolul acesteia este de a garanta autenticitatea şi integritatea unei cheipublice (unică) pentru fiecare utilizator. După certificare, utilizatorul poate trimite cheia

    sa publică oricărui alt utilizator, care ı̂i poate verifica autenticitatea.Un certificat se poate elibera nu numai pentru autentificarea unei chei, ci – ı̂n general

    – pentru orice bloc de identificare.

    Definiţia 1.1.  Un bloc de identificare este o structur˘ a asociat˘ a unui utilizator.Ea poate cont ̧ine num˘ arul serial al PC-ului, num˘ arul de telefon, num˘ arului ret ̧elei, num˘ arul de certificare, data de expirare a certificatului, diverse autorizat ̧ii.

    Certificatul este creat prin legarea cheii publice cu blocul de identificare. Atunci cânddoi utilizatori stabilesc ı̂ntre ei o comunicare, ei ı̂şi trimit unul altuia certificatele, şi fiecare

    validează identitatea partenerului.Ca mod de implementare. componentele cheii publice şi blocul de identificare al unui

    utilizator pot fi scrise pe un smartcard. Cu ajutorul acestuia, componentele pot fi trans-portate fizic (electronic) la o autoritate de certificare. Aceasta generează un certificat careva fi ı̂ncărcat de asemenea pe smartcard.Ulterior toate aceste componente sunt ı̂ncărcate pe calculator.

    Obiectivele pe care trebuie să le ı̂ndeplinească un sistem atunci când apelează la  CAsunt ı̂n mare:

    •   Să fie capabil să estimeze scopul şi valoarea certificatelor şi a procesului de certificare;

    1

  • 8/16/2019 sec_flux_informational.pdf

    2/274

    2   CAPITOLUL 1. INFRASTRUCTUR ̆  A CU CHEI PUBLICE ( P KI )

    •   Să ı̂nţeleagă durata unui certificat şi cum gestionează un  P KI  acest certificat pedurata valabilităţii lui;

    •   Să fie capabil să aleagă un serviciu de ı̂ncredere adecvat pentru eliberarea certifica-tului.

    1.2 Formatul de certificat  X.509

    X.509 este cel răspândit format de certificat utilizat pentru o structură  P KI . Poate fiı̂ntâlnit ı̂n protocoale  SSL, IP sec, S/MIM E, SET, P GP .Standardul RF C  4325 listează următoarele zone cuprinse ı̂ntr-un certificat X.509 (Santes-son & Housley, 2005):

    •   Version: Versiunea certificatului.

    •  Certificate serial number (maxim 20 octeţi): ı̂ntreg pozitiv (unic) asignat de C Afiecărui certificat.

    •  Signature algorithm identifier: Identificatorul algoritmului folosit de CA pentrusemnătura digitală a certificatului. Algoritmul folosit este RSA sau DSA.

    •   CA   issuer name: Identifică autoritatea de certificare care a semnat şi a eliberat

    certificatul.

    •   Validity period: Intervalul de timp ı̂n care  CA  asigură validitatea certificatului.Câmpul respectiv este o sevenţă de două date: data ı̂nceperii perioadei de validitateşi data expirării validităţii certificatului.

    •   Subject name: Identifică entitatea a cărei cheie publică este autentificată.

    •   Subject public-key information: Prezintă cheia publică ı̂mpreună cu parametriipublici asociaţi. Dacă este necesar, este depus şi identificatorul sistemului de criptareutilizat (de exemplu:  RSA,DSA,Diffie − Hellman).

    •   Issuer unique   ID: Zonă opţională alocată numelor   CA   apărute ı̂n “CA   Issuer name ” (pentru o eventuală reutilizare).

    •  Subject unique ID: Zonă opţională care permite utilizarea ulterioară a numelordin “Subject name ”.

    •   Extensions: Acest câmp apare numai dacă versiunea certificatelor este 3.Extensiile pentru certificatele  X.509  v3 oferă metode de asociere de atribute supli-mentare referitoare la utilizatori şi chei publice pentru gestionarea unei ierarhii decertificare, cum ar fi  CA Key Identifier   şi Subject Key Identifier .

  • 8/16/2019 sec_flux_informational.pdf

    3/274

    1.3. VARIANTE DE CERTIFICARE    3

    Informaţia scrisă pe aceste câmpuri este semnată folosind cheia secretă a lui  CA. Acestedouă elemente (semnătura şi conţinutul zonelor) sunt apoi

    1. concatenate;

    2. scrise cu ajutorul unui sistem de notaţie sintactică numit  Abstract Syntax One 1;

    3. transformate ı̂n date binare folosind sistemul de codificare DER   (Distinguish En-coding Rules );

    4. convertite ı̂n caractere ASCII folosind codificarea  base64.

    Observaţia 1.1.   DER   este un sistem de codificare a c˘ arui sintax˘ a este specificat˘ a ı̂n standardul   X.690. Codificarea   DER   utilizat˘ a de   X.509   este un standard internat ̧ional rezultat din codificarea   BER   (Basic Encoding Rules). De fapt,   DER   difer˘ a de   BERdoar prin faptul c˘ a ignor˘ a opt i̧unile expeditorului (care ı̂n cazul unor certificate nu sunt necesare).

    Scopul principal este oferirea unei codific˘ ari unice, asigurˆ and astfel  C A c˘ a structura de date pe care o semneaz˘ a va produce o reprezentare serial˘ a unic˘ a. Multe lucr˘ ari consider˘ a DER  ca o form˘ a canonic˘ a pentru  BER  (numit˘ a de aceea şi  CAR  –Canonical Encoding Rules).

    De exemplu, ı̂n  BER  o valoare boolean˘ a de Adev˘ ar poate fi codificat˘ a ı̂n  255  moduri diferite (̂ın timp ce Fals este codificat prin valoarea  0), iar ı̂n  DER  exist˘ a un singur mod 

    de a codifica valoarea logic˘ a Adev˘ ar.Pentru detalii privind  ASN.1   şi  DER  se poate folosi [5].

    1.3 Variante de certificare

    1.3.1 Certificare  RSA

    Pentru o astfel de certificare, autoritatea   CA   generează proprii săi parametri   RSA: pca, q ca,  Privca  (exponentul de criptare) şi  P ubca  (exponentul de decriptare).

    CA  face publice valorile  P ubca  şi N ca  (unde N ca = pca · q ca) pentru toţi utilizatorii din

    reţea.Dacă notăm   l(α) lungimea secvenţei binare  α, va trebui ca pentru orice utilizator  X 

    din reţea,l(N ca) > l(IDX ) + l(P ubX )

    CA  autentifică cheia publică  P ubA   şi identificatorul  IDA  ale lui  Alice, generând certifi-catul public

    1Abstract Syntax Notation One (ASN.1) este un standard şi o notaţie definită prin reguli formale,utilizată ı̂n reţelele de calculatoare şi ı̂n telecomunicaţii. Descrie structuri de date utilizate pentrureprezentarea, codificarea, transmiterea şi – ı̂n final – decodificarea datelor.

  • 8/16/2019 sec_flux_informational.pdf

    4/274

    4   CAPITOLUL 1. INFRASTRUCTUR ̆  A CU CHEI PUBLICE ( P KI )

    C A = (IDA, Pu bA, (IDAP ubA)Privca (mod N ca)) (1)

    La primirea certificatului,  Alice ı̂l verifică calculând

    IDAP ubA = (IDAP ubA)P ubca (mod N ca) (2)

    Când  Alice  doreşte să stabilească o comunicare securizată cu alt utilizator din reţea,ea ı̂i va trimite acestuia certificatul  C A; destinatarul B ob – având acces la  P ubca  şi N ca  –va determina I DAP ubA  calculând (2), după care va compara rezultatul cu primele douăvalori concatenate din  C A.

    Această variantă asigură autenticitatea şi integritatea cheii publice. Dacă vrem săavem şi confidenţialitate, se renunţă la primele două componente ale certificatului.   În

    acest caz ı̂nsă trebuie să existe o modalitate clară care să separe IDA de  P ubA din secvenţabinară concatenată.

    1.3.2 Certificare Cylink (SEEK)

    Protocolul de certificare a fost prezentat ı̂n 1987 ([2]).Fie  a un număr aleator şi  p  un număr prim tare ( p = 2q  + 1 cu  q  prim).

    Autoritatea de certificare C A generează propriile sale chei P ubca,Privca, ı̂n conformi-tate cu protocolul Diffie - Hellman:

    P ubca = a

    Privca

    (mod p)

    CA  autentifică cheia publică şi ID   lui Alice calculând certificatul după algoritmul:

    1. Calculează  M A =  P ubIDAA   (mod p)

    2. Generează aleator  RA   şi calculează  C caA = aRA (mod p)

    3. Calculează  V A  din ecuaţia M A = [Privca · C caA + RA · V A] (mod ( p − 1))

    4. Trimite lui Alice   certificatul C A = (C caA, V A).

    Alice verifică faptul că certificatul a fost eliberat de autoritatea CA folosind algoritmul:

    1. Calculează  M A =  P ubIDAA   (mod p)

    2. Calculează  S A =

    P ubC caAca   (mod p) ·

    C V  AcaA (mod p)

      (mod p)

    3. Dacă  S A = aM A, atunci certificatul  C A  este valid.

  • 8/16/2019 sec_flux_informational.pdf

    5/274

    1.3. VARIANTE DE CERTIFICARE    5

    Când Alice doreşte să stabilească o sesiune de comunicare cu Bob, ı̂i trimite quadruplul

    (C caA, PubA, V A, M A)

    Cum ambele părţi dispun de  a, p   şi  P ubca,   Bob   poate autentifica certificatul lui   Alicecalculând

    S B  =

    P ubC caAca   mod p ·

    C V  AcaA mod p

      (mod p)

    şi verificând congruenţa aM A ≡ S B  (mod p).De remarcat că prin acest protocol,  B ob nu poate deduce identificatorul lui  Alice.

    1.3.3 Certificare   CyLink  bazată pe algoritmul   ElGamalÎntr-o astfel de certificare, valorile  a  şi  p  sunt comune tututor utilizatorilor şi autorităţiide certificare.   a este un număr generat aleator, iar  p este un număr prim tare.

    CA  generează perechea de chei (P ubca,Privca) care verifică relaţia

    P ubca = aPrivca (mod p)

    La solicitarea lui Alice de a obţine un certificat pentru mesajul M A, unitatea de certificare:

    1. Generează aleator un număr secret  RcaA

    2. Calculează valoarea publică  V caA = aRcaA (mod p);

    3. Aplică o funcţie de dispersie criptografică:   H caA = h(M A, V caA);

    4. Calculează semnătura sa digitală

    S caA = (RcaA + H caA · Privca) (mod p)

    5. Trimite lui Alice  tripletul (S caA, H caA, V caA).

    La primire, Alice  verifică certificatul pe baza relaţiei

    aS caA ≡ V caA · P ubH caAA   (mod p)

    Recapitulând: dacă Alice şi Bob doresc să stabilească un contact bazat pe un certificateliberat de  C A:

    •   Informaţiile deţinute de

    Alice :   PrivA, Pu bA, M A, S caA, V caA, Pu bca, hBob  :   PrivB, Pu bB, M B, S caB, V caB, Pu bca, h

  • 8/16/2019 sec_flux_informational.pdf

    6/274

    6   CAPITOLUL 1. INFRASTRUCTUR ̆  A CU CHEI PUBLICE ( P KI )

    •   Amândoi schimbă simultan ı̂ntre ei următoarele informaţii:

    Alice −→ Bob :   P ubA, M A, S caA, V caABob  −→ Alice :   P ubB, M B, S caB, V caB

    •   Fiecare stabileşte autenticitatea certificatului celuilalt calculând şi verificând:

    Alice :   H caB = h(M B, V caB), aS caB ≡ V caB · P ub

    H caBB   (mod p)

    Bob  :   H caA = h(M A, V caA), aS caA ≡ V caA · P ub

    H caAA   (mod p)

    Dacă congruenţele sunt verificate de ambele părţi, atunci Alice  şi Bob ştiu că certificatelesunt eliberate de autoritatea de certificare  CA, iar partenerii sunt autentificaţi.

    1.3.4 Variantă a protocolului de certificare   ElGamal

    Diferenţa faţa de varianta anterioară constă ı̂n modul de calcul al semnăturii  S   şi ı̂n tipulde verificare al semnăturii.

    Fie p un număr prim cu proprietatea că  p − 1 are cel puţin un factor prim mare; fie  gun generator al lui Z  p.

    Autoritatea de certificare C A generează perechea de chei (P ubca,Privca) care verificărelaţia

    P ubca =  gPrivca (mod p)

    Pentru a instala certificatul generat de  C A pentru computerul lui  Alice, se genereazăı̂ntâi un identificator   IDA   (acesta poate consta din   IP   calculatorului,   CNP   lui   Alice,numărul ei de telefon etc).La solicitarea lui  Alice  de a obţine un certificat, unitatea de certificare:

    1. Generează aleator un număr secret  RcaA;

    2. Calculează valoarea publică  V caA = gRcaA (mod p);

    3. Aplică o funcţie de dispersie criptografică:   H caA = h(IDA, Pu bA, V caA);

    4. Calculează semnătura sa digitală

    S caA = (RcaA · H caA + V caA · Privca) (mod ( p − 1))

    5. Trimite lui Alice  perechea (S caA, V caA).

    Deci, dacă Alice şi Bob doresc să stabilească un contact bazat pe un certificat eliberatde  CA:

    •   Informaţiile deţinute de

  • 8/16/2019 sec_flux_informational.pdf

    7/274

    1.4. MANAGEMENTUL UNUI  P KI    7

    Alice :   PrivA, Pu bA, IDA, S caA, V caA, Pu bca, h

    Bob  :   PrivB, Pu bB, IDB, S caB, V caB, Pu bca, h

    •   Amândoi schimbă simultan ı̂ntre ei următoarele informaţii:

    Alice −→ Bob :   IDA, Pu bA, S caA, V caABob  −→ Alice :   IDB, Pu bB, S caB, V caB

    •   Fiecare stabileşte autenticitatea certificatului celuilalt calculând şi verificând:

    Alice :   H caB = h(IDB, Pu bB, V caB), gS caB ≡ (V caB)

    H caB · (P ubca)V  caB (mod p)

    Bob  :   H caA = h(IDA, Pu bA, V caA), gS caA ≡ (V caA)

    H caA · (P ubca)H caA (mod p)

    Dacă congruenţele sunt verificate de ambele părţi, atunci Alice  şi Bob ştiu că certificatele

    sunt eliberate de autoritatea de certificare  CA, iar partenerii sunt autentificaţi.

    Observaţia 1.2.  Consistent ̧a congruent ̧ei de verificare este bazat˘ a pe secvent ̧a de calcule (efectuate modulo  p) pentru un utilizator  X :

    gS caX = g(RcaX·H X+V  caX·Privca) (mod ( p−1)) (mod p)Deoarece  gx mod ( p−1) ≡ gx (mod p), vom avea ı̂n continuare:

    gS caX = gRcaX·H X · gV  caX·Privca =

    gRcaXH X

    ·

    gPrivcaV  caX

    = (V caX )H X · (P ubca)

    V  caX .

    Această variantă de certificare este mai robustă decât versiunea anterioară, deoarece:

    •   Factorul V caX  este inclus atât la bază cât şi ca exponent;

    •  Cheia publică a autorităţii apare explicit ı̂n procedura de verificare.

    1.4 Managementul unui P KI 

    În general, o infrastructură cu chei publice asigură următoarele servicii:

    •   Urmăreşte perioada de valabilitate a cheii şi certifică acest lucru;

    •  Pentru o cheie certificată, asigură servicii de  back-up  şi recovery ;

    •   Up-datează automat perechile de chei şi certificatele lor;

    •   Gestionează un istoric al cheilor certificate;

    •  Este capabilă să efectueze certificări ı̂ncrucişate.

    Conform standardului   RF C   4210, sunt 4 entităţi implicate ı̂n managementul unuiP KI :

    1. Utilizatorul P KI , numit şi end-entity  sau end-user : entitatea nominalizată ı̂n câmpul“Subject name” a unui certificat;

  • 8/16/2019 sec_flux_informational.pdf

    8/274

    8   CAPITOLUL 1. INFRASTRUCTUR ̆  A CU CHEI PUBLICE ( P KI )

    2. Autoritatea de certificare  CA: entitatea nominalizată ı̂n câmpul “Issuer name” aunui certificat;

    3. O autoritate de ı̂nregistrare  RA  (componentă opţională a unui  P KI );

    4. Un site  RS  unde sunt depuse toate certificatele (repository site ).

    1.4.1 Utilizatorii P KI 

    Un utilizator  P KI  (End-Entity) este un beneficiar al unui certificat  P KI . El poate fi opersoană, un computer, o aplicaţie (de exemplu pentru securitatea  IP ).

    Utilizatorul are nevoie de un acces local sigur la anumită informaţie (cel puţin la

    propriul nume, la cheia sa privată, la numele unui  CA ı̂n care are ı̂ncredere, precum şi lacheia publică a acestui CA).

    Conform cu  RF C  3647, un utilizator  P KI  are următoarele obligaţii:

    •   Să asigure o reprezentare corectă a datelor sale ı̂n cadrul certificatului;

    •   Să asigure protecţie cheii sale private;

    •   Să introducă restricţii de acces la cheia sa privată şi la utilizarea certificatului;

    •   Să notifice orice compromitere a cheii sale private.

    Procesul de ı̂nregistrare şi autentificare are loc după schema următoare:

    Alice Bob

    CA/RA   RS 

     

     

     

     Mesaj criptat

    Semnătură digitală

    1 2

    3

    4

    5 6

    7

    1.   Alice se ı̂nregistrează la autoritatea de certificare CA şi aplică pentru obţinerea unuicertificat;

    2.   CA verifică identitatea lui  Alice  şi eliberează un certificat;

    3.   CA publică certificatul pe un site dedicat  RS   (Repository Site );

    4.   Alice   trimite lui   Bob   mesajul său criptat ı̂mpreună cu certificatul. Mesajul estesemnat cu cheia privată a lui  Alice  (se asigură astfel autenticitatea şi integritateamesajului, precum şi non-repudierea);

  • 8/16/2019 sec_flux_informational.pdf

    9/274

    1.4. MANAGEMENTUL UNUI  P KI    9

    5. După primirea mesajului,  Bob  accesează  RS   şi verifică autenticitatea certificatuluilui Alice;

    6. Site-ul dă lui Bob  starea actuală a certificatului lui  Alice;

    7.   Bob  verifică integritatea mesajului folosind cheia publică a lui Alice.

    1.4.2 Autoritatea de certificare

    Într-un sistem cu cheie publică, secretul acestei chei nu este obligatoriu; este ı̂nsă necesarăo autentificare a cheii publice, pentru a garanta integritatea şi autenticitatea ei.

    Identitatea şi cheia publică a unui utilizator  P KI  este autentificată (semnată) de oautoritate de certificare.

    Termenul C A se referă la entitatea scrisă ı̂n zona “Issuer name ” a unui certificat. UnCA   poate emite diverse tipuri de certificate, cum ar fi: certificat pentru un utilizator,pentru alt  CA (CA - certificat), sau  cross  - certificat (un proces de autentificare trecândprin diverse domenii de securitate).

    Un  domeniu de securitate  este un domeniu logic ı̂n care un  CA  emite şi gestioneazăcertificate.

    În general, un utilizator  P KI  este certificat de un  CA, iar un  CA   este certificat dealt  CA. Se construieşte astfel o reţea arborescentă de certificare, care are ca rădăcină unroot - CA.

    Nu este obligatoriu ca o unitate de certificare să fie ”a treia parte”; frecvent,   CAaparţine aceleiaşi organizaţii ca şi utilizatorul pe care ı̂l certifică.

    1.4.3 Contactele dintre utilizator şi unitatea de certificare

    Contactele dintre un utilizator şi  CA  sunt legate exclusiv de operaţia de certificare. Eleapar ı̂n două situaţii: când este solicitat un certificat (iniţializare) şi la eliberarea unuicertificat.

    Iniţializarea

    Alice   solicită un certificat de la   CA   sau   RA. Rezultatul acţiunii este eliberarea unuicertificat pentru o cheie publică a lui  Alice, care este trmis lui  Alice   şi/sau publicat peun repository site.Componentele unei faze de iniţializare sunt:

    1.   Înregistrare:   CA (sau RA) stabileşte şi verifică identitatea lui Alice ca solicitatorde certificat.

    2.   Generarea cheilor: Este generată perechea (cheie public˘ a, cheie privat˘ a). Gener-area poate fi efectuată de   Alice,   CA,   RA   sau chiar o a   treia parte de ı̂ncredere 

  • 8/16/2019 sec_flux_informational.pdf

    10/274

    10   CAPITOLUL 1. INFRASTRUCTUR ̆  A CU CHEI PUBLICE ( P KI )

    (T T P ). Dacă cheia generată este folosită la o acţiune de non-repudiere, atunci eaeste generată obligatoriu de  Alice.

    3.   Crearea certificatului:   CA   generează un certificat asociat cheii construite ante-rior. Numai  C A poate construi un astfel de certificat.

    4.   Distribuţia certificatului şi cheii publice:   CA  trimite lui  Alice  certificatul şiperechea de chei (dacă acestea nu au fost generate de  Alice).

    5.   Diseminarea certificatului:   CA  trimite certificatul lui  Alice  şi la un  RS .

    6.   Păstrarea cheii: Opţional, CA poate trimite cheia (pentru backup) unui  T T P .

    Recuperarea şi actualizarea cheii

    Dacă  Alice pierde cheia sa privată, sau mediul ı̂n care aceasta este stocată a fost corupt,este nevoie de o recuperare a cheii, deci de un nou contact ı̂ntre utilizator şi unitatea decertificare.

    O cheie publică este folosită:

    •  pentru criptare (chei de criptare );

    •   pentru semnare de mesaje şi verificarea de certificate (chei de semn˘ atur˘ a ).

    Procesul de recuperare a cheii este utilizat numai pentru cheile de criptare; aici, organis-mul abilitat va recalcula cheia privată.Acest proces nu poate fi similar pentru cheile de semnătură, deoarece va ı̂ncălca propri-etatea de non-repudiere a cheii (Alice este singura entitate care controlează cheia privată).Singurul remediu ı̂n acest caz este generarea unei noi perechi de chei.

    Procesul de actualizare a cheii se referă la o updatare periodică a unei perechi de chei– când aceasta este ı̂nlocuită cu o nouă pereche de chei, ı̂nsoţită de un nou certificat.

    Rêınnoirea şi actualizarea unui certificat

    Un certificat este eliberat pentru o perioadă strict determinată de timp. După expirare,el trebuie rêınnoit sau actualizat.Reı̂nnoire   ı̂nseamnă eliberarea unui nou certificat, pentru aceeaşi cheie şi aceleaşi datede identificare ale utilizatorului.Actualizare  ı̂nseamnă eliberarea unui certificat pentru o nouă pereche de chei şi/sau omodificare de date de identificare ale lui  Alice.

  • 8/16/2019 sec_flux_informational.pdf

    11/274

    1.4. MANAGEMENTUL UNUI  P KI    11

    Cererea de revocare a unui certificat

    Este un proces de invalidare a unui certificat ı̂nainte de expirarea sa. Această acţiune esteiniţiată de o persoană autorizată, care atenţionează  CA   asupra unei situaţii anormale,care impune revocarea certificatului.

    Deoarece prezenţa unui certificat nu menţionează dacă acesta este revocat sau nu,apare necesitatea de a păstra ı̂ntr-o zonă – sigură, dar accesibilă oricui – o listă cu toatecertificatele revocate.

    Contacte ı̂ntre unitatea de certificare şi  RS  (repository site)

    Sunt două tipuri de contacte: cel legat de  diseminarea certificatelor   şi cel referitor lalista de revocare . Odată cu eliberarea sau revocarea unui certificat,  CA  este obligată sătrans,ită această informaţie spre  RS , pentru publicarea sa.

    La crearea unui certificat,  RS   ı̂l publică conform unui protocol special  LDAP   (LightWeight Directory Access Protocol) menţionat ı̂n standardul  RF C  4510 − 19.

    Cererea de revocare a unui certificat poate apare c ând cheia privată a lui  Alice   estecompromisă sau când   Alice   nu mai face parte din domeniul de securitate al   CA   (deexemplu când ea părăseşte organizaţia). Revocarea este inclusă de CA ı̂n CRL (CertificateRevocation List) şi diseminată cu ajutorul  RS .

    1.4.4 Contacte ı̂ntre unitatea de certificare şi cea de ı̂nregistrare

    RA  poate avea diferite funcţii; două sunt ı̂nsă obligatorii:

    •   În prima fază  RA este un tampon ı̂ntre utilizator şi unitatea de certificare.Astfel,  Alice  trimite spre  RA  cererea de ı̂nregistrare.   RA  verifică datele de identi-ficare ale lui  Alice, după care – dacă acestea sunt corecte – trimite această cererespre C A.   CA răspunde cu rezultatele ı̂nregistrării, rezultate pe care RA  le retrimitespre   Alice. Pe baza acestor rezultate,  Alice   trimite ulterior spre   CA  o cerere decertificare.

    •   RA  publică certificatele eliberate de  CA (informaţie primită de la  CA).

    1.4.5 Contacte ı̂ntre utilizator şi  RS 

    Între cele două entităţi au loc două tipuri de contacte:

    •   Găsirea certificatului:   Alice contactează RA pentru aflarea certificatului lui Bob,care ı̂i este necesar pentru:

    –   Găsirea cheii publice a lui  Bob  – pentru a cripta un mesaj adresat acestuia.

    –   Verificarea unei semnături digitale primite de la  Bob.

  • 8/16/2019 sec_flux_informational.pdf

    12/274

    12   CAPITOLUL 1. INFRASTRUCTUR ̆  A CU CHEI PUBLICE ( P KI )

    •  Validarea certificatului: După ce  Alice  a găsit certificatul lui  Bob, ea trebuie săı̂l valideze. Validarea unui certificat include următoarele verificări:

    –  Certificatul a fost eliberat de un  CA de ı̂ncredere (se verifică autenticitatea).

    –  Certificatul nu a fost modificat (se verifică integritatea).

    –  Certificatul nu a expirat.

    –  Certificatul nu a fost revocat (se verifică  CRL).

    1.4.6 Contacte ı̂ntre două autorităţi de certificare

    Este posibil ca cei doi utilizaotri care doresc să intre ı̂n contact să aibă certificatele elibe-rate de autorităţi distincte. Astfel,  Alice  are certificatul eliberat de  CA1, iar certificatullui  Bob  este eliberat de  CA2. Fiecare din ei are ı̂ncredere numai ı̂n autoritatea care i-aeliberat certificatul.  În plus, chiar dacă unul din ei doreşte să ı̂l certifice pe celălalt, acestlucru nu ar fi posibil deoarece domeniile de certificare sunt diferite.

    Mecanismul folosit pentru a rezolva acest impediment este numit  certificare ı̂ncruci-şat  ̆a :   CA1  ı̂l certifică pe  C A2, extinzând ı̂ncrederea lui Alice şi asupra certificatelor emisede  CA2  (ı̂n particular, al lui  Bob).

    Procesul poate fi rafinat, ı̂n sensul că domeniul lui CA1 se poate extinde asupra tuturorcertificatelor emise de C A2  sau doar pentru anumite certificate (care aparţin unei singureorganizaţii, care sunt ı̂ntr-un anumit grup etc).

    1.5 Formatul unei liste de revocare

    Standardul  RF C  4325 (”Internet  X.509 Public Key Infrastructure Certificate and Revo-cation List (CRL) Profile”) descrie detaliat formatul şi semantica unei liste de revocarepentru  P KI .

    În formatul X.509, un CA emite periodic o structură semnată numită CRL (CertificateRevocation List).   În esenţă, un  CRL  este o listă cu ştampilă de timp, emisă şi semnatăde un  CA  şi făcută publică printr-un site  RS .Fiecare certificat revocat este identificat prin numărul său serial. Când se verifică uncertificat, ı̂nafară de semnătura şi perioada sa de valabilitate, se accesează şi   CRL-ulcurent, verificând dacă aici este menţionat numărul serial al certificatului.

    De menţionat că numai  CA-ul care emite un certificat poate să ı̂l revoce. Din acestmotiv, datele cu care lucrează o unitate de certificare (algoritmul de semnătură, cheileetc) trebuie securizate prin protocoale suplimentare (deoarece compromiterea unui   CAconduce automat la revocarea tuturor certificatelor emise de acesta).

    Componentele unei liste de revocare sunt:

    •   Versiune:   X.509 admite ı̂n prezent două versiuni. Pentru această componentă esterezervată locaţie numai dacă se lucrează cu versiunea 2.

  • 8/16/2019 sec_flux_informational.pdf

    13/274

    1.6. MODELE DE   ÎNCREDERE    13

    •  Semnătură: conţine  ID-ul algoritmului folosit de  CA pentru a semna  CRL-ul.

    •   Nume emitent: Identifică  CA-ul care emite şi semnează  CRL-ul.

    •   Actualizare: Indică data emiterii. Informaţia se poate codifica ı̂n două moduri:UTCTime2 sau  Timp generalizat 3.

    •   Următoarea actualizare: Indică data emiterii următorului  CRL. Acesta poateapare ı̂nainte de data indicată, dar ı̂n nici un caz nu va apare ulterior datei.

    •   Certificatele revocate: Listează numerele seriale ale certificatelor revocate ı̂nintervalul dintre apariţia  CRL-ului anterior şi cel actual. Pentru fiecare certificat

    trebuie menţionată şi data revocării.Dacă nu există certificate revocate, această locaţie trebuie  să lipsească.

    În faza următoare, locaţiile care conţin aceste componente ale  C RL-ului sunt:

    1. concatenate;

    2. scrise ı̂n format standard bazat pe  Abstract Syntax One  ([4]);

    3. convertite ı̂n binar folosind sistemul de codificare DER (Distinguish Encoding Rules )(pentru detalii a se vedea [6]);

    4. transformate ı̂n caractere ASCII cu ajutorul codificării base64.

    1.6 Modele de ı̂ncredere

    Autortăţile de certificare acţionează ca agenţi de ı̂ncredere pentru validarea identităţii şia cheilor publice a utilizatorilor. Acest concept este numit ”a treia parte de ı̂ncredere ”(T T P  – thirst-third party): un utilizator are ı̂ncredere ı̂ntr-un certificat emis de un  CAcât timp el are ı̂ncredere ı̂n  C A-ul respectiv.Altfel spus, ”Alice are ı̂ncredere ı̂n Bob” ı̂nseamnă de fapt ”Alice are ı̂ncredere ı̂n  CA-ul care semneaz˘ a certificatul lui Bob”.

    Aici apar diverse dificultăţi, cum ar fi:•   Alice   şi  Bob  vor să intre ı̂n legătură, dar certificatele lor sunt emise de  AC -uri cu

    domenii de securitate distincte.

    •  Pentru a-şi legitima ı̂ncrederea, un  CA  trebuie să fie certificat la rândul său de altCA.

    2Coordinated Universal Time : un compromis ı̂ntre timpul dat de meridianul 0 (numit Timp Universal)şi timpul fizic determinat cu cea mai mare precizie (Timpul Atomic Internaţional -   TAI ); a se vedeahttp://ro.wikipedia.org/wiki/Ora universal˘ a coordonat˘ a .

    3Reprezentare sub forma standard  Y Y Y YMMDDHHMMSS .

  • 8/16/2019 sec_flux_informational.pdf

    14/274

    14   CAPITOLUL 1. INFRASTRUCTUR ̆  A CU CHEI PUBLICE ( P KI )

    Din aceste motive, apar diverse structuri formate din mai multe autorităţi de certificare;aceste structuri se numesc ”modele de ı̂ncredere ”.   În prezent sunt utilizate mai multetipuri de modele de ı̂ncredere: ierarhice, mesh, Web, şi centrate pe utilizator.

    1.6.1 Model de ı̂ncredere ierarhic

    Într-un astfel de model există o autoritate de certificare (Root CA) considerată apriorisigură; celelalte   CA-uri sunt organizate ı̂ntr-o structură arborescentă ale cărei noduriterminale sunt utilizatorii (entităţi care nu sunt abilitate să emită certificate).

    Toate entităţile au ı̂ncredere ı̂n  root CA.  Înafară de el, fiecare entitate dispune de (cel

    puţin) un certificat eliberat de un  CA situat pe drumul (unic) de la el spre  root CA.Avantajul acestui model este simplitatea sa şi uşurinţa de implementare. Dezavantajul

    este acela că nu permite certificări ı̂ncruci̧sate ı̂ntre  CA-uri diferite.

    Un exemplu de model ierarhic este:

    Utilizator A Utilizator B Utilizator C Utilizator D Utilizator E

    CA2

    Nivel  2

    CA3

    Nivel  2   Utilizator F

    CA1

    Nivel  1

    CA4

    Nivel  1

    CA

    Root

    Certificatul lui  A  este emis de  CA2, iar al lui  F  este emis de  CA4. Dacă cei doi vorsă stabilească o legătură, iar   A  (de exemplu) nu are ı̂ncredere ı̂n   CA4, el va trebui săgăsească alt C A ı̂n care să aibă ı̂ncredere. Singurul care poate fi folosit aici este Root CA.

    Dacă contactul trebuie făcut ı̂ntre utilizatorii   A   şi  D, ei pot folosi ca autoritate de

    certificare comună pe  CA1.

    1.6.2 Model de ı̂ncredere ”mesh”

    Este un model de ı̂ncredere bazat pe structura ierarhică, care facilitează certificărileı̂ncrucişate.

    Dacă sunt mai multe structuri ierarhice, toate autorităţile de certificare aflate pepoziţia de rădăcină se autorizează reciproc prin certificare ı̂ncrucişată. Această inter-autorizare are loc ı̂nainte de ı̂nceperea emiterii de certificate către alte entităţi.

  • 8/16/2019 sec_flux_informational.pdf

    15/274

    1.7. ALGORITMI DE CRIPTARE ACCEPTAŢI   ÎN  P KI    15

    1.6.3 Model de ı̂ncredere Web

    Pentru un număr mare de utilizatori, modelul de ı̂ncredere cel mai utilizat este cel de tiplistă, numit şi  Web model .

    Fiecare browser Internet acţionează ca un   Root CA   virtual, deoarece utilizatorii auı̂ncredere ı̂n  C A-ul instalat ı̂n softul browserului. Browserele sunt distribuite ı̂mpreună cuun set iniţial de certificate; la acestea utilizatorii pot adăuga certificate noi sau pot eliminacertificate. Browserele pot utiliza certificatele pre-instalate pentru a semna, verifica, criptasau decripta mesajele de e-mail scrise ı̂n  S/MIME   şi de a stabili sesiuni  T LS  sau  SS L.De asemenea, ele sunt abilitate să verifice semnăturile ı̂n cazul codurilor semnate.

    Pentru un utilizator obişnuit, gestionarea numeroaselor certificate instalate ı̂n browser-

    constituie o problemă extrem de dificilă4

    ; mai mult, nu există nici o modalitate practicăde a preveni o modificare neautorizată (din partea utilizatorilor sau celor care au acces lastaţiile de lucru) a listei de certificate.

    În acest tip de model de ı̂ncredere nu există o modalitate practică de a revoca cer-tificate. Astfel, dacă Firefox sau Microsoft (cei doi lideri actuali pe piaţa browserelorInternet) instalează din greşeală un C A care nu este de ı̂ncredere, nu există nici o modal-itate de a-i revoca certificatul din milioanele browsere aflate ı̂n uz.

    1.6.4 Model de ı̂ncredere centrat pe utilizator

    Protocolul de poştă electronică P GP   foloseşte un model de ı̂ncredere centrat pe utilizator(User Centric Model). Orice utilizator P GP  poate acţiona ca o autoritate de certificareşi să valideze certificatul cheii publice a altui utilizator  P GP .

    Totuşi, un certificat eliberat de  Alice  – care acţionează ca un  CA  – poate să nu fievalid pentru alt utilizator, pentru că acesta ştie că Alice nu este de ı̂ncredere ca autoritatede certificare. Fiecare utilizator este direct responsabil ı̂n a decide ce certificate acceptăşi ce certificate respinge.

    1.7 Algoritmi de criptare acceptaţi ı̂n  P KI 

    Standardul RF C  4210 stabileşte algoritmii criptografici, funcţiile de dispersie şi semnăturiledigitale care pot fi folosite pentru a semna certificatele şi listele de revocare.

    1.  Algoritmii de semnătură:

    Certificatele şi listele de revocare pot fi semnate teoretic cu orice protocol de semnă-tură cu cheie publică. Algoritmul folosit este totdeauna ı̂nsoţit de o funcţie dedispersie criptografică. Aceasta produce o amprentă a datelor care trebuie semnate.

    4De exemplu, browserele Firefox şi Microsoft Explorer sunt distribuite ı̂mpreună cu aproximativ 100chei publice pre-instalate, fiecare cheie fiind ı̂nsoţită de un certificat.

  • 8/16/2019 sec_flux_informational.pdf

    16/274

    16   CAPITOLUL 1. INFRASTRUCTUR ̆  A CU CHEI PUBLICE ( P KI )

    Amprenta este apoi formatată corespunzător algoritmului de semnătură care va fifolosit.După generarea semnăturii, valoarea obţinută este codificată cu  ASN.1 sub formaunui şir de biţi şi inclusă ı̂n certificat.

    Algoritmi recomandat ̧i :   DSA/SHA1.

    Alt ̧i algoritmi :   HMAC/SHA1, RSA/MD5, ECDSA/ECDH 

    2.  Algoritmi de criptare:

    (a)   Algoritmi cu cheie publică: Utilizaţi pentru criptarea cheilor privatre trans-portate de mesajele  P KI .

    Algoritm recomandat : Diffie - Hellman5.

    Alt ̧i algoritmi :   RSA, ECDH .

    (b)   Algoritmi simetrici:

    Pot fi utilizaţi dacă cheia de criptare a fost transmisă prin canal securizat.

    Algoritm recomandat : 3DES   (̂ın mod  CBC )

    Alt ̧i algoritmi :   RC 5, Cast 128.

    5Aloritmul de criptare Diffie - Hellman acceptat de  X.509 este definit ı̂n ANSI X.9.42, publicat ı̂n2003.

  • 8/16/2019 sec_flux_informational.pdf

    17/274

  • 8/16/2019 sec_flux_informational.pdf

    18/274

    Capitolul 2

    Servicii terţe de ı̂ncredere (T T P )

    2.1 Cerinţe ale serviciilor terţe de ı̂ncredere

    2.1.1 Noţiuni introductive

    Schimbul de informaţie electronică ı̂ntre două entităţi implică prezenţa unui element deı̂ncredere care să asigure unele servicii, cum ar fi autenticitatea acelor entităţi. Mai mult,uneori nivelul de ı̂ncredere aşteptat de entităţi nu se poate obţine decât cu ajutorul uneipărţi terţe, care să faciliteze schimbul de informaţie.

    Definiţia 2.1.  (X509) O entitate are ı̂ncredere ı̂n alta cˆ and are sigurant ̧a c˘ a partenerul se va comporta exact conform aştept˘ arilor sale.

    Un tert ̧ de ı̂ncredere ( T T P   - Trusted Third Party) este o entitate specific˘ a care furni-zeaz˘ a unul sau mai multe servicii electronice şi este considerat˘ a de ı̂ncredere de c˘ atre celelalte entit˘ at ̧i.

    Exemplul 2.1.  Exemple de servicii furnizate prin intermediul tert ̧ilor de ı̂ncredere: ser-vicii de marcare temporal˘ a, servicii de arhivare electronic˘ a, servicii de administrare a cheilor şi certificatelor de chei, servicii suport pentru identificare, autentificare şi non-repudiere, servicii de acordare de privilegii, servicii de notariat public electronic, servicii de directoare etc.

    Conform recomandărilor I SO  14516, un terţ de ı̂ncredere trebuie:

    •   să ofere servicii clar definite;

    •   să respecte politici bine definite de utilizare şi de securitate, care sunt făcute public;

    •   să opereze ı̂ntr-un cadru perfect legal ı̂n ceea ce priveşte serviciile pe care le oferă şientităţile cărora se adresează;

    •   să opereze ı̂n conformitate cu standardele naţionale şi internaţionale ı̂n vigoare;

    1

  • 8/16/2019 sec_flux_informational.pdf

    19/274

    2   CAPITOLUL 2. SERVICII TERŢE DE  ÎNCREDERE ( T T P )

    •   să fie independent şi imparţ ial pe timpul funcţionării;

    •   să urmărească cel mai bun cod de practici şi proceduri acceptat, pe care ı̂l facepublic;

    •   să ı̂nregistreze şi să arhiveze toate elementele de evidenţă relevante pentru tipul deservicii oferite, astfel ı̂ncât ulterior să se poată face auditarea;

    •   să permită arbitrarea independentă, fără a compromite securitatea serviciilor oferitesau a entităţilor sale client;

    •   să-şi asume responsabilitatea şi răspunderea ı̂n nişte limite definite pentru disponi-bilitatea şi calitatea serviciilor sale.

    Un  T T P   poate furniza unul sau mai multe servicii. El trebuie ı̂nsă să asigure faptul căserviciile pe care le oferă sunt ı̂n concordanţă cu politicile definite şi publicate de acesta.În funcţie de arhitectura furnizorului de servicii de ı̂ncredere, pot exista cerinţe adiţionaleşi de securitate care trebuie avute ı̂n vedere la administrarea şi operarea sa.

    2.1.2 Cerinţe asupra terţilor de ı̂ncredere

    În general, cerinţele formulate asupra unui terţ de ı̂ncredere diferă ı̂n funcţie de serviciilefurnizate.

    Pentru a câştiga ı̂ncrederea părţilor interesate, un   T T P   trebuie să demonstreze că(ISO  14516):

    •   există şi aplică o politică de securitate potrivită;

    •  problemele de securitate sunt rezolvate printr-o combinaţie de mecanisme şi proce-duri de securitate corect implementate;

    •   operaţiile sunt realizate corect şi ı̂n strânsă legătură cu un set de roluri şi respon-sabilităţi clar definite;

    •   procedurile şi interfeţele de comunicare cu entităţile sunt potrivite cu scopul lor şi

    sunt aplicate corect;

    •   regulile şi regulamentele sunt corect aplicate şi sunt consistente cu nivelul de ı̂ncre-dere dorit;

    •   calităţile operaţiilor şi practicilor de lucru au fost corect acreditate;

    •   respectă obligaţiile contractuale ̂ın raport cu utilizatorii săi;

    •   există o ı̂nţelegere şi acceptare clară a responsabilităţilor;

  • 8/16/2019 sec_flux_informational.pdf

    20/274

    2.1. CERINŢE ALE SERVICIILOR TERŢE DE  ÎNCREDERE    3

    •   compatibilitatea cu legile şi regulamentele este menţinută şi auditată;

    •   ameninţările cunoscute şi măsurile de contracarare a acestora sunt clar identificate;

    •   sunt ı̂ndeplinite cerinţele organizaţionale şi de personal;

    •  credibilitatea sa poate fi verificată;

    •  este monitorizat permanent de o autoritate administrativă care ı̂i supervizează ac-tivitatea.

    Cerinţe funcţionale

    D. Lekkas ş.a. au realizat ([11]) un studiu privind o serie de proiecte de securitate derulatela nivel european, toate bazate pe utilizarea  T T P -urilor. Aici s-au identificat o serie decerinţe funcţionale care pot fi definite la nivelul unui  T T P :

    1.   Autentificarea: Identificarea corectă a entităţilor implicate ı̂n tranzacţ iile elec-tronice.Se obţine ı̂n general utilizând mecanisme de criptografie cu chei publice şi semnăturăelectronică. Stocarea cheilor private de autentificare se face de obicei: pentru uti-lizatori pe smartcarduri dedicate, iar pentru serviciile furnizate de T T P -uri pe dis-pozitive speciale de tip  H SM   (Hardware Secure Module ).

    2.  Integritatea datelor: Păstrarea lor nealterată pe timpul comunicării ı̂ntre entităţi.Alterarea datelor poate fi accidentală sau intenţionată. Integritatea se poate realizautilizând mecanisme de semnătură electronică sau funcţii de dispersie.

    3.   Confidenţialitatea: Criptarea mesa jelor schimbate ı̂ntre entităţi ı̂n cadrul tranzac-ţiilor electronice constituie o cerinţă de bază. Se obţine utilizând ı̂n general algoritmide criptare cu chei simetrice, iar ı̂n unele situaţii – mecanisme de criptare asimetrică.

    4.  Non-repudierea: O entitate nu poate nega o acţiune (cum ar fi expedierea saurecepţionarea unui mesaj) sau existenţa unor informaţii la un moment dat.Această cerinţă poate fi asigurată cu tehnici de semnătură digitală (non-repudierea

    originii mesajelor) sau de marcare temporală (existenţa datelor la un anumit mo-ment).

    5.   Disponibilitatea: Este de asemenea una din cerinţele fundamentale ale unui T T P .Ea este corelată cu politica T T P -ului şi  SLA-ului (Service Level Agreament ) accep-tat.Disponibilitatea poate fi asigurată prin mecanisme specifice de  HA  (High - Avail-ability ) având la bază redundanţa echipamentelor şi mecanisme de  DR  (Disaster -Recovery ).

  • 8/16/2019 sec_flux_informational.pdf

    21/274

    4   CAPITOLUL 2. SERVICII TERŢE DE  ÎNCREDERE ( T T P )

    6.   Uşurinţa de utilizare: Interfaţa sistemului cu utilizatorii constituie o cerinţă

    importantă ı̂n condiţiile ı̂n care interacţionează ı̂n mod direct cu aceştia. Uneleservicii oferite de   T T P   nu interacţionează ı̂n mod direct cu utilizatorii, ci prinintermediul unor aplicaţii care implementează protocoale specifice.

    7.  Mobilitatea: Necesară – ı̂n unele situaţii – pentru utilizatorii mobili. Aceştiatrebuie să poată contacta un anumit T T P   indiferent de localizarea lor ı̂n raport cuacesta.

    8.  Anonimitatea: O entitate poate fi ı̂nregistrată la un   T T P , ı̂ns̆a (̂ın funcţ ie deopţiunile sale) identitatea sa trebuie să nu fie dezvăluită celorlaltor utilizatori.

    9.   Marcarea temporală: Mărcile temporale sigure (de ı̂ncredere) ataşate docu-mentelor electronice sunt necesare ı̂n anumite tranzacţii desfăşurate ı̂ntre entităţi.În general serviciile de marcare temporală (T SP   -   Time Stamp Providers ) suntvăzute ca servicii auxiliare ale serviciilor de securitate. Implementarea lor necesităı̂nsă un nivel mare de atenţie, datorită complexităţii şi cerinţelor speciale privindechipamentele hardware de sincronizare a timpului.

    10.  Unicitatea: Unicitatea unor documente electronice/mesaje poate fi o cerinţă func-ţională care trebuie ı̂ndeplinită de un  T T P .

    11.  Inter-operabilitatea: Schimbul mesajelor nu poate fi restricţionat la domeniul

    deservit de un singur T T P . ˆIn unele situaţii, mesajele electronice trebuie procesateı̂nsă de utilizatori din domenii deservite de  T T P -uri diferite.

    Cerinţa poate fi asigurată prin acţiuni suplimentare executate ı̂ntre T T P -uri şi suntspecifice fiecărui tip de  T T P . De exemplu, cross - certificarea a două  CA  - uri dindomenii   P KI   diferite poate fi o condiţie necesară şi suficientă pentru asigurareainter-operabilităţii utilizatorilor acelor domenii.Tot inter-operabilitatea presupune şi respectarea standardelor care guvernează do-meniul de aplicabilitate.

    12.  Acreditarea: Procedurile de auditare si acreditare pentru  T T P -uri sunt esenţialeı̂n special pentru asigurarea unui nivel de ı̂ncredere cerut ı̂n relaţiile cu utilizatorii.

    Acreditarea se poate face la nivel local, naţ ional sau internaţional iar nivelul eidepinde de legile şi standardele existente ı̂n domeniul respectiv.

    13.  Politica de securitate: Fiecare T T P  trebuie să ofere utilizatorilor săi o politică desecuritate bine definită, ı̂n concordanţă cu legislaţia şi restricţiile naţionale precumşi cu cerinţele de securitate definite.Disputele dintre entităţi vor fi arbitrate ı̂n concordanţă şi cu politicile de securitatedefinite la nivelul T T P -urilor implicate (direct sau indirect) ı̂n tranzacţiile electron-ice.

  • 8/16/2019 sec_flux_informational.pdf

    22/274

    2.1. CERINŢE ALE SERVICIILOR TERŢE DE  ÎNCREDERE    5

    14.   Managementul cheilor: Utilizatorii pot cere unui T T P  diverse servicii de gestiune

    privind cheile lor de semnătură şi criptare. Generarea cheilor, distribuţia acestorchei, mecanisme de recuperare de chei (key - recovery), backup pentru chei, key- escrow, rêınnoirea automată sau la cerere a cheilor (la expirare sau ı̂n caz decompromitere) pot fi cerinţe funcţionale la nivelul unui  T T P .

    15.   Publicarea datelor: Serviciile de publicare din   T T P -uri sunt necesare pentrupu-blicarea unor informaţii folosite de utilizatorii sistemelor. Distribuirea cheilorpublice sau a certificatelor digitale pentru utilizatori, distribuirea listelor de certifi-cate revocate sunt informaţii esenţiale proceselor de certificare şi validare.Serviciile de publicare pot fi implementate prin intermediul unor protocoale cum arfi   LDAP, HTTP, X.500, DNS   etc.

    16.   Scalabilitatea şi modularitatea: Serviciile furnizate de  T T P -uri trebuie să fiescalabile şi uşor gestionabile ı̂n implementări pe scară largă. Structura modularizatăpermite adăugarea sau scoaterea cu uşurinţă a unor componente de funcţionalitatela nivelul T T P -ului.

    17.   Compatibilitatea şi portabilitatea: Presupune compatibilitatea implementări-lor T T P -urilor cu standardele, tehnologiile şi platformele software/hardware cerute.

    Cerinţe privind politica de securitate

    Politica de securitate a unui  T T P  trebuie să acopere toate aspectele de securitate privindadministrarea T T P ului şi operarea serviciilor sale, fiind un instrument vital pentru genera-rea ı̂ncrederii către entităţile client.

    O politică de securitate ı̂nglobează toate elementele principale de funcţionare aleterţului de ı̂ncredere. Orice politică de securitate ar trebui să conţină:

    1. O componentă privind politica de securitate generală, ı̂n care care sunt stabilitetoate aspectele non-tehnice privind securitatea şi ı̂ncrederea ı̂n serviciile terţului;

    2. O componentă privind politica de securitate tehnică, ı̂n care sunt stabilite aspecteletehnice privind securitatea şi funcţionalitatea terţului. Aici sunt descrise rutinele,procedurile şi aspectele tehnice ale sistemului.

    Conţinutul efectiv al politicii depinde de serviciile oferite de  T T P .   În orice politică desecuritate sunt incluse următoarele elemente:

    •  conceptele generale privind serviciile furnizate;

    •  definirea entităţilor participante;

    •   cerinţele de securitate (confidenţialitatea, integritatea, disponibilitatea, autentici-tatea, responsabilitatea);

  • 8/16/2019 sec_flux_informational.pdf

    23/274

    6   CAPITOLUL 2. SERVICII TERŢE DE  ÎNCREDERE ( T T P )

    •   infrastructura organizaţională si asignarea responsabilităţilor ı̂n cadrul  T T P -ului;

    •   obligaţiile si răspunderile T T P -ului şi a celorlaltor entităţi implicate;

    •   ciclul de viaţă al cheilor criptografice necesare (mecanismul de generare a cheilor,protejarea cheilor, timpul lor de viaţă, rêınnoirea cheilor, distrugerea cheilor etc.);

    •  mecanismele de asigurare a securităţii ı̂n cadrul sistemului;

    •   procedurile de operare şi scenariile lor de aplicare;

    •   definirea rolurilor necesare ı̂n cadrul operării serviciilor furnizate;

    •   definirea claselor pentru clasificarea informaţiilor;

    •   aspectele legate de personal, ı̂n special pentru personalul din funcţii - cheie;

    •   strategiile de gestiune a riscurilor;

    •   tratarea incidentelor.

    2.2 Configuraţii cu terţi de ı̂ncredere

    Din punct de vedere al poziţionării terţului de ı̂ncredere ı̂n cadrul comunicaţiei dintre en-tităţile client, precum şi al implicării sale directe sau indirecte la protocolul de comunicaţie,se pot realiza trei configuraţii diferite:

    1.   Configurat ̧ie cu  T T P   in-line :

    Un terţ de ı̂ncredere in-line poate exista atunci când două entităţi aparţinând ladouă domenii de securitate diferite doresc să schimbe ı̂ntre ele mesaje securizate.În această situaţie, terţul este poziţionat ı̂ntre cele două entităţi, acţionând ca unintermediar ı̂n toate interacţiunile dintre ele şi facilitând schimburile lor securizatede informaţii.

    Entitate  Alice  T T P 

    in − line   Entitate  Bob

    Configuraţiile cu  T T P -uri in-line pot include servicii cum ar fi autentificarea saucontrolul privilegiilor (terţii de ı̂ncredere jucând un rol ı̂n furnizarea de servicii denon-repudiere), controlul accesului, recuperarea de chei, confidenţialitate şi integri-tate pentru datele transmise.

  • 8/16/2019 sec_flux_informational.pdf

    24/274

    2.3. INTER-OPERAREA SERVICIILOR  T T P    7

    2.   Configurat ̧ie cu   T T P   on-line : Un   T T P   on-line se poate utiliza ı̂n situaţia când

    cel puţin una din entităţi cere terţului respectiv furnizarea sau ı̂nregistrarea unorinformaţii de securitate, iar terţul este implicat doar ı̂n câteva din schimburile se-curizate dintre ele (de obicei ı̂n prima fază a comunicaţiei).

    Ulterior  T T P   nu mai participă la tranzacţiile dintre entităţi şi nu este poziţionatpe calea lor de comunicaţie.

    Entitate  Alice   Entitate  Bob

    T T P on − line

     

    Astfel de configuraţii pot include servicii de autentificare, certificare, controlul pri-vilegiilor etc.Terţul de ı̂ncredere poate juca de asemenea un rol ı̂n furnizarea de servicii de non-repudiere, controlul accesului, managementul cheilor, marcare temporală, confiden-ţialitate şi integritate pentru datele transmise.

    3.   Configurat ̧ie cu   T T P   off-line : Terţul de ı̂ncredere off-line nu interacţionează di-

    rect cu entităţile ı̂n timpul schimburilor de mesaje securizate. ˆIn schimb, entităţilecomunică ı̂ntre ele folosind date generate anterior de către T T P .

    Entitate  Alice   Entitate  Bob

    T T P on − line

     

     

    T T P -urile off-line pot include servicii de autentificare, certificare, controlul privi-legiilor, non-repudiere, distribuirea cheilor, recuperarea cheilor etc.

    2.3 Inter-operarea serviciilor  T T P 

    Un T T P  poate avea acorduri de ı̂ncredere stabilite cu alte T T P -uri pentru a forma o reţeacare să permită entităţilor sale să comunice securizat cu entităţile acestea.   În situaţiileı̂n care   T T P -ul nu poate oferi anumite servicii solicitate, se pot stabili protocoale de

  • 8/16/2019 sec_flux_informational.pdf

    25/274

    8   CAPITOLUL 2. SERVICII TERŢE DE  ÎNCREDERE ( T T P )

    ı̂ncredere care să permită altor   T T P -uri să subcontracteze şi să asigure aceste servicii

    suplimentare.La analizarea cerinţelor de interconectare trebuie avut ı̂n vedere dacă relaţia legală

    dintre un T T P   şi abonaţii săi este diferită de cea dintre acel T T P   şi alte entităţi interesate(de exemplu utilizatori care verifică semnături digitale bazate pe certificatele digitale emisede o Autoritate de Certificare).Fiecare terţ de ı̂ncredere furnizează servicii către entităţile din domeniul său conform cupolitica de securitate proprie.

    Există următoarele posibilităţi de interconectare:

    1. Interconectare T T P  - Utilizator : presupune mecanisme şi mijloace prin care un uti-lizator interacţionează cu un T T P  pentru a cere/primi un serviciu. Fiecare utilizator

    poate interacţiona cu un  T T P   ı̂n mod diferit, ı̂n funcţie de serviciul solicitat.

    2. Interconectare   Utilizator - Utilizator : după ce un   T T P   şi-a terminat joburile ı̂nrelaţia cu entităţile sale, toate comunicaţiile dintre entităţi se pot face fără a mai finevoie de asistenţa T T P -ului.

    Relaţia ı̂ntre entităţi, precum şi formalizarea contractuală a acestei relaţii, se bazeazăpe ı̂ncrederea acestora ı̂n  T T P   şi pe mecanismele de interconectare dintre  T T P -uri.

    3. Interconectare  T T P   -  T T P :Figura de mai jos prezintă un exemplu de astfel de interfaţă (ISO  14516):

    Domeniu Alice

    Alice

    T T P A T T P B

    Bob

    Domeniu Bob

     

     

     

     

    (1) (3)

    (2)

    (3) (1)

    (4)

    (a)   Alice  cere de la  T T P -ul A  o cheie secretă pentru a comunica cu Bob  (1).

    (b)   T T P -ul A  transferă cheia secretă către  Alice (3) şi către  T T P -ul  B  (2).

    (c)   T T P -ul B  transmite apoi cheia către Bob  (3).

    (d) Având stabilită o cheie comună, cele două entităţi pot comunica securizat (4).

  • 8/16/2019 sec_flux_informational.pdf

    26/274

    2.4. SERVICII DE NON-REPUDIERE    9

    O variantă a acestui protocol, care utilizează tehnologia cu chei publice:

    (a)   Alice  cere  T T P -ului A  un certificat pentru a comunica securizat cu  Bob (1).

    (b)   T T P -ul A  emite un certificat lui  Alice  (3).

    (c) Analog,  Bob cere către  T T P -ul  B  emiterea unui certificat (1) şi-l obţine (3).

    (d) De asemenea, cele două  T T P -uri ı̂şi emit una către cealaltă câte un certificat(2).

    (e) Acum, cele două entităţi pot comunica securizat având stabilită ı̂ntre ele in-frastructura de chei de ı̂ncredere publice (4).

    2.4 Servicii de Non-Repudiere

    Repudierea este una dintre problemele de securitate fundamentale existente ı̂n tranzacţiileefectuate prin documente. Necesitatea serviciilor de non-repudiere nu provine numai dinfaptul că părţile pot ı̂ncerca să se ı̂nşele una pe cealaltă. Este o realitate bine cunoscutăfaptul că diverse circumstanţe neaşteptate pot conduce la situaţia ı̂n care două entităţiimplicate ı̂ntr-o tranzacţ ie ajung – ı̂n timp – să aibă puncte diferite de vedere cu privire lace s-a ı̂ntâmplat ı̂n cadrul relaţiei dintre ele. O eroare de comunicaţie pe reţea ı̂n timpulderulării unui protocol este un exemplu reprezentativ.

    Putem defini o tranzacţie de bază ca fiind transferarea unui mesaj   M   de la   Alice

    (Emitent) la  Bob (Receptor):A −→ B   :   M 

    Chiar şi ı̂ntr-o astfel de tranzacţie simplă, ar putea apare următoarele cazuri de disput̆a:

    •   Alice  susţine că a trimis mesajul M   lui Bob, iar Bob acuză faptul că nu l-a primit;

    •   Bob   susţine că a primit mesajul   M   de la   Alice, iar   Alice  acuză faptul că nu l-atrimis;

    •   Alice  susţine că a trimis mesajul  M   ı̂nainte de un moment de timp  T , ı̂n timp ceBob  declară că că nu a primit mesajul ı̂nainte de momentul T .

    Serviciile de non-repudiere ajută entităţile implicate ı̂ntr-o astfel de tranzacţ ie să rezolveposibilele dispute care pot apare cu privire la anumite evenimente sau acţiuni care s-auı̂ntâmplat (sau nu s-au ı̂ntâmplat) ı̂n cadrul tranzacţiei.

    Definiţia 2.2.  Un protocol de non-repudiere este un flux de tranzact ̧ii ı̂n care entit˘ at ̧ile implicate schimb˘ a dovezi electronice, capabile s˘ a ofere apoi servicii de non-repudiere.

    Principalele dovezi de non-repudiere – prezente ̂ın toate protocoalele propuse – sunt:

  • 8/16/2019 sec_flux_informational.pdf

    27/274

    10   CAPITOLUL 2. SERVICII TERŢE DE  ÎNCREDERE ( T T P )

    •  Non-Repudierea Originii : un protocol de non-repudiere oferă non-repudierea originii

    (NRO), dacă şi numai dacă poate genera o dovadă privind originea mesajului –destinată receptorului mesajului – şi care prezentat̆a unui judecător, acesta poatestabili fără dubiu că iniţiatorul a trimis acel mesaj.

    •  Non-Repudierea Recept ̧iei : un protocol de non-repudiere oferă non-repudierea recep-ţiei (NRR), dacă şi numai dacă poate genera o dovadă privind primirea mesajului– destinată iniţiatorului mesajului – şi care prezentată unui judecător, acesta poatestabili fără dubiu că destinatarul a primit acel mesaj.

    Un protocol de non-repudiere este corect (fair) dacă la finalizarea sa:

    •   Alice  deţine o dovadă de tip  N RR, iar Bob deţine o dovadă de tip  NRO; sau

    •  nici unul dintre ei nu deţ ine o informaţie de acest tip.

    Protocoalele de non-repudiere corecte au constituit o temă importantă de cercetare ı̂nliteratura de specialitate. Studiul [15] ı̂mparte protocoalele de non-repudiere ı̂n:

    1. protocoale cu corectitudine tare;

    2. protocoale cu corectitudine adevărată;

    3. protocoale cu corectitudine probabilistică.

    Cele mai multe protocoale de non-repudiere propuse iau ı̂n considerare cazul ı̂n care suntimplicate doar două entităţi, care trebuie să obţină dovezile de non-repudiere a originii,respectiv a recepţiei unui mesaj. Există şi scheme de protocoale care asigur̆a dovezilenecesare de non-repudiere pentru scenarii cu mai mult de două entităţi care doresc săschimbe mesaje ı̂ntre ele. Un studiu asupra acestui tip de protocoale este realizat ı̂n [25].

    Într-o tranzacţie electronică, un transfer de mesaj poate fi transferat de la un emitentE   (Alice) către un receptor R  (Bob) ı̂n două feluri:

    1.   E  trimite mesajul direct către R  (comunicare directă); sau

    2.   E   trimite mesajul către un  Agent de Expediere  intermediar  AE , care apoi trimitemesajul către R  (comunicare indirectă).

    E R

    AE 

    Comunicare directă

    Comunicare indirectă

  • 8/16/2019 sec_flux_informational.pdf

    28/274

    2.4. SERVICII DE NON-REPUDIERE    11

    În varianta de comunicare directă, dacă  Emitentul   şi   Receptorul  nu au ı̂ncredere unul

    ı̂n cel̆alalt, pentru a se putea contoriza corect acţiunile lor, sunt necesare următoareleservicii de non-repudiere (ISO  13888 − 3):

    •   Non-Repudierea Originii  (NRO): asigură protecţia ı̂mpotriva refuzului   Emitentu-lui   de a recunoaşte transmiterea mesajului. Dovada transmiterii mesajului va figenerată de  Emitent  sau un  T T P   şi va fi păstrată de  Receptor .

    •  Non-repudierea Recept ̧iei  (N RR): asigură protecţia ı̂mpotriva refuzului Receptorului de a recunoaşte primirea mesajului. Dovada primirii mesajului este generată deReceptor  sau de un  T T P   şi va fi păstrată de Receptor .

    ˆIn varianta de comunicare intermediată de un  Agent de Expediere  (AE ), pentru a seputea rezolva eventualele dispute ı̂ntre   Emitent   şi   Agentul de Expediere , respectiv ı̂ntre

    Agentul de Expediere   şi   Receptor , sunt necesare următoarele servicii de non-repudiereISO  13888 − 3):

    •   Non-repudierea depunerii   (N RS ): asigură dovada că   Emitentul   a depus mesajulpentru expediere. Dovada depunerii mesajului este generată de Agentul de Expediere şi va fi păstrată de  Receptor .

    •   Non-repudierea expedierii   (NRD): asigură dovada că mesajul a fost expediat deReceptor . Dovada de expediere este generată de Agentul de Expediere şi va fi păstratăde  Emitent .

    În general, protocoalele care stau la baza unui serviciu de non-repudiere trebuie săı̂ndeplinească următoarele cerinţe:

    •   Corectitudine : Nici una din cele două entităţi implicate nu trebuie să poată deţinevreun avantaj faţă de cealaltă privind obţinerea dovezilor de non-repudiere.Repudierea poate fi prevenită numai dacă fiecare entitate obţine ı̂n egală măsurăinformaţia de care are nevoie:   Bob   trebuie să obţină mesajul util şi dovada denon-repudiere a originii acestui mesaj, iar  Alice  trebuie să obţină dovada de non-repudiere a recepţiei mesajului transmis.În caz contrar, cei doi utilizatori nu trebuie să aibă acces la nici una din aceste

    informaţii.

    •   Eficient ̧̆  a : Non-repudierea se obţine ı̂n general prin folosirea unor servicii de tipT T P . Gradul de implicare al acestora este esenţial ı̂n determinarea eficienţei unuiprotocol de non-repudiere.

    •   Oportunitate : Din diverse motive, o tranzacţie din protocolul de non-repudiere poatefi ı̂ntârziată sau chiar stopată intenţionat de una dintre părţile implicate. Acest lucrunu trebuie să dezavantajeze cealaltă parte.

  • 8/16/2019 sec_flux_informational.pdf

    29/274

    12   CAPITOLUL 2. SERVICII TERŢE DE  ÎNCREDERE ( T T P )

    •   Politic˘ a : Toate regulile şi toţi parametrii necesari ı̂n cadrul serviciului de non-

    repudiere trebuie definite corect şi complet.

    •   Transparent ̧a   T T P -ului :   În anumite situaţii este de dorit ca implicarea  T T P -uluiı̂n cadrul protocolului (sau a rezolvării disputelor) să fie invizibilă. Astfel, dovezileobţinute prin implicarea  T T P -ului vor fi similare celor obţinute fără ajutorul aces-tuia.

    •   Verificabilitatea   T T P -ului : Proprietate necesar̆a ı̂n situaţ ia când   T T P -ul nu esteconsiderat de ı̂ncredere de ambele entităţi.

    2.4.1 Protocoale de non-repudiere bazate pe T T P -uri

    Există mai multe abordări şi propuneri privind protocoale care să asigure cerinţele definitemai sus pentru un serviciu de non-repudiere. Unele presupun obţinerea dovezilor de non-repudiere făra a implica terţe părţi ı̂n comunicarea dintre   Alice   şi  Bob; cele mai multeprotocoale se bazează ı̂nsă pe conectarea la un  T T P .

    Rolul T T P -urilor ı̂n protocoalele de non-repudiere

    În funcţie de mecanismele de non-repudiere folosite şi de politica aplicată, T T P -urile potparticipa sub diverse roluri la generarea, verificarea, validarea sau transferarea dovezilorde non-repudiere şi la arbitrarea disputelor.

    Din punct de vedere al implicării  T T P -ului ı̂n cadrul derulării unui protocol de non-repudiere, pot fi identificate trei situaţii (ISO  10181 − 4):

    1.  Protocoale de non-repudiere bazate pe  T T P -uri in-line . Acest tip de terţi de ı̂ncre-dere acţionează ca intermediari ı̂n toate tranzacţiile efectuate ı̂ntre entităţi. Toatemesajele schimbate ı̂n cadrul protocolului trec pe la  T T P .

    2.  Protocoale de non-repudiere bazate pe  T T P -uri on-line .   T T P -urile participă activla generarea şi verificarea dovezilor de non-repudiere.

    3.   Protocoale de non-repudiere bazate pe   T T P -uri off-line .   În această situaţie, terţiide ı̂ncredere nu participă activ ı̂n cadrul serviciului de non-repudiere (vor fi invocaţidoar ı̂n anumite situaţ ii de excepţie).

    Un   T T P   implicat ı̂n gestionarea dovezilor de non-repudiere se poate afla ı̂n una dinsituaţiile de mai jos ([30]):

    •   Ca Autoritate de Certificare . Un   CA  generează certificate digitale pentru cheileutilizatorilor, autentificându-le astfel pentru a fi folosite ı̂n protocoalele de non-repudiere.   CA-ul furnizează de asemenea listele de certificate revocate, pentru aputea fi determinată validitatea cheilor folosite.

  • 8/16/2019 sec_flux_informational.pdf

    30/274

    2.4. SERVICII DE NON-REPUDIERE    13

    Autorităţile de Certificare sunt folosite ı̂ntotdeauna ı̂n situaţ iile când pentru gene-

    rarea dovezilor de non-repudiere sunt utilizate semnăturile digitale.   În general,T T P -urile cu rol de C A sunt utilizate off-line ı̂n protocoalele de non-repudiere. Elepot fi folosite şi ca  T T P -uri on-line, dacă semnăturile electronice folosesc formateavansate de semnătură electronică şi conţin informaţii bazate pe servicii on-line devalidare a certificatelor.

    •  Ca Notar Electronic . Similar cazului non-electronic, un  T T P  cu rol de notar elec-tronic poate fi utilizat pentru asigurarea unor servicii de non-repudiere.

    Dacă pentru generarea dovezilor de non-repudiere sunt folosite mecanisme bazate pecriptografia simetrică, T T P -ul implicat ı̂n protocol poate fi activat pentru a genera

    dovezile de non-repudiere ı̂n numele participanţilor. Dacă dovezile de non-repudierese obţin pe bază de semnături digitale, notarul ar trebui să furnizeze mărci temporaleprivind momentul generării dovezilor.

    În general   T T P -urile cu rol de Notar Electronic sunt utilizate ı̂n protocoalele denon-repudiere ı̂ntr-o arhitectură on-line.

    •  Ca Autoritatea de Expediere . O astfel de Autoritate constituie un terţ de ı̂ncredereı̂n ceea ce priveşte expedierea mesajelor.

    Acest tip de  T T P -uri este utilizat ı̂n cadrul protocoalelor de non-repudiere ı̂ntr-oarhitectură in-line.

    •   Ca Autoritatea de Arbitrare . Un   T T P   cu acest rol nu va fi implicat ı̂n proto-coale decât ı̂n situaţiile ı̂n care apar dispute, principalul său scop fiind judecareaşi rezolvarea acestora. Judecarea disputelor presupune evaluarea dovezilor puse ladispoziţie de participanţi şi luarea ı̂n consideraţie a unei politici de non-repudiere.

    Protocoale de non-repudiere fără  T T P -uri

    Protocoalele de acest tip pot asigura doar probabilistic cerinţele de non-repudiere.Chiar dacă ı̂n implementare se aleg corect parametrii protocolului, gradul de risc este

    foarte mic iar probabilitatea de nesoluţ ionare a disputelor este neglijabilă, totuşi aceste

    protocoale sunt ineficiente, fiind greu de aplicat.

    Exemplul 2.2.   Primele protocoale f˘ ar˘ a   T T P   apar la jum˘ atatea anilor   80, dezvoltate init ̧ial pentru schimbul de secrete (de exemplu chei criptografice) ı̂ntre entit˘ at ̧i. Ideea de baz˘ a era ca fiecare entitate s˘ a transmit˘ a pe rˆ and bit ̧i succesivi din informat ̧ia secret˘ a care trebuia furnizat˘ a celeilalte entit˘ at ̧i, pˆ an˘ a la epuizarea informat ̧iei. Dac˘ a o entitate stopa procesul, cealalt˘ a proceda similar; ı̂n acest mod, efortul de calcul pentru aflarea restului de informat ̧ie era sensibil echivalent pentru ambele entit˘ at ̧i.   ˆ In cadrul acestor protocoale de schimb de date pot fi identificate mecanisme clare de non-repudiere.

  • 8/16/2019 sec_flux_informational.pdf

    31/274

    14   CAPITOLUL 2. SERVICII TERŢE DE  ÎNCREDERE ( T T P )

    Primele protocoale pure de non-repudiere propuse au fost cele bazate pe   T T P -uri.

    Abia mai târziu au apărut şi protocoale de non-repudiere care nu necesitau existenţa unuiT T P .

    Pentru exemplificare prezentăm protocolul probabilist de non-repudiere propus deMarkowitch şi Roggeman ([18]). Protocoale similare care asigură non-repudierea şi nufolosesc T T P -uri au mai fost realizate ı̂n [13], [26], [22].

    Scopul protocolului Markowitch - Roggeman este de a obţ ine dovezile de non-repudiereNRO   şi   N RR   fără a utiliza un terţ de ı̂ncredere. Protocolul ı̂si propune să asiguretransmiterea unui mesaj  M  de la  Alice  către Bob  şi să asigure dovezile de non-repudierea originii şi recepţiei mesajului.

    Protocolul este descris de următoarele tranzacţii:

    1.   În prima rundă, Alice:

    (a) Criptează mesajul M   folosind cheia simetrică k   şi obţine  c  =  E k(M );

    (b) Generează dovada originii lui  c:

    EOOc  =  SigAlice(Bob,l,c)

    unde  l  =  Hash(M, k);

    (c) Trimite lui  Bob (EOOC , l , c).

    2.   Bob  răspunde cu dovada recepţiei mesajului criptat c:

    EORC  = SigBob(Alice,l,c)

    3.   În rundele  i  = 2, . . . , n− 1

    (a)   Alice trimite lui  Bob cuplul (EOOri−1 , ri−1) unde  ri−1  este o valoare aleatoarede rundă, iar

    EOOri−1  = SigAlice(Bob,i,ri−1)

    (b)   Bob  răspunde cu dovada recepţiei valorii  ri−1:

    EORri  = SigBob(Alice,i,ri)

    4.   În ultima rundă,  Alice trimite cheia simetrică k   şi dovada E OOrn−1  a originii aces-teia:

    EOOrn−1  = SigAlice(Bob,n,k)

    5.   Bob  răspunde cu dovada recepţiei cheii  k :

    EORrn−1  = SigBob(Alice, n, k)

  • 8/16/2019 sec_flux_informational.pdf

    32/274

    2.4. SERVICII DE NON-REPUDIERE    15

    După epuizarea rundei n   şi primirea lui  E ORrn−1,  Alice anunţă terminarea protocolului,

    dezvăluind practic numărul de runde ales şi faptul că ı̂n această ultimă rundă a trimis cheiasimetrică  k  prin care  Bob  poate obţine mesajul  M  = Dk((c). Dovada de non-repudiere aoriginii va fi:

    NRO = (EOOc,EOOrn−1),

    iar dovada de non-repudiere a recepţiei va fi  N RR = (EORc,EORrn−1).

    În cazul unei dispute:

    •   Bob  poate dovedi non-repudierea originii:

    –   EOOc: dovedeşte că  Alice i-a trimis mesajul criptat cu o cheie simetrică;

    –   EOOrn−1: dovedeşte că  Alice i-a trimis şi cheia simetrică de decriptare.

    •   Alice  poate dovedi non-repudierea recepţiei:

    –   EORc: dovedeşte că  Bob   i-a confirmat primirea mesajului criptat cu o cheiesimetrică;

    –   EORrn−1: dovedeşte că   Bob   i-a confirmat şi primirea cheii simetrice de de-criptare, adică obţinerea mesajului  M .

    Protocolul se bazează pe păstrarea secretului privind numărul de runde şi cheia secretă k,

    alese de  Alice până la epuizarea ı̂ntregului set de runde.   Bob, neştiind dinainte numărulde runde fixat de  Alice, ı̂n ultima rundă nu va şti că a primit cheia simetrică decât dupăce va fi anunţat de  Alice, furnizând la rândul lui informaţia necesară de non-repudiere.

    Observaţia 2.1.

    •   La fiecare din ultimele   n − 1   runde, ı̂nainte de a trimite dovada non-repudierii recept ̧iei corespunz˘ atoare, Bob ar putea ı̂ncerca decriptarea mesajului primit ı̂n prima rund˘ a; dac˘ a reuşeşte, poate alege s  ̆a nu mai trimit˘ a aceast˘ a dovad˘ a, ceea ce l-ar pune ı̂n avantaj fat ̧̆  a de  Alice. Aceast˘ a problem˘ a se poate rezolva printr-o implementare care s˘ a contorizeze timpii de r˘ aspuns ai lui  Bob. Astfel, dac˘ a apare o ı̂nt  ̂arziere mai 

    mare ı̂n cadrul unui r˘ aspuns de la  Bob, protocolul eşueaz  ̆a. Pentru asta, trebuie ales un algoritm de criptare ı̂n care operat ¸ia de decriptare s˘ a dureze un timp suficient ca s˘ a poat˘ a fi detectat de  Alice. Solut ¸ia este ineficient˘ a practic din mai multe motive (stadiul actual face ca timpii de calcul s˘ a fie insezizabili; sau, dac˘ a entit˘ at ̧ile uti-lizeaz˘ a o ret ̧ea de comunicat ̧ie instabil˘ a unde pot apare ı̂ntˆ arzieri nepredictibile, f˘ ar˘ a ca ele s˘ a fie induse de  Bob).

    •  Pentru ca protocolul s˘ a fie funct ¸ional, valorile aleatoare   r1, . . . , rn−1   trebuie s˘ a fie independente, egal distribuite, de lungimi aproximativ echivalente cu lungimea lui  k.

  • 8/16/2019 sec_flux_informational.pdf

    33/274

    16   CAPITOLUL 2. SERVICII TERŢE DE  ÎNCREDERE ( T T P )

    •   Alice   trebuie s˘ a aleag˘ a un algoritm de criptare simetric şi/sau un mod de utilizare 

    al acestui algoritm care s˘ a nu permit˘ a decriptarea doar a unei p˘ art ̧i a mesajului.   ˆ In [18] sunt propuse astfel de moduri şi mecanisme de prevenire.

    •  Oricare dintre entit˘ at ̧i poate ı̂ntrerupe protocolul ı̂n rundele intermediare; ı̂n aceast˘ a situat ̧ie, nici   Alice   şi nici   Bob  nu det ¸ine un avantaj, deoarece nu va avea dovada privind trimiterea/recept ̧ia cheii simetrice de decriptare.

    Exist˘ a ı̂ns  ̆a o probabilitate ca  Bob   s˘ a intuiasc˘ a corect num˘ arul de ordine al rundei  finale şi s˘ a ı̂ntrerup  ̆a protocolul ı̂nainte de epuizarea corect˘ a a acestei runde finale,ceea ce ı̂i confer˘ a un avantaj.   ˆ In aceast˘ a situat i̧e   Bob  va avea dovada complet˘ a a non-repudierii originii ı̂n timp ce lui  Alice  ı̂i lipseşte dovada recept ̧iei de c˘ atre  Bob

    a cheii de decriptare, deci nu poate dovedi c˘ a  Bob  a avut acces la mesaj.

    Protocoale de non-repudiere bazate pe  T T P -uri in-line

    În 1996 Coffey si Saidha au propus un protocol de non-repudiere ([9]) bazat pe un  T T P in-line utilizat pe post de  Server de Non-Repudiere   (NRS   -   Non-Repudiation Server ).Acest terţ colectează dovezile de non-repudiere şi le transmite apoi entităţilor care ı̧̂sidispută tranzacţia. Practic terţul de ı̂ncredere funcţionează ca un   Agent de Expediere (AE ) pentru mesajele schimbate ı̂ntre entităţile participante.

    Protocolul utilizează semnăturile digitale (ca mecanism criptografic pentru generareadovezii de non-repudiabilitate) şi criptografia cu chei publice (pentru schimbul de mesaje).

    Pentru ca protocolul să fie funcţional, Serverul de Non-Repudiere trebuie să aibăurmătoarele caracteristici:

    •  este independent de cele două entităţi, fiind ı̂nsă de ı̂ncredere pentru acestea;

    •  nu distribuie nici o informaţie legată de dovezi către vreo entitate participantă pânăcând nu deţine şi dovada corespunzătoare pentru a putea fi distribuită către cealaltăentitate;

    •   primeşte dovada de non-repudiere a originii direct de la Alice  şi cooperează cu Bobpentru a genera dovada de non-repudiere a recepţiei;

    •   odată ce deţine toată informaţia necesară de non-repudiere pentru ambele entităţi,nu se va opune procesului de distribuţie a acestei informaţii către cele două entităţi.

    Protocolul Coffrey - Saidha se desfăsoară ı̂n două faze:

    1. (Faza 1) Generarea dovezilor de non-repudiabilitate; are loc la T T P .

    2. (Faza 2) Distribuirea dovezilor de non-repudiabilitate.

  • 8/16/2019 sec_flux_informational.pdf

    34/274

    2.4. SERVICII DE NON-REPUDIERE    17

    Emitent  Alice   Receptor  Bob

    T T P 

     

     

       

     

    Faza 1

    Faza 2

    După ce se consumă  Faza 1   şi Serverul de Non-Repudiere este ı̂n posesia celor douădovezi, el va distribui ı̂n  Faza 2  aceste dovezi către părţile comunicante.

    Toată comunicarea dintre Alice şi Bob are avea loc prin intermediul Serverului de Non-Repudiere, iar mesajele schimbate sunt semnate digital şi ı̂nsoţite de o informaţie privind

    momentul semnării. De aceea – pe lângă Serverul de Non-Repudiere – protocolul necesităşi prezenţa unei Autorit˘ at ̧i de Marcare Temporal˘ a  care să marcheze momentul semnării şisă poată astfel demonstra că semnarea mesajelor s-a făcut ı̂n perioada de valabilitate acertificatelor digitale corespunzătoare cheilor de semnătură.

    Protocolul Coffey-Saitha cu T T P  in-line este descris formal de următoarele tranzacţii:

    1. Alice −→ T SA  :   P K TSA(NROp)2. T SA −→ Alice :   P K Alice(N RO)3. Alice −→ N RS  : ”NR − req ”4. N RS   −→ Alice :   P K Alice(n1)

    5. Alice −→ N RS  :   P K NRS (SigAlice(n1,NRO,NRRp))6. N RS   −→ Bob :   P K Bob(SigNRS (n2,NRRp))7. Bob −→ T SA  :   P K TSA(NRRps)8. T SA −→ Bob :   P K Bob(NRR)9. Bob −→ N RS  :   P K NRS (SigBob(n2,NRR))

    10. N RS   −→ Bob :   P K Bob((N RO))11. N RS   −→ Alice :   P K Alice(N RR)

    Descrierea şi analiza protocolului:

    •  Toate mesajele intermediare M i  sunt criptate cu cheia publică a entităţii destinaţie:P K Bob(M i). Astfel numai  Bob  – ı̂n calitate de destinatar – poate accesa mesajultransmis, utilizând pentru decriptare, cheia sa privată.

    •   În paşii 1 şi 2,  Alice – ca entitate iniţiatoare – generează prin intermediul terţului deı̂ncredere dat de Autoritatea de Marcă Temporală (T SA  –   Timestamp Authority )dovada de non-repudiere a originii (NRO).

    Alice  trimite către T SA  dovada parţială a originii:

    NROp =  SigAlice(Alice, Bob, M )

  • 8/16/2019 sec_flux_informational.pdf

    35/274

    18   CAPITOLUL 2. SERVICII TERŢE DE  ÎNCREDERE ( T T P )

    şi primeşte de la  T SA  marca temporală peste această semnatură:

    N RO =  SigTSA((NROp,TSA,ts1)

    unde  T SA   şi  ts1   reprezintă identificatorul  T SA-ului şi respectiv timpul aplicat.

    •  La pasul 3  Alice  iniţiază o sesiune de lucru cu Serverul de Non-Repudiere (NRS ),transmiţându-i o cerere de non-repudiere  N R − req .

    •   În paşii 4 şi 5 Alice transmite către N RS  dovada de non-repudiere a originii (N RO)obţinută la primii doi paşi, precum şi o dovadă parţială de non-repudiere a recepţiei:

    NRRp = (Bob, Alice,h(N RO))

    unde h  este o funcţie de dispersie criptografică. Pentru a evita atacuri de tip replay,se foloseşte o secvenţă de tip provocare - răspuns bazată pe un nonce  n1, generatde serverul  N RS   la pasul 4.

    Fiind criptat de  N RS  cu cheia publică a lui   Alice, nonce-ul transmis nu poate fiaccesat decât de  Alice.

    •   În pasul 6, serverul   NRS   iniţiază generarea dovezii de non-repudiere a recepţieitransmiţându-i lui Bob un nonce  n2  (necesar mai târziu) şi dovada parţială de non-repudiere NRRp  primită de la  Alice.

    •   În paşii 7 şi 8,  Bob  generează – prin intermediul terţului de ı̂ncredere dat de  T SA– dovada de non-repudiere a recepţiei (N RR).   Bob   trimite spre   T SA   o dovadăparţială de non-repudiere a recepţiei, semnată de el:

    NRRps =  SigBob(NRRp) = SigBob(Bob, Alice, h(NRO))

    şi primeşte de la  T SA  marca temporală peste această semnătură:

    NRR =  SigTSA(NRRps,TSA,ts2) = SigTSA(SigBob(Bob, Alice, h(NRO))).

    •  La pasul 9   Bob  trimite către Serverul de Non-Repudiere (NRS ), dovada de non-repudiere a recepţiei NRR, ı̂nsoţită de nonce-ul  n2  (pentru a evita atacurile de tipreplay).

    •   În acest moment, Faza 1 s-a ı̂ncheiat şi N RS  – având ambele dovezi de non-repudiere– este ı̂n măsură să treacă la Faza 2 a protocolului: transmiterea acestor dovezi cătreAlice   şi  Bob.

    Astfel, ı̂n paşii 10 şi 11,  Bob  va primi dovada de non-repudiere a originii mesajului(NRO) şi – ı̂mpreună cu acesta – şi mesajul propriu zis  M ; similar, Alice  primeştedovada de non-repudiere a recepţiei mesajului (NRR).

  • 8/16/2019 sec_flux_informational.pdf

    36/274

    2.4. SERVICII DE NON-REPUDIERE    19

    Observaţia 2.2.

    1. Ideea principal˘ a a protocolului Coffey - Saidha este aceea c˘ a dovezile de non-repudie-re a originii şi respectiv a recept ̧iei nu sunt trimise celor dou˘ a entit˘ at ̧i pˆ an˘ a ce acestea nu depun aceste dovezi semnate la Serverul de Non-Repudiere.

    2. Dovezile de non-repudiere det ¸inute de  Alice  şi  Bob nu cont ̧in semn˘ atura  N RS -ului.Acestea sunt:

    •   NRO =  SigTSA(SigAlice(Alice,Bob, M ),TSA,ts1);

    •   NRR =  SigTSA(SigBob(Bob, Alice, h(NRO)),TSA,ts2).

    3. Cele dou˘ a entit˘ at ̧i nu comunic˘ a niciodat˘ a direct; schimbul de mesaje (mesajul   M şi dovezile de non-repudiere) se face numai prin intermediul Serverului de Non-Repudiere.

    4. Mesajul  M   ajunge la  Bob  odat˘ a cu dovada de non-repudiere a originii  NRO   şi nu ı̂nainte ca  N RS   s˘ a det ̧in˘ a dovada de non-repudiere a recept ̧iei  NRR.

    5.   ˆ In cazul solut ̧ion˘ arii unei dispute ı̂n care   Alice   sust ̧ine c˘ a   Bob   a primit mesajul M , arbitrul cere   NRS -ului dovada de non-repudiere a recept ̧iei ( NRR) precum şi dovada de non-repudiere a originii ( NRO).

    Dac˘ a aceste dovezi nu pot fi oferite, afirmat ̧ia lui   Alice  este respins˘ a. Altfel, ar-bitrul verific˘ a semn˘ atura lui   Alice   şi marca temporal˘ a aplicat˘ a de   T SA   pe aceas-t˘ a semn˘ atur˘ a. De asemenea verific˘ a valoarea   h(N RO)   din cadrul dovezii   NRR,semn˘ a-tura lui  Bob   şi marca temporal˘ a aplicat˘ a peste aceasta.ˆ In caz de succes, arbitrul aprob˘ a afirmat ̧ia lui  Alice.

    6.   ˆ In cazul solut ̧ion˘ arii unei dispute ı̂n care  Bob  sust ̧ine c˘ a  Alice  a trimis mesajul  M ,arbitrul cere  N RS -ului sau lui  Bob dovada  N RO. Dac˘ a aceasta nu poate fi oferit˘ a,afirmat ̧ia lui  Bob  este respins˘ a.Altfel, arbitrul verific˘ a dac˘ a mesajul din  NRO   satisface informat ̧ia oferit˘ a de  Bob.De asemenea, verific˘ a semn˘ atura lui  Alice   şi marca temporal˘ a aplicat˘ a de  T SA  pe 

    aceast˘ a semn˘ atur˘ a.   ˆ In caz de success, arbitrul aprob˘ a afirmat ̧ia lui  B.

    7.   T SA-ul particip˘ a activ la generarea dovezilor de non-repudiere; cei doi participant ̧i precum şi Serverul de Non-Repudiere, trebuie s˘ a aib˘ a ı̂ncredere ı̂n acesta şi s  ̆a verifice semn˘ aturile digitale ale  T SA-ului aplicate la marcarea temporal˘ a a mesajelor (pentru a se asigura c˘ a dovezile generate sunt valabile la solut ̧ionarea disputelor ulterioare).

    8.   Alice   şi   Bob   nu trebuie s˘ a aib˘ a ı̂ncredere unul ı̂n cel˘ alalt, dar trebuie s˘ a aib˘ a ı̂ncredere ı̂n cele dou  ̆a  T T P -uri.

  • 8/16/2019 sec_flux_informational.pdf

    37/274

    20   CAPITOLUL 2. SERVICII TERŢE DE  ÎNCREDERE ( T T P )

    9. Atacurile de tip replay ı̂n relat ¸ia   NRS   - Entitate sunt ocolite prin utilizarea unor 

    secvent ̧e de tip provocare -r˘ aspuns, bazate pe informat ̧ii de tip nonce transmise de N RS .

    Concluzie: Utilizarea de   T T P -uri in-line (pentru asigurarea dovezilor necesare ı̂nserviciile de non-repudiere) poate fi o soluţie viabilă. Există ı̂ns̆a câteva dezavantajemajore care descurajează punerea ı̂n practică a acestui tip de arhitectură:

    1.   T T P -ul trebuie să gestioneze baze de date destul de mari ı̂n care să stocheze mesajelepe care le primeşte pentru a le retransmite.

    2. La nivelul  T T P -ului, ”gâtuirea” tranzacţiilor este maximă.

    3. Gestiunea centralizată de informaţii sensibile ı̂n cantităţi mari poate constitui oproblemă, necesitând un nivel suplimentar de confidenţialitate la nivelul terţului.

    Protocoale de non-repudiere bazate pe  T T P -uri on-line

    În cazul protocoalelor de non-repudiere bazate pe  T T P -uri on-line, T T P -ul nu acţioneazăca Agent de Expediere (intermediar pentru fiecare tranzacţie ı̂ntre entităţi). El intervinetotuşi ı̂n cadrul fiecărei sesiuni a protocolului.

    Dintre protocoalele de acest tip vom detalia pe cel propus de Zhou şi Gollmann ([32]) ı̂n1996. Aici  T T P -ul funcţionează ca un director de publicare read-only, de unde entităţile

    participante ı̧̂si obţin informaţii necesare pentru dovezile de non-repudiere.Protocolul este descris de următoarele tranzacţii:

    1.   Alice  (ca entitate emitentă):

    (a) criptează mesajul M   folosind cheia simetrică k :   c =  E k(M );

    (b) generează dovada originii lui  c:

    EOOc =  SigAlice(Bob,l,t,c) unde  l =  Hash(M, k)

    (c) trim