4.1 introducere. clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · tpi- curs 6 4...
Post on 03-Aug-2020
6 Views
Preview:
TRANSCRIPT
TPI- curs 6
4 Tehnici de criptare a informaţiei
4.1 Introducere. Clasificare
Criptare: procesul de conversie a datelor (fişiere, imagini, semnale),
într-un format neinteligibil pentru persoane neautorizate
- ca urmare a acestui tip de prelucrare un mesaj în clar (M –plaintext)
este transformat într-un mesaj criptat (C- ciphertext) cu ajutorul unei
chei de criptare şi (opţional) cu ajutorul unui algoritm criptografic
• Un sistem ce foloseşte criptare specifică:
-un algoritm de criptare E (primeşte ca parametri de intrare mesajul în
clar şi o cheie de criptare)
- un algoritm de decriptare D (primeşte ca parametri de intrare
mesajul criptat şi o cheie de criptare, posibil diferită de cea folosită la
criptare)
TPI- curs 6
• Schema bloc a unui sistem de criptare (criptosistem):
S E D
K
RM
Ke
M)C(DdK
Kd
Ke – cheie de criptare
Kd – cheie de decriptare
S – sursă
R – receptor
K – spaţiul cheilor de criptare
)(MECeK
TPI- curs 6
•Clasificarea criptosistemelor:
Criptosisteme
cu chei publice
(asimetrice)
cu chei simetrice
(cu cheie secretă)
Ke=Kd=K
cifruri bloc
n=32...128
cifruri secvenţiale
(stream ciphers)
de KK
M)C(D
)M(EC
d
e
K
K
Ke – cheie de criptare
Kd – cheie de decriptare
TPI- curs 6
•Criptosisteme cu chei simetrice
- cheile folosite la criptare şi decriptare sunt identice
KKK de
- cheia K este secretă - sisteme cu cheie secretă.
- criptarea şi decriptarea se realizează extrem de simplu dacă
se cunoaşte cheia K:
MEC K
MEDCDM KKK
- în funcţie de algoritmul folosit, criptosistemele cu chei simetrice se
clasifică în:
- criptosisteme cu cifruri block (block ciphers)
- criptosisteme cu cifruri secvenţiale (stream ciphers)
TPI- curs 6
-cifrurile bloc operează pe subdiviziuni ale mesajului în clar (lungimi
tipice 32- 128) iar blocurile de intrare se procesează individual prin
operaţii elementare de substituţie şi permutare
- pot opera şi pe blocuri multiple- sunt (în general) construite
pornind o structură canonică (cifru
Feistel)
- mesaj în clar de lungime 2w
- algoritmul se aplică de m ori
iterativ (tipic m=8,16)
KKi subchei (generate din K)
F- defineşte modul de substituţie
funcţie de subcheia curentă
mesaj în clar (2L biţi)
mesaj criptat (2L biţi)
iteraţia 1
iteraţia 2
iteraţia m
TPI- curs 6
- decriptarea se face prin prelucrare inversă:
mesaj criptat (2L biţi)
iteraţia 1
iteraţia 2
iteraţia m
- exemple de cifruri bloc – DES (Data Encryption Standard), IDEA
(International Data Encryption Algorithm), AES (Advanced
Encryption Standard
TPI- curs 6
- un cifru de tip Feistel foloseşte 2 operaţii criptografice de bază:
permutare şi substituţie
- operaţia de substituţie presupune înlocuirea unui caracter din
mesajul în clar cu un alt caracter în mesajul criptat. Substituţia nu
modifică proprietăţile statistice ale mesajului în clar; o simplă analiză
a frecvenţelor de apariţie a caracterelor poate conduce la spargerea
unui cifru construit doar pe baza acestei operaţii.
- operaţia de permutare presupune interschimbarea poziţiilor biţilor
dintr-un bloc criptat. Folosită în conjuncţie cu operaţia de substituţie,
poate masca proprietăţile statistice ale mesajului în clar
- în termeni criptografici operaţia de substituţie introduce confuzie iar
cea de permutare induce difuzie (împrăştierea modificărilor induse de
operația de confuzie pe un număr cît mai mare de biți)
TPI- curs 6
Exemplu
- frecvenţa de apariţie a literei B este aceeaşi cu a literei A; un atac de
tip forţă brută şi analiză de context poate fi utilizat pentru decriptarea
mesajului
ABA -> BCB
Fie mesajul în clar ABA. Un cifru de substituţie simplu poate fi
definit prin înlocuirea unei litere cu litera imediat următoare:
Proprietăţile statistice ale mesajului nu pot fi ascunse printr-o
permutare ce operează pe simboluri <2,1,3>
ABA -> BCB->CBB
- o permutare la nivel de bit poate fi folosită pentru modificarea
caracterelor din mesajul criptatABA -> BCB->42H 43H 42H
TPI- curs 6
- fie permutarea la nivel de bit definită de simpla inversare a biţilor
de pe poziţiile 7 cu 8 şi 14 cu 15
ABA -> BCB->42H 43H 42H -> 1000010 1000011 1000010
1000010 1000011 1000010 ->1000011 0000011 1000010
43H 03H 42H
- marea majoritate a cifrurilor bloc folosesc cele 2 operaţii în
structuri imbricate, numite reţele S-P (Substitution – Permutation
networks)
TPI- curs 6
- cifruri secvenţiale (stream ciphers): mesajul de la intrare este
considerat ca o succesiune continuă de simboluri iar criptarea
operează asupra mesajului în clar simbol cu simbol (tipic bit cu bit
prin operaţii de tip SAU exclusiv).
Algoritm A5 Algoritm A5
xor xorDate Signaling
/user dataMesaj criptat
Kc Kc
Staţi
Număr cadru
TDMA
Număr cadru
TDMA.
Secvenţă de criptareSecvenţă de criptareDate
Staţie de
bază
Staţie
mobilă
Exemplu – criptarea datelor în GSM
TPI- curs 6
4.2 Algoritmul de criptare AES
- standardizat de NIST (National Institute of Standards and
Technology -SUA)
- competiție internațională în 1997
- câștigător: cifrul Rijndael (John Daeman, Vincent Rijmen)
- AES – Advanced Encryption Standard
- substituție pentru DES (Data Encryption Standard) folosit peste 30
de ani ca standard de criptare
- operează pe blocuri de 128 de biți, operații orientate pe octet
- cheie de criptare de lungime 128,192 sau 256 de biți (doar 56 pentru
DES)
4.2.1 Introducere
- pentru o cheie de 128 biți numărul de combinații posibile: 3.4x1038
TPI- curs 6
4.2.2 Criptare și decriptare AES
Adunare cheie rundă
Substituție octeți
Rotire stga. rânduri
Amestec coloane
Adunare cheie rundă
Substituție octeți
Rotire stga. rânduri
Amestec coloane
Adunare cheie rundă
Substituție octeți
Adunare cheie rundă
Rotire stga. rânduri
Adunare cheie rundă
Substituție octeți inv.
Adunare cheie rundă
Rotire dpta. rânduri
Amestec coloane inv.
Adunare cheie rundă
Substituție octeți inv.
Rotire dpta. rânduri
Amestec coloane inv.
Rotire dpta. randuri
Substituție octeți inv.
Adunare cheie rundă
Runda 1
Runda 9
Runda 10
Runda 1
Runda 10
Runda 9
Cheie de criptare
w[0,3]
Expandare cheie
w[4,7]
w[36,39]
w[40,43]
Mesaj în clar Mesaj în clar
Mesaj criptat Mesaj criptat
TPI- curs 6
Terminologie și operații elementare AES
- Stare - variabilă reprezentată ca un tablou bidimensional de 4x4
octeți (pt chei de 128 biți) ce memorează blocul de date de 128 de biți
procesat . Fiecare element al matricii e un element din GF(28)
- Cheia cifrului AES – parametru de intrare reprezentat de asemenea
folosind un format de 4x4 octeți
Exemplu
Stare AES Cheie AES
TPI- curs 6
- Rundă AES - succesiune de operații asupra unei stări folosind
subchei de rundă distincte obținute în urma unei operații de
expandare a cheii inițiale
- expandare: generare de subchei diferite de aceeași lungime (128)
- utilizarea de runde multiple cu chei distincte îmbunătățeste
proprietățile de difuzie ale cifrului
- prin expandare cei 128 de biți ai chei sunt transformați în 1408 de
biți ce intervin în operații de tip SAU-EXCLUSIV
- toţi paşii algoritmului sunt publici: http://www.csrc.nist.gov/publications/fips/fips197/fips-197.pdf
wo w1 w2 w3 w4 w5 w6 w7... w40 w41 w42 w43 wj – 4 octeţicheie runda 1 cheie runda 2 cheie runda 10
- cheia expandată poate fi pusă sub forma:
TPI- curs 6
O rundă AES presupune efectuarea următoarele operaţii:
a) Substituţie octeţi- substituţie neliniară de octeţi ce lucrează independent pe
fiecare octet din variabila stare, folosind un tabel de substituţie
(cutie-S în terminologie AES).
Cutie S AES
95
2a
stare intrare
stare ieşire
TPI- curs 6
b) Rotire rânduri
ponm
lkji
hgfe
dcba
onmp
jilk
ehgf
dcbaRotire stânga 0 poziţii
Rotire stânga 1 poziţie
Rotire stânga 2 poziţii
Rotire stânga 3 poziţii
-asigură permutarea octeţilor pe liniile variabilei matriciale stare
-decriptarea presupune rotiri către dreapta
c) Amestec coloane
-fiecare coloană a variabilei stare este considerată un polinom de
gradul patru peste câmpul Galois GF(28)
- fiecare polinom, este înmulţit modulo x4 + 1, cu polinomul c(x)
= 3x3 + x2 + x + 2
TPI- curs 6
),,,( 3210 aaaaa 01
22
33)( axaxaxaxa
012
23
3)( cxcxcxcxc
012
25
56
6 ...)()()( bxbxbxbxbxcxaxb
4mod44 )1mod()1mod( ii xxxx
336 cab
32235 cacab
3122134 cacacab
332011022 cacacacab 10011 cacab
000 bab
2011022 cacacab
003122130 cacacacab
302112033 cacacacab
302112033 cacacacab
100132231 cacacacab
TPI- curs 6
-operaţia poate fi pusă în termeni de multiplicare matricială
3
2
1
0
0123
3012
2301
1230
3
2
1
0
a
a
a
a
cccc
cccc
cccc
cccc
b
b
b
b
-schematic, operaţia de amestec coloane presupune:
TPI- curs 6
-câmpul Galois GF(28) este generat de polinomul:
)100011011(1)( 348 binarxxxxxp
?24 D
3101100111)(mod
)(mod))((000000101101010024
4573578
2467
Bxxxxxpxxxx
xpxxxxxD
d) Adunare cheie rundă
-operaţie simplă de SAU EXCLUSIV efectuată pe coloane cu
cheile de rundă
wi wi+1 wi+2 wi+3
TPI- curs 6
Moduri de operare AES
-algoritmul de criptare AES poate opera în principal în 2 moduri
a) ECB - Electronic CodeBook - criptarea constă în procesarea
independentă a fiecărui bloc de 128 de biţi cu aceeaşi cheie de
criptare
Criptare
M1
C1
K
M1 M2 M3 MN
Criptare
M2
C2
K Criptare
MN
CN
K
Dezavantaje: mesaje în clar identice produc mesaje criptate identice;
metoda nu este sigură pentru secvenţe lungi de date. Un atacator
poate schimba de asemenea ordinea blocurilor criptate.
128
TPI- curs 6
b) CBC - Cipher Block Chaining Mode – fiecare bloc este criptat cu
aceeaşi cheie; metoda presupune suplimentar o operaţie SAU
EXCLUSIV între blocul criptat curent şi mesajul în clar următor.
Imagine
originală
Imagine
criptată ECB
Exemplu
TPI- curs 6
Criptare
M1
C1
K
M1 M2 M3 MN
Criptare
C2
K Criptare
MN
CN
K
128
M2 M3
Vector de
iniţializare
M2
- vector de iniţializare – asigură aleatorizarea în debutul procesului
de criptare CBC; în absenţa acestuia mesaje în clar identice ar
conduce la mesaje criptate identice
- vectorul de iniţializare trebuie transmis receptorului (de obicei în
mod EBC)
TPI- curs 6
- decriptare CBC:
Decriptare
M1
C1-1
K
Vector de
iniţializare
Decriptare
C1
K Decriptare
C1+1
K
M1-1 M1M1+1
- dezavantaj CBC – erorile apărute în procesul de transmisie într-un
bloc criptat afectează şi blocurile următoare
TPI- curs 6
Exemplu
Imagine
originală
Imagine
criptată
AES
TPI- curs 6
5 Tehnici de marcare transparentă a imaginilor şi a
semnalelor
- criptarea poate fi privită ca o soluţie pentru protecţia drepturilor de
autor
- dezavantajul major al unei astfel de abordări constă în faptul că de
îndată ce informaţia a fost decriptată aceasta poate fi copiată fără
restricţii
- tehnicile de marcare transparentă adresează această problemă prin
inserarea unei informaţii impercetibile pentru sistemul auditiv sau vizual
uman
- informaţia inserată poartă denumirea de watermark (marcaj)
- tehnicile de marcare transparentă inserează marcajul într-un semnal
gazdă de tip fişier, semnal audio, imagini statice sau secvenţe video
5.1 Introducere
TPI- curs 6
- utilizarea unei tehnici de watermarking în aplicaţii reale presupune
definirea a 2 operaţii pereche- inserarea marcajului şi extragerea
marcajului- şi, suplimentar, a unei operaţii de comparare în caz de
dispută
Date gazdăInserare
Date marcate
Marcaj
Date
marcate
Extragere
marcaj
Marcaj extras
Marcaj
original
DA
NU
TPI- curs 6
• Caracteristicile unui sistem de marcare transparentă
- transparenţă perceptuală: marcajul inserat nu trebuie să degradeze
în mod semnificativ calitatea datelor gazdă; marcajul inserat este
numit invizibil în acest caz şi se bazează pe incapacitatea
sistemului auditiv sau vizual uman de a detecta modificările aduse
prin inserarea acestuia
- robusteţe: marcajul trebuie să reziste la modificări neintenţionate
sau intenţionate (atacuri) realizate pentru înlăturarea acestuia.
Exemple:transformări geometrice, compresie, transformări
neliniare, scalare, etc.
- capacitatea marcajului: exprimă cantitatea de informaţie cuprinsă
în marcaj raportată la cea inclusă în datele gazdă.
TPI- curs 6
- modul de detecţie: detectarea marcajului la recepţie poate fi făcută
în prezenţa originalului sau în absenţa acestuia
• Aplicaţii tipice
- protecţia dreptului de autor: autorul introduce un marcaj cu
informaţii legate de dreptul său de proprietate
- protejarea la copiere: informaţie de marcaj inserată pentru
permiterea sau interzicerea dreptului de copiere
- amprentare : inserarea unor informaţii specifice în fiecare copie a
datelor originale
top related