41
Rinktiniai informacijos saugos skyriai 2. Kriptografija ir kriptografijos protokolai: Įvadas

2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

  • Upload
    others

  • View
    20

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Rinktiniai informacijos saugos skyriai

2. Kriptografija ir kriptografijos protokolai:

Įvadas

Page 2: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Paskaitos tikslai

Šioje temoje nagrinėjami klausimai:

Pagrindinės kriptografijos sąvokos

Kriptosistemos:

– Simetrinės

– Viešojo rakto

Skaitmeninis parašas

Kriptografinės maišos funkcijos, MAC funkcijos

Pagrindinės kriptoanalizės sąvokos:

– Atakų rūšys

– Kriptosistemų saugumo vertinimas

Page 3: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Paskaitos tikslai

Šioje temoje nagrinėjami klausimai:

Pagrindinės kriptografijos sąvokos

Kriptosistemos:

– Simetrinės

– Viešojo rakto

Skaitmeninis parašas

Kriptografinės maišos funkcijos, MAC funkcijos

Pagrindinės kriptoanalizės sąvokos:

– Atakų rūšys

– Kriptosistemų saugumo vertinimas

Page 4: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

4

Kriptografijos veikėjai

Z (Zigmas, Eve)

A (Algis, Alice) B (Birutė, Bob)

Page 5: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

5

Kriptografijos uždaviniai ir priemonės

Slaptumas (konfidencialumas, angl. confidentiality)

Šifravimas

Vientisumas (integralumas, angl. integrity)

Kriptografinės maišos funkcijos, MAC funkcijos

Skaitmeninis parašas

Autentiškumas (tapatumo nustatymas, angl. authenticity)

MAC funkcijos

Skaitmeninis parašas

Neišsižadėjimas (angl. nonrepudiation)

Skaitmeninis parašas

Page 6: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

6

Kas yra kriptologija?

Kriptografija yra mokslas, sprendžiantis informacijos

apsaugos uždavinius matematiniais metodais.

Kriptoanalizė – tai kriptografinių apsaugos algoritmų

patikimumo vertinimo mokslas.

Steganografija nagrinėja metodus ir technologijas, skirtus

paslėpti informaciją.

Kriptologija = kriptografija + kriptoanalizė

(+ steganografija).

Page 7: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Paskaitos tikslai

Šioje temoje nagrinėjami klausimai:

Pagrindinės kriptografijos sąvokos

Kriptosistemos:

– Simetrinės

– Viešojo rakto

Skaitmeninis parašas

Kriptografinės maišos funkcijos, MAC funkcijos

Pagrindinės kriptoanalizės sąvokos:

– Atakų rūšys

– Kriptosistemų saugumo vertinimas

Page 8: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

8

Kriptografijos uždaviniai ir priemonės

Slaptumas (konfidencialumas, angl. confidentiality)

Šifravimas

Vientisumas (integralumas, angl. integrity)

Kriptografinės maišos funkcijos, MAC funkcijos

Skaitmeninis parašas

Autentiškumas (tapatumo nustatymas, angl. authenticity)

MAC funkcijos

Skaitmeninis parašas

Neišsižadėjimas (angl. nonrepudiation)

Skaitmeninis parašas

Page 9: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

kriptografija kriptografija

Šifravimas Dešifravimas

rltgaikklbaxh

raktas

(pradinis tekstas) (pradinis tekstas)

(šifruotas tekstas)

(bendras slaptas raktas)

Kriptosistemos schema

Šiame pavyzdyje šifruota Dellastelio skėlimo pusiau šifru (angl. Bifid cipher)

http://rumkin.com/tools/cipher/bifid.php

Page 10: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Terminai

M: pradinis (atviras, nešifruotas) tekstas (angl. plaintext) – pradinis pranešimas (duomenys, informacija), kurį siuntėjas nori perduoti gavėjui.

C: šifruotas tekstas (šifras, angl. ciphertext) – užšifruotas pranešimas (duomenys, informacija), t. y. toks, kurio prasmė paslėpta.

E: šifravimas (angl. encryption) – algoritmas šifruotam tekstui iš pradinio teksto gauti.

D: dešifravimas (angl. decryption) – algoritmas pradiniam tekstui iš šifruoto teksto atstatyti.

K: raktas (angl. key) – šifravimui ir dešifravimui naudojama papildoma informacija.

