i i “1609-Jurisic-Klasicne” — 2010/8/26 — 11:57 — page 1 — #1 i i i i i i List za mlade matematike, fizike, astronome in računalnikarje ISSN 0351-6652 Letnik 33 (2005/2006) Številka 1 Strani 22-24 Aleksandar Jurišić in Urban Perko: KLASIČNE ŠIFRE IN ZDRAVSTVENA KARTICA Ključne besede: računalništvo, pametna kartica, zaščita, varnost, standardi, kriptografija, šifrirni postopki, protokoli, digitalni certifikati, digitalni podpisi, javni ključi, avtentikacija. Elektronska verzija: http://www.presek.si/33/1609-Jurisic-Perko.pdf c© 2005 Društvo matematikov, fizikov in astronomov Slovenije c© 2010 DMFA – založništvo Vse pravice pridržane. Razmnoževanje ali reproduciranje celote ali posameznih delov brez po- prejšnjega dovoljenja založnika ni dovoljeno. 22 Pomena informacije se v naši družbi dobro za- vedamo – nenazadnje se veliko posameznikov in podjetij preživlja zgolj z zbiranjem, urejanjem in posredovanjem informacij. Včasih želimo tudi omejiti dostop do informacij in ena izmed možno- sti je njihovo šifriranje. Klasične šifre in zdravstvena kartica (prvi del) Takemu postopku pravimo šifra (angl. cipher), izhaja pa iz hebrejske besede saphar, ki pomeni šteti/označiti. S problemom, kako si osebi (po- imenujmo ju Anita in Bojan) izmenjata sporočilo, ne da bi ga opazovalec (Oskar) razvozlal, se (med drugim) ukvarja kriptologija. Ta izraz je se- stavljen iz grških besed kryptos, ki pomeni skrivnost, in logos, ki pomeni beseda. Spoznali bomo dva pristopa za reševanje tega problema. V prvem delu predstavimo klasične oziroma simetrične šifre, v drugem delu pa še šifre z javnimi ključi oziroma asimetrične šifre. Zelo enostaven način za šifriranje besedila so poznali že v rimskih časih, šifrirali so tako, da so zamaknili abecedo za nekaj znakov. Število, ki nam pove, za koliko znakov smo zamaknili abecedo, označimo s K in predstavlja ključ za šifriranje in odšifriranje sporočila. Če si izberemo K=3, namesto črke A v sporočilu pišemo Č, namesto B črko D in tako naprej do Ž, namesto katerega pišemo črko C. To šifriranje je pogosto uporabljal tudi Julij Cezar in ni preveč varno, saj bi lahko vsakdo v kratkem času kar »na roko« preveril vseh 24 možnosti. Najbolj razširjena šifra po drugi svetovni vojni je bil des (Data Encription Standard) in je uporabljal 56-bitne ključe, kar pomeni 256 možnosti za iz- biro ključa. Zaradi vse hitrejših računalnikov so ga leta 2000 nadomestili z aes (Advanced Encription Standard), ki lahko uporablja ključe dolžin 128, 196 in 256 bitov. Preden si lahko Anita in Bojan začneta pošiljati sporočila, se morata do- govoriti, na kakšen način bosta šifrirala sporočila, in določiti skrivni ključ Aleksandar Jurišić in Urban Perko RAÈUNALNIŠTVO Presek 1-4.indd 22 10.8.2005 12:38:39 Process Cyan Process Magenta Process Yellow Process Black PANTONE 3395 CVC 23 RAÈUNALNIŠTVO K. Bistveno je, da napadalec Oskar ne izve za skrivni ključ, saj bi lahko sicer brez težav prebiral (in ponarejal) sporočila. Načina šifriranja pa običajno ne skrivamo, saj izkušnje kažejo, da ga na- padalec slej ko prej odkrije. des in aes sta bločni šifri, ker delujeta na blokih (t.j. skupini zaporednih znakov). Znake mešata v več krogih s pomočjo enostavnih operacij, katerih vrstnega reda ne moremo spre- minjati, ne da bi ostala šifra nespremenjena. Take operacije so modularna aritmetika, ekskluzivni ali, ciklični zamik, po- gled v tabele itd. Podroben opis teh šifer pa žal presega ok- vire tega sestavka. Za računske moči napadalcev si oglejte http://crypto-systems.com/keylength.htmlSlika 1. Cezarjeva šifra zašifrira njegovo ime v Ehbčt. CEZAR UKAZAL NAPAD EHBČT ŽNČBČO RČŠČG Slika 2. Simetrična šifra uporablja isti ključ za šifriranje in odšifriranje. Kerckhoffov princip. »Nasprotnik« pozna šifro oziroma algoritme, ki jih uporabljamo, ne pa tudi ključev, ki nam zagotavljajo varnost. Varnost šifriranja je tako odvisna od zasebnega ključa, za ka- terega se dogovorita Anita in Bojan. Za tako šifro pravimo, da je klasična oziroma simetrična, saj imata Anita in Bojan enak zasebni ključ (glej sliko 2). Največja nevšečnost takšnega pristopa je torej, da se morata Anita in Bojan pred dopisovanjem sestati. To je za zaljubljen par vsekakor smiselno, v primeru internetnega trgovanja pa nikakor ne. Omenimo še eno pomanjkljivost, ki jo ima takšen način: če povečujemo število posameznikov, ki želijo varno komunicirati v omrežju, narašča tudi število ključev za vsakega uporabnika. Na sliki 3 lahko vidimo primer omrežja z devetnajstimi uporabniki. Za občutek, kakšen problem predstavlja prostor za shranjevanje ključev, si zamislimo, da jih uporabniki shranjujejo na pametnih karticah (mednje štejemo npr. sim kartice v mobilnih telefonih, zdravstvene kartice). Če imamo na razpolago npr. 8 kb pomnil- nika in uporabljamo 128-bitne ključe, lahko na kartico shranimo le 512 ključev. To je odločno premalo že za varno komunikacijo uslužbencev v velikem trgovskem podjetju. Tudi če bi imeli na razpolago večji pomnilnik, pa za potrebe bank, pošt ali zdrav- stva nikakor ne bi mogli v njem hraniti vseh ključev prebivalcev Slika 3. Če v kriptosistemu, ki uporablja simetrično šif- ro, predstavimo uporabnike s točkami, je ključ za vsak par predstavljen z ustrezno povezavo. Že pri devetnaj- stih uporabnikih postane prostor okrog vsakega upo- rabnika precej zapolnjen. Slika 4. Delitev na skupine pri naši zdravstveni kartici. S K so označeni posamezni ključi, glavni ključ je ozna- čen z M. Vsak uporabnik ima tudi enolično serijsko stevilko SN i . šifriranje odšifriranje glava glava čistopis čistopis Presek 1-4.indd 23 10.8.2005 12:38:40 Process Cyan Process Magenta Process Yellow Process Black PANTONE 3395 CVC 24 naše države. V praksi problem pomanjka- nja prostora rešimo tako, da uporabnike razdelimo v skupine (glej sliko 4). Vsak uporabnik ima svoj ključ in ključe vsake skupine. Vsaka skupina ima ključ za to skupino in t.i. »glavni« ključ (angl. ma- ster key), s katerim lahko iz serijske števil- ke uporabnika izračuna uporabnikov ključ. S pomočjo teh ključev se uporabnik in skupina medsebojno overita (t.j. preverita pristnost) na način, prikazan na sliki 5. Vendar pa imajo vsi kriptosistemi, ki temeljijo na takšni shemi, kar nekaj po- manjkljivosti. Ena izmed večjih je ta, da varnost celotnega sistema temelji na varnosti ene same kartice. Če namreč uspemo odpreti uporabniško kartico, se dokopljemo do vseh skupinskih klju- čev. To nam omogoča, da se predstavi- mo ostalim uporabnikom kot katerakoli skupina, ne da bi uporabnik posumil, da ne komunicira s pravim članom skupine. Če pa se dokopljemo do glavnega ključa, lahko enostavno ponarejamo uporabni- ške kartice, saj si serijsko številko izmis- limo, ustrezen uporabnikov ključ pa nato s pomočjo glavnega ključa preprosto iz- računamo. Naslednja pomanjkljivost je ta, da so vse osebe znotraj ene skupine enakovredne; če uporabnik komunicira npr. z lekarno, lahko katerakoli oseba iz skupine lekarn prisluškuje pogovoru. Pa ne samo to, ose- be znotraj ene skupine so tudi neločljive, RAÈUNALNIŠTVO Slika 5. Pametna kartica predstavlja uporabni- ka, terminal pa skupino. Z e K označimo šifrirno funkcijo s ključem K. Le-ta pretvori s pomočjo ključa K vsebino v oklepaju v šifrirano besedilo. V zgornjem delu terminal overi pametno karti- co s pomočjo glavnega ključa M in serijske šte- vilke kartice (SN), v spodnjem delu pa kartica overi terminal s pomočjo skupinskega ključa K S . Kartica vsebuje samo K U in K S ne pa tudi M, medtem ko terminal ne pozna K U , ampak ga iz- računa s pomočjo M. Slika 6. Centralna rešitev s simetričnim sistemom. Varnost celotnega kriptosistema ne sme biti odvisna od varnosti ene same kartice. Kartic ni potrebno vedno odpirati, da bi prišli do ključev, ki jih hranijo, pač pa je dovolj, da znamo natančno izmeriti porabo energije v času računanja ter uporabiti nekaj statistike. Slika 7. V prvem koraku Anita pošlje centru zašifriran zahte- vek za pogovor z Bojanom. Center nato v drugem koraku ge- nerira ključ in ga pošlje obema. Bojanu tudi sporoči, kdo želi komunicirati z njim. Bojan v četrtem koraku pošlje sporočilo Aniti, da potrdi sprejetje ključa. Nato se začne komunikacija. kar pomeni, da se lahko ena oseba iz iste skupine izgovarja, da nečesa ni naredila, čeprav v resnici temu ni tako. Poleg tega je shema povsem neuporabna, če nima- mo naravne hierarhične zgradbe, ki nam omogoča delitev na skupine. Druga rešitev problema s prostorom pa je prikazana na sliki 6, njen najbolj poznan predstavnik pa je Kerberos. V tem primeru imamo center, s katerim vsak uporabnik deli svoj skrivni ključ. Ko želi Anita komunicirati z Bojanom, pošlje centru zašifriran zahtevek. Center gene- rira ključ in zašifriranega pošlje Aniti in Bojanu. Bojan nato obvesti Anito, da je prejel ključ in komunikacija se lahko za- čne. Celoten potek je prikazan na sliki 7. Očitna pomanjkljivost te sheme je, da moramo vsakič, ko želimo komunicirati, najprej vzpostaviti povezavo s centrom. Pogosto to ni zaželeno ali pa sploh ni možno. Če uporabniški ključi v centru niso primerno zaščiteni, je varnost celo- tne sheme ogrožena. Zaradi vseh teh pomanjkljivosti se she- me, ki temeljijo na simetričnem pristopu, uporabljajo bodisi v zaprtih okoljih bodisi tam, kjer ni velike potrebe po varnosti. Takšne sheme se na primer uporabljajo za kartice, ki hranijo administrativne podatke, tako da ni po- trebno ročno vnašati podatkov v formularje. Naša zdravstvena kartica je tipičen primer take kartice. Za hranjenje občutljivih podatkov pa so takšne sheme primerne le v okoljih, kjer so vsi uporabniki ves čas povezani v mrežo. V primeru naše zdravstvene kar- tice pa temu ni tako, saj nam sicer ne bi bilo potreb- no skoraj vsakič, ko jo želimo uporabiti, iti najprej do terminala, da ji podaljšamo veljavnost. terminal pametna kartica izračunaj y’= e KS (x’) izberi naključen x’ preveri, če je y’= e KS (x’) izberi naključen x izračunaj K U = e M (SN) preveri,če je y = e KU (x) izračunaj y = e KU (x) center K 1 K 2 ... K n K 1 U 1 K 2 U 2 K n U n center K A K B K S generiranje ključa eKA(KS) eKB(KS , A) Anita Bojan eKS(OK) eKS(...) x' S, y' X SN, y eKA(Z, B) K A K B Presek 1-4.indd 24 10.8.2005 12:38:41 Process Cyan Process Magenta Process Yellow Process Black PANTONE 3395 CVC