28
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)

4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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)

Page 2: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 3: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 4: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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)

Page 5: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 6: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 7: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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)

Page 8: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 9: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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)

Page 10: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 11: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 12: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 13: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 14: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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:

Page 15: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 16: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 17: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 18: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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:

Page 19: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 20: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 21: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 22: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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)

Page 23: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 24: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

TPI- curs 6

Exemplu

Imagine

originală

Imagine

criptată

AES

Page 25: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 26: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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

Page 27: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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ă.

Page 28: 4.1 Introducere. Clasificare - utcluj.roares.utcluj.ro/tpi_2017_files/curs6.pdf · TPI- curs 6 4 Tehnici de criptare a informaţiei 4.1 Introducere. Clasificare Criptare: procesul

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