Transcript PPT

Rinktiniai informacijos saugos skyriai
9. Kriptografija ir kriptografijos protokolai:
Skaitmeninis parašas, Viešųjų raktų
infrastruktūra, Kriptografiniai protokolai
Paskaitos tikslai
Šioje temoje nagrinėjami klausimai:

Skaitmeninis parašas

Viešųjų raktų infrastruktūra: sertifikavimo centrai, sertifikatai
Elektroninis vokas
Kriptografiniai protokolai


2
Kriptografijos uždaviniai ir priemonės
(priminimas)

Slaptumas (konfidencialumas, confidentiality)


Vientisumas (integralumas, integrity)



Kriptografinės maišos funkcijos
Skaitmeninis parašas
Autentiškumas (tapatumo nustatymas, authenticity)



Šifravimas
MAC
Skaitmeninis parašas
Neišsižadėjimas (nonrepudiation)

Skaitmeninis parašas
3
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?
4
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ą,
5

Neišsižadėjimą (MAC pastarojo neužtikrina).
Skaitmeninis parašas: schema [Sta07]
6
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.
7
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.
8
RSA skaitmeninio parašo schema




Dažna viešojo rakto kriptosistema gali būti perdirbta į
skaitmeninio parašo schemą.
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.
Laikoma, kad parašo schemoje reikėtų naudoti ne tą pačią
raktų porą, kaip šifravimui. Ir dėl saugumo, ir dėl teisinių
aspektų.
9
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į.
10
Kitos skaitmeninio parašo schemos (2)

ElGamal skaitmeninio parašo schema



Schnorr’o skaitmeninio parašo schema



Paskelbta 1984 m.
Irgi remiasi diskrečiojo logaritmo problema.
Paskelbta 1989 m.
Irgi remiasi diskrečiojo logaritmo problema.
Rabino skaitmeninio parašo schema


Paskelbta 1979 m.
Remiasi sveikųjų skaičių faktorizavimo problema.
11
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
12
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?
13
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ų.
14
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.
15
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, IPsec, SET ir t. t.
Sukurtas 1988 m.
16
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).
17
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.
Privatūs sertifikavimo centrai, pavyzdžiui, VeriSign, kurie
teikia sertifikavimo paslaugas.
Pavyzdys. Pažiūrėkite, kokius sertifikatus priėmė jūsų
interneto naršyklė (pavyzdžiui, Mozilla Firefox: Options –
Advanced – Encryption – View Certificates).
18
Pavyzdys: Mozilla Firefox sertifikatai
19
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.
20
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.
21
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.
22
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.
23
.
Elektroninio voko formavimo struktūrinė
schema
Slaptasis
Pranešimas
raktas AES
Viešasis gavėjo
raktas RSA
M
Šifravimas
AES
Privatusis siuntėjo
raktas RSA
Šifravimas
RSA
Maišos funkcija
SHA-1
Parašas RSA
Užšifruotas pranešimas
Užšifruotas raktas AES
Skaitmeninis parašas RSA
Elektroninis vokas
24
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
25
SSL veikimas
1.
2.
3.
4.
5.
6.
7.
Klientas prisijungia prie serverio ir siunčia jam palaikomų šifravimo
algoritmų sąrašą.
Serveris atsako su algoritmo pavadinimu, savo viešuoju raktu, bendru
raktu bei maišos algoritmo pavadinimu.
Klientas gali patikrinti, ar viešas raktas priklauso tam serveriui.
Tada klientas generuoja atsitiktinį seanso raktą ir siunčia jį serveriui,
užšifravęs su serverio viešuoju raktu.
Serveris dešifruoja seanso raktą su savo privačiuoju raktu ir naudoja jį
duomenų šifravimui seanso metu.
Klientas patikrina serverį, siųsdamas jam atsitiktinę eilutę, šifruotą
seanso raktu.
Serveris patvirtina gavimą.
Šis metodas naudojamas kliento-serverio autentifikavimui bei
elektroninėje komercijoje.
26
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 DES, 3DES, IDEA arba Blowfish
algoritmai, raktų apsikeitimui — RSA metodas.
27
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.
28
Literatūra




[Gol05] D. Gollmann, Computer Security, 2nd
edition, John Wiley & Sons, 2005.
[Bis03] Matt Bishop. Computer Security: Art and
Science. Addison-Wesley, 2003.
[PP07] Charles Pfleeger, Shari Lawrence Pfleeger.
Security in Computing, Fourth Edition. Prentice
Hall, 2007.
[Sta07] V. Stakėnas. Kodai ir šifrai. TEV, Vilnius,
2007.
29