rezumat disertatie
DESCRIPTION
MODELAREA SI VERIFICAREA PROTOCOALELOR DE SECURITATE BAZATE PE SMART CARDURITRANSCRIPT
UNIVERSITATEA ALEXANDRU IOAN CUZA IAŞI
FACULTATEA DE INFORMATICĂ
REZUMAT LUCRARE DE DISERTAŢIE
Modelarea şi verificarea protocoalelor
bazate pe Smart Carduri
propusă de
Alexandra Buruciuc
Sesiunea: iulie, 2011
Coordonator ştiinţific
Profesor, Dr. Ferucio Laurenţiu Ţiplea
1
MODELAREA SI VERIFICAREA PROTOCOALELOR DE SECURITATE BAZATE PE SMART CARDURI
Protejarea sesiunilor de comunicare pentru a împiedica furtul şi alterarea informaţiilor sensibile a
devenit o problemă la nivel mondial. Smart cardurile au apărut ca o soluţie la acestă problemă oferind
securitate prin stocarea într-un mod sigur, pe termen lung, a datelor cu caracter personal şi a secretelor
utilizate de către primitivele criptografice. Sistemele tradiţionale bazate pe parole sunt înlocuite tot mai
des cu cele bazate pe smart carduri. Scopul acestei lucrări este de a prezenta o metodă de analiză a
protocoalelor de securitate bazate pe smart carduri astfel încât raţionamentele legate de gradul de
securitate pe care acestea îl oferă să aibe un suport formal.
Verificarea protocoalelor de securitate este fundamentală înainte ca acestea să fie utilizate în
practică. Datorită numărului mare de vulnerabilităţi posibile la nivel de protocol de securitate dar şi de
implementare a acestora, singura metodă prin care ne putem asigura că un astfel de protocol este
corect, este demonstraţia matematică. O demonstraţie nu este altceva decât dovada că fiecare pas din
protocol păstrează o anumită proprietate. În cest scop de-a lugul timpului au fost propuse numeroase
abordări, iar odată cu dezvoltarea sistemelor IT, calculatorul a început sa-şi arate utilitatea în
automatizarea acestor analize.
Inducţia matematică este considerată suficientă pentru a modela şi a crea raţionamente referitoare
la obiectivele protocoalelor de securitate. Demonstraţiile proprietăţilor pentru protocoalele bazate pe
smart carduri sunt mai complexe decât pentru protocoalele clasice, iar metodele de analiză formală
specifice acestora sunt în număr limitat.
Metoda Inductivă este o tehnică importantă folosită în demonstrarea formală a corectitudinii
protocoalelor de securitate, ce poate fi utilizată în cadrul demonstratorului de teoreme Isabelle. Bazele
acestei metode au fost puse de Paulson în *3+ iar Bella în *2+ propune o extensie pentru a putea verifica
analiza protocoale bazate pe smart carduri.
În Metoda Inductivă se foloseşte conceptul de urmă, o listă de evenimente ce au loc în reţea în timp
ce un număr nelimitat de agenţi execută protocolul. Aceasta poate fi văzută ca o istorie a evenimentelor
reţelei care au loc în momentul execuţiei protocolului şi se defineşte inductiv. Mulţimea tuturor urmelor
posibile reprezintă modelul formal al protocolului. Proprietăţile care pot fi demonstrate cu ajutorul
Metodei Inductive sunt: cofidenţialitatea, integritatea, autenticitatea, distribuţia cheilor şi diferite forme
de autentificare, şi sunt exprimate prin teoreme. Demonstratorul de teoreme Isabelle poate fi utilizat
pentru a demonstra aceste teoreme în mod semi-automat.
Pentru protocoalele de e-commerce în care sunt utilizate smart carduri este necesară extinderea
Metodei Inductive, introducând elemente noi pentru modelarea cardurilor ţinând cont de riscurile
clonării şi de modul de interacţiune a acestora cu agenţii. Pentru a stabili proprietăţile unui protocol de
securitate bazat pe smart carduri este foarte important să stabilim în primul rând rolul pe care îl are
cardul propriu-zis, dar şi modul în care un atacator ar putea interveni. Extensia trebuie să permită
modelarea interacţiunii dintre carduri şi posesorii acestora prin evenimente care marchează
2
transmiterea şi recepţionarea de mesaje. Pentru cunoştinţele agenţilor, în special cele ale intrusului,
trebuie propuse noi definiţii ţinând cont că toate cheile sunt stocate pe card, dar şi mediul de execuţie,
dacă atacatorul poate interveni sau nu în transmiterea informaţiilor.
Pe parcursul lucrării vor fi scoase în evidenţă principiile generale care stau la baza protocoalelor
corecte. Aceste principii contribuie la garanţiile de securitate dar nu sunt suficiente. Unul din principiile
fundamentale în proiectarea protocoalelor de securitate conform autorilor Abadi şi Needham în [4] este
claritatea care sugerează că fiecare mesaj ar trebui să spună exact ce înseamnă fară a crea ambiguitate,
iar alt principiu sugerează renunţarea la criptare atunci când nu este necesară. G. Bella în *5+ dezvoltă
ideea unui principiu de analiză prudentă a protocoalelor de securitate numit principiul utilităţii scopului
care este respectat atunci când există garanţii că din punctul de vedere al agentului, obiectivul
protocolului este atins. Aceste garanţii trebuie să se bazeze pe ipoteze pe care agentul le poate verifica
în practică.
Contribuţii Utilizând Metoda Inductivă şi extensia acesteia pentru protocoale bazate pe smart carduri, şi
introducând alte elemente necesare precum mărcile de timp, am modelat şi verificat protocolul Klomp
propus de Bakker în *8+, protocol care nu a mai fost analizat formal până în acest moment. Protocolul
este unul de autentificare şi distribuţie a cheilor de sesiune în cadrul tranzacţiilor electronice. Pentru
verificarea proprietăţilor de securitate am utilizat demonstratorul de teoreme Isabelle formalizând
fiecare proprietate printr-o teoremă pe care am demonstrat-o pentru fiecare pas din protocol. Printre
proprietăţile studiate se numără cele de autentificare şi distribuţie a cheilor, unicitate, integritate şi
confidenţialitate.
În urma analizei am descoperit că anumiţi paşi ai protocolului încalcă unul din principiile
fundamentale în construcţia protocoalelor de securitate şi anume: comunicarea explicită. Bakker
propune ca în urma interogării smart cardurilor agenţii să primească o cheie temporară creată prin
criptarea unor date furnizate de aceştia. Folosind aceste chei agenţii vor crea o cheie de sesiune şi
certificate de autenticitate. Una din vulnerabilităţile posibile care trebuie considerate atunci când se
face analiza protocoalelor bazate pe smart carduri este faptul că acestea ar putea să nu funcţioneze
corect cum ar fi în cazul în care un atacator le-ar corupe magistralele de date în momentul fabricării
astfel încât acestea să furnizeze răspunsuri într-o ordine greşită. În acest caz agentul primind doar cheia
temporară nu va putea face corect asocierea cu cel cu care doreşte să stabilească un canal de
comunicare sigur. Soluţia propusă se bazează pe ideea că agentul trebuie să poată verifica
componentele din care este creată cheia temporară dar fără a cunoaşte cheia cardului. Prin urmare
mesajul returnat de smart card agentului va conţine atât cheia temporară cât şi rezumatul hash din care
este construită. În momentul recepţiei mesajului agentul va putea reconstrui rezumatul hash si va putea
face asocierea dintre cheie şi serverul cu care doreşte să comunice.
Capitolul 1
Principii de construcţie şi analiză a protocoalelor de securitate Literatura de specialitate prezintă foarte multe exemple de protocoale de securitate care conţin
erori. Aceste erori arată necesitatea considerării unor reguli care să ghideze construcţia protocoalelor.
3
Abadi şi Needham în *4+ enunţă 11 principii informale, care nu sunt suficiente pentru demonstrarea
corectitudinii protocoalelor de securitate, dar prin aplicarea lor se pot evită suficient de multe erori.
Principiul 1: comunicarea explicită.
Principiul 2: acţiune potrivită.
Principiul 3: adăugarea identităţii agenţilor în mesaj.
Principiul 4: criptarea.
Principiul 5: semnarea informaţiilor criptate.
Principiul 6: scopul utilizării nonceurilor.
Principiul 7: nonceuri generate aleator vs nonceuri predictibile.
Principiul 8: utilizarea mărcilor de timp.
Principiul 9: diferenţa între utilizarea recentă şi generarea recentă.
Principiul 10: recunoaşterea mesajelor.
Principiul 11: încredere.
Toate aceste principii, sunt explicate in cadrul Capitolului 1 din lucrare.
Principiul utilităţii scopului propus de Bella în *5+ complementează principiile de construcţie
prudentă amintite mai sus şi sugerează ca proprietăţile protocoalelor să fie bazate pe ipoteze pe care
participanţii le pot verifica. În lucrare sunt prezentate conceptele esenţiale care stau la baza acestui
principiu: scop util, garanţie aplicabilă, încrederi minimale.
Capitolul 2
Metoda Inductivă Metoda Inductivă poate fi folosită pentru demonstrarea formală a corectitudinii protocoalelor de
securitate. Această metodă se află în clasa metodelor de demonstrare de teoreme şi oferă rezultate
valabile pentru toate comportările posibile ale protocolului de securitate studiat. Demonstratorul de
teoreme Isabelle oferă un foarte bun suport mecanic pentru această metodă, fiind un instrument
complex semi-automat în care este necesară ghidarea din partea celui care face demonstraţia pentru a
ajunge la obiectivul protocolului.
Un protocol de securitate este un program concurent care este executat de un număr indefinit de
agenţi şi procesul tinde să atingă dimensiuni foarte mari. Studierea unui obiectiv al protocolului
înseamnă derivarea unui raţionament prin care să se poată demonstra că toţi paşii protocolului
păstrează o anumită proprietate. În Metoda Inductivă pentru a demonstra că un protocol de securitate
este corect şi nu este vulnerabil în faţa unor noi ameninţări, odată ce acestea sunt descoperite vor fi
modelate ca o mulţime definită inductiv iar obiectivele protocolului vor fi redemonstrate prin inducţie
asupra întregului model. Modelul intrusului este Dolev-Yao şi nu se impun restricţii asupra numărului de
agenţi sau a numărului de sesiuni.
Inducţia în faza de specificare permite definirea tuturor operatorilor de mesaje relevanţi şi a
modelului protocolului. În faza de verificare inducţia oferă principiul demonstraţiei prin care se stabilesc
proprietăţile modelului. Proprietăţile care pot fi verificate sunt doar cele de siguranţă (safety) care indică
că niciodată nu se va întâmpla nimic rău, dar nu putem verifica proprietăţile de viabilitate (liveness) care
afirmă că ceva bun va avea loc.
4
Abordarea propusă de Paulson preia de la logica BAN ideea obţinerii de noi informaţii ca urmare a
recepţiei mesajelor, dar proprietăţile de securitate nu se mai referă exclusiv la autentificare. Semantica
operaţională este asemănătoare cu cea a formalizării CSP, cu excepţia faptului că modelele sunt
nemărginite. Tot în stil CSP este considerată şi noţiunea de eveniment dar şi faptul că proprietăţile de
securitate sunt exprimate ca predicate pe mulţimea urmelor protocolului.
2.1 Isabelle Isabelle este un demonstrator de teoreme generic interactiv. Cea mai populară versiune este
Isabelle/HOL, care permite specificarea şi verificarea protocoalelor de securitate. Interactiv se referă la
faptul că demonstratorul nu este complet automat, necesitând intervenţia umană pentru a conduce
demonstraţiile.
Metoda Inductivă poate fi folosită în cadrul demonstratorului de teoreme Isabelle deoarece acesta
oferă un foarte bun suport pentru mulţimile definite inductiv, simplificări eficiente prin reguli de
rescriere condiţionale şi împărţiri automate pe cazuri pentru expresiile if-the-else.
Demonstrarea teoremelor este dificilă şi necesită multă experienţă din partea celui care doreşte să
realizeze demonstraţia. Analiza unui sistem în Isabelle începe cu dezvoltarea unei teorii care cuprinde
specificarea sistemului şi teoremele necesare analizei. Distribuţiile de Isabelle cuprind o serie de astfel
de teorii deja dezvoltate care au fost utilizate şi pentru verificarea protocolului din cadrul lucrării.
2.2 Modelarea protocoalelor de securitate
2.2.1 Agenţii
Metoda Inductivă nu are restristricţii referitoare la numărul de agenţi care pot executa un protocol.
În modelarea formală a protocoalelor de securitate se utilizează tipuri de agenţi: cei oneşti care vor fi
notaţi cu Friend i (i număr natural), intrusul care va fi notat cu Spy şi serverul notat S sau Server.
Agenţii compromişi vor fi sun modelaţi printr-o mulţime va fi notată cu bad şi se consideră că atacatorul
face parte din această mulţime.
2.2.2 Cheile criptografice
Pentru a modela formal cheile criptografice se introduce un nou tip key. Metoda Inductivă permite
modelarea atât a cheilor simetrice cât şi a celor asimetrice
2.2.3 Mesajele
Tipul de date pentru mesaje va fi notat cu msg. Mesajele pot conţine nume de agenţi, nonceuri şi
chei criptografice. Mesajele pot fi create din concatenarea mai multor mesaje folosind constructorul
MPair; rezumatul unui mesaj se obţine cu ajutorul operatorului Hash, iar criptarea unui mesaj se va face
cu ajutorul constructorului Crypt folosind o cheie de criptare simetrică sau asimetrică. Criptarea se
presupune a fi perfectă deci nu există nici o modalitate de a obţine plaintextul dintr-un criptotext fără a
şti cheia de criptare.
2.2.4 Evenimente
Tipul de date pentru evenimente permite formalizarea evenimentelor de transmitere (Says),
recepţie (Gets) şi memorare a mesajelor (Notes).
5
2.2.5 Urme
Urmele protocolului sunt liste de evenimente de lungime variabilă pe baza cărora se va construi
modelul protocolului şi care vor fi utilizate în verifiarea proprietăţilor. O urmă poate fi utilizată pentru a
înregistra toate evenimentele care au loc de-a lungul unei istorii a reţelei în care se execută protocolul.
Un eveniment poate fi declanşat de un număr indefinit de ori într-o urmă şi este foarte important ca
modelul protocolului să considere toate urmele posibile.
2.2.6 Modelul intrusului
Atunci când analizăm protocoale de securitate este foarte important să se considere un model
realist pentru vulnerabilităţi. În cazul Metodei Inductive se consideră modelul Dolev-Yao, în care
modelarea şi verificarea protocoalelor de securitate presupune ipoteza criptografiei perfecte. Conform
acestei presupuneri atacatorul este înregistrat ca şi un agent onest capabil să controleze mediul, adică
poate intercepta toate mesajele şi poate împiedica transmiterea lor către destinatar dar nu poate obţine
nici o informaţie dintr-un mesaj dacă nu cunoaşte cheia de decriptare
Pentru a respecta aceste cerinţe este necesară formalizarea cunoştinţelor atacatorului. Pentru a
specifica cunoştinţele iniţiale ale agenţilor Metoda Inductivă include funcţia initState şi acestea
trebuie specificate în funcţie de tipurile agenţilor.Pentru formalizarea cunoştinţelor pe care intrusul le
obţine din observarea urmelor protocolului Paulson propune funcţia spies. Aceste cunoştinţe sunt
formate din starea sa iniţială, toate mesajele trimise de orice agent şi toate mesajele memorate de
agenţii compromişi.
2.2.7 Operatori
Pentru mulţimile de mesaje se introduc trei operatori: parts, analz şi synth. Operatorul analz se
foloseşte pentru a modela descompunerea mesajelor. Operatorul synth se foloseşte atunci când se
construiesc mesaje din componentele cunoscute.
Mulţimea synth(analz(spies evs)) reprezintă mulţimea tuturor mesajelor pe care intrusul le poate
crea prin concatenarea şi criptarea componentelor derivate din observarea urmei evs.
Operatorul parts se foloseşte pentru extragerea tuturor componentelor unei mulţimi de mesaje
prin proiecţie şi decriptare. Spre deosebire de funcţia analz, parts nu necesită cunoaşterea cheii de
decriptare.
Noutatea este importantă atunci când generăm nonceuri sau chei de sesiune. Pentru a ajuta la
formalizarea acestui concept Metoda Inductivă introduce funcţia used care reprezintă mulţimea tuturor
componentelor care fac parte din cunoştinţele iniţiale ale agenţilor împreună cu toate componentele
mesajelor care apar într-o urmă.
2.2.8 Modelarea protocolului
Modelarea formală a unui protocol se face printr-o mulţime definită inductiv de liste de
evenimente (urme ale protocolului), fiecare descriind o posibilă istorie a reţelei în care protocolul este
rulat. Pentru a modela formal un protocol trebuie să specificăm regulile de construcţie a acestei mulţimi.
Regula Nil defineşte cazul de bază specificând faptul că urma vidă aparţine modelului. Fiecare pas din
protocol este formalizat printr-o regulă inductivă care specifică cum se extinde o anumită urmă prin
evenimentul de tip Says care descrie acel pas din protocol. Comportamentul unui posibil atacator este
6
modelat printr-o altă regulă numită Fake, care formalizează faptul că acesta poate trimite orice mesaj pe
care îl poate crea din componentele pe care le cunoaşte.
2.2.9 Modelarea mărcilor de timp
Bella în *5+ propune o extensie a Metodei Inductive care permite modelarea mărcilor de timp
(timestamps) în formalizarea mesajelor. Mărcile de timp sunt numere care marchează o anumită
instanţă de timp şi care permit evitarea atacurilor de tip reluare. Pentru a modela aceste numere avem
nevoie de noi construcţii. Tipul de date msg este extins cu constructorul Number iar mărcile de timp T vor
fi reprezentate într-un mesaj prin componenta Number T.
2.3 Modelarea protocoalelor bazate pe smart carduri
Smart cardurile întăresc obiectivele protocoalelor care le utilizează, dar acest lucru trebuie
demonstrat formal. Metoda Inductivă propusă de Paulson în *3+ poate fi adaptată conform *2+ pentru a
verifica corectitudinea protocoalelor bazate pe smart carduri. În analiza acestor protocoale de securitate
bazate pe smart carduri, diverşi factori pot influenţa evoluţia protocolului, de aceea este important ca
atunci când modelăm să luăm în calcul tipul cardului, dacă este cu PIN sau fară, şi mediul de execuţie
adică dacă intrusul poate intercepta mesajele care sunt transmise între card şi posesorul acestuia.
2.3.1 Smart Cardurile
Abordarea propusă presupune modelarea funcţionalităţii smart cardurilor şi nu a modului în care
sunt implementate protocoalele. Pentru aceasta se introduce un nou tip card, iar pentru a specifica că
fiecare agent deţine un card vom declara o funcţie injectivă card.Agenţii interacţionează cu propriile
carduri prin transmiterea de inputuri şi recepţionarea de outputuri de la acestea.
2.3.1.1 Vulnerabilităţi
Tipurile de vulnerabilităţi considerate de către Bella în analiza protocolului creat de Shoup şi Rubin
sunt: furtul, clonarea, clonarea fără furt aparent, defecţiuni ale magistralelor de date, defecţiuni interne.
Acestea vor fi considerate şi pentru protocolul propus de Bakker analizat în cadrul lucrării.
2.3.1.2 Utilizarea cardului
Agenţii oneşti pot utiliza propriile cardurile doar legal. Atacatorul utilizează cardurile furate sau
clonate ilegal şi propriul card în mod legal.
2.3.1.3 Secrete
Deoarece ne interesează doar partea operaţională, vom modela doar cum secretele sunt utilizate şi
cine le cunoaşte. De obicei pe smart carduri se stochează 2 chei simetrice: PIN-ul şi cheia cardului.
În cazul protocoalelor de distribuţie de chei, fiecare card stochează şi o cheie a posesorului, care nu
este cunoscută de acesta ca în cazul protocoalelor.
2.3.2 Evenimente
Abordarea propusă de Bella în *2+ extinde tipul de date pentru evenimente propus de Paulson cu 4
noi construcţii care permit modelarea interacţiunii cu cardul. Agenţii pot trimite inputuri către card
(Inputs) şi cardurile să le recepţioneze (CGets). Cardurile pot trimite outputuri către agenţi (Outputs)
iar agenţii să le recepţioneze (AGets). Mesajele de pe reţea sunt transmise pe alte canale decât cele
pentru comunicarea dintre agenţi şi carduri, de aceea se face distincţia la recepţie.
7
2.3.3 Cunoştinţele agenţilor
În această secţiune este prezentat modul în care poate fi extinsă mulţimea cunoştinţelor iniţiale ale
ficărui agent. Pentru a modela cunoştinţele pe care agenţii le pot extrage din observarea traficului de pe
o anumită urmă, se introduce o nouă funcţie knows.
2.3.4 Modelul intrusului
Pentru protocoalele bazate pe smart carduri, pe lângă mesajele false pe care acesta le poate crea
cu ajutorul operatorilor synth şi analz, atacatorul trebuie să poată exploata utilizarea în mod ilegal a
cardurilor atunci când agenţii şi cardurile comunică prin mijloace nesigure. De exemplu să poată trimite
inputuri false către cardurile pe care le utilizează în mod ilegal dar şi outputuri false către agenţi
pretinzând că sunt din partea propriilor carduri.Dacă agenţii şi cardurile comunică prin mijloace sigure
atunci atacatorul nu poate trimite outputuri false către agenţi.
2.3.5 Modelarea formală a protocolalelor
Definirea modelului pentru protocoale bazate pe smart carduri necesită reguli adiţionale de
recepţie numai în cazul în care agenţii şi cardurile comunică prin mijloace nesigure. Aceste reguli nu sunt
forţate să se declanşeze, deoarece atacatorul ar putea împiedica transmiterea mesajelor. În cazul
mijloacelor de comunicare sigură recepţia este garantată.
Capitolul 3
Protocolul KLOMP Bakker propune în *8+ protocolul Klomp ca soluţie pentru securizarea acestor tranzacţii din cadrul
comerţului electronic, fiind un protocol de autentificare şi distribuţie a cheilor bazat pe smart carduri şi
care utilizează tehnici de criptare care pot fi exportate legal. Acesta este derivat din familia de
protocoale KryptoKnight proiectată de IBM şi a fost testat pentru smart cardurile Dutch Chipper şi
ChipKnip care au deja funcţia de portofel electronic implementată.
Protocolul presupune că mijloacele de comunicare dintre smart card şi deţinătorul de card sunt
sigure deoarece cheile temporare care stau la baza cheii de sesiune sunt transmise în clar, iar smart
cardurile nu utilizează PIN-uri.
Descrierea protocolului şi explicaţiile fiecărui pas se regăsesc în lucrare.
Capitolul 4
Analiza protocolului KLOMP
4.1 Modelarea protocolului În această parte a lucrării sunt prezentate componentele esenţiale necesare modelării protocolului
(agenţi, chei şi funcţii utilizate, cunoştinţe iniţiale etc.). Fiecare pas din protocol şi fiecare vulnerabilitate
sunt formalizate printr-o regulă inductivă descrisă în amănunt în această secţiune.
4.2 Verificarea protocolului Proprietăţile protocolului şi ale modelului sunt specificate prin teoreme care sunt verificate cu
ajutorului demonstratorului Isabelle pentru fiecare pas din protocol. În primul rând se verifică
consistenţa modelului prin analizarea:
Corectitudinii modelului pentru protocolul Klomp
8
Corectitudinii modelării serverului
Corectitudinii modelării modului în care sunt utilizate cardurile
Corectitudinii modelării outputurilor cardurilor
Corectitudinii modelării inputurilor agenţilor oneşti
Verificarea protocolului constă în studierea proprietăţilor acestuia de autentificare şi distribuţie a
cheilor, unicitate, integritate şi confidenţialitate.
În urma analizei am descoperit că protocolul încalcă unul din principiile fundamentale ale
construcţiei protocoalelor de securitate şi anume:comunicarea explicită. Soluţia la această problemă se
găseşte în lucrare în acest capitol. Această vulnerabilitate ar putea conduce la erori de asociere a cheilor
dacă smart cardurile nu ar funcţiona corect, ca de exemplu în cazul în care apar defecte ale magistralelor
de date sau eventual coruperi ale acestora în faza de fabricare a cardului.
Concluzii Analiza protocoalelor de securitate este fundamentală înainte ca acestea să fie utilizate în practică
iar în lucrare arăt că Metoda Inductivă poate fi utilizată cu succes pentru demonstrarea formală a
corectitudinii protocoalelor de securitate. Această metodă permite extinderea cu uşurinţă în funcţie de
modelarea diferitelor sisteme din lumea reală.
Analizând protocolul Klomp am descoperit că smart cardurile sunt o soluţie eficientă pentru
protejarea datelor transmise în cadrul sesiunilor de comunicare, oferind un mod sigur de a stoca
informaţii secrete pe termen lung, dar trebuie ţinut cont de principiile de construcţie prudentă a
protocoalelor de securitate dacă dorim să beneficiem de aceste avantaje.
Bibliografie
[1] M. Abadi, M. Burrows, C. Kaufman, and B.
Lampson. Authentication and Delegation with
Smart-cards. Research Report 125, Digital -
Systems Research Center, 1994.
[2] G. Bella. Inductive Verification of Smart Card
Protocols. Journal of Computer Security,
11(1):87-123,2003.
[3] L. C. Paulson. The Inductive Approach to
Verifying Cryptographic Protocols. Journal of
Computer Security, 6:85-128, 1998.
[4] M. Abadi, R. M. Needham. Prudent
engineering practice for cryptographic
protocols. IEEE Transactions on Software
Engineering, 22(2):6-15, 1996.
[5] G. Bella. Formal Correctness of Security
Protocols, Springer, 2007.
[6] M. Bellare and P. Rogaway. Provably Secure
Session Key Distribution - the Three Party Case.
Proc. Of 27th ACM SIGACT Symposium on
Theory of Computing, 57-66, ACM Press and
Addison Wesley, 1995.
[7] V. Shoup and A. Rubin. Session Key
Distribution using Smart Cards, In U. Maurer,
editor. Advanced in Cryptology - EuroCrypt'96,
LNCS 1070, 321-331, Springer-Verlag, 1996.
[8] B. Bakker. Mutual Authentication with Smart
Cards. Proceedings of the USENIX Workshop on
Smartcard Technology on USENIX Workshop on
Smartcard Technology, Berkeley: USENIX
Association, 1999.