Kriptosistema (kriptografinė sistema, šifras, angl. cryptosystem, cipher) – šifravimo ir dešifravimo sistema, sudaryta iš aukščiau išvardintų dalių (pradinių tekstų aibės, šifruotų tekstų aibės, raktų aibės, šifravimo funkcijos ir dešifravimo funkcijos).

Page 11: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Kriptosistemų tipai

Simetrinės (slaptojo rakto) kriptosistemos.

Viešojo rakto (asimetrinės) kriptosistemos.

11

Page 12: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Simetrinės kriptosistemos

Dar vadinamos slaptojo rakto kriptosistemomis.

Iki 1976 metų tai buvo vienintelis būdas šifruoti.

Šifravimui ir dešifravimui naudojamas tas pats

raktas.

Raktas turi būti slaptas.

12

Page 13: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

13

Simetrinės kriptosistemos naudojimas (1)

Pranešimų

šaltinis

Šifravimas Dešifravimas Pranešimų

gavėjas

Raktų šaltinis

Saugus kanalas

M MC

K

K

M - pradinis pranešimas,

C - šifruotas pranešimas,

K - slaptasis šifravimo ir dešifravimo raktas.

Page 14: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

14

Simetrinės kriptosistemos naudojimas (2)

Slaptasis raktas K numatomam gavėjui turi būti siunčiamas

saugiu kanalu.

Pranešimų šaltinis pateikia pradinį tekstą M.

Šifravimo metu suformuojamas šifras C, kuris priklauso

nuo M ir K. Tai užrašysime taip:

C = E(M, K)

Dešifravimo metu atliekamas atvirkščias veiksmas. Tokiu

būdu gauname:

M = D(C, K)

Page 15: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Simetrinių kriptosistemų trūkumai

Saugaus raktų perdavimo problema. Raktui perduoti reikia saugaus kanalo.

Simetrinėje kriptosistemoje tas pats raktas, žinomas ir siuntėjui, ir gavėjui, naudojamas ir šifravimui, ir dešifravimui.

Raktas turi būti slaptas, nes tas, kas jį žino, gali dešifruoti pranešimus.

Raktų valdymo problema. Didėjant naudotojų skaičiui, reikiamų raktų kiekis didėja labai greitai: n naudotojų reikia n(n-1)/2 raktų, nes kiekviena siuntėjo-gavėjo pora privalo turėti skirtingą raktą.

Page 16: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Viešojo rakto kriptosistemos

Dar vadinamos asimetrinėmis kriptosistemomis.

Šifravimo ir dešifravimo raktai skirtingi.

Kiekvienas naudotojas turi raktų porą (KV, KP): KV yra viešasis raktas, skirtas šifravimui,

KP yra privatusis raktas, skirtas dešifravimui,

KV ≠ KP,

Juos sieja lygybė: D(E(M,KV),KP) = M kiekvienam pranešimui M.

Viešasis raktas gali būti skelbiamas viešai.

Bet kas gali užšifruoti (pasinaudodamas viešai skelbiamu viešuoju raktu), tik vienas gali dešifruoti (tas, kas žino privatųjį raktą).

Sunku rasti dešifravimo raktą, žinant šifravimo raktą.

16

Page 17: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

17

Viešojo rakto kriptosistemos naudojimas

Pranešimų

šaltinis

Šifravimas Dešifravimas Pranešimų

gavėjas

Privatusis

raktas

Viešųjų raktų

saugykla

M MC

KPBKVB

M – pradinis pranešimas,

C – šifruotas pranešimas,

KVB – viešasis pranešimų gavėjo (naudotojo B) raktas,

KPB – privatusis pranešimų gavėjo (naudotojo B) raktas.

Viešasis

raktas

Page 18: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Viešojo rakto ir simetrinių kriptosistemų

bendras naudojimas

Pagrindinis viešojo rakto kriptosistemų trūkumas, lyginant jas su simetrinėmis kriptosistemomis, yra žymiai mažesnis šifravimo ir dešifravimo greitis.

Todėl jos ne pakeičia simetrines kriptosistemas, o jas papildo.

Viešojo rakto ir simetrinės kriptosistemos naudojamos kartu:

Viešojo rakto kriptografija naudojama ryšio užmezgimo metu bendro sesijos rakto sugeneravimui.

Sesijos raktas naudojamas kaip simetrinės kriptosistemosraktas. Visi sesijos duomenys perduodami šifruojant simetrine kriptosistema.

Tokiu principu veikia tokie protokolai, kaip SSL/TLS, SSH ir t.t.

Page 19: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Paskaitos tikslai

Šioje temoje nagrinėjami klausimai:

Pagrindinės kriptografijos sąvokos

Kriptosistemos:

– Simetrinės

– Viešojo rakto

Skaitmeninis parašas

Kriptografinės maišos funkcijos, MAC funkcijos

Pagrindinės kriptoanalizės sąvokos:

– Atakų rūšys

– Kriptosistemų saugumo vertinimas

Page 20: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

20

Kriptografijos uždaviniai ir priemonės

Slaptumas (konfidencialumas, angl. confidentiality)

Šifravimas

Vientisumas (integralumas, angl. integrity)

Kriptografinės maišos funkcijos, MAC funkcijos

Skaitmeninis parašas

Autentiškumas (tapatumo nustatymas, angl. authenticity)

MAC funkcijos

Skaitmeninis parašas

Neišsižadėjimas (angl. nonrepudiation)

Skaitmeninis parašas

Page 21: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

21

Skaitmeninis parašas

Skaitmeninis parašas: duomenų blokas, susiejantis pranešimą (dokumentą) su siuntėju (pasirašančia esybe).

Tai viešojo rakto kriptografija:

Kiekvienas subjektas turi raktų porą: privatųjį, skirtą parašo sudarymui, ir viešąjį, skirtą parašo tikrinimui.

Skaitmeninio parašo schema:

pasirašymo (parašo sudarymo) algoritmas: pateikus pranešimą ir pasirašymo (privatųjį) raktą, išveda parašą,

parašo tikrinimo algoritmas: pateikus pranešimą, parašą, tikrinimo (viešąjį) raktą, išveda patvirtinimą arba paneigimą, kad parašas yra galiojantis.

Užtikrina:

Vientisumą,

Autentiškumą,

Neišsižadėjimą.

Page 22: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

22

Skaitmeninio parašo naudojimas [Sta07]

Page 23: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Paskaitos tikslai

Šioje temoje nagrinėjami klausimai:

Pagrindinės kriptografijos sąvokos

Kriptosistemos:

– Simetrinės

– Viešojo rakto

Skaitmeninis parašas

Kriptografinės maišos funkcijos, MAC funkcijos

Pagrindinės kriptoanalizės sąvokos:

– Atakų rūšys

– Kriptosistemų saugumo vertinimas

Page 24: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

24

Kriptografijos uždaviniai ir priemonės

Slaptumas (konfidencialumas, angl. confidentiality)

Šifravimas

Vientisumas (integralumas, angl. integrity)

Kriptografinės maišos funkcijos, MAC funkcijos

Skaitmeninis parašas

Autentiškumas (tapatumo nustatymas, angl. authenticity)

MAC funkcijos

Skaitmeninis parašas

Neišsižadėjimas (angl. nonrepudiation)

Skaitmeninis parašas

Page 25: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

25

Maišos funkcija ir santrauka

Pranešimo vientisumui užtikrinti naudojama pranešimo santrauka

(message digest, kartais dar vadinama Modification Detection Code

(MDC)).

Pranešimo santrauka skaičiuojama, naudojant maišos funkciją.

Pranešimo santrauka vadiname maišos funkcijos reikšmę.

Maišos funkcija (hash function) vadiname funkciją, kuri bet kokio

baigtinio ilgio ženklų eilutei priskiria fiksuoto ilgio eilutę.

Maišos funkcijos naudojamos ne tik informacijos vientisumo

patikrinimui, bet ir dokumento santraukai gauti skaitmeninio parašo

schemose, slaptažodžių saugojimui, paieškos raktų formavimui duomenų

bazėse ir panašiai.

Page 26: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

26

Santraukos ilgis yra fiksuotas

Pavyzdys. Skaičiuosime duoto pranešimo MD5 maišos funkcijos reikšmę:

Tuščias pranešimas:

d41d8cd98f00b204e9800998ecf8427e

A:

7fc56270e7a70fa81a5935b72eacbe29

Ilgesnis pranešimas iš kelių žodžių:

cd894604746deba896568cb8f2f6f197

3,5 MB dydžio failas:

9659f0218ab08598f7f53edec512479e

Page 27: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

27

Santraukos naudojimas vientisumui

užtikrinti: Schema

Pranešimas

Maišos funkcija

Santrauka

Algis Birutė

Pranešimas

Maišos funkcija Santrauka

Lygu? T

N

Priimti

Atmesti

Santrauka

Nesaugus

kanalas

Saugus

kanalas

Page 28: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

28

Maišos funkcijos ir autentiškumas

Reikia saugaus kanalo santraukai perduoti.

Saugus kanalas yra ne visada.

Tinka tik vientisumui patikrinti, bet ne autentiškumui, nes

nėra informacijos apie tai, kas yra pranešimo siuntėjas.

Maišos funkcijos yra viešos, todėl pranešimo santrauką

apskaičiuoti galėjo bet kas.

Ką daryti?

Naudoti raktus:

Pranešimo tapatumo nustatymo kodas (Message authentication

code, MAC).

Page 29: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

29

MAC

Pranešimo tapatumo nustatymo kodas (MAC) yra

funkcija, kurios reikšmė priklauso nuo pranešimo ir slapto

rakto.

Skirtumas tarp maišos funkcijos reikšmės (pranešimo

santraukos) ir MAC reikšmės yra tas, kad MAC priklauso ir

nuo slapto rakto, žinomo tik siuntėjui ir gavėjui (Algiui ir

Birutei).

MAC reikšmė leidžia patikrinti ir pranešimo vientisumą, ir

autentiškumą.

Page 30: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

30

MAC naudojimo schema

Page 31: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Paskaitos tikslai

Šioje temoje nagrinėjami klausimai:

Pagrindinės kriptografijos sąvokos

Kriptosistemos:

– Simetrinės

– Viešojo rakto

Skaitmeninis parašas

Kriptografinės maišos funkcijos, MAC funkcijos

Pagrindinės kriptoanalizės sąvokos:

– Atakų rūšys

– Kriptosistemų saugumo vertinimas

Page 32: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Kriptoanalizė

Kerckhoffo principas: priešininkas žino apie

kriptosistemą viską, išskyrus raktą.

Atakų rūšys:

kriptosistemų struktūros atakos;

kriptosistemų realizacijos (kanalo) atakos (angl. Side

channel attack);

protokolų atakos.

Page 33: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

33

Kriptosistemų struktūros atakų

klasifikacija [Sta07]

Tikslas: rasti dešifravimo raktą. Taip pat rasti ir pradinius tekstus, jei jie nežinomi.

Prielaida: šifravimo algoritmas yra žinomas.

Pavienių šifrų ataka (ciphertext-only attack).

Duota: šifruotų tekstų aibė.

Teksto-šifro porų ataka (known-plaintext attack).

Duota: pradinių tekstų ir atitinkamų šifruotų tekstų aibė.

Pasirinktų teksto-šifro porų ataka (chosen-plaintext attack). Duota: pradinių tekstų ir atitinkamų šifruotų tekstų aibė, kur pradinius tekstus

parinko pats kriptoanalitikas.

Adaptyvi pasirinktų teksto-šifro porų ataka (adaptive-chosen-plaintext attack).

Duota: pradinių tekstų ir atitinkamų šifruotų tekstų aibė, kur pradinius tekstus parinko pats kriptoanalitikas, atsižvelgdamas į anksčiau atliktų atakų rezultatus.

Pasirinktų šifrų ataka (chosen-ciphertext attack).

Duota: pradinių tekstų ir atitinkamų šifruotų tekstų aibė, kur šifruotus tekstus parinko pats kriptoanalitikas.

Page 34: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Perrinkimo ataka

(angl. brute force)

Duota: užšifruotas pranešimas.

Tikslas: rasti dešifravimo raktą.

Prielaidos:

algoritmas ir visų raktų aibė yra žinomi,

pradinius tekstus arba žinome, arba galime atpažinti.

Algoritmas: tiesiog bandome dešifruoti užšifruotą pranešimą visais įmanomais raktais kažkuria eilės tvarka. Jei gauname pradinį pranešimą, radome ieškomą raktą.

Tai paprasčiausia teksto-šifro porų ataka, jos sudėtingumas proporcingas raktų skaičiui.

Page 35: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Perrinkimo atakos vidutinis veikimo

laikas

Rakto ilgis (bitais)

Raktų skaičius Vidutinis įveikimo laikas (1 šifravimas/μs)

Vidutinis įveikimo laikas (106

šifravimų/μs)

32 232 4,3x109 231 μs 35,8 min 2,15 ms

56 256 7,2x1016 255 μs 1142 metai 10,01 h

128 2128 3,4x1038 2127 μs 5,4x1024

metų5,4x1018 metų

168 2168 3,7x1050 2167 μs 5,9x1036

metų5,9x1030 metų

26 raidės (keitinys)

26! 4x1026 2x1026 μs 6,4x1012

metų6,4x106 metų

Page 36: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Kriptosistemų realizacijos (kanalo)

atakos

Laiko matavimo ataka (angl. Timing attack)

Galios naudojimo stebėjimo ataka (angl. Power-

monitoring attack)

Elektromagnetinė ataka (angl. Electromagnetic attack)

Akustinė kriptanalizė (angl. Acoustic cryptanalysis)

Skirtuminė gedimų analizė (angl. Differential fault

analysis)

Liekamųjų duomenų ataka (angl. Data remanence)

RAM ataka (angl. Row hammer)

Page 37: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Protokolų atakos

Pavyzdys: tarpininko ataka (angl. Man-in-the-middle

attack)

Algis Birutė

Zigmas

Page 38: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Paskaitos tikslai

Šioje temoje nagrinėjami klausimai:

Pagrindinės kriptografijos sąvokos

Kriptosistemos:

– Simetrinės

– Viešojo rakto

Skaitmeninis parašas

Kriptografinės maišos funkcijos, MAC funkcijos

Pagrindinės kriptoanalizės sąvokos:

– Atakų rūšys

– Kriptosistemų saugumo vertinimas

Page 39: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

39

Kriptosistemų saugumo vertinimas (1) [Sta07]

Kriptosistema vadinama besąlygiškai saugia (unconditional security),

jei net ir turėdamas beribius skaičiavimo išteklius kriptoanalitikas negali

be rakto iš šifro nustatyti, koks pranešimas buvo siųstas. Tai

griežčiausias saugios kriptosistemos apibrėžimas.

Kriptosistema vadinama saugia sudėtingumo teorijos požiūriu

(complexity-theoretic security), jei jos negali įveikti Zigmas, kurio

skaičiavimo resursai leidžia jam taikyti tik polinominio laiko algoritmus

(t. y. kai naudojamas laikas ir atmintis polinomiškai priklauso nuo

įvedamų duomenų dydžio).

Sakoma, kad kriptosistemos saugumas yra įrodomas (provable secu-

rity), jeigu galima įrodyti, kad sistemos įveikimas yra tolygus

matematinio (dažniausiai skaičių teorijos) uždavinio, kuris laikomas

sunkiu, sprendimui.

Page 40: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

40

Kriptosistemų saugumo vertinimas (2) [Sta07]

Kriptosistema vadinama skaičiavimų požiūriu saugia (computational

security), jeigu pasiektas skaičiavimų resursų lygis yra pernelyg žemas,

kad naudojant geriausias žinomas atakas, sistema būtų įveikta.

Pagaliau ad hoc saugia, arba euristiškai saugia, kriptosistema

vadinama tokia sistema, kurios saugumą patvirtina tam tikri dažnai

euristiniai argumentai. Suprantama, šis terminas tereiškia, kad

specialistai atliko tam tikrą sistemos analizę, tačiau įveikti

kriptosistemos nepavyko.

Įvertinti kriptosistemos saugumą - sudėtinga užduotis. Jokių bendrų

receptų jai spręsti nėra. Kriptografo žinių, patirties ir talento niekas

neatstos. Kriptografija yra modernus mokslas, tačiau, kaip ir senaisiais

laikais, ir menas.

Page 41: 2. Kriptografija ir kriptografijos protokolai: Įvadasskersys/18p/riss/konsp/02 - Kriptografija1 - Ivadas.pdf · VB M –pradinis pranešimas, C –šifruotas pranešimas, K VB –viešasispranešimųgavėjo(naudotojo

Naudota literatūra

[Gol05] D. Gollmann, Computer Security, 2nd edition,

John Wiley & Sons, 2005.

[PP07] Charles Pfleeger, Shari Lawrence Pfleeger.

Security in Computing, Fourth Edition. Prentice Hall,

2007.

[Ske16] G. Skersys. Diskrečioji matematika. Mokymo

priemonė, Vilnius, 2016 (V dalies 5 skyrius

„Kriptografija“), http://www.mif.vu.lt/~skersys/16r/dm/konsp.htm

[Sta07] V. Stakėnas. Kodai ir šifrai. TEV, Vilnius, 2007.