INFORMATIKA (ŠIFROVÁNÍ A PODPIS) 2010/11
1.1 Šifrovaná a nešifrovaná komunikace Při přenosu dat (v technice i v živých organismech) se užívá: Kódování realizace nebo usnadnění přenosu informace. Morse kód: TOTO JE MORSEOVKA Šifrování utajení informace. 1.1.1 Digitální Digitální je libovolný soubor dat (posloupnost bitů) v elektronické podobě (tj. např. textový, grafický nebo zvukový soubor nebo program uložený na disketě, pevném disku, na síti nebo v paměti počítače). Poznámka: Digitální lze vždy reprezentovat posloupností bitů. Na tuto posloupnost se lze dívat jako na číslo zapsané ve dvojkové soustavě. Digitální lze tedy považovat také za číslo (nabývající značných velikostí mající např. trilióny cifer). Strana 2
1.1.2 Komunikace bez šifrování Při komunikaci po veřejné telekomunikační síti (což je nejen Internet, ale např. i síť mobilních telefonů) nelze bez dalších opatření bezpečně vyměňovat utajené y a ani zaručit autorství. Tajný prostor odesílatele Veřejný prostor Tajný prostor příjemce Tajný Tajný Tajný Dokument prozrazen Obrázek 1. Komunikace bez zabezpečení možnost odposlechu, pozměnění, podvrhu Strana 3
Tajný prostor odesílatele (klient banky) Tajný : převést 5000 Kč na účet A + heslo klienta Veřejný prostor Tajný : převést 9000 Kč na účet B + heslo klienta Útočník pozmění zprávu Tajný prostor příjemce (banka) Tajný : převést 9000 Kč na účet B + heslo klienta heslo OK převod Obrázek 2. Komunikace s heslem (podpisem) bez šifrování možnost pozměnění Tajný prostor odesílatele (klient banky) nic nepíše Veřejný prostor Tajný : Převést 9000 Kč na účet B + heslo klienta Útočník vytvoří podvrh, protože zná heslo klienta z dřívějších zpráv Tajný prostor příjemce (banka) Tajný : Převést 9000 Kč na účet B + heslo klienta heslo OK převod Obrázek 3. Komunikace s heslem (podpisem) bez šifrování možnost podvrhu Strana 4
Konfigurace systému: Všechny osoby v systému jsou si rovny. Odesílání: Nešifrované. Příjem: Bez dešifrování. Bezpečnost proti odposlechu: Žádná okolní osoby mohou teoreticky číst všechny odesílané y. Bezpečnost proti pozměnění okolím: Žádná příjemce není schopen zaručit, že během přenosu nepozměnila jiná osoba. Záruka autorství: Žádná kdokoliv se může podepsat jakkoliv a příjemce není schopen identifikovat skutečného odesílatele. Vlastnosti komunikace bez šifrování: jednoduchost lze odposlouchávat přenášená data může kdokoliv pozměnit bez autorizace (nelze určit a zajistit autora) Strana 5
1.1.3 Šifrování dat, šifrovací algoritmy Šifrovací algoritmy: Symetrický šifrovací algoritmus (jeden šifrovací klíč). Asymetrické šifrovací algoritmy (zašifrování, odšifrování, veřejný a tajný klíč). Asymetrické šifrování. Inverzní asymetrické šifrování. Kombinace obojího. Komunikace se symetrickým šifrováním Symetrické šifrování je založeno na znalosti tajného klíče oběma komunikujícími stranami a řeší tak některé problémy komunikace bez šifrování. Příklad: Šifrovací stroj Enigma. Strana 6
Umožňuje obousměrnou komunikaci Tajný prostor odesílatele Tajný klíč (heslo) 0110111101 Tajný šifrovací program Veřejný prostor utajená výměna Šifrovaný tajný Útočník nezná heslo Tajný prostor příjemce dešifrovací program Tajný klíč (heslo) 0110111101 Tajný Vlastnosti symetrického šifrování: tajný klíč mohou prozradit obě strany problém s výměnou tajného klíče nelze odposlouchávat data nelze pozměnit během přenosu nerozlišitelnost autorství v rámci skupiny s klíčem Obrázek 4. Symetrické šifrování Konfigurace systému: Osoby v jisté, vůči okolí uzavřené skupině, znají tajný klíč (heslo). Odesílání: Před odesíláním každá osoba zašifruje tajným klíčem. Příjem: Při příjmu je nutno dešifrovat shodným tajným klíčem. Bezpečnost proti odposlechu: Okolní osoby nemohou číst šifrované zprávy, protože neznají tajný klíč. Bezpečnost proti pozměnění okolím: Okolní osoby nemohou bez znalosti tajného klíče pozměnit bez toho, aniž by to dešifrovací program odhalil. Stejně tak odhalí náhodně pozměněný zašifrovaný. Strana 7
Poznámka: Zašifrovaný nelze s velkou pravděpodobností pozměnit tak, aby dešifrovací algoritmus nedetekoval poškození u. Současně však nelze dešifrovat, pozměnit a opět zašifrovat neoprávněnou osobou. Dokument je tedy chráněn jak proti cílenému pozměnění, tak proti pozměnění vlivem chyby přenosu. Záruka autorství: Je jednoúrovňová příjemce je schopen u odesílatele určit, zda patří nebo nepatří do skupiny znající tajný klíč. Poznámka: Špatně zašifrovaný (jiným klíčem) dešifrovací program odhalí. Jistotu odhalení špatně zašifrovaného resp. pozměněného u lze vyjádřit pravděpodobností, která se ovšem obvykle velmi blíží jistotě. Poznámka: Při symetrickém šifrování je nutno nějak utajeně předat tajný klíč problém přenosu tajného u veřejným prostorem se tedy neřeší zcela, protože je veřejným prostorem opět třeba přenést tajný klíč. Strana 8
Komunikace s asymetrickým šifrováním Asymetrické šifrování je založeno na existenci dvou vzájemně propojených klíčů: tajného a veřejného. Příklad: Šifrovací služba pgp (Unix), přenos zabezpečených stránek WWW. Vlastnosti asymetrického šifrování: Tajný prostor odesílatele Tajný šifrovací program Veřejný prostor Veřejný klíč 0001010101 Šifrovaný tajný Tajný prostor příjemce generátor veřejného klíče dešifrovací program Tajný klíč 0110111101 Tajný tajný klíč může prozradit pouze jeho vlastník nelze odposlouchávat data nelze pozměnit během přenosu Útočník nezná tajný klíč bez autorizace, nelze určit odesílatele Obrázek 5. Asymetrické šifrování Strana 9
Konfigurace systému: Příjemce si zvolí svůj tajný klíč (který nikomu neprozradí) a ten pomocí generátoru veřejného klíče převede na klíč veřejný. Generátor je přitom postaven tak, že z veřejného klíče nelze vypočítat odpovídající tajný klíč. Současně platí, že y zašifrované veřejným klíčem lze dekódovat pouze odpovídajícím tajným klíčem. Poznámka: Algoritmy pro převod tajného klíče na veřejný a naopak jsou známy. Zatímco ale tajný klíč na veřejný lze převést bez problémů, opačný převod je z důvodů předpokládané extrémní časové náročnosti prakticky neproveditelný. Odesílání: Před odesíláním každá osoba zašifruje veřejným klíčem příjemce. Příjem: Při příjmu se dešifruje tajným klíčem příjemce. Bezpečnost proti odposlechu: Okolní osoby nemohou číst šifrované zprávy, protože neznají tajný klíč adresáta (a z výše uvedených důvodů ho z veřejného klíče získat ani nemohou). Bezpečnost proti pozměnění okolím: Příjemce je schopen zaručit, že nepozměnila jiná osoba, protože jakékoliv pozměnění bude detekovat dešifrovací program. Záruka autorství: Žádná příjemce není schopen identifikovat skutečného odesílatele, protože všichni odesílatelé mohou zašifrovat veřejným klíčem. Strana 10
Inverzní asymetrické šifrování Při inverzním asymetrickém šifrování se využívá faktu, že lze nejen zašifrovat veřejným klíčem a dešifrovat pouze příslušným tajným klíčem (jako dříve výše), ale i naopak: tajným klíčem zašifrovaný lze dešifrovat pouze odpovídajícím klíčem veřejným. Příklad: Využívá se v digitálním podepisování. Umožňuje obousměrnou komunikaci Prostor odesílatele Tajný klíč odesílatele 0110111101 generátor veřejného klíče šifrovací program dešifrovací program Veřejný prostor Veřejný klíč odesílatele 0001010101 veřejně šifrovaný Prostor příjemce dešifrovací program Vlastnosti inverzního asymetrického šifrování: tajný klíč může prozradit pouze jeho vlastník lze odposlouchávat data nelze pozměnit během přenosu lze ověřit autorství Obrázek 6. Inverzní asymetrické šifrování Strana 11
Konfigurace systému: Odesílatel si zvolí svůj tajný klíč, který pomocí generátoru veřejného klíče (převede na klíč veřejný a ten zveřejní. Odesílání: Odesílatel zašifruje svým tajným klíčem. Příjem: Při příjmu se dešifruje veřejným klíčem odesílatele. Bezpečnost proti odposlechu: Žádná. Všechny osoby mohou dešifrovat y veřejným klíčem odesílatele. Bezpečnost proti pozměnění okolím: Příjemce je schopen zaručit, že nepozměnila jiná osoba (dešifrovací program by stejně jako dříve pozměnění zašifrovaného u odhalil). Záruka autorství: Příjemce je schopen ověřit autentičnost odesílatele podle toho, jestli se podařilo dešifrovat veřejným klíčem domnělého odesílatele. Poznámka: Zašifrovaný lze totiž velmi nepravděpodobně rozšifrovat jiným klíčem než veřejným klíčem příslušejícím k šifrovacímu klíči (tajnému klíči) odesílatele. Strana 12
Dvojnásobné asymetrické šifrování S velkou výhodou lze kombinovat asymetrické šifrování s inverzním asymetrickým šifrováním. Sloučí se tak výhody obou postupů. Příklad: Digitální podepisování s utajením obsahu. Umožňuje obousměrnou komunikaci Vlastnosti dvojnásobného asymetrického šifrování: Tajný prostor odesílatele Tajný klíč odesílatele 0110111101 šifrovací program šifrovací program generátor veřejného klíče Veřejný prostor Veřejný klíč odesílatele 0001010101 Veřejný klíč příjemce 1110111011 šifrovaný Tajný prostor příjemce generátor veřejného klíče dešifrovací program dešifrovací program Tajný klíč příjemce 0101010111 tajný klíč může prozradit pouze jeho vlastník nelze odposlouchávat data nelze pozměnit během přenosu Útočník nezná tajný klíč příjemce lze ověřit autorství Obrázek 7. Dvojnásobné asymetrické šifrování Strana 13
Konfigurace systému: Odesílatel i příjemce si zvolí své tajné klíče, které pomocí generátoru veřejného klíče převedou na klíče veřejné. Odesílání: Odesílatel zašifruje prve veřejným klíčem příjemce a pak podruhé svým tajným klíčem. Příjem: Příjemce dešifruje prve veřejným klíčem odesílatele (ověří autorství) a potom svým tajným klíčem. Bezpečnost proti odposlechu: Ano. Okolní osoby mohou pouze ověřit autorství u. Bezpečnost proti pozměnění okolím: Ano. Záruka autorství: Ano. Strana 14
1.2 Digitální podpis V roce 2000 byl v ČR přijat zákon o elektronickém podpisu (autoři: doc. Mates a doc. Smejkal iniciace SPIS Sdružení pro informační společnost). Zákon rozeznává: (obyčejný) elektronický podpis (EP) zaručený elektronický podpis (ZEP) Hlavním předmětem zákona je zaručený elektronický podpis. V současné době známe jen jeden příklad ZEP a tím je digitální podpis. Poznámka: Digitální podpis nemá nic společného s pojmy jako zdigitalizovaný podpis nebo naskenovaný podpis. Strana 15
Hlavním smyslem zákona je zrovnoprávnit papírové a digitální y a rukou psané podpisy s podpisy digitálními. Cílem digitálního podepisování je možnost prokazatelně podepsat digitální a zaručit tak všem čitatelům ověřitelné autorství. Např. v běžné elektronické poště (e-mail bez digitálního podepisování) si uživatel nemůže být nikdy jist tím, že přijatý dopis (digitální ) skutečně odeslala osoba uvedená v poli odesílatel nebo osoba pod dopisem podepsaná např. svým jménem. Digitální podpis vychází z inverzního asymetrického šifrování. Řeší ale navíc některé technické problémy. Podepisování pomocí asymetrické šifry: Odesílaný, který se má podepsat, se zašifruje tajným klíčem podepisujícího se (odesílatele). Při příjmu u se dešifrováním veřejným klíčem podepsaného ověří autorství. Strana 16
Navrhnutý postup je sice funkční, ale má následující nedostatky: 1. Šifruje se celý, což při rozsáhlejších objemech dat může být časově náročné. 2. Bez znalosti byť veřejného klíče, nelze přečíst (jinými slovy: kontrola autorství je povinná a nelze ji před čtením vynechat). 3. V praxi je značný problém zajistit, aby cizí osoba nemohla pozměnit veřejný klíč. Poznámka: Veřejný klíč se totiž k uživateli přenáší z veřejného prostoru. Po této cestě ho bez dalšího zabezpečení může nějaký útočník pozměnit. 1.2.1 Hašovací funkce Problém časové náročnosti digitálního podepisování a nutnosti vždy dešifrovat (viz první dva body výše) je možné řešit společně zavedením tzv. hašovací funkce, která mění posloupnost odesílání a příjmu u. Hašovací funkce má dvě role: Komprese dat (1 2 64 bitů 160 bitů). Strana 17
Vlastní hašování. Role hašovací funkce v digitálním podepisování: Podepisování: Odesílaný, který se má podepsat, se zpracuje hašovací funkcí výstupem je krátká (160ti bitová) informace hašovací kód, který vhodným způsobem reprezentuje obsah celého u. Hašovací kód se zašifruje tajným klíčem podepisujícího se a tato šifra, které se říká digitální podpis, se připojí za nešifrovaný. Prostor odesílatele Veřejný prostor hašovací funkce hašovací kód šifrovací program digit. podpis Tajný klíč odesílatele 0110111101 generátor veřejného klíče Veřejný klíč odesílatele 0001010101 Obrázek 8. Digitální podepisování Čtení zprávy s ověřením autorství: Přijatou zprávu rozdělíme na a digitální podpis. Digitální podpis se dešifruje veřejným klíčem domnělého odesílatele. Výsledek musí být totožný s hašovacím kódem přijatého u. Strana 18
Veřejný prostor Prostor příjemce digit. podpis hašovací funkce hašovací kód Veřejný klíč odesílatele 0001010101 dešifrovací program porovnání hašovací kód Obrázek 9. Ověření digitálního podpisu Čtení zprávy bez ověření autorství: Od přijaté zprávy (obsahující nešifrovaný a digitální podpis) se oddělí digitální podpis a zbytkem je původní. Při popsaném postupu se vždy šifruje nebo dešifruje jen krátký hašovací kód a nikoliv celý, což algoritmus digitálního podpisu urychluje a zároveň si ověření autorství nevynucuje. Strana 19
1.2.2 Certifikáty Pokud si osoba A zvolí svůj tajný klíč T A a zveřejní k němu odpovídající veřejný klíč V A, může si každá osoba ověřit autorství všech podepsaných ů osoby A na základě znalosti veřejného klíče V A, jak již bylo řečeno. Problém spočívá ve způsobu, jak bezpečně dopravit veřejný klíč V A k příjemci digitálně podepsaného u od osoby A. Ve veřejném prostoru by totiž mohla i osoba B vystavit svůj veřejný klíč V B (příslušející k T B ) a vydávat se Strana 20
za osobu A. Při ověřování digitálního podpisu je totiž naprosto nutné vycházet z veřejného klíče, který zaručeně patří odesílateli. Problém možného podvržení falešného veřejného klíče řeší existence certifikátů. Certifikát je veřejný elektronický spojující se zárukou identitu odesílatele a jeho veřejný klíč. Jediný způsob, jak to zaručit, je (certifikát) opět digitálně podepsat a to důvěryhodnou osobou Certifikační autoritou. Poznámka: Úřad pro ochranu osobních údajů udělil První certifikační autoritě, a. s. (I. CA www.ica.cz), dceřinné společnosti PVT, a.s., 18. 3. 2002 akreditaci pro výkon činnosti akreditovaného poskytovatele certifikačních služeb ve smyslu zákona č. 227/2000 Sb., o elektronickém podpisu. Strana 21
Obrázek 10. Internetová stránka První certifikační autority Problém se přesouvá postupně výš od ověření podpisu příchozího u k ověření podpisu na certifikátu. Po i několikerém opakování postupu ověřování se dojde až k ověření podpisu na certifikátu, jehož platnost je obecně nezpochybnitelná (musí být zaručena jiným způsobem). Každý, kdo chce digitálně podepisovat, si zvolí svůj tajný klíč, který pomocí generátoru veřejného klíče převede na klíč veřejný. Dokument obsahující jeho Strana 22
veřejný klíč a jeho identifikaci si nechá podepsat u Certifikační autority. Tak vznikne certifikát, který zveřejní. Prostor odesílatele generátor veřejného klíče Osoba A Tajný klíč odesílatele 0110111101 0001010101 osoba A má veřejný klíč: 0001010101 identita odesílatele Veřejný prostor bezpečný přenos Certifikát osoba A má veřejný klíč: 0001010101 digit. podpis Cert. autority Nezpochybnitelný veřejný klíč Certifik. autority 1110111011 Tajný prostor Certifikační autority Žádost o certifikát hašov. kód šifrovací algoritmus generátor veřejného klíče hašovací funkce tajný klíč Certifik. autority 0101010111 Obrázek 11. Získání certifikátu Poznámka: Přes veřejný prostor je třeba k Certifikační autoritě bezpečně (např. osobně nebo pomocí jiných mechanismů) přenést identitu osoby A s jejím veřejným klíčem. Poznámka: Může existovat více Certifikačních autorit a přitom nemusí nutně všechny mít nezpochybnitelný veřejný klíč. Stačí, když autorita bez nezpochybnitelného veřejného klíče požádá o certifikát autoritu, která nezpochybnitelný klíč vlastní. Strana 23
Certifikát podepsaný Certifikační autoritou se stává platným a nepozměnitelným, protože je digitálně podepsán. Z obyčejného elektronického podpisu (který není zaručen certifikátem) se tak stává zaručený elektronický podpis. Vlastnosti přenosu ů se zaručeným digitálním podpisem: Bezpečnost proti odposlechu: Ne. Digitální podpis slouží pouze k ověření autorství. Digitální podpis lze ale kombinovat s asymetrickým šifrováním (viz dvojité šifrování výše) a docílit tak odolnosti i proti odposlechu. Bezpečnost proti pozměnění okolím: Ano. Bude-li přenášený pozměněn, změní se i jeho hašovací kód a to bude detekováno. Digitální podpis by v případě nezaručení nepozměnitelnosti pozbyl jakéhokoliv významu. Záruka autorství: Ano. Pouze se znalostí tajného klíče je možné digitálně podepsat (z čehož plyne, že vyzrazení vlastního tajného klíče může znamenat jeho zneužití). 1.2.3 Příklady použití digitálního podpisu Americký prezident Bill Clinton a irský ministerský předseda Bertie Ahern se 4. září 1998 zapsali do historie dvěma událostmi. Za prvé společně podepsali Strana 24
komuniké o podpoře pro elektronický obchod a za druhé toto komuniké podepsali digitálně. Univerzální elektronická karta (UEK): Čipová karta, minikalkulačka. Komunikace s okolím (rozhraní: infračervené, sériový kanál, bezkontaktní čip). Ochrana před odcizením (PIN, viz platební karty). Využití UEK: Digitální úřední listy (rodný, oddací). Digitální doklady o vzdělání (vysvědčení, diplomy, certifikáty). Digitální průkazy (občanský, řidičský, technický, knihovní, vysokoškolský, o zdravotním a sociálním pojištění, MHD, cestovní pas). Platební prostředky elektronické peněženky, závodní a školní stravování, telefonní karty, elektronické bankovnictví apod. Klíče pro šifrování a podepisování elektronické pošty, k otevírání dveří (dům, auto, kancelář), přístup do vyhrazených prostor, přihlašovací hesla do sítí, šifrovací a autentizační klíče, klíče pro bankovní operace atd. Strana 25
Digitální podpis ve zdravotnictví Při návštěvě lékaře vložíme elektronickou kartu s tajným klíčem do čtecího zařízení. V lékařské databázi se vyhledají informace o identifikovaném pacientovi např. zápisy z poslední návštěvy. Úkony, které lékař provede, se vloží do databáze a vystaví se digitální recept (který obsahuje digitální podpis lékaře) a vyúčtuje úkony pojišťovně (účet je podepsán lékařem a pacientem). V lékárně se představíme svou elektronickou kartou. Lékárník vidí v centrální databázi vystavený recept, vydá léky a vyúčtuje si příslušný poplatek (který jsme digitálně podepsali svým tajným klíčem). Nepotřebovali jsme průkaz pojištěnce, recept, drobné. Nikdo nevypisoval zbytečné údaje. Lékař ani lékárník nepsali žádná hlášení pro zdravotní pojišťovnu. Úkony mohou být zovány a zúčtovány mezi centrálními databázemi. Lékař viděl, že máme platný průkaz pojištěnce, jeho úkony byly pro naši pojišťovnu zaznamenány a podepsány. Recept byl podepsán lékařem, lékárna ho ověřila, zaznamenala na něm vydání léku a podpis lékárníka. Odeslala ho k proplacení pojišťovně. Nedošlo k neoprávněnému vykazování úkonů, neoprávněným platbám, výdeji léků nebo padělání receptů. Strana 26
Poznámka: Elektronická karta obsahující tajný klíč může obsahovat i procesor se šifrovacím algoritmem, takže klíč nemusí čip karty vůbec opustit (do karty vstupuje kódovaný a vystupuje zakódovaný ). Strana 27