e-gradiva          SERŠ Maribor O projektu Besednjak
  logotip  
Osnove |  Skladi |  Topologije |  Mediji |  Pristopne |  LAN |  Omrežni |  Transportni |  Povezovanje |  Varnost |  Storitve |  Varnost |  Sistemi |  Strežniki

Varovanje E–pošte

Ključi

Kriptografija

E–podpis

Varnost in uporaba ključev

V tej učni vsebini boste spoznali:

Varne komunikacije v omrezju internet

Prvi protokoli, ki so jih razvili za prenos podatkov in jih uporabljamo še danes ne zagotavljajo varnosti podatkov, ki se prenašajo po omrežju. Prav tako brez dodatnih mehanizmov ne moremo biti prepričani, ali je prejeto sporočilo res napisal tisti, od katerega smo sporočilo dobili.

Da se izognemo neprijetnim dilemam ali pa težavam "odtekanja" podatkov, ki so osebne ali pa celo zaupne narave uporabljamo identifikacijske postopke (digitalni certifikati in digitalni podpisi), s katerimi preverimo strežnike, o pristnosti podatkov se prepričamo z avtentifikacijskimi postopki in podatke pred nepoklicanimi zavarujemo s tajnopisnimi (kriptografskimi) metodami.

Osnova varne izmenjave podatkov v omrežju internet so torej tajnopisni algoritmi. Na podlagi teh algoritmov so zasnovani protokoli za varno povezovanje računalnikov in varovanje podatkov.

Eden takih je protokol SSL (Secure Socket Layer), ki se uporablja za varovanje podatkov, ki se pretakajo med spletnimi strežniki in odjemalci.V tem primeru se protokol http nadomesti s protokolom https. Drugi protokol SSH (Secure Shell), je širše zastavljen, saj varuje različne servise na Internetu (telnet, ftp, in ppp na splošno)

Če gornje razmipljanje strnemo ugotovimo, da lahko s pomočjo kriptografije dosežemo dve lastnosti prenesenih podatkov (dokumentov): enkripcijo in digitalni podpis.

enkripcija
Namenjena je varovanju vsebine podatkov. Poslano sporočil, kodirano po asimetričnem postopku, lahko pprebere samo prejemnik. Pošlje pa kdorkoli in se izdaja za nekoga drugega.
digitalni podpis
Namenjen je dokazovanju verodostojnosti sporočila in istovetnosti njegovega avtorja. Prejeto sporočilo je sigurno od podpisanega pošiljatelja. Digitalni podpis je pravno veljaven, kot lastnoročni podpis. Še ene lastnosti sporočila z digitalnim podpisom ne smemo prezreti: prebere ga lahko kdorkoli, ki sporočilo ima.

Enkripcija podatkov

Encrypt pomeni prikrivalni postopek. Z enkripcijo varujemo podatke, ki jih želimo prenašati po omrežju.

Podatki lahko doživljajo dve vrsti napadov – pasivne in aktivne.

Pasivni napadi ne spreminjajo podatkov in načeloma ne puščajo sledi. Omejujejo se na prisluškovanje (prestrezanje sporočil).

Pri aktivnem napadu pa pride do spreminjanja sporočil, brisanja sporočil in dodajanja sporočil, v katerih poskuša slepar preslepiti naslovnika, da je nekdo drug.

Zato uporabljamo tajnopisne metode, ki preprečijo, da bi nepooblaščene osebe prišle do občutljivih podatkov. Splopen tajnopisni sestav sestavljata dva ključa in postopka.

Predstavljamo si, da imamo pripravljeno sporočilo, ki ga ne sme prebrati nepooblaščena oseba. Sporočilo imenujemo odprto sporočilo (plaintext). To sporočilo pošiljatelj s prikrivnim postopkom (enkripcija) in ključem K1 spremeni v prikrito sporočilo (ciphertext). Sporočilo se prenese po nezavarovanem kanalu, kjer ga lahko prestreže prestrezalnik (interceptor) in ga poskuša razbiti (pretvoriti nazaj v odprto sporočilo). Če je skrivnopisni sestav dober, mu to ne bo uspelo. Prikrito sporočilo pride do prejemnika, ki ga z razkrivnim postopkom (decrypt) in ključem K2 spremeni nazaj v odprto sporočilo.

Kaj vse lahko prestrezalnik naredi s sporočilom? Pri navadnem pasivnem napadu ga poskuša le prebrati. Med aktivnim napadom ga lahko poskuša spremeniti, lahko pa poskusi podtakniti novo sporočilo, ki je sprejemniku videti, kakor bi prihajalo od pošiljatelja. Pred takimi napadi nas rešuje digitalno podpisovanje.

Za digitalno podpisovanje se uporabljajo asimetrični algoritmi.

Algoritmi z javnim ključem

Koncept javnega in zasebnega ključa sta prva predstavila Whitfield Diffie in Martin Hellman (1975) – The Diffie–Hellman key agreement protocol. Kot že ime pove, to ni algoritem za šifriranje podatkov, temveč postopek za kreiranje in izmenjavo skritega ključa po javnem omrežju.

Postopek je sledeč:

Imamo parametra p in g, ki sta oba javno znana, p je praštevilo, g (generator) pa celo število, manjše od p, iz katerega lahko dobimo katerokoli število od 1 do p –1, če ga potenciramo in vzamemo vrednost po modulu p.

Kako sedaj dobita npr.: Janko in Metka tajni ključ?

Janko si izbere naključno število (a), Metka pa svoje število (b). Ti dve števili morata ostati skriti. Potem Janko izračuna svoj javni ključ po zgoraj omenjenem postopku:

ga mod p,

Metka pa izračuna svojega

gb mod p.

Ti števili si izmenjata.

Njun tajni ključ Janko izračuna takole:

kab = (gb)a mod p,

Metka pa poišče vrednost skrivnega ključa takole:

kba = (ga)b mod p.

Ker je kab = kba , imata skupni tajni ključ, ki ga lahko uporabita kot ključ za šifriranje podatkov s katerim od simetričnih algoritmov.

Simetrični algoritmi uporabljajo za pretvorbo čistopisa v tajnopis in nazaj isti ključ (tajni ključ). Slabost tega je, da število potrebnih ključev hitro preraste razumne meje, saj za vsakogar, s katerim si želimo izmenjati sporočila potrebujemo svoj tajni ključ. Predstavnik teh algoritmov je Data Encryption Standard (DES)

RSA

Danes se najbolj uporablja algoritem RSA, ki ima ime po svojih avtorjih (Ronald Rivest, Adi Shamir, Leonard Adleman) – MIT, 1977.

Metoda temelji na predpostavki, da je iz zmnožka dveh velikih praštevil težko ugotoviti, kateri praštevili ga sestavljata.

Vzemimo primer s 3–številčnima prašteviloma: 191 x 283 = 54053. Če hočemo faktorirati to število, ga moramo deliti z vsemi praptevili do 191 oziroma v splošnem do njegovega kvadratnega korena. V praksi pa so ta števila več kot stoštevčna.

Osnovo metode prestavlja naslednji izrek iz teorije števil, ki ga pripisujejo Eulerju: Naj bosta p in q različni praštevili, velja naj tudi ed = 1 mod (p–1)(q–1).

Potem sledi (Te)d = T mod pq.

e predstavlja enkripcijski ključ,

d predstavlja dekripcijski ključ,

T pa tajnopis.

Če nam B predstavlja blok teksta, ga zapifriramo takole: T = Be mod pq dešifriramo pa: B = Td mod pq. Če označimo n = pq, javni ključ sestavlja p,q ter e, skriti ključ pa p, q in d.

Kako bomo izbrali vrednosti p, q, e in d?

p in q morata biti veliki praštevili – več stomestni števili, razmeroma blizu skupaj. V praksi za e običajno izberemo 3 ali 65537 (216+1). Zdaj izračunamo produkt (p–1)(q–1). Drugo predpostavko iz gornjega izreka lahko izrazimo tudi takole: ed –1 je deljivo s (p–1)(q–1) oziroma v obliki

Diofantske enačbe: ed + k(p–1)(q–1) = 1. Ta pa je rešljiva s celimi števili, če velja, da sta števili e in d tuji proti p –1 in q–1 (nimajo skupnih deliteljev). Izberemo tako število, ki je večje od p+1 oziroma q+1 in manjše od produkta (p–1)(q–1). Zdaj izračunamo število d iz formule ed mod (p–1)(q–1) = 1.

Sporočilo, ki ga želimo šifrirati, najprej razbijemo na bloke, krajše od pq, – danes je to ponavadi 512 ali 1024 bitov. Izračunamo vrednost T = Be mod pq za vsak kos sporočila. Ta števila združimo in dobimo šifrirano sporočilo. Pri dešifriranju spet najprej razbijemo sporočilo na bloke in na vsakem uporabimo formulo B = Td mod pq.

Asimetrični algoritmi se uporabljajo za izmenjavo skupnih ključev in za digitalno podpisovanje.

Zaključek

 

Za izvajanje varnostnih storitev uporabljamo tajnopisni sistem. V ta namen potrebujemo ključe za enkripcijo in za dekripcijo prenesenih podatkov. Poznamo simetrične in asimetrične algoritme. Simetrični algoritmi uporabljajo za pretvorbo čistopisa v tajnopis in nazaj isti ključ (tajni ključ). Asimetrični algoritmi pa uporabljajo dva ključa: javnega in zasebnega (skritega).

Sofinaciranje projekta in pravice

Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.