UPOTREBA KRIPTOGRAFIJE ZA SIGURNOST BAZA PODATAKA

USE CRYPTOGRAPHY FOR SECURITY DATABASE

Sadržaj – 

U sistemu baza podataka, osjetljivi podaci se čuvaju nešifrovani i mogu biti ranjivi na 

napade. Bez ozbzira na veličinu preduzetih mjera, uvijek će postojati sigurnosne pukotine koje 
napadači mogu koristiti da prodru u baze podataka. Da bi se izbjegao rizik od ovih prijetnji 
preporučuje se enkripcija baza podataka. Ovaj rad istražuje kakvu ulogu može imati šifrovanje za 
sigurnost baza podatka. 

Abstract

 – 

In a database system, sensitive data stored in the clear can be vulnerable to attack. No 

matter the amount of security measures taken, there would always be some security leaks which 
attackers can use to penetrate the database. To avoid the risk posed by this threat, database 
encryption   has   been   recommended.   This   paper   investigates  the   role   cryptograph   can   play   in 
database security.

1. UVOD

Danas   se   većina   informacija   čuva   u   bazama   podataka. 

Baze   podataka   predstavljaju   izvor   informacija   za   većinu 
aplikacija   koje   nam   pomažu   u   obavljanju   svakodnevnih 
poslova. Sa razvojem organizacija, bilo da su to državne ili 
privatne,   uočena   je   primjena   sistema   baza   podataka   kao 
ključne   tehnologije   za   upravljanje   podacima   i   pomoćnog 
sredstva za donošenje odluka. 

Osiguranje   sistema   baza   podataka   je   važan   zadatak   za 

mnoge   organizacije.   Naime,   ukoliko   organizacije   čuvaju 
privatne   i   povjerljive   podatke   onda   moraju   primjeniti   i 
zadovoljiti   mnoge   zakone   i   sigurnosne   standarde.   Privatni 
podaci   su   tajni   podaci   o   korisnicima   (npr.   broj   kreditne 
kartice),   koji   mogu   biti   dostupni   samo   njima   ili   nekom 
drugom, ko prije ostvarenja pristupa, treba imati odobrenje 
od korisnika. Povjerljivi podaci su osjetljivi podaci koji imaju 
ograničen   pristup,   odnosno   kojima   mogu   pristupiti   samo 
autorizovani korisnici. S obzirom na prirodu informacija koje 
čuvaju,   baze   podataka   su   predmet   napada,   pa   je   stoga   i 
njihova   sigurnost   ključna   za   uspješno   poslovanje 
organizacija. Narušavanje sigurnosti baza podataka u nekoj 
organizaciji   može   imati   za   posljedicu   gubitak   kredibiliteta 
organizacije,   finansijske   gubitke,   zakonske   posljedice   itd. 
Klasična   sigurnost   baza   podataka   oslanja   se   na   mnogo 
različitih mehanizama i tehnika zaštite, kao što su: kontrola 
pristupa,   kontrola   toka   informacija,   sigurnost   operativnog 
sistema, sigurnost računarskih mreža, detekcija upada, nadzor 
itd. Uloga kriptografije kao elementa sigurnosti sistema baza 
podataka dolazi do izražaja kada se naruše elementi zaštite 
kao što je recimo kontrola pristupa. Osnovni cilj kriptografije 
jeste učiniti podatke nerazumljivim i teškim za dešifrovanje 
neovlaštenim licima, a koji su uspjeli da dođu do njih nakon 
zaobilaženja   svih   ostalih   mehanizama   zaštite.   Često   se   u 
literaturi [1] može naći tvrdnja da je kriptografija poslednja 
linija   odbrane   baza   podataka.   Također   se   kaže   i   da   je 
kriptografija  vještina  „krajnje  informacione sigurnosti“  [2]. 
Krajnje je u smislu da kada je poruka (ili neko polje baze 
podataka)   jednom   podvrgnuta   kriptografskom   algoritmu 

očekuje se da ostane sigurna i nakon što neovlaštena osoba 
ostvari punu kontrolu nad obrađenom porukom. Neovlaštena 
osoba može čak znati koji je algoritam korišten, međutim ako 
je kriptografija dobro implementirana, poruka će i dalje ostati 
sigurna.  Mnogi   sigurnosni   mehanizmi   sprečavaju   pristup   i 
posjeduju komplikovane procedure koje dozvoljavaju pristup 
samo autorizovanim korisnicima. Kriptografija pretpostavlja 
da neovlaštena osoba ima potpuni pristup poruci, ali i dalje 
obezbjeđuje neslomljivu sigurnost - krajnju sigurnost. 

U   ovom   radu   biće   istražena   kriptografija   kao   element 

zaštite   podataka   u   sistemima   baza   podataka.   Naime,   biće 
prikazane   metodologije   enkripcije,   kao   i   preporuke   kod 
izbora rješenja primjene enkripcije sa naglaskom na prednosti 
i   nedostake   primjene   određenih   metodologija   enkripcije. 
Također   će   biti   ukazano   na   značaj   upravljanja   ključevima 
koji su korišteni za šifrovanje.

2. OSNOVE KRIPTOGRAFIJE 

Kriptografija

 

je   naučna   disciplina   koja   se   bavi 

proučavanjem   metoda   očuvanja   tajnosti   informacija.   Sama 
riječ   kriptografija   je   grčkog   porijekla   i   potiče   od   riječi 
κρύπτω  

kryptó

 

(što znači  

tajan

  ili  

sakriven

)

 

i

 

γράφω  

gráfo 

(što znači pisati) ili λέγειν 

legein

 (što znači govoriti) [3]. Ona 

je   multidisciplinarna   oblast,   jer   u   sebe   uključuje   mnoge 
naučnotehničke   discipline,   i   naročito   je   vezana   za 
matematiku, a u novije vrijeme i za informatiku i računarstvo. 
Savremene kriptografske metode vezane su za kriptografske 
algoritme.   Svaki   kriptografski   algoritam   obuhvata   par 
transformacija   podataka,   koje   se   nazivaju   šifrovanje   i 
dešifrovanje   [4].   Šifrovanje   (enkripcija)   je   procedura   koja 
transformiše   originalnu   informaciju  

otvoreni   tekst

  (eng. 

plaintext)   u   šifrovane   podatke  

šifrat

  (eng.   ciphertext)   ili 

kriptogram

.   Obrnut   proces,   dešifrovanje   (dekripcija), 

rekonstruiše   otvoreni   tekst   na   osnovu   šifrata.   Prilikom 
šifrovanja,   pored   otvorenog   teksta,   koristi   se   još   jedna 
nezavisna vrijednost koja se naziva ključ šifrovanja. Slično, 
transformacija za dešifrovanje, koristi ključ za dešifrovanje. 

Page | 1

Broj simbola koji predstavljaju ključ (dužina ključa) zavisi od 
kriptografskog   algoritma   i   predstavlja   parametar   sigurnosti 
sistema. Kriptografski algoritmi su obično javno dostupni, a 
dešifrovanje zavisi od tajnosti ključa, što ukazuje da je pored 
zaštite otvorenog teksta potrebno zaštititi i ključ. No, kao i u 
stara vremena, i danas ne postoji potpuno siguran algoritam 
od   nelegalnog   dobijanja   poruke   preko   šifrata.   Ipak   se   od 
dobrog   algoritma   zahtjeva   da   cijena   razbijanja   šifrata 
premašuje vrijednost same informacije zbog koje se to radi, 
kao i da vrijeme koje je za tu radnju potrebno, bude dovoljno 
dugo,   kako   bi   dobijena   informacija   postala   nekorisna   i 
zastarjela. Sigurnost enkriptovanih podataka ne zavisi samo 
od   algoritma   koji   je   korišten,   već   i   od   toga   kako   je   on 
implementiran.

Postoje tri opšte kategorije kriptografskih algoritama koji 

se danas koriste u sistemima baza podataka, i to: simetrični, 
asimetrični i 

hashing 

algoritmi. Svaki kriptografski algoritam 

ima svoje prednosti i svoje nedostatke. Neki sistemi koriste 
kombinaciju   ovih   algoritama   i   na   taj   način   iskorištavaju 
njihove  jače  strane.  Takve   kriptografske   sisteme   nazivamo 
hibridnim sistemima. 

2. 1. Simetrični algoritmi 

Simetrični algoritmi koriste isti ključ i za šifrovanje i za 

dešifrovanje   podataka.   Ekvivalentna   imena   za   simetrične 
algoritme su: 

conventional

secret key

classical

 i 

private key 

algoritam.   Kao   što   i   samo   ime   govori,   kod   ovakvih 
algoritama ključevi moraju biti sakriveni ili tajni. Ako se desi 
da do ključa dođu strane koje nisu uključene u komunikaciju, 
sigurnost   podataka   je   smanjena   ili   potpuno   eliminisana. 
Drugim riječima,  svako ko posjeduje taj dijeljeni tajni ključ 
ima mogućnost čitanja (i pisanja) šifrovanih poruka. Strane 
koje učestvuju u komunikaciji i dijele tajni ključ se obavezuju 
na zaštitu pristupa ključu. Kod ove vrste algoritama postavlja 
se problem kako prenijeti tajni ključ. Problem je u tome, što 
ako se tajni ključ presretne, poruka se može pročitati. Zato se 
ovaj tip enkripcije najčešće koristi prilikom zaštite podataka 
koje ne dijelimo sa drugima. Prednost ovih algoritama ogleda 
se   u   njihovoj   brzini,   pa   se   oni   i   koriste   kod   velikih 
frekvencija čitanja i pisanja u baze podataka. Dužina ključa je 
krajnje   bitna   za   sigurnost   podataka.   Postoje   dva   glavna 
načina   za   napad   na   podatke   enkriptovane   simetričnim 
algoritmom.   Prva   vrsta   napada   je   napad   „nagađanje   i 
provjera“   i   obično   je   uspješan   kada   se   algoritam 
implementira   nekorektno   i   na   osnovu   loše   proizvoljno 
izabranog   ključa.   Ovdje   napadač   nagađa,   koji   je   ključ 
korišten za enkripciju i zatim pokušava primjeniti ključ da 
provjeri   da   li   taj   ključ   odgovara.   Napad   sa   grubom   silom 
(eng.   bruto   force   attack)   je   druga   vrsta   napada   na 
kriptografski   sistem   i   zasniva   se   na   provjeravanju   svih 
mogućih ključeva. Ovi napadi su postali uspješniji nakon što 
je   porasla  snaga   računara,  a   koja  je  omogućila   kreiranje  i 
provjeru brojnih ključeva za relativno kratak period vremena. 
Ako   se   koriste   baze   podataka   sa   simetričnim   algoritmom, 
onda se  preporučuje  minimalna dužina ključa  od 128-bita. 
Bilo šta manje stavlja podatke u nepotreban rizik. 

2. 2. Asimetrični algoritmi 

Za razliku od algoritama sa tajnim ključem gdje se koristi 

jedan dijeljeni ključ, asimetrični algoritmi koriste dva ključa. 
Jedan od ključeva je 

javni

, a drugi 

privatni

. Ovi algoritmi se 

nazivaju i algoritmi sa javnim ključem, a njihov princip rada 
je   sljedeći:   na   osnovu   tajnog   ključa   koji   zadaje   primalac, 
generiše se javni ključ. Javni ključ se daje strani koja šalje 
šifrovane podatke primaocu. Pomoću njega, pošiljalac šifrira 
informaciju koju želi da pošalje i takvu šalje primaocu. Kad 
šifrat stigne primaocu on ga dešifruje pomoću svog tajnog 
ključa. Znači, tajni ključ ima samo primalac, a javni ključ 
može imati bilo ko, pošto se on koristi samo za šifrovanje, a 
ne i za dešifrovanje. Prednost ovog načina šifrovanja je u 
tome što ne postoji briga u slučaju da neko presretne javni 
ključ,   jer   pomoću   njega   može   samo   da   šifruje   podatke. 
Asimetrične operacije su znatno sporije nego operacije kod 
simetričnih algoritama, što ih čini ne pogodnim za strategije 
enkripcije baza podataka, zato što mogu značajno uticati na 
performanse baze podataka. Sistemi sa javnim ključem su se 
pokazali kao spori ukoliko se polja često dešifruju u realnom 
vremenu. Ako se podaci pišu jednom i onda rijetko koriste, 
tada se kao opcija mogu koristiti asimetrični algoritmi. 

2. 3. Kriptografske funkcije za sažimanje

Kriptografske   funkcije   za   sažimanje   –   heš   (eng.   hash) 

funkcije se svrstavaju u kriptografske algoritme bez ključa. 

Hash   function

  označava   funkciju   koja   kompresuje   niz 

podataka proizvoljne  dužine u niz  podataka  fiksne dužine. 
Heš funkcije se koriste kod zaštite integriteta podataka i rade 
na   sljedećem   principu;   kada   novi   podatak   pristigne   on   se 
hešira i onda se se poredi sa heš vrijednosti originala. Ako 
podaci   nisu   korumpirani   ili   izmijenjeni   vrijednosti   će   biti 
identične, a ako su podaci  bili  izmijenjeni, heš vrijednosti 
biće   različite.   Primjer   korištenja  

hashing

  je   provjera 

password 

-a između radne stanice i servera. Korištenjem ove 

tehnike informacija nikada ne „putuje“ kroz mrežu u obliku 
otvorenog   teksta,   pa   nema   opasnosti   od   presretanja.   Kako 

hashing

 algoritmi ne koriste ključ tako ni dužina ključa nije 

problem, a pošto  

hashing

  nije reverzibilan proces nema ni 

opasnosti   od   dešifrovanja.  

Hashing

  funkcije   imaju   malo 

opterećenje kod izračunavanja: uticaj izračunavanja heš-eva 
unutar sistema za upravljanje bazama podataka (SUBP) može 
se   ugrubo   uporediti   sa   simetričnom   enkripcijom,   ali   bez 
postojanja   problema   upravljanja   ključevima.   Veličina 
vrijednosti izlaza 

hashing

 procesa je fiksna. 

3. METODOLOGIJA ENKRIPCIJE

Obzirom na podatke koji se kriptuju i na nivou na kojem 

se kriptovanje obavlja, postoje različite vrste enkripcije koje 
su primjenljive u zaštiti sistema baza podataka, a u skladu sa 
tim i sljedeće podjele:

enkripcija za zaštitu podataka tokom prenosa (eng. data–
in–motion);

Page | 1

background image

Želiš da pročitaš svih 5 strana?

Prijavi se i preuzmi ceo dokument.

Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.

Slični dokumenti