Izrada samostanog kriptografskog modula
SVEUČILIŠTE U ZAGREBU
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
DIPLOMSKI RAD br. 1218
IZRADA SAMOSTALNOG KRIPTOGRAFSKOG
MODULA
Tomislav Šakić
Zagreb, rujan 2000.
SVEUČILIŠTE U ZAGREBU
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
SADRŽAJ
DEFINICIJA ENKRIPCIJE I DEKRIPCIJE
GENERATOR KRIPTOGRAFSKO SIGURNIH PSEUDO-SLUČAJNIH BROJEVA
RAZMJENA KRIPTOGRAFSKIH KLJUČEVA
ENKRIPCIJA I DEKRIPCIJA PODATAKA
HASH-VRIJEDNOSTI I DIGITALNO POTPISIVANJE
USPOREDBA S CRYPTOAPI SUČELJEM
Razred za rad sa kontekstima: CContextManager

bi zadovoljio potrebe širenja informacijskog društva u kojem živimo. Teško je danas zamisliti
ozbiljnu poslovnu aplikaciju koja u sebi nema riješen sigurnosni podsustav, počev od bankarskih
aplikacija, internet-dućana, pa sve do samih operacijskih sustava. Upravo zbog tako brzog razvoja
i promjena kriptografskih algoritama javlja se smjernica odvajanja kriptografskog podsustava od
ostatka aplikacije. Time se olakšava zamjena i unapređivanje kriptografskog sustava, bez veće
promjene glavne aplikacije.
Odvojeni kriptografski modul s jednostavnim sučeljem visoke razine omogućava programeru bez
prethodnog iskustva u kriptografiji laku i brzu ugradnju kriptografskih algoritama u njegov
proizvod. Laka i brza ugradnja znači i manje troškove razvoja proizvoda. Vanjska implementacija
modula omogućava laganu modularnu zamjenu kriptografskog algoritma kada je vrijeme za
nadogradnju uz minimalne promjene na proizvodu.
U ovom radu se opisuje izrada kriptografskog modula
CryptoLib
koji implementira po jedan
algoritam za učinkovito kriptiranje podataka
, razmjenu ključeva i potpisivanje. Pri odabiru
algoritama koji su bili dostupni presudila je njihova sigurnost. Po mišljenjima većine poznatih
stručnjaka u kriptografiji, jedan od najboljih algoritam za simetrično kriptiranje podataka je
IDEA, koja se do danas pokazala bez većih slabosti. Nepisani standard za razmjenu ključeva je
RSA algoritam, koji je, iako star više od 20 godina, još uvijek siguran za dovoljno dugačke
ključeve. Najbolji odabir algoritma za pripremanje poruka za potpis je SHA.
Sučelje kriptografskog modula
CryptoLib
je izvedeno iz funkcija već
postojećeg
CryptoAPI
sučelja radi pojednostavljenja upotrebe kriptografskog modula. Slični
nazivi funkcija i isti parametri omogućavaju veliku brzinu implementacije novog kriptografskog
modula u već postojeće proizvode koji rade sa
CryptoAPI
sučeljem. Ipak, sučelje
CryptoLib
je
bitno pojednostavljeno u odnosu na
CryptoAPI
i oblikovano je u smjeru konkretne primjene, a to
je u ovom slučaju sigurna komunikacija između dva korisnika.
Cilj ovog rada je razmotriti sve mogućnosti i probleme pri izradi kriptografskog modula u
višekorisničkom i višezadaćnom operacijskom sustavu.
2.
OSNOVE KRIPTOGRAFIJE
2.1.
POVIJEST KRIPTOGRAFIJE
Kriptografija ima dugu i zanimljivu, ali prilično tajnovitu prošlost. Počev od starih Egipćana prije
nekih 4000 godina, pa sve do dvadesetog stoljeća, kada je igrala ključnu ulogu u ishodima oba
svjetska rata. Najvažniji nosioci razvoja kriptografije su bili vojska i diplomatske službe, tj.
državne organizacije uopće. Kriptografija je korištena kao alat za zaštitu državnih tajni. Zbog toga
je njen razvoj sve do druge polovice dvadesetog stoljeća bio praćen s rijetkim publikacijama, od
kojih se ističu dvije povijesno značajne: William F. Friedman:
The Index of Coincidence and Its
Applications in Cryptography
(1918); i Claude Shannon:
The Communication Theory of Secrecy
Systems
(1949). Zanimljivo je da su obje publikacije došle nakon svjetskog rata i da u sebi
sadrže pregled napretka koji je učinjen u sklopu vojnih istraživanja za vrijeme rata.
Razvoj i širenje računalnih i komunikacijskih sustava u 1960-tim godinama donio je veći interes
za zaštitu podataka iz privatnog sektora. Početak razvoja na tom polju označio je Feistel u IBM-u
ranih 1970-tih godina, a kulminacija njegovog rada došla je 1977., kada je usvojen američki
standard za kriptiranje podataka pod imenom DES (
Data Encryption Standard)
. Taj je standard
postao najpoznatiji kriptografski algoritam u povijesti, i još uvijek se koristi kao uobičajeni način
osiguravanja elektroničkog poslovanja u mnogim financijskim institucijama širom svijeta.
No ipak, najveći napredak u povijesti kriptografije donijeli su 1975. Diffie i Hellman u
članku
New Directions in Cryptography
, opisujući revolucionarni novi koncept kriptografije s
javnim i privatnim ključem. Ovaj način kriptografije rješio je mnoge probleme koji su prije
postojali s distribucijom ključeva. Iako sami autori članka nisu predložili konkretni algoritam za
realizaciju, ideja je bila prilično jasna i stvoreni su preduvjeti za razvoj novih i boljih
kriptografskih sustava.
Već 1978. godine Rivest, Shamir i Adleman su objavili prvi praktični algoritam s javnim i
privatnim ključem, koji se naziva po prvim slovima njihovih imena RSA. Algoritam se bazira na
teško rješivom matematičkom problemu faktoriziranja velikih cijelih brojeva. Široka upotreba
ovog algoritma dovela je do popularizacije ovog matematičkog problema i već su u 1980-im
godinama izvedene nove i učinkovitije metode faktoriziranja cijelih brojeva, koje ipak nisu
uspjele kompromitirati sigurnost algoritma RSA. 1985. godine je objavljen još jedan prilično
dobar algoritam s javnim i privatnim ključem pod nazivom El Gamal.
U proteklim stoljećima razvijen je široki spektar protokola i mehanizama za zaštitu sigurnosti
informacije u obliku fizičkog dokumenta. Često se cilj zaštite ne može postići samo
matematičkim algoritmima ili protokolima, nego traži određene postupkovne tehnike i poštivanje
zakona da bi se došlo do traženog rezultata. Na primjer, privatnost pisama je osigurana sa
zatvaranjem omotnice koju je isporučila provjerena poštanska služba. Fizička sigurnost omotnice
je, zbog praktičnih razloga, ograničena i tako je uveden zakon koji proglašava krivičnim
prekršajem pokušaj otvaranja tuđe pošte. S druge strane, ponekad se sigurnost postiže s posebnim
tehnološkim postupkom. Na primjer, papirnata valuta zahtjeva specijalnu tintu i materijal da se
spriječi krivotvorenje.
Način na koji se informacija zapisuje se dramatično promijenio kroz vrijeme. Gdje se prije
informacija uobičajeno zapisivala na papir i slala putem obične pošte, danas se zapisuje na
magnetski medij i šalje telekomunikacijskim sustavom. S druge strane, velika promjena je u
mogućnosti umnožavanja i izmjene informacije. Vrlo je jednostavno napraviti tisuće identičnih
kopija informacija koje je kasnije nemoguće odvojiti od originala. S informacijom na papiru, to je
puno teže napraviti. Zbog toga je društvu koje ovisi o informacijama u elektroničkom obliku
potreban način da osigura informaciju koji će biti nezavisan o mediju snimanja ili slanja - što
znači da se sva zaštita mora nalaziti u samoj informaciji.
Jedan od osnovnih načina zaštite vjerodostojnosti informacije je potpis. To je osnovni element za
mnoge usluge zaštite kao što je nemogućnost krivog predstavljanja, provjera porijekla
informacije, identifikacija, svjedočenje i druge. Potpis treba biti jedinstven i služi prilikom
identifikacije, autorizacije i provjere pojedinca. Kod elektroničke informacije, koncept potpisa se
mijenja. Potpis više ne smije biti jedinstven osobi koja potpisuje i u isto vrijeme nezavisan o
informaciji koja se potpisuje, jer je elektronička kopija potpisa identična originalu i potpisivanje
neovlaštenih dokumenata time postaje trivijalno.
Za zaštitu informacije u elektroničkom obliku potrebni su protokoli koji će zamijeniti papirnate

kriptografskih mehanizama je dana slikom 2.1.
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti