Strokovne razprave Kriptografski sistemi Matej Šalamon. Tomaž Dogša Fakulteta za elektrotehniko, računalništvo in informatiko Univerza v Mariboru, Smetanova 17, 2000 Maribor matej,salamon@unl-mb,sl Povzetek Zagotavljanje tajnosti sporočil brez kriptografskih sistemov je za področje računalniških komunikacij nemogoča naloga, saj so metode prisluškovanja tako enostavne, da jih obvlada vsak povprečen programer. V prispevku bodo opisani koncepti različnih kriptografskih sistemov, ki jih uporabljamo predvsem na področju računalniških komunikacij. Abstract Computer network eavesdropping is a very easy task for an average programme/: It is almost impossible to assure confidentiality of information without using cryptographic systems. Various concepts of cryptographic systems that are currently used in the computer networks will be briefly presented. 1. Uvod Z razvojem računalniških omrežij se je izredno povečal tudi pretok informacij. V začetnem obdobju Interneta je elektronska pošta omogočala samo prenos besedil, današnji protokoli pa omogočajo prenos poljubnih datotek. Sistem za prenos podatkov naj zagotavlja predvsem: ■ zasebnost (tajnost)", prenašano sporočilo naj bo razumljivo le avtorizirani osebi to je osebi, ki je upravičena oziroma pooblaščena za to, da ga sme npr. prebrati, tiskati in prikazovati. ■ verodostojnost - avtentičnost: pošiljatelj sporočila naj bo pravilno identificiran oziroma, njegova identifikacija ne sme biti lažna. ■ cclovitost: sprejeta sporočila morajo biti prav taksna kot smo jih poslali, t.j. nespremenjena. Pod spreminjanjem razumemo; pisanje, brisanje, zakasnitev ali ponavljanje sporočila. ■ preprečitev zanikanja; niti pošiljatelj niti prejemnik ne moreta zanikati poslanega ali prejetega sporočita. s dostopnost: pravico dostopa do sporočila mora imeti le verodostojna oseba t.j, oseba s pravilno identifikacijo. V tem prispevku se bomo omejili le na zagotavljanje zasebnosti. Razlaga bo temeljila na preprostem modelu, ki je sestavljen iz izvora in ponora sporočil ter informacijskega kanala. Ker je informacijski kanal medij za prenos sporočil oziroma informacij, ki ga velikokrat ni mogoče fizično zaščititi, je po njem prenašano sporočilo izpostavljeno raznovrstnim napadom. Ti so zasnovani tako, da skušajo onemogočiti eno ali več zahtev, ki smo jih postavili glede prenosa podatkov. Proti napadom se lahko borimo z oviranjem {npr. Šifriranje) in alarmiranjem (detekcija napada). Zasebnost lahko zagotavljamo s šifrirno napravo, ki jo vstavimo med izvor sporočila in informacijski kanal. Šifrirna naprava napadov ne more preprečiti, ampak jih lahko samo v večji ali manjši meri ovira. Šifrirna naprava, ki izvorno sporočilo šifrira t.j. pretvori v nerazumljivo obliko, poskrbi v prvi vrsti za zasebnost sporočila, hkrati pa lahko v kombinaciji z drugimi podsistemi zagotovi tudi verodostojnost, celovitost in prepreči možnost zanikanja. Onemogočanje ali kršenje zasebnosti sporočil imenujemo kriptografski napad. Namen tega prispevka je prikaz raznih kriptografskih sistemov, ki se najpogosteje uporabljajo v računalniških omrežjih. 2. Kriptografski sistemi Kadar želimo zagotoviti zasebnost nekega sporočila, ga moramo pretvoriti v nerazumljivo obliko, kar pomeni, da ga moramo šifrirati. Sporočilo mora biti šifrirano tako, da ga zna dešifrirati samo tisti, ki mu je sporočilo namenjeno, vsem ostalim pa mora biti njegova vsebina nerazumljiva. Šifriranje je uporabljal že Julij Cezar pred več kot 2000 leti, ko je pošiljal pošto Ciceru. Uporabljal je zelo enostaven postopek šifriranja. Vse Črke v besedilo je zamenjal s črkami, ki so bile za tri mesta naprej v latinski abecedi. Beseda CESARUS je bila na ta način šifrirana v FHVDUAV. Cezarje uporabljat isti postopek tudi, ko si je dopisoval z drugimi prijatelji. Ker so morali vsi poznati postopek, da so lahko prebrali svojo pošto, jim je to omogočalo, da so prebrali iudi pošto namenjeno Ciceru Nekdo, ki se danes ukvarja s šifriranjem, bi tak postopek z lahkoto razvozlal že na osnovi dveh do treh 1999-Številka 2-lelnik VII r^ui.»^ NFORM ATtKA Strokovni, razpravi: šifrira rtih stavkov. Kljub tej enostavnosti je v tem postopku skrita osnovna ideja šifriranja. Šifrirati je mogoče klasična in elektronska sporočila. Šifriranje in dešifriranje elektronskih sporočil je preprostejše, saj ta dva postopka opravi računalnik. Veda, ki se ukvarja s šifra njem sporočil (kriptografija) in z razkrivanjem šifriranih podatkov (kfiptoanaliza) se imenuje kriptnlogija. Beseda i/haja i/, grških izrazov: kryptos logos kar pomeni skrita beseda. Oglejmo si najprej nekatere osnovne pojme v kriplografiji. 2.1 Osnovni pojmi v kriptografiji Namen kriptografije je načrtovanje šifrirnih in dešifrirnih algoritmov, s pomočjo katerih je mogoče zagotoviti osnovne lastnosti sporočil: zasebnost, verodostojnost, celovitost in preprečitev zanikanja. Pri šifriranju (slika 1) gre za transformacijo odprtega sporočila1 ali Čistopisa (angl.plaintext) v nerazumljivo šifrirmiasj/oročilo ali tajnopis (angl. aphertext). Tovrstna transformacija, ki se običajno izvaja kar z računalnikom, poteka v skladu s transformacijskimi tabelami ali šifrirnimi algoritmi (angl. cipher). Šifrirni postopek mora biti reverzibilen, saj je le v tem primeru tajno pis mogoče desifrirati oziroma transformirati nazaj v originalno odprto sporočilo. Šifriranje in dešifriranje vhodnega sporočila poteka na osnovi ključa, ki mora biti tajen, kar pomeni, da ga sme poznati samo pošiljatelj sporočila in tisti, ki mu je sporočilo namenjeno. Ključ, ki mora biti povsem neodvisen od odprtega sporočila, tvorijo izbrane vrednosti parametrov šifrirnega oziroma dešifrirnega algoritma (angl. decipher). 2.2 Splošna klasifikacija kriptografskih sistemov Kriptografske sisteme lahko klasificiramo (slika 2) po treh kriterijih [2]: Ï. Število uporabljenih ključev. V primeru, da pošiljatelj in prejemnik uporabljata en sam ključ, govorimo o simdričhetn, cnoključnem ali hmvencionalnem šifriranju (angl. symétrie, single-key, secret key - conventional cipher), če pa uporabljata dva različna ključa, gre za asimetrično, dvoključno šifriranje ali šifriranje z javnim ključem (angl. asymétrie, two-key, public key cipher). 2. Metoda šifriranja. Šifriranje sporočil se izvaja z različnimi metodami. Medtem, ko sta pri simetričnih sistemih uveljavljena predvsem principa zamenjave in premeščanja, se v asimetričnih sistemih šifriranje izvaja s posebnimi matematičnimi transformacijami. Pri zamenjavi se vsak element (bit, znak, skupina bitov ali znakov) v odprtem sporočilu preslika v drugi element, pri premeščanju pa se elementi odprtega sporočila prerazporejajo. VeČina sistemov vsebuje več stopenj zamenjave in premeščanj. ,3. Velikost vhodnega bloka, ki ga uporablja šifrirna metoda. Kriptografski sistem lahko Šifrira ali de-šifrira odprto sporočilo po blokih določene dolžine - v tem primeru govorimo o blokovnih šifrirnih sistemih (angl, IMock cipher), obstajajo pa sistemi, ki odprto sporočilo Šifrirajo ali de Šifriraj o bit za bitom - tokovni šifrirni sistemi (angl. Stream cipher). Tovrstni shemi zasledimo v primeru simetričnih kriptografskih sistemov. 2.3 Simetrični kriptografski sistemi Slika 3 prikazuje preprost model simetričnega kriptografskega sistema. Proces šifriranja poteka na osnovi šifrirnega algoritma in enega samega tajnega ključa (angl. Secret key). Izhod šifrirnega algoritma - tajnopis je po sprejemu potrebno transformirati nazaj v originalno odprto sporočilo, kar se izvede z dešifrirnim algoritmom in enakim ključem, kot je bil uporabljen pri Šifriranju. 1 Uporabljalo se tudi izrazi prikrito sporočilo, ilfropts, ali kriptogram. Î Šifrirni ključ Dešitrirni ključ Slika 1: Kriptografski sistem sestavljata šifrirni in dešifrirni sistem. Tajnopis je mogoče uspešno dešifrirati samo v primeru poznanega dešifrirnega ključa. 22 »^'»''»«INFORMATIKA 1999 ■ številka 2 - letnik VII Strokovni, razpravi: kriptografski si stem i Tajni kljui 9 Tajni k[|ü¿ 1 Število ključev SIMETftlČNI KRIPTOGRAFSKr SISTEMI ¡nnnhliuČTii) AStMEIHIČNI KRIPTOGRAFSKI sistemi lOvOklilltni) ve l k ost vhodnega bloka L. BLOKOVNI 1 A TOKOVNI I Í, IF Alfi Ml 1 ŠIFRIRNI I SISTEMI j SISTEMI 1 metoda Šifriranj* r\ 7AMENJAVA | PHEMESČANJE 1 MATEMATIČNE TRANSFORMACIJE Slika 2: Splošna klasifikacija kriptografskih sistemov Šifriranje in deSifriranje s simetričnimi algoritmi je običajno hitro, pojavi pa se problem varne izmenjave ključa med pošiljateljem in prejemnikom. Oglejmo si pomembne elemente simetričnih kriptografskih sistemov nekoliko natančneje (slika 4). Šifrirni algoritem ima dva vhoda. Prvi je povezan z izvorom, ki tvori odprto sporočilo M, sestavljeno iz končne množice znakov - abecede-. Na drugem vhodu je ključ K, ki ga je potrebno po varnem kanalu distri-buirati na ciljno stran - ponor. Za varno distribucijo ključa poskrbi pošiljatelj, obstaja pa možnost, da ključ izdela tretja oseba in ga pošlje na obe strani - izvor in ponor. Odprto =- ñ Tajnopis ft m sporočilo — (9 Odprlo sporoí No DoSilrirni alganlam (invfímin iHrimamu) Šifrirni algoritem Stika 3: Preprost model simetričnega kriptografskega sistema Na osnovi odprtega sporočila M in tajnega ključa K šifrirni algoritem E tvori tajnopis C: C=E(M,K). (1) Tajnopis se po šifriranju odpošlje. Njegov prejemnik ga nato, s pomočjo dešifrirnega algoritma D, pretvori nazaj v odprto sporočilo M: M =D(P,K)=D(E{M ,K)tK) (2) 1 Danes se najpogosteje uporablja binarna al)eceda [0,1¡ Najbolj znani simetrični kriptografski sistemi so [4j: « DES (Data Encryption Standard) ali DEA (Data Encryption Algorithm), ki sta ga razvila NISI {National institute of Standards and Technology) ter IBM. a RC2, RC4, RC5 - je razvil Ronald Rivesf. RC2 se vgrajuje v nekatere programe (npr. Outlook Express), namenjene za delo z elektronsko pošto. Uporabljamo lahko ključe dolžine 1 do 2048 bitov razen za verzije, ki so namenjene uporabnikom zunaj 7.DA. Za te verzije je ameriška vlada izdala zakon, s katerim je omejila ključ na največ 40 bitov. KC4 je tekoč šifrirni algoritem z spremenljivo dolžino ključa do 2048 bitov. Vgrajen je v Netscape-ov brkljalnik kot del protokola SSL. Ameriška verzija IZVOR PONOR VARNI KANAL Slika 4: Podrobnejši model simetričnega kriptografskega sistema 1999 - številka 2 - letnik vil ii/xmih nil NFORM ATI KA 23 STROKOVNI' RAZPRAVE uporablja 128-bitni ključ, verzija za izvoz pa 40-bitnega. RC5 je bil objavljen 1994. Uporabnik lahko določi dolžino ključa, velikost bloka in število ponovitev šifrirnega postopka. ■ IDEA (International Data Encryption Algorithm): razvila sta ga James 1 „Massey in Xuejia 1 .ai v Zilrichu in objavila leta 1990. Uporablja 128 bitov dolg ključ na 64 bitov dolgih blokih. Patent zanj ima Asconv Tech iz Švice. Izven ZDA ga lahko uporabljamo brez plačila licenčni ne. Če DES uporabljamo s trojnim ključem, je počasnejši od IDEA. ■ Skipjack: algoritem, ki ga je razvila NSA (National Security Agency), je strogo zaščiten. Uporabljen je v šifrirnem čipu Clipper. Ključ je 80-biten. Vsak čip ima svoj ključ, katerega polovici sta shranjeni v različnih agencijah (key escrow agency). 2.3.1 Tokovni in blokovni simetrični šifrirni sistemi Pri tokovne/rt načinu šifriranja se sporočilo šifrira bit za bitom tako, da se kombinira bit ključa in bit sporočila -običajno je to kar logična operacija XOR. Če je uporabljen kratek, ponavljajoči ključ, postopek ni varen - s kombiniranjem šifriranega sporočila je razmeroma lahko ugotoviti najprej dolžino ključa, potem vrednost ključa in nato sporočilo dešifrirati. Nasprotno pa je sistem kriptografsko zelo robusten, če se ključ ne ponavlja in je povsem naključen niz bitov. Večina algoritmov, ki se danes uporabljajo v civilnih organizacijah, je blokovnih: sporočilo se razbije na tako dolge bloke, kot zahteva algoritem, nato pn se vsak blok preoblikuje in kombinira s ključem, Permutacije, substitucije in kombinacije s ključem (npr. DFS) morajo zagotoviti, da so v izhodnem bloku zabrisani vsi vzorci iz vhodnega bloka - skratka, da izgleda kot naključen niz bitov. Za vse simetrične algoritme velja, da se šifriranega sporočila ne da zgostiti za več kot nekaj odstotkov. Pri blokovnih algoritmih je pomemben tudi način povezovanje blokov [5J. Če se šifrira vsak blok posebej, govorimo o elektronski koti in ti knjigi EBC3. Pri tem je velikost bloka odprtega sporočila enaka velikosti bloka šifriranega sporočila, kar napadalcem olajša desifriranje. Veliko bolj varni so naslednji trije načini: ■ Kodirno blokovno veriženje CBC4 (slika 5): Začetni blok sporočila seštejemo (z logično operacijo XOR) z naključnim številom (inicializacijski vektor) in ga postavimo na začetek šifriranega sporočila. Vsak naslednji blok sporočila seštejemo s šifriranim prejšnjim blokom in to potem zašifriramo. ODPRTO SPOROČILO BLOK 1 BLOK Z BLOK 3 ——— I_ lmti4li/«-i|»ki " 1 I -7 I -1 -ja=-J ft Jn KIJuí-K —»I ÍIF RIBANJE | K —*j SIFBIftANJE I IZHOO 1 K —*|"sÍFRIfiANJE IZHOD 2 IZHOD 3 TAJNOPIS Slika 5: Kodirno blokovno veriženje Kodirna povratna zanka CFR;1 (slika 6): inicializacijski vektor zašifriramo s ključem in rezultat seštejemo {/. logično operacijo XOR) s prvim blokom sporočila. Tako dobimo prvi šifrirani blok. To vsoto zašifriramo s ključem in tako dobimo začasni ključ. Temu prištejemo drugi blok sporočila... Vidimo, da pri tem načinu s šifriranjem pravzaprav spreminjamo ključ. Izhodna povratna zanka OFB'1 (slika 7): Šifriranje je podobno prejšnjemu načinu, Inicializacijski vektor zašifriramo s ključem. Ta rezultat (recimo mu Rl) seštejemo (z logično operacijo XOR) s prvim blokom sporočila in to je prvi šifrirani blok sporočila. Potem dobimo ključ za šifriranje naslednjega bloka tako, da Rl zašifriramo s prvotnim ključem... Od prejšnjega načina se razlikuje v tem, da začasni ključ, tvorjen s šifriranjem predhodnega ključa, ni odvisen od sporočila. ODPRTO SPOROČILO BLOK I BLOK 1 BLOK 3 tut 11 - i| IZTi Klllif-W^^FHIHANJE j [~"l] K -»j SlFUIRAHJC | [Ti] K-tfŠ If KIHANJE* vaklnr IZHOD 1 IZHOD 2 IZHOO 3 TAJNOPIS Slika 6: Kodirna povratna zanka a : 3 Angl. Electronic Code Book 4 Angl. Cipher Bloch Chaining G Angl. Cipher Feedback 6 Angl. Output Feedback 24 i ipomln uA NFORM ATIKA 1999-številka2-leimk VII Strokovni, razpravi: ODPRTO SPOROČILO t TAJNO PIS Slika 7: Izhodna povratna zanka 2.4 Asimetrični kriptografski sistemi Problem varne izmenjave tajnega ključa pri simetričnih kriptografskih sistemih so rešili šele z uvedbo asimetričnih kriptografskih sistemov oziroma kriptografskih sistemov z javnim. Njihova prva predstavitev7 leta 1976 je povzročila radikalne spremembe v dotedanjih kriptografskih sistemih. Za razliko od simetričnih sistemov, pri katerih se šifriranje/dešifriranje izvaja na osnovi zamenjav in transpozidj, temeljijo asimetrični sistemi na posebnih matematičnih funkcijah. Njihovo delovanje ni vezano le na enega, temveč na dva ločena ključa, s pomočjo katerih je mogoče zagotoviti ne le zasebnosti sporočil11 temveč tudi verodostojnost in celovitost. Pri kriptografskih sistemih z javnim ključem uporabnik kreira na svojem računalniku dva ključa: zasebnega9 in javnega10. Javni ključ javno objavi na ' Predstavila sta ga W. Diffis iri M. Hellman. " Simetrični kriptografski sistem; v splošnem poskrbijo le /a zasebnost sporoči/. 9 Arigi. Private key 10 An&. Public key katerem od strežnikov z javnimi ključi, ga pošilja po elektronski pošti ah pa ga sporoči po telefonu, zasebni ključ pa drži v tajnosti. Vsi, ki mu hočejo poslati sporočilo, bodo za šifriranje sporočila uporabili njegov javni ključ, dešifriral pa ga bo lahko le on sam, ki pozna še svoj skriti zasebni ključ. Na sliki 8 je prikazan preprost model kriptografskega sistema z javnim ključem, kjer pošiljatelj pošilja sporočilo prejemniku - Andreju. Sporočilo Šifrira z Andrejevim javnim ključem, ki je v prostem dostopu na strežniku z javnimi ključi. Odposlan tajnopis bo lahko dešifriral samo Andrej, ki pozna svoj zasebni ključ. S pomočjo slike 9 si oglejmo nekatere podrobnosti. Ponor I! tvori par ključev: javnega KI in zasebnega KZ. Medtem, ko je zasebni ključ KZ znan samo ponoru B, je ključ KI javno objavljen kar pomeni, da je dostopen tudi izvoru A. Izvor A, ki namerava šifrirati odprto sporočilo M in ga poslati ponoru B, uporabi za šifriranje javni ključ KI in šifrirni algoritem E. Odprto sporočilo M tako pretvori v tajnopis C: C — E{M. K J) (3) Ponor B tajnopis sprejme in ga s pomočjo dešifrimega algoritma D in zasebnega ključa KZ pretvori nazaj v odprto sporočilo M: M = D( C, KZ) = />( E( M, K J), KZ) (4) Šifrirni in dešifrirni algoritmi temeljijo na uporabi navideznih enosmernih funkcij11, t.j. enosmernih funkcij z vgrajeno pastjo, za katere je značilno: 1. posamezna funkcijska vrednost C = f(M,K) ima unikatni inverzM=/'CC, K); 2. izračun funkcijske vrednosti C—¡(M, K) je enostaven, cesta M in K znana; 11 Angl. Trap-d o or one-way function. Strežnik z javnimi ključi Miha Andrejev javni ključ ? Andrejev zasebni ključ Odprlo sporočilo Tajnopis -m— Odprto sporočilo Šifrirni algoritem Dašitrirni algoritem (inverzen šifrirnemu) Slika 8: Preprost mode! asimetričnega kriptografskega sistema 1999 številka Z-letnik Vil opomb) »H NFOR M AT! KA Strokovni, razpravi: izvor a Odprto sporočilo E ...... M 1__...__ Šifrirni H-algorilom I D PONOR B KJ javni ključ KJ KZ zasebni ključ KJ kz K Par ključev Slika 9: Podrobnejši model asimetričnega kriptografskega sistema 3. izračun inverzne vrednosti M=f'(C, K) je enostaven, če sta C in K znana; 4. inverzno vrednost M=f',(C, K) je nemogoče izračunati, Če je C in K neznan, kar pomeni, da enosmerne pasti ne moremo odpreti brez poznavanja ključa K. Najbolj znana algoritma z javnim ključem sta [4J: ■ algoritem RSA, poimenovan po svojih avtorjih (Ronald Rivest, Adi Shamir, Leonard Adleman) in patentiran v ZDA. Metoda temelji rta zahtevni nalogi faktorizacije števila, ki je zmnožek dveh velikih pni S te vil. Na voljo je veliko komercialnih izvedb RSA (tako programskih kot strojnih). Uporabljajo se ključi daljši od 512 bitov. Za ameriške firme velja omejitev za izvoz: dobiti morajo dovoljenje vlade, ta pa običajno ne dovoli izvoziti programa, ki uporablja daljši ključ od 512 bitov, RSA Laboratories priporoča ključ 768 bitov za osebno uporabo, 1024 bitov za uporabo v organizacijah in 2048 bitov za ključe v izredno pomembnih operacijah. ■ ECC (Hlliptic Curve Cryptosystems) je algoritem, katerega matematična osnova so eliptične funkcije. V primerjavi z RSA so za enako varnost potrebni krajši ključi {tabela 1), zalo kaže, da bodo v bodočnosti ii algoritmi prevladali. dolžina ključa ECC dolžina ključa RSA 106 hitov 512 bitov 132 bitov 768 bitov 160 bitov 1024 bitov 191 bitov 1536 bitov 211 bitov 2048 bitov Tabela i: Primerjava med dolžinami ključev, potrebnih za enako stopnjo varnosti pri RSA in ECC [4j. Leta 1990 so se razširile govorice, da ameriška vlada na predlog FBI in NSA pripravlja zakon, ki bo zelo omejil uporabo kriptografskih algoritmov [4]. Phil Zimmermann12, računalniški strokovnjak, je kot odgovor na to napisal programski paket PGF (Pretty Good Privacy), ki je brezplačen in uporablja simetrične in asimetrične algoritme, zgostitvene funkcije in vse, kar je potrebno za pošiljanje Sifriranih sporočit po elektronski pošti. Poleg avtorja so ga dopolnjevali uporabniki pti vsem svetu. Od verzije 5 naprej je možno izbirati med algoritmi RSA, Diffie-Mellman, IDEA in drugimi simetričnimi algoritmi. 2.5 Splošne lastnosti kriptografskih sistemov Namen načrtovalcev kriptografskih sistemov je izdelati dober oziroma kakovosten kriptografski sistem. Kakovost se ocenjuje na osnovi njegovih lastnosti, ki so: varnost, hitrost, zanesljivost, enostavnost, cenenost, Vzdrževalno s t. Ena izmed najpomembnejših lastnosti kriptografskih sistemov je njihova varnost. O popolni varnosti bi lahko govorili samo v primeru, če bi razpolagali z vsaj toliko ključi, kolikor odprtih sporočil želimo šifrirati [1J. Takšen, vendar zgolj teoretičen šifrirni sistem, je znan pod imenom OTP (One-Time-Pad). Njegova osnova je generator popolnoma naključnih števil. Ker v praksi takšnega sistema ni mogoče realizirati, velja kriptografski sistem za varnega, Če se že dolgo časa uspešno upira kriptoanalizi svetovne strokovne javnosti. Dober kriptografski sistem mora izpolnjevati naslednje zahteve: ■ Zasebnost sporočil ne sme sloneti na tajnosti samega šifrirnega postopka temveč na tajnosti ključa za deSifriranje. Z drugimi besedami to pomeni, da ima lahko vsakdo na voljo računalniški program za dešifriranje, vendar mu lo nič ne pomaga, če ne pozna tajnega ključa. 12 h ttp://www. nal.com/prociucls/security/phil/phil. asp upmobnd NFOR M ATI KA 1999 - Številka 2 - letnik VII Strokovni, razpravi: ■ Postopek šifriranja in dešifriranja mora biti izvedljiv v Čim krajšem času. a Postopek dešifriranja mora biti enostaven za tistega, ki pozna tajni ključ, in praktično neizvedljiv za tistega, ki tega ključa ne pozna, četudi pozna sam postopek dešifriranja in ima rta razpolago zmogljiv računalnik. ■ Obnašanje kriptografskega sistema naj bo takšno, da ne bo dajalo napadalcu nobenih informacij, ki bi mu pomagale pri dešifriranju (npr. hitrost šifriranja ne sme biti odvisna od velikosti ključa). ■ Vsi tajnopisi, ki jih tvori kripografski sistem, morajo imeti enake statistične lastnosti. Samo zamenjava vrstnega reda črk v tekstu temu ne ustreza, saj lahko napadalec s statistično analizo ugotovi, da je znak, ki se najbolj pogosto pojavlja, črka E (velja za slovenščino). Slika 10 prikazuje rezultate šifriranja dveh različnih tipov odprtih sporočii s kaotičnim kriptografskim sistemom, ki uporablja kaotično digitalno sito [6J. Izgled tajnopisov kaže, da se njune statistične lastnosti nekoliko razlikujejo. Na varnost kriptografskih sistemov vplivajo: ■ časovna zahtevnost šifrirnih in dešifrirnih algoritmov: zasnova sodobnih kriptografskih sistemov je takšna, da prevede dešifriranje tajnopisa brez poznavanja ključa na zelo zahtevno računsko nalogo, ki zahteva za svoje reševanje zelo veliko časa. Zahtevnost algoritmov za šifriranje in dešifriranje je povezana z računsko zahtevnostjo 11], ki se ovrednoti glede na število osnovnih računskih operacij kot so npr. seštevanje, odštevanje, množenje, deljenje, primerjanje, itd. Problem, ki ga rešuje algoritem, je preprost, Če je rešljiv v polinomskem času kar pomeni, da je pri n-bitnern vhodu V algoritem, čas za izračun izhodne vrednosti proporcionalen vrednosti n1', pri čemer je a konstanta [2], Za takšne algoritme pravimo, da pripadajo razredu P - polinomški. Obstajajo pa še varnejši algoritmi, ki so povezani s precej zahtevnejšimi koncepti. To so algoritmi, ki pripadajo razredu NP - nedeterministični polinomški razred in se vgrajujejo v sodobne kriptografske sisteme (RSA). Njihova časovna zahtevnost je sorazmerna vrednosti c", kjer je c pozitivna konstanta, n pa število bitov vhoda. ■ zasnova - struktura: S tu kt ura blokovnih sistemov, ki uporablja dodatne načine povezovanja blokov (CBC, CFB ali OFB), se izkaže za precej varnejšo kot navadna slruklura, ki šifrira vsak blok posebej (EBC). Struktura RSA sistema temelji na računsko zelo zahtevni operaciji faktoriziranja števil. Za tovrstno operacijo je bilo predstavljenih precej ra/.ličnih algoritmov, za katere je značilno, da so izredno dolgotrajni Razbijanje takšnih sistemov je zaradi tega zelo naporno oziroma nesmiselno. H dolžina Uporabljenega ključa in njegovo distribuiranje daljši ključ pomeni večjo varnost. V mnogih primerih se z dolžino ključa veča tudi čas šifriranja in dešifriranja, Distribucija tajnega ključa med pošiljateljem in prejemnikom mora biti varna. ■ kakovost implementacije: pomembno je, da so kriptografski sistemi pravilno implementirani z neokrnjenimi in kriptografsko analiziranimi verzijami Šifrirnih in dešifrirnih algoritmov. Še tako dober algoritem ni varen, če ni pravilno implementiran. Tudi hitrost Šifriranja in dešifriranja vpliva na kakovost kriptografskega sistema. Delovanje kriptografskega sistema v realnem Času v večini primerov zahteva aparaturno izvedbo. Primerjava hitrosti asimetričnih in simetričnih algoritmov kaže, da so asimetrični algoritmi neuporabni za masovno šifriranje podatkov, saj so precej počasnejši od simetričnih. Algoritem RSA je namreč 1000-5000 krat počasnejši od algoritma DES. a) Šifriran sinusni signa) b) Šifrirana tekstovna datoteka Stika 10: Primer šifriranja sinusnega signala m datoteke z istim ključem. Statistične lastnosti obeh lajnopisov niso povsem enake. 1999 - številka 2 - letnik Vil i tpombi liil NFOR M ATI KA Strokovni, razpravi: Vzdrževal no s t kriptografskega sistema je odvisna od njegove zasnove in implementacije. Zelo priporočljivo je, da obstaja možnost enostavne spremembe: ■ ključa in njegove dolžine ■ dolžine vhodnih blokov (odprto sporočilo) ■ Šifrirnega in dešifrirnega algoritma (v primeru kasneje odkritih pomanjkljivosti). Tovrstne spremembe naj ne bodo pogojene z zahtevnimi posegi v strojno opremo ali celo načrtovanjem nove, pač pa naj bo omogočeno programsko spreminjanje. 3. Zaključek Kriptografski sistemi so imeli že v preteklosti pomembno vlogo, ki pa je bila omejena predvsem na vojaško področje. Ker je v računalniških omrežjih relativno enostavno prisluškovati, se je že zelo zgodaj pojavila potreba po kriptografskih sistemih. V prispevku smo prikazali koncepte najpomembnejših kriptograskih sistemov, ki se uporabljajo predvsem na področju računalniških komunikacij. Noben kriptografski sistem ne zagotavlja popolne zasebnosti. Njihova kakovost je odvisna od vrste algoritma in kakovostne implementacije. Vsak napadalec se za napad odloči šele takrat, ko se stroški (napor) vloženi v napad povrnejo z vrednostjo prebrane informacije. Na podlagi te ugotovitve so zasnovani vsi kriptografski sistemi. Literatura [1] N. Pavešič: Informacija in kodi, Univerza v Ljubljani, 1997. [2] W. Stal lings: Cryptography and Network Security: Principles and Practice. Second Edition, Pren t tee-Hall, 1999. [3] S. Tomažič, M. Umek : Varne komunikacije preko Interneta, Zbornik posvetovanja Dnevi slovenske informatike. Portorož, 17.-20. april 1996. - Ljubljana: Slovensko društvo Informatika, 1996 - str. 214-222. [4| Center vlade za informatiko: http://vww.sigov.si/tecaj/kripto/ index.htm, marec 1999. [5] Eli Btham, Lars R. Knudsen, RSA Laboratories' CryptoSytes: DES, Triple-DBS and AES, vol. 4, Number 1, Summer 1998. [6[ M. Šalamon. T. Dogša: Kaos v digitalnem situ drugega reda, Zbornik sedme Elektrotehniške in računalniške konference ERK '98, 24. - 26, september 1998, Portorož, • Ljubljana. Zv, A. str. 65-68. ♦ Matej Šalamon je diplomiral leta 1994 na Fakulteti za elektrotehniko, računalništvo in informatiko v Mariboru, kjer je tudi zaposlen kot asistent za področje elektronskih vezij. Na raziskovalnem področju se ukvarja predvsem s kaotičnimi in kriptografskimi sistemi. Tomaž Dogša je docent na mariborski Fakulteti za elektrotehniko, računalništvo in informatiko, kjer predava na dodiplomski in podiplomski stopnji in vodi Center za verifikacijo in volidacijo sistemov. Na raziskovalnem področju se ukvarja 5 kriptografskimi sistemi in s preverjanjem programske opreme. ♦ i ifmrnbi «¡IN FOR M AT IKA 1999 - šievitka 2 - letnik VII