Documente Academic
Documente Profesional
Documente Cultură
Obiective centrale:
1) Confidentialitatea sau asigurarea faptului ca informatia ramane accesibila doar
partilor autorizate pentru aceasta. Se asigura prin functii de criptare simetrica sau
asimetrica.
2) Intregritatea se refera la asigurarea faptului ca informatia nu a fost alterata pe
parcursul transmisiei sau de catre un posibil atacator.
3) Autenticitatea are doua coordonate distincte: autentificarea entitatilor si
autentificarea informatiei. Autentificarea entitatilor se refera la existenta unei
1.1. Obiective de securitate, cadrul de lucru garantii cu privire la identitatea unei anume entitati. Autenticitatea informatiei se
refera la garantarea sursei de provenienta a informatiei – in mod implicit aceasta
garanteaza si integritatea informatiei. Se asigura prin coduri de autentificare a
mesajelor MAC.
4) Non-repudierea previne o entitate in a nega o actiune intreprinsa (actiune
materializata desigur in transmisia unei informatii). Se asigura prin utilizarea
semnaturilor digitale.
ADVERSAR
CANAL NESIGUR
Functii hash se noteaza H(x) - functie hash aplicata mesajului x. O functie hash
este o functie one-way (ireversibila) care primeste ca intrare mesaje de
dimensiune variabila si returneaza un mesaj de lungime fixa din care mesajul
initial nu poate fi recuperat, aceste primitive nu folosesc nici un fel de cheie. Cea
mai utilizata familie de functii hash este SHA (Secure Hash Algorithm) [FIPS
180-2, 2002] pentru care dimensiunea iesirii este 224, 256, 384, 512 biti 1.2.2 Functii criptografice cu cheie simetrica
indiferent de dimensiunea datelor de intrare.
In general fata de o functie hash se impun cerintele:
a) Rezistenta primara a imaginii (sau target collision resistance): avand H(x) gaseste
x
b) Rezistenta secundara a imaginii: avand x,H(x) gaseste x’ astfel incat H(x)=H(x’)
c) Rezistenta la coliziune: gaseste x, x’ astfel incat H(x)=H(x’)
Criptari simetrice
Criptari simetrice Sisteme criptografice care utilizeaza aceeasi cheie sau chei usor de calculat una
pe baza celelilalte pentru criptare si decriptare (cheia este referita ca cheie
secreta)
Doua principii constructive:
1) substituţia – inseamna inlocuirea unor simboluri sau grupuri de simboluri prin
alte simboluri sau grupuri de simboluri - creează confuzie
2) transpoziţia – inseamna amestecarea (permutarea) simbolurilor din cadrul unui
bloc creează difuziune
Doua clase de criptari simetrice:
1) coduri bloc - algoritmi de criptare care impart mesajul ce trebuie criptat in
blocuri de dimensiune fixa l si cripteaza un bloc la un momemt dat
2) coduri stream -algoritmi de criptare pentru care cripteaza „caracter cu caracter”
(practic lungimea blocului este 1, si transformarea de criptare se poate modifica
pentru fiecare caracter)
Exemplu: Codul Vernam (sau one-time pad) este un cod stream care presupune
utilizarea unei chei aleatoare k de aceeasi dimensiune cu a mesajului m, criptotextul
c este ci = mi XOR ki (se face XOR bit cu bit intre mesaj si cheie) (cheia nu poate fi
reutilizata pentru transmiterea altui mesaj)
Observatie: Se poate demonstra ca un sistem criptografic perfect, care sa nu poata fi
11 spart, necesita o cheie aleatoare de aceeasi dimensiune cu a mesajului 12
Reteaua Feistel si DES (primul standard in
AES (standardul curent in criptografia simetrica)
criptografia simetrica)
Codul Feistel este primul criptosistem simetric modern, marea parte a
criptosistemelor simetrice contemporane urmeaza principiile codului Feistel (retea
Feistel)
Reteaua Feistel aplica urmatoarele transformari asupra plaintext-ului: permutari (P- La nivelul anilor 2001 DES nu mai ofera securitatea necesara, pentru care, pe baza
boxes) pentru a crea difuzie, substitutii, pentru a crea confuzie (S-boxes) si operatii de concurs se alege un nou standard AES (Advanced Encryption Standard)
pe biti (XOR) in http://en.wikipedia.org/wiki/Feistel (in general este necesar un minim Din cei 5 finalisti: Rijndael, Serpent, Twofish, RC6 si MARS este ales candidatul
de 16 runde pentru securitate adecvata). Rijndael
Principii generale in reteaua Feistel: cu cat dimensiunea blocului, a cheii si numarul Rijndael este un cod bloc disponibil in 3 variante: 128, 192, 256 de biti. Descrierea
de runde creste, creste si securitatea respectiv scade viteza de criptare/decriptare, criptosistemului http://www.csrc.nist.gov/publications/fips/fips197/fips-197.pdf,
iar daca scad, scade si securitatea respectiv creste viteza de criptare/decriptare http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
Marele avantaj este ca criptarea si decriptarea se fac parcurgand aceeasi retea in Necesita doar 10-14 runde in functie de dimensiunea cheii, este sigur si rapid
sens invers Un singur dezavantaj: are un design extrem de exotic comparativ cu toate celelalte
DES (Data Encryption Standard) este primul standard simetric, valabil pana in 2001 criptosisteme simetrice, transformarea Rijndael este echivalenta cu o ecuatie
(in 1999 recomandat sub forma 3DES) algebrica destul de simpla (comprativ cu alte coduri) fata de care exista suspiciunea
DES este un cod simetric pe retea Feistel ca ar putea duce in viitor la o serie de atacuri
http://www.macfergus.com/pub/rdalgeq.pdf
DES transforma plain-text de 64 de biti in criptotext de 64 de biti, cheia DES are doar
56 de biti. Poate fi usor spart in prezent si este scos din uz. Continua sa existe sub
varianta 3DES care consta in aplicarea tranformarii DES de 3 ori si este pe 128 de
biti. Descrierea criptosistemului http://csrc.nist.gov/publications/fips/fips46-3/fips46-
3.pdf , http://en.wikipedia.org/wiki/Data_Encryption_Standard
13 14
15
Remarca: ( )
Z n ,⋅ formeaza un grup abelian (simbolul . denota inmultire)
*
⎪⎪ 1 1
i =1
Exemplu
⎪ ............
⎪ daca cmmdc( ni , n j ) = 1, ∀i ≠ j
⎪⎩ x = a3 mod nk
φ (n )
⇒x =x ≡ 1 mod 221∀x ∈ Z n*
k k
192 n
19 Agoritmul lui Gauss: solutia sistemului este x= ∑a N M
i =1
i i i mod n, n = ∏n , N
i =1
i i =
ni
, M i = N i−1 mod ni 20
1)
Ce nu se poate calcula eficient in Z n* ,⋅ (I)
Problema factorizarii intregului n (PFACT)
( )
Pentru un intreg n,
k
n = p1e1 ⋅ p2e2 ⋅ ... ⋅ pkek = ∏ piei
i =1
Problema Radacinii de ordin k in Zn
Definim functia: f : Z n* → Z n∗ , f (x ) = x k mod n
2) Problema radacinii patrate (PRP) se poate calcula eficient daca si numai daca
se cunoaste factorizarea lui n (problema calculului radacinii patrate este Daca k este relativ prim la Φ(n) are invers multplicativ modulo Φ(n):
echivalenta cu problema factorizarii lui n)
∃d a.i. d ⋅ k ≡ 1 mod φ (n )
Pentru un intreg x, a astfel incat x=a2modn In acest caz functia este inversabila si inversa este:
f −1 : Z n* → Z n∗ , f −1 (x ) = x d mod n
3) Problema radacinii de ordin ε (Problema RSA - RSAP), cmmdc(ε, Φ(n))=1 : se
poate calcula eficient daca se cunoaste factorizarea lui n (Nu exista nici o Calculul functiei inverse poate fi eficient facut daca se cunoaste factorizarea lui n,
demonstratie ca aceasta problema ar fi echivalenta problemei factorizarii) altfel nu se cunoaste nici o metoda eficienta de extragere a radacinii
( )
α
Definitie: Spunem ca problema P1 se reduce polinomial la P2 daca exista un algoritm 4) Calculeaza aα mod p m = δ ⋅ γ −1 mod p
A1 care rezolva P1 si care are ca subrutina un algoritm A2 care rezolva pe P2 iar A1 5) Cheia publica este a, a mod p, p iar cea privata este
α
Nivele de fraudare pentru semnaturi digitale Tipuri de atac asupra semnaturilor digitale
1) key-only – este atacul in care adversarul are acces doar la cheia publica, de
verificare, a semnaturii digitale
1) Falsificare existentiala (existential forgery) – un adversar poate falsifica cel putin 2) message attacks – sunt atacuri in care atacatorul are acces la mesaje semnate de
o semnatura dar nu are control total (sau deloc) asupra mesajului semnat entitatea posesoare a cheii private, se clasifica dupa cum urmeaza:
2) Falsificare selectiva (selective forgery) – un adversar poate falsifica o semnatura 2.1) known-message (sau known signature) – adversarul are acces la mesaje semnate
asupra unui anumit tip de mesaje la alegerea sa
de posesorul cheii private, dar aceste mesaje nu sunt la alegerea lui
3) Falsificare universala (universal forgery) – adversarul poate calcula semnaturi
digitale asupra oricarui mesaj cu toate ca nu cunoaste cheia cu care mesajele 2.2) chosen-message – adversarul poate obtine semnatura pentru un anumit numar de
sunt semnate mesaje la alegerea sa
4) Spargere totala (total break) - adversarul este in posesia cheii private si poate 2.3) adaptive chosen-message – adversarul obtine semnaturi digitale la alegerea sa
falsifica orice semnatura
pentru un anume set de mesaje iar acest lucru se desfasoara interactiv (posesorul
cheii private nu vrea sa semneze mesajul pentru care atacatorul doreste sa obtina
semnatura dar este dispus sa semneze orice alte mesaje pe baza carora
atacatorul reuseste sa construiasca semnatura)
33 34
39 40
E (m) = f ({m0 k1
}{ (
⊕ G ( r ) || r ⊕ H m0k1 ⊕ G ( r ) )})
G : {0,1} → {0,1} , H : {0,1} → {0,1} 0
k0 n + k1 n + k1 k
G si H sunt functii aleatoare (in practica ambele pot fi derivate dintr-o functie
hash, de exemplu SHA-x, in acest caz functiile devin pseudoaleatoare, dar
proprietatile de securitate par sa fie conservate)
41 42
f este o functie pe k biti, iar lungimea plaintextului m este n=k-k0-k1
Obiectivul Autentificarii
Importanta:
1) cel mai frecvent intalnit obiectiv de securitate – folosim protocoale de
autentificare aproape zilnic: citirea unui email, plata cu o carte de credit,
simple convorbiri telefonice
1.3. Protocoale Criptografice de 2) da un plus de valoare informatiei – informatia nu are valoare atata timp
cat nu exista o garantie asupra sursei sale de provenienta
Autentificare
44
Adv
ADVERSAR
Obiectivul autentificarii poate fi desfacut in trei obiective distincte:
1) Autentificarea Informatiei
2) Autentificarea Entitatilor
CANAL NESIGUR
A EMITATOR
(EXPEDITOR)
RECEPTOR
(DESTINATAR)
B
CANAL NESIGUR CANAL NESIGUR
PARTE DE INCREDERE
(ARBITRU)
T 45 46
47 48
Coduri MAC vs. Semnaturi Digitale O apreciere cantitativa asupra
Codurile MAC nu pot fi vazute ca si substituent pentru Semnaturi Digitale si nici
invers deoarece nu raspund aceluiasi obiectiv de securitate
cerintelor computationale
Totusi, deoarece ambele pot fi utilizate pentru garantarea autenticitatii, o
comparatie este utila
49 50
51 52
Natura implicarii partii terte – in partea terta trebuie avuta incredere ca pastrator al
What is your password?
confidentialitatii (securitate absoluta) sau doar asupra autenticitatii furnizata (securitate
functionala)
PAlice
Natura garantiilor de securitate – pe ce se bazeaza securitatea? Alice SYSTEM
Stocarea secretelor – unde trebuie stocate secretele: pe un dispozitiv fizic, memorate etc. SYSTEM VERIFIES RECEIVED
PASSWORDS AND GRANTS/
DENY ACCESS
ACCORDINGLY
53 54
Modul de stocare al parolelor
Parole fixe - Avantaje
In fisiere de parole – presupune stocarea parolei in plaintext intr-un fisier de parole.
Fisierul este protejat la citire si scriere. Dezavataj: nu prezinta securitate in fata Usor de implementat (ca protocol de autentificare)
utilizatorilor privilegiati pentru a citi fisierul Sunt usor de memorat pentru oameni
In fisiere “criptate” – presupune stocarea parolei intr-un fisier “criptat”, in acest caz
fisierul trebuie protejat doar la scriere.
55 56
57 58
Fiecare element din lant joaca rol de parola Exista o singura propunere de utilizare – sistemul S-Key [Haller, 1995]
Poate fi spart printr-un atac de tip pre-play – un adversar poate impersona sistemul
si poate captura parole inca nefolosite trimise de utilizator
Dezavantajul schemei Lamport – nu ofera autentificare mutuala
61 62
63 64
65 66
Varianta 1 (poate si sparta) Atac prin reflexie asupra Variantei 1
A si B cunosc o cheie secreta k (rA reprezinta un numar aleator generat de A)
1. A→Adv(B): rA
67 68
69 70
73 74
A→B: EPbB(rA, A)
B→A: EPbA(rA, rB)
A→B: rB
75 76
Cazul 1: Adv(A) poate selecta r, calculeaza x=r2/v si raspunde cu y=r – acesta este
un raspuns corect pentru cazul in care e=1 dar daca e=0 atunci Adv(A) trebuie sa
calculeze radacina patrata a lui x, ceea ce este nefezabil
Cazul 2: Adv(A) poate raspunde corect in cazul in care e=0 daca calculeaza x=r2
mod n dar in acest caz nu mai poate raspunde la e=1 pentru ca din nou trebuie sa
poata calcula o radacina patrata
Argument intuitiv pentru faptul ca este autentificare z-k: orice adversar poate simula
valori corecte raspuns, dar nu poate poate sa raspunda in fata unei provocari real-
time decat cu probabilitate (½)k
81