30
Rinktiniai informacijos saugos skyriai 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, Viešųjų raktų infrastruktūra, Kriptografiniai protokolai

6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

Rinktiniai informacijos saugos skyriai

6. Kriptografija ir kriptografijos protokolai:Skaitmeninis parašas, Viešųjų raktų infrastruktūra, Kriptografiniai protokolai

Page 2: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

2

Paskaitos tikslai

Šioje temoje nagrinėjami klausimai:

Skaitmeninis parašas Viešųjų raktų infrastruktūra: sertifikavimo centrai, sertifikatai Elektroninis vokas Kriptografiniai protokolai

Page 3: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

3

Kriptografijos uždaviniai ir priemonės (priminimas)

Slaptumas (konfidencialumas, angl. confidentiality) Šifravimas

Vientisumas (integralumas, angl. integrity) Kriptografinės maišos funkcijos Skaitmeninis parašas

Autentiškumas (tapatumo nustatymas, angl. authenticity) MAC Skaitmeninis parašas

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

Page 4: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

4

Parašas

Parašo pavyzdžiai. Asmuo sumoka kortele ir pasirašo pirkimo čekį. Pardavėjas

patikrina, ar pirkėjo parašas ant čekio sutampa su jo parašu ant kortelės.

Sutartys turi būti pasirašytos, kad įsigaliotų.

Ar galime turėti analogišką mechanizmą elektroniniame pasaulyje?

Page 5: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

5

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ą (MAC pastarojo neužtikrina).

Page 6: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

6

Skaitmeninio parašo naudojimas: schema [Sta07]

Page 7: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

7

Skaitmeninis parašas ir maišos funkcijos

Paprastai skaitmeninis parašas naudojamas kartu su kriptografinėmis maišos funkcijomis: pasirašomas ne pats pranešimas, o pranešimo santrauka.

Page 8: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

8

Paprasto parašo ir skaitmeninio parašo palyginimas

Priklausymas: Paprastas parašas yra pačiame dokumente. Skaitmeninis parašas yra atskiras „dokumentas“. Jis gali būti

siunčiamas atskirai nuo pasirašyto dokumento. Patikrinimo metodas:

Paprastas parašas: palyginti parašą dokumente su parašo pavyzdžiu. Skaitmeninis parašas: nereikia saugoti parašo pavyzdžio.

Santykis su dokumentu: Paprastas parašas: tuo pačiu parašu pasirašoma daugybė dokumentų. Skaitmeninis parašas: kiekvieno dokumento parašas yra kitoks.

Page 9: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

9

RSA skaitmeninio parašo schema

Kai kurios viešojo rakto kriptosistemos gali būti naudojamos kaip skaitmeninio parašo schemos.

Privatusis raktas naudojamas pasirašymui, viešasis – parašo patikrinimui.

Pavyzdys. Tokiu būdu ir RSA kriptosistema gali būti naudojama kaip skaitmeninio parašo schema.

Ir dėl saugumo, ir dėl teisinių aspektų, parašo schemoje reikėtų naudoti ne tą pačią raktų porą, kuri naudojama šifravimui.

Page 10: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

10

Kitos skaitmeninio parašo schemos (1)

Digital Signature Algorithm (DSA) Paskelbta 1991 m. 1993 m. JAV paskelbta standartu (Digital Signature Standard, DSS).

Tai pirmoji vyriausybiniu lygiu pripažinta skaitmeninių parašų schema.

Veiksmai atliekami su sveikaisiais skaičiais. Remiasi diskrečiojo logaritmo problema.

Elliptic Curve DSA (ECDSA) 2009 m. JAV paskelbta standartu kartu su DSA Analogiška DSA, tik veiksmai atliekami ne su sveikaisiais skaičiais,

o su elipsinės kreivės taškais. Tai leidžia naudoti trumpesnius raktus, išlaikant tą patį saugumo lygį.

Page 11: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

11

Kitos skaitmeninio parašo schemos (2)

ElGamal skaitmeninio parašo schema Paskelbta 1984 m. Irgi remiasi diskrečiojo logaritmo problema.

Schnorr’o skaitmeninio parašo schema Paskelbta 1989 m. Irgi remiasi diskrečiojo logaritmo problema.

Rabino skaitmeninio parašo schema Paskelbta 1979 m. Remiasi sveikųjų skaičių faktorizavimo problema.

Page 12: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

12

Viešojo rakto kriptografija: šifravimo ir parašo bendras naudojimas

Komunikacijoje dažniausiai vienu metu reikia: slaptumo užtikrinimo (reikia naudoti šifravimą), vientisumo bei autentiškumo užtikrinimo (reikia naudoti parašą).

Todėl kiekvienas komunikacijų dalyvis naudoja dvi skirtingas raktų poras: skirtą šifravimui (viešasis raktas) ir dešifravimui (privatusis raktas), skirtą pasirašymui (privatusis raktas) ir parašo tikrinimui (viešasis raktas).

Siuntėjas: pradžioje pasirašo pranešimą (savo privačiuoju raktu, skirtu pasirašymui), po to jį užšifruoja (gavėjo viešuoju raktu, skirtu šifravimui).

Gavėjas: pranešimą iš pradžių dešifruoja (savo dešifravimui skirtu privačiuoju raktu), paskui patikrina siuntėjo parašą (siuntėjo viešuoju raktu, skirtu parašo

tikrinimui).

Page 13: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

13

Kriptografijos priemonių suvestinė

Slaptojo rakto kriptografija

Viešojo rakto kriptografija

Slaptumas Srautiniai šifrai: RC4, A5/1, E0.Blokiniai šifrai + šifravimo režimai: AES

Viešojo rakto kriptosistemos: RSA

Vientisumas ir autentiškumas

MAC: HMAC Skaitmeninis parašas: RSA, DSA

Page 14: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

14

Viešieji raktai ir pasitikėjimas

Viešojo rakto kriptografijoje (šifravimo ir skaitmeninio parašo schemose) kiekvienas naudotojas turi privačiojo ir viešojo raktų porą. Algis, norėdamas išsiųsti pranešimą Birutei, šifruoja jį,

naudodamasis Birutės viešuoju raktu KVB. Algis, norėdamas įsitikinti, kad pranešimas tikrai atėjo iš Birutės,

patikrina skaitmeninį parašą naudodamasis Birutės viešuoju raktu KVB.

Klausimai: Kur ir kaip laikomi viešieji raktai? Kaip gauti viešąjį raktą? Iš kur Algis žino, kad KVB tikrai yra Birutės viešasis raktas? Tiksliau,

kodėl Algis tuo tiki?

Page 15: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

15

Viešųjų raktų platinimas

Viešas paskelbimas: naudotojai siunčia savo viešuosius raktus gavėjams arba visai bendruomenei iš karto.

Viešai prieinamas katalogas: didesnis saugumas, jei raktai registruojami viešajame kataloge.

Abu būdai turi trūkumų.

Page 16: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

16

Viešųjų raktų sertifikatai

Sertifikatas susieja subjektą su viešuoju raktu. Sertifikato turinys pasirašomas sertifikavimo centro

(Certificate Authority (CA)). Sertifikato turinį gali patikrinti bet kas, žinantis

sertifikavimo centro viešąjį raktą. Sertifikatai leidžia gauti viešąjį raktą neturint realaus laiko

prieigos prie sertifikavimo centro.

Page 17: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

17

X.509 sertifikatai

X.509 standartas yra dalis X.500 standarto. Apibrėžia viešųjų raktų infrastruktūrą (public key

infrastructure, PKI): Nustato, kad viešieji raktai laikomi kaip sertifikatai viešame

kataloge. Sertifikatai išduodami ir pasirašomi įstaigos, vadinamos

sertifikavimo centru (Certificate Authority (CA)).

Naudojamas daugelyje protokolų: SSL\TLS, IPsec, SET ir t. t.

Sukurtas 1988 m.

Page 18: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

18

X.509 sertifikatų struktūra

X.509 sertifikatus sudaro šie laukai: sertifikato versija (1, 2 arba 3), serijos numeris, skirtingas kiekvienam to paties CA išduodamam

sertifikatui, parašo algoritmo identifikatorius (nurodo algoritmą ir parametrus, kurie

buvo panaudoti sertifikato pasirašymui), sertifikatų centro X.500 formato vardas, galiojimo periodas (nuo kažkurios datos iki kažkurios datos), subjekto, kuriam išduotas sertifikatas, X.500 formato vardas, subjekto viešojo rakto informacija (algoritmas, parametrai, raktas), sertifikatų centro unikalus identifikatorius (nuo 2 versijos), subjekto unikalus identifikatorius (nuo 2 versijos), papildomi laukai (nuo 3 versijos), parašas (visų sertifikato laukų santraukos parašas).

Page 19: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

19

Kaip gauti sertifikatą?

Kiekvienas savo reikmėms gali sukurti savo sertifikavimo centrą (CA) (openssl ir kitos bibliotekos suteikia tam reikalingus įrankius). Daugelis kompanijų sukuria savo sertifikavimo centrus vidinėms

reikmėms.

Privatūs sertifikavimo centrai, pavyzdžiui, VeriSign, kurie teikia sertifikavimo paslaugas.

Pavyzdys. Pažiūrėkite, kurių sertifikavimo centrų sertifikatus saugo jūsų interneto naršyklė (pavyzdžiui, Mozilla Firefox: Options – Advanced – Certificates – View Certificates).

Page 20: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

20

Pavyzdys: Mozilla Firefox saugomi sertifikavimo centrų sertifikatai

Page 21: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

21

Sertifikatų galiojimas

Sertifikatas galiojantis, jei: sertifikavimo centro parašas yra galiojantis, sertifikato galiojimo laikas nepasibaigė, sertifikatas nebuvo atšauktas.

Sertifikatai gali būti atšaukti anksčiau laiko, jei: naudotojo privatusis raktas buvo sukompromituotas, naudotojas nebesinaudoja šio sertifikavimo centro paslaugomis, sertifikavimo centro sertifikatas buvo sukompromituotas.

Sertifikavimo centras palaiko atšauktų sertifikatų sąrašą: Certificate Revocation List (CRL).

Naudotojai turėtų atsižvelgti į tokius sąrašus.

Page 22: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

22

Sertifikavimo centrai ir pasitikėjimas

Sertifikatas galiojantis, jei CA parašas galiojantis. Gali būti sudaryta CA sertifikatų grandinė. Paskutinis grandinėje CA vadinamas šakniniu CA. Norint patikrinti skaitmeninį parašą, reikia gauti šakninio

CA viešąjį raktą. Pasitikėjimas yra centralizuotas (šakninių CA atžvilgiu) ir

hierarchinis.

Page 23: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

23

PGP sertifikatai

PGP (Pretty Good Privacy) yra saugaus elektroninio pašto programa.

Siunčiamas paštas šifruojamas ir pasirašomas. Kuo skiriasi nuo X.509 sertifikatų? Tuo, kaip valdomas

pasitikėjimas viešaisiais raktais. Pasitikėjimas nėra centralizuotas.

Page 24: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

24

Elektroninis vokas Slaptojo rakto (simetriniai) šifravimo algoritmai (AES,

IDEA ir t.t.) veikia dešimtis kartų greičiau, lyginant su viešojo rakto (asimetriniais) šifravimo algoritmais (RSA ir t.t.).

Todėl buvo sukurtos mišrios sistemos, kuriose naudojami abiejų tipų algoritmai: pranešimas šifruojamas simetriniu algoritmu, o slaptasis pranešimo raktas - asimetriniu.

Tokio tipo sistema vadinama elektroninio voko sistema.

Page 25: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

25

Elektroninio voko formavimo struktūrinė schema Slaptasis

raktas AESPranešimas

M

Parašas RSA

Viešasis gavėjo raktas RSA

Šifravimas AES

Privatusis siuntėjo raktas RSA

Maišos funkcija SHA-1

Šifravimas RSA

Užšifruotas pranešimas

Užšifruotas raktas AES

Skaitmeninis parašas RSA

Elektroninis vokas

.

Page 26: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

26

Kriptografiniai protokolai Kaip parodė teoriniai ir praktiniai tyrimai, kad kriptografiniai algoritmai užtikrintų reikalaujamą saugumą arba autentiškumą sistemoje, jų naudojimas turi būti reglamentuotas atitinkamomis taisyklėmis ir procedūromis, vadinamomis protokolais.

SSL/TLS SSH PCT SKIP PGP SET

Page 27: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

27

SSL/TLS veikimas

1. Klientas prisijungia prie serverio ir prašo jį identifikuotis. 2. Serveris siunčia klientui savo viešojo rakto sertifikatą.3. Klientas patikrina, ar , ar viešas raktas priklauso tam serveriui. 4. Tada klientas generuoja atsitiktinį seanso raktą ir siunčia jį

serveriui, užšifravęs serverio viešuoju raktu. 5. Serveris dešifruoja seanso raktą savo privačiuoju raktu ir naudoja

jį duomenų šifravimui seanso metu. Šis metodas naudojamas kliento-serverio autentifikavimui bei elektroninėje komercijoje.

Page 28: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

28

SSH programa

SSH (Secure Shell) — programa, skirta saugiai jungtis prie nutolusio kompiuterio per tinklą jame vykdyti komandas, kopijuoti failus iš vieno kompiuterio į kitą.

SSH atlieka griežtą autentifikavimą bei užtikrina saugų ryšį tarp kompiuterių, naudojantis nesaugiomis linijomis. Galima perdavinėti suspaustus duomenis.

Šifravimui naudojami AES, 3DES, Blowfish, Twofish ir kiti simetrinės kriptografijos algoritmai.

Raktų apsikeitimui naudojami RSA, DSA, ECDSA ir kiti viešojo rakto kriptografijos metodai.

Page 29: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

29

SET protokolas

SET (Secure Electronic Transaction) — protokolas, skirtas kredito kortelių transakcijų per Internetą aptarnavimui, vystomas VISA, MasterCard, IBM, Microsoft ir kitų kompanijų pastangomis.

Sudėtinga trišalė atsiskaitymų kontrolės sistema įtraukia pardavėją, pirkėją, banką, aptarnaujantį korteles, ir sertifikavimo centrą, kuris visus likusius dalyvius aprūpina sertifikatais.

Page 30: 6. Kriptografija ir kriptografijos protokolai: Skaitmeninis parašas, …skersys/17p/riss/konsp/06 - Kriptografija5... · 2017-05-18 · 3 Kriptografijos uždaviniai ir priemonės

Naudota literatūra

[Bis03] Matt Bishop. Computer Security: Art and Science. Addison-Wesley, 2003.

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