1. Zaš tita računarskih mrež i sigurnost podataka
a 263
Zaš tita podataka na Internetu
Da bi se pretnje po integritet i tajnost podataka efikasno otklonile, i time
Internet od izuzetno nebezbednog postao prirodan i siguran medij za osetljivu
delatnost poput elektronskog poslovanja, bilo je neophodno razviti
odgovarajuć e sigurnosne protokole. Ti protokoli se izvršavaju na različ itim
nivoima OSI mrež nog modela TCP/IP protokol steka, i mož emo ih podeliti na
aplikativne sigurnosne protokole: SSL, SSH, S/MIME, PGP, i tzv.
protokole za tunelovanje (tunneling) kojima se ostvaruju različ vrste
ite
virtuelnih privatnih mrež a: MPLS, PPTP, L2TP, GRE, IPSEC. Ovi protokoli
se delom zasnivaju na kriptografskim tehnikama zaštite informacija, č ije
usluge koriste i mehanizmi za pouzdano dokazivanje identiteta – digitalni
potpisi i sertifikati.
Osnove kriptografije
Kriptografija je nauka o tajnom pisanju (zapisivanju), i bavi se metodama
očuvanja tajnosti informacija. Kriptografski algoritam transformiše č itljiv
tekst P (od plaintext) u neč itljiv tekst C (od ciphertext). Kriptoanaliza je,
obrnuto, nauka o dobijanju č itljivog teksta P (ili ključeva, ...), tako da napad
na privatnost kriptovanih podataka zapravo predstavlja pokušaj kriptoanalize.
Kriptologija je nauka koja obuhvata i kriptografiju i kriptoanalizu.
Osnovni elementi kriptografske metode za zaštitu su:
§ šifrovanje – transformacija č itljivog teksta u neč itljiv oblik,
§ dešifrovanje – postupak vrać anja šifrovanog teksta u č itljiv oblik,
§ ključ– poč etna vrednost algoritma kojim se vrši šifrovanje; mož e biti reč,
broj ili fraza,
§ plaintext – generalno, informacija koju ž elimo oč uvati privatnom, i
§ ciphertext – kriptovan tekst, neč itljiv, onaj koji treba dekriptovati
Namena kriptografije je da zaštiti memorisanu informaciju č i u sluč da
ak aju
neko neovlašć en pristupi podacima.
Kriptografski algoritmi predstavljaju matematič funkcije koje se koriste za
ke
šifrovanje i/ili dešifrovanje, a mogu biti:
§ Ogranič algoritmi: bezbednost se zasniva na tajnosti algoritma, i
eni
§ Algoritmi zasnovani na ključ bezbednost se zasniva na ključ
u: evima, a ne
na detaljima algoritma koji se mož e publikovati i analizirati (algoritam je
javno poznat, a ključse č tajnim).
uva
2. 264 Elektronsko poslovanje
Moderna kriptografija koristi algoritme zasnovane na ključ zbog njihovih
u,
praktič prednosti u odnosu na ogranič algoritme. Konkretan skup koji
nih ene
se sastoji iz kriptografskih algoritama, protokola koji omoguć uju njihov rad i
svih moguć ih ključ naziva se kriptosistem.
eva
Kriptografski postupci
Kriptografski algoritmi zasnovani na ključ dele se na simetrič (č
u ne esto se
nazivaju i konvencionalnim) i asimetrič Prvi koriste isti tajni ključ za
ne.
enkripciju i dekripciju (shared secret key cryptography), dok se drugi baziraju
na korišć enju različ ključ za enkripciju i dekripciju, od kojih je jedan
itih eva
javni i poznat svima, a drugi tajni i poznat samo jednom od uč esnika u
komunikaciji (public key cryptography).
Simetrič na kriptografija
Kod simetrič kriptografije postupak enkripcije i dekripcije zasniva se na
ne
dve matematič srodne funkcije:
ki
Poš iljalac poruke Primalac poruke
enkripcija dekripcija
Originalna Zaš tićena Originalna
poruka poruka poruka
(clear-text) k (cipher-text) k (clear-text)
m c m
E(k,m) = c D(k,c) = m
Slika 99: Simetrič na kriptografija
Enkripciona funkcija E, na osnovu ključ k i ulazne poruke m, kreira zaštić enu
a
poruku c. Dekripciona funkcija D, na osnovu istog ključ k i zaštić ene poruke
a
c, restaurira originalnu poruku m.
Osnovna prednost ovog nač ina kriptografije u odnosu na asimetrič nu
kriptografiju jeste ta što je manje računski intenzivna, tako da se već e količine
podataka brž e enkriptuju/dekriptuju. Velika je mana č injenica da moramo
pronać i bezbedan nač za distribuciju tajnog ključ tj. neophodno je
in a,
osigurati bezbedan kanal za razmenu ključ između zainteresovanih strana.
eva
Ukoliko bismo već imali tako besprekoran siguran kanal, kriptografija nam ne
bi bila ni potrebna: jednostavno bi poslali same podatke preko takvog kanala.
Takođe, u današnjim intenzivnim razmenama podataka preko Interneta,
izuzetno je nepraktič generisati ogroman broj ključ koji su neophodni za
no eva
komunikaciju: kad god komuniciramo sa nekom drugom stranom, moramo
3. Zaš tita računarskih mrež i sigurnost podataka
a 265
imati ključ koji je jedinstven samo za komunikaciju sa dotičnim klijentom /
serverom.
Najpoznatiji simetrič enkripcioni algoritmi:
ni
§ DES (Data Encryption Standard) – ključje duž ine 56 bita,
§ Triple DES, DESX, GDES, RDES – ključje duž ine 168 bita,
§ (Rivest) RC2, RC4, RC5, RC6 – promenljiva duž ina ključ do 2048 bita,
a
§ IDEA (International Data Encryption Algorithm) – osnovni algoritam za
PGP (Pretty Good Privacy) – ključje duž ine 128 bita,
§ Blowfish – promenljiva duž ina ključ do 448 bita,
a
§ AES (Advanced Encryption Standard) - radi sa blokovima od po 128 bita
i koristi ključ duž ine 128, 192 i 256 bita.
eve
§ Rijndael - kriptografski postupak se izvršava nad blokovima od 128, 192
ili 256 bita, a tolika mož e biti i duž ina ključeva. Tako se mož e definisati
2128, 2192 ili 2256 ključeva.
Asimetrič na kriptografija
Algoritmi za asimetrič kriptografiju su razvijeni znatno kasnije u odnosu na
nu
konvencionalnu kriptografiju, a njihov koncept je prvi put prikazan u
radovima Whitfielda Diffieja i Martina Hellmana, 1975. godine (mada postoje
indicije da je britanska tajna služ ba prva došla do moguć nosti ovakve zaštite,
nekoliko godina ranije, ali je postupak smatran vojnom tajnom).
Poš iljalac poruke Primalac poruke
enkripcija dekripcija
Originalna Zaš tićena Originalna
poruka poruka poruka
(clear-text) Privatni ključ e (cipher-text) Javni ključ d (clear-text)
m c m
E(e,m) = c D(d,c) = m
Slika 100: Asimetrič na kriptografija
Proces enkripcije i dekripcije se kod ovih algoritama takođe zasniva na dve
funkcije – imamo enkripcionu funkciju E i dekripcionu funkciju D. One
ponovo manipulišu originalnom porukom m, odnosno zaštić enom porukom c,
ali se ovog puta za enkripciju i dekripciju koriste dva ključ - jedan za
a
enkripciju (ključe), a drugi za dekripciju (ključd). Jedan od ovih ključ se
eva
naziva javni ključ(public key) i poznat je svima, a drugi se zove privatni ključ
(private key), i poznat je samo jednoj strani [slika 100].
4. 266 Elektronsko poslovanje
Enkripcija podataka asimetričnom kriptografijom se mož e obaviti na dva
načina:
1. enkripcija originalne poruke javnim ključ em - samo vlasnik privatnog
ključ mož e dekriptovati poruku, ali ne mož e biti siguran ko je poruku
a
poslao, jer je javni ključdostupan svima;
2. enkripcija originalne poruke privatnim ključ em - ovog puta je poreklo
poruke nedvosmisleno, kao i nemoguć nost poricanja vlasnika javnog
ključ da je poruku poslao, ali je tajnost poruke kompromitovana – svako
a
ko ima javni ključ koji odgovara tajnom ključ korišć enom za enkripciju
u
mož e videti poruku. Ova osobina se koristi u mehanizmu digitalnih
potpisa, za dokazivanje identiteta.
Osnovna prednost korišć enja asimetrič kriptografije jeste ta da strane koje
ne
nikada do tog momenta nisu komunicirale, niti su pravile bilo kakve
bezbedonosne konstrukcije za zaštić eni prenos podataka mogu bez problema
tajno komunicirati, jer nije potreban siguran kanal za distribuciju ključ eva.
Takođe, potrebno je znatno manje ključ za komunikaciju – tač dva, od
eva no
kojih se jedan slobodno prenosi, a drugi č uva. М еđutim, enkripcija
korišć enjem asimetrič postupaka je mnogo (praktič oko hiljadu puta, u
nih no
zavisnosti od konkretnih algoritama) sporija nego zaštita korišć enjem
konvencionalnog (simetrič nog) kriptografskog postupka, tako da ih ne treba
koristiti za šifrovanje velikih količ podataka (tzv. bulk-encryption). Najšire
ina
korišć eni algoritmi za asimetrič šifrovanje su RSA algoritam (Ron Rivest,
no
Adi Shamir i Leonard Adleman, 1978), sa duž inama ključ od 512 do 1024
a
bita, i Diffie-Hellman algoritam.
Moderna kriptografija - hibridni pristup
U današnjim modernim enkripcionim sistemima koristić emo i simetrič i nu
asimetrič kriptografiju za postizanje potrebnog nivoa zaštite informacija –
nu
najpre ć emo asimetričnom kriptografijom razmeniti tajni ključza ostvarivanje
simetrič kriptografije, koju ć emo kasnije koristiti za prenos velike količ
ne ine
podataka.
Kriptografski ključ evi
Pored same poruke koju štitimo, moderni kriptografski algoritmi zahtevaju
upotrebu jednog ili više kriptografskih ključ eva radi zaštite poverljivih
informacija. U osnovi, ti ključ su veoma veliki brojevi, i njihova duž ina se
evi
meri u bitima. Š to je duž ina ključ već a, zaštić ena informacija je sigurnija.
a
Međutim, poređenje velič ine ključeva kod asimetrič ne i simetrič ne
(konvencionalne) kriptografije nije moguć e, jer se zbog specifič nosti
algoritama slič stepen zaštite postiž e različ
an itim duž inama ključeva: ključza
5. Zaš tita računarskih mrež i sigurnost podataka
a 267
simetrič kriptografiju duž ine 80 bita ima približ nu jač zaštite kao ključ
nu inu
za asimetrič zaštitu od 1024 bita; trenutno najkorišć enija simetrič zaštita
nu na
od 128 bita odgovara 3000-bitnom javnom ključ koji bi se koristio u
u
asimetrič tehnikama, itd.
nim
Kod asimetrič kriptografske tehnike ključ su matematič povezani. Iako
ne evi ki
je iz javnog ključ veoma teško izrač
a unati privatni, uz dovoljno vremena i
procesorske moć i uvek je moguć e izvesti ovaj zaštić eni deo informacije, a
samim tim i razbiti zaštitu. Zbog toga je prilikom projektovanja jač zaštite
ine
neophodno razmotriti kakve napade oč ekujemo, i koliko vremena je
neophodno da naša zaštita odoleva. Ukoliko uzmemo duž inu ključ koja jea
premala, rizikujemo da informacije budu otkrivene; u obrnutom sluč ć emo
aju
imati izuzetno vremenski zahtevne prorač une i proizvod (zaštić enu
informaciju) koji je količ inski znatno već i nego originalna informacija. Pošto
se u današnjim hibridnim kriptosistemima asimetrič kriptografija pre svega
na
koristi za siguran transfer simetrič sesijskih ključ
nih eva, smatramo da uz
odabir dovoljne duž ine ključ ova karika kriptografskog lanca nije kritič
a na.
Hash funkcije
U hash funkcije spadaju matematič funkcije koje na osnovu ulazne poruke
ke
generišu vrednost fiksne duž ine, tzv. hash vrednost, message digest ili
message fingerprint – "otisak prsta" ulazne poruke. Č esto korišć ena tehnika
One-Way-Hash se koristi da se utvrdi da li su podaci izmenjeni. Ova tehnika
koristi OWF (One-Way-Functions), č je rezultat "digest" - obič 128 ili
iji no
160 bita. Praktič je nemoguć e proizvesti dokument koji odgovara digest-u
no
drugog dokumenta, tako da je ova tehnika provere integriteta podataka veoma
pouzdana (detaljnije u opisu funkcionisanja mehanizma digitalnih potpisa).
Danas se koriste sledeć i hash algoritmi:
§ Message Digest (128-bit digest); MD2, MD4 i MD5,
§ Secure Hash Algorithm (160-bit digest); SHA i SHA-1,
§ Digital Signature Algorithm (DSA).
§ Hash Message Authentication Code (HMAC).
6. 268 Elektronsko poslovanje
Digitalni potpis
Digitalni potpis (digital signature) predstavlja digitalnu verziju svojeručnog
potpisa – kao što takav potpis jednoznač identifikuje osobu, digitalni potpis
no
mož e da identifikuje autora neke poruke, ali i da dokaž e da poruka prilikom
prenosa komunikacionim kanalom nije izmenjena.
Svaki potpis, bio on digitalni ili svojeruč mora da zadovolji pet osnovnih
ni,
pravila:
§ mora da pruž i identifikaciju;
§ ne mož e biti manipulisan;
§ ne mož e biti kopiran;
§ mora da bude verodostojan;
§ ne mož e biti opovrgnut.
Ovi uslovi se mogu ispuniti pravilnom upotrebom asimetrič algoritama
nih
enkripcije, uz enkripciju poruke privatnim ključ pošiljaoca.
em
U najveć em broju sluč ajeva nije potrebna enkripcija celokupne poruke –
dovoljno je enkriptovati samo digitalni potpis, a poruku ostaviti
nepromenjenu. Naravno, ako je tajnost poruke kritič i ona mož e biti
na,
zaštić ena. Za kreiranje digitalnih potpisa koriste se pomenute hash funkcije.
Originalna Originalna Hash
Hash
poruka poruka vrednost
funkcija
(clear-text) (clear-text) h
Digitalno
Hash potpisana
Poređenje
funkcija poruka
Enkriptovana
hash
vrednost
Hash Hash
h'
vrednost vrednost
Privatni ključ e (digitalni Javni ključ d
h h
potpis)
Slika 101: Mehanizam digitalnog potpisa
Identifikacija pošiljaoca se dokazuje na osnovu same moguć nosti dekripcije
enkriptovane hash vrednosti, javnim ključ za koji se zna da pripada
em
pošiljaocu. Prilikom prijema poruke, jednostavnim poređenjem hash vrednosti
na odredišnom rač unaru, lako se dokazuje da li je poruka bila izmenjena. Na
ovaj nač je ostvarena sigurna identifikacija pošiljaoca, uz oč
in uvanje
integriteta poruke.