50
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STAVEBNÍ MIROSLAV MENŠÍK INFORMATIKA MODUL 4 BEZPEČNOST OPERAČNÍHO SYSTÉMU A SÍŤOVÉ KOMUNIKACE STUDIJNÍ OPORY PRO STUDIJNÍ PROGRAMY S KOMBINOVANOU FORMOU STUDIA

INFORMATIKA - lences.czlences.cz/domains/lences.cz/skola/subory/Skripta... · Informatika 1.4. Síťová autentizace Pro autentizaci doménového účtu využívá lokální autentizační

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

FAKULTA STAVEBNÍ

MIROSLAV MENŠÍK

INFORMATIKAMODUL 4

BEZPEČNOST OPERAČNÍHO SYSTÉMU

A SÍŤOVÉ KOMUNIKACE

STUDIJNÍ OPORY PRO STUDIJNÍ PROGRAMYS KOMBINOVANOU FORMOU STUDIA

c© Miroslav Menšík, Brno 2004

Obsah

Vstupní informace k modulu 5

Cíle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Požadované znalosti . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Doba potřebná ke studiu . . . . . . . . . . . . . . . . . . . . . . . . . 5

Klíčová slova . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1. Autentizace 7

1.1. Charakteristika a význam autentizace . . . . . . . . . . . . . . . 7

1.2. Interaktivní přihlašování ve Windows . . . . . . . . . . . . . . . 8

1.3. Neinteraktivní přihlašování ve Windows . . . . . . . . . . . . . . 9

1.4. Síťová autentizace . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2. Autentizační protokoly 11

2.1. Protokol LM a NTLM . . . . . . . . . . . . . . . . . . . . . . . 11

2.2. Protokol Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3. Správa hesel ve Windows 14

4. Autorizace 15

5. Kódování a šifrování 17

5.1. Klasické kryptografické metody . . . . . . . . . . . . . . . . . . 18

5.2. Modulární aritmetika, faktorizace . . . . . . . . . . . . . . . . . 23

5.3. Současné kryptografické metody . . . . . . . . . . . . . . . . . . 24

5.3.1. Symetrické metody, algoritmus DES . . . . . . . . . . . . 25

5.3.2. Výměna klíčů, algoritmus Diffie–Hellman . . . . . . . . . 27

5.3.3. Asymetrické metody, algoritmus RSA . . . . . . . . . . . 28

5.3.4. Hybridní kryptografické metody . . . . . . . . . . . . . . 30

5.3.5. Funkce obsahu zprávy (hash funkce) . . . . . . . . . . . 30

5.4. Šifrování souborů – EFS . . . . . . . . . . . . . . . . . . . . . . 31

6. Elektronický podpis 32

6.1. Schéma vytvoření elektronického podpisu . . . . . . . . . . . . . 32

6.2. Právní aspekty elektronického podpisu . . . . . . . . . . . . . . 32

3

6.3. Časové razítko . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

7. Důvěryhodnost veřejného klíče 35

7.1. Certifikát . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

7.2. Certifikační autorita . . . . . . . . . . . . . . . . . . . . . . . . 37

8. Zabezpečení síťové komunikace 38

8.1. Síťové filtry a firewally ve Windows . . . . . . . . . . . . . . . . 38

8.2. Protokol SSL/TLS . . . . . . . . . . . . . . . . . . . . . . . . . 40

8.3. Protokol IPSec . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

8.4. Elektronická pošta a soukromí . . . . . . . . . . . . . . . . . . . 43

8.5. S/MIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

9. Autotest 47

Závěr 49

Shrnutí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Studijní prameny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Klíč k autotestu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4

Bezpečnost operačního systému a počítačové komunikace

Vstupní informace k modulu

Cíle

Základním cílem modulu je poskytnout přehled o bezpečnostních technolo-giích, protokolech, algoritmech a normách používaných pro zajištění počíta-čové bezpečnosti. Modul se snaží ukázat, jak jsou tyto prostředky integroványdo operačních systémů a jak se využívají v digitální komunikaci. V následují-cích odstavcích jsou vysvětleny obecné principy autentizace a autorizace. Propodrobnější popis těchto mechanismů a protokolů byl vybrán operační sys-tém Windows. V další části modulu se nachází úvod do kryptologie, historickýpřehled kryptografických metod, rozdělení a popis nejznámějších současnýchkryptografických algoritmů, metod a jejich uplatnění v různých oblastech ope-račního systému. Poslední tematická oblast modulu se týká zabezpečení síťovékomunikace s využitím standardních protokolů.

Požadované znalosti

Pro pochopení textu je nutné nejdříve prostudovat moduly „Operační sys-témyÿ, „Počítačové sítě a Internet, služby internetuÿ. S ohledem na rozsahtextu nebylo vždy možné rozvést potřebné souvislosti. V těchto případech jenutné doplnit znalosti prostudováním doporučených zdrojů. Příslušné odkazyjsou vždy uvedeny v jednotlivých odstavcích.

Doba potřebná ke studiu

Čas potřebný pro pochopení textu je úměrný úrovni znalostí z tématiky uve-dené v odstavci „Požadované znalostiÿ. Čtenář, který se s uvedenou problema-tikou setkává poprvé, se ocitá v odlišné situaci než ten, kdo má např. praktickézkušenosti s internetovou komunikací, s konfigurací programů pro zpracováníelektronické pošty, s aktivním používáním www prohlížeče, případně s insta-lací operačního systému. Ale i v případě prakticky zkušenějšího uživatele, jehožznalosti jsou spíše intuitivní, může studium modulu zabrat více času.

Poznámka: Pro snazší pochopení některých informací je vhodné popisovanýpostup prakticky vyzkoušet.

Klíčová slova

Autentizace, autentizační protokol, autorizace, výzva–odpověď, NTLM, Ker-beros, autentikátor, lístek, substituce, transpozice, permutace, modulus, prvo-číslo, faktorizace, šifrovat, dešifrovat, klíč, výtah, otisk, hash, zpráva, otevřenýtext, symetrický, asymetrický, DES, Triple DES, AES, RSA, Diffie–Hellman,

5

Informatika

elektronický podpis, certifikát, kvalifikovaný certifikát, certifikační autorita,SSL/TLS, IPSec.

6

Bezpečnost operačního systému a počítačové komunikace

1. Autentizace

Moderní operační systém představuje základní programovou vrstvu, se kteroukomunikují všechny aplikace. Předpokládají, že jim operační systém poskytnedostatečně spolehlivý přístup k dílčím hardwarovým podsystémům – k paměti,procesoru, sběrnici, vstupním a výstupním zařízením. K atributu spolehlivostse dnes stále častěji připojuje další přívlastek – bezpečnost. Chceme, aby ope-rační systém poskytl aplikacím nezávislost, např. oddělený paměťový prostor,a zajistil jim dostatečnou důvěrnost, případně utajení. Tento požadavek před-kládá stále širší skupiny aplikací a přirozeně sílí se vzrůstající cenou spravova-ných informací. Prvky zabezpečení, které budou dále uvedeny, postupem časuopustily rovinu nadstaveb operačního systému a staly se jeho přímou součástí.Z této úrovně mohou být uživateli a aplikacemi snadněji využívány.

1.1. Charakteristika a význam autentizace

Autentizace je proces, při kterém je ověřována identita určitého subjektu. Jezákladním bezpečnostním krokem, který předchází získání přístupu k nejrůz-nějším prostředkům a informacím. I v běžném životě ji denně podstupujeme.Nejběžnější autentizaci provádíme při výběru hotovosti z bankomatu nebo připlatbě bankovní kartou. Autentizace zpravidla neprobíhá izolovaně a formálně,ale představuje první krok pro získání určitého neveřejného oprávnění, např.přístup k bankovnímu účtu. V kontextu operačního systému nemusí být auten-tizující se entitou pouze uživatel. Svou identitu může prokazovat také aplikace,proces nebo služba operačního systému.

Autentizační mechanismus obvykle využívá:

• utajenou znalost (autentizující se subjekt něco zná, např. heslo nebo jinýosobní identifikátor PIN),

• jedinečnou informaci uloženou na bezpečném zařízení, např. na čipovékartě nebo generovanou autentizačním kalkulátorem (autentizující se sub-jekt něco má),

• jedinečnou vlastnost autentizujícího se subjektu, např. jedinečné biome-chanické vlastnost (otisky prstů, struktura duhovky, hlas),

• důvěryhodného prostředníka.

Nejjednodušší autentizace probíhá prostřednictvím uživatelského účtu a hesla.Tato metoda je však nejslabší a nejvíce zranitelná. Jejím největším problé-mem je bezpečné a utajené sdělení hesla. Protože se při ní používá jedinýtajný parametr, označuje se také jako jednofaktorová. Autentizace prostřed-nictvím hardwarových autentizačních předmětů – čipových karet, USB klíčů,autentizačních kalkulátorů – kombinuje mechanismus „autentizovaný subjektněco víÿ a „autentizovaný subjekt něco máÿ. Utajenou znalostí je kód PIN,

7

Informatika

který chrání přístup k jedinečné informaci uložené na hardwarovém zařízení.Taková autentizace se označuje jako silná, také dvoufaktorová.

Příklad 1: Kód PIN zabezpečuje přístup k certifikátu a soukromému klíči,který je uložen na hardwarovém zařízení, např. na čipové kartě.

Autentizační informace ověřuje bezpečnostní služba (server). Součástí bezpeč-nostního podsystému operačního systému je bezpečné uložení uživatelskýchinformací (zejména hesel) a bezpečná výměna informací mezi autentizujícímse klientem a autentizační autoritou. K tomuto účelu se zpravidla používajíkryptografické algoritmy.

1.2. Interaktivní přihlašování ve Windows

Základní autentizační úroveň v operačním systému Windows představuje in-teraktivní přihlašování, při kterém uživatel aktivně zadává identifikační údaje.Ty jsou následně porovnávány s parametry místního nebo doménového účtu.Proces interaktivního přihlašování je zajišťován systémovým procesem Winlo-gon (winlogon.exe). V jeho bezpečnostním kontextu1 je zavedena knihovnams-gina.dll, která reprezentuje systémový modul označovaný jako Microsoft Gra-phical Identification and Authentication (MS GINA). Jeho úkolem je zachytitvznik událostí třídy Secure Attention Sequence (SAS), do které náleží např.žádost o přihlášení, odhlášení nebo uzamčení sezení, a informovat o těchtostavech řídící proces Winlogon.

Příklad 2: Interaktivní přihlašování uživatele začíná současným stiskem tříkláves Ctrl+Alt+Del. Tato akce vyvolá systémovou událost třídy SAS žádosto přihlášení, která je zachycena modulem MS GINA. O vzniklé události infor-muje MS GINA proces Winlogon prostřednictvím funkce WlxSasNotify. Po-kud proces Winlogon rozhodne, že je možné provést přihlášení, signalizuje stavmodulu MS GINA zpětným voláním funkce WlxLoggedOutSAS. Výsledkem jezobrazení autentizačního formuláře.

Modul MS GINA je zaměnitelná komponenta operačního systému Windows.To znamená, že může být nahrazena modulem třetí strany, který např. roz-šiřuje množinu zařízení, ze kterých je možné autentizaci provádět, např. očtečky čipových karet. Modularita operačního systému není pouze výhodou.Otevřenost operačního systému přináší i určitá rizika. Zaměnitelnost moduluMS GINA byla zneužita trojským koněm FakeGina, který bez zjevných funkč-ních změn nahrazoval původní systémovou knihovnu, navíc však zachycovalhesla uživatelů, kteří se přihlašovali do systému.

1má stejná oprávnění

8

Bezpečnost operačního systému a počítačové komunikace

Obrázek 1: Lokální autentizace(msdn.microsoft.com)

Při interaktivním přihlašováníMS GINA autentizuje uživatele pro-střednictvím lokálního podsystémuzabezpečení Local Security Autority(LSA). Autentizace probíhá volánímfunkce LSA s názvem LsaLogonUser.Parametry funkce jsou zadané au-tentizační údaje a požadavek nakonkrétní autentizační mechanis-mus, který je realizován formouautentizačního balíčku (authentica-ton package). Zvolený autentizačníbalíček ověří identitu uživatele ao výsledku informuje podsystémLSA, který informaci předává zpětmodulu MS GINA.

Konkrétní autentizační mechanismus je realizován pomocí autentizačních ba-líčků. Jejich úkolem je provést analýzu autentizačních údajů a pomocí určitéhoprotokolu provést ověření. Pokud je autentizace úspěšná, vzniká nová relacepřihlášení reprezentovaná jedinečným identifikátorem relace. Tuto informacipředává autentizační balíček zpět podsystému LSA, která ji používá při sesta-vování datové struktury označované jako bezpečnostní záznam (security token).

Základní autentizační balíček ve Windows má název MSV1 0 a je určen proautentizaci pomocí protokolu NTLM. Autentizaci provádí pomocí účtu a otiskuhesla (hash) uživatele. Zadané údaje ověřuje přístupem do lokální databázeúčtů SAM (Security Accounts Manager Database) nebo se obrací na řadičdomény. V případě úspěšnosti autentizace se účet a hash hesla stávají součástírelace přihlášení a operační systém je používá při neinteraktivní autentizaci.

Modularita operačního systému Windows umožňuje operačnímu systému po-skytovat aplikacím různé autentizační mechanismy zavedením více autentizač-ních balíčků. Standardně systém Windows zavádí zmíněný balíček MSV1 0 aod verze Windows 2000 také balíček Kerberos SSP/AP, který se uplatňuje přisíťové autentizaci prostřednictvím protokolu Kerberos.

1.3. Neinteraktivní přihlašování ve Windows

Pokud se uživatel úspěšně autentizoval a používá aplikaci, která požaduje pří-stup k neveřejným informacím, využívá operační systém Windows neinter-aktivní autentizaci. Ověřování se provádí pomocí dříve zadaných a úspěšněověřených autentizačních údajů. Ty jsou součástí datové struktury, která do-provází relaci přihlášení. Neinteraktivní autentizace je proces, který nastávápouze po úspěšné interaktivní autentizaci.

9

Informatika

1.4. Síťová autentizace

Pro autentizaci doménového účtu využívá lokální autentizační balíček MSV1 0službu NetLogon pro spojení s řadičem domény. Ověřování zadaných auten-tizačních údajů se opírá o databázi SAM spravovanou službou LSA na řadičidomény. Komunikace probíhá prostřednictvím autentizačních protokolů, kterébudou popsány v dalším odstavci.

Obrázek 2: Síťová autentizace (msdn.microsoft.com)

Architektura Windows poskytuje službám a aplikacím transparentní prostředí,které zobecňuje přístup ke konkrétnímu autentizačnímu mechanismu. Vrstva,se kterou aplikace komunikují, se nazývá Security Support Provider Interface(SSPI). Jednotlivé autentizační protokoly jsou implementovány formou posky-tovatelů zabezpečení Security Support Providers (SSP). Aplikace ve Windowspři požadavku o autentizaci komunikují výhradně s vrstvou SSPI. Mohou spe-cifikovat konkrétní autentizační metodu nebo „požádatÿ operační systém o jejívyjednání. Tento přístup se doporučuje, protože umožňuje zvolit nejbezpečnějšímetodu odpovídající schopnostem komunikujících stran a současně respektovatnastavené bezpečnostní zásady. Další výhodou otevřeného vyjednání autenti-zační metody je, že neuzavírá aplikace před novými bezpečnostními standardy,které poskytují nové verze operačního systému.

Obrázek 3: SSPI rozhraní ve Windows

10

Bezpečnost operačního systému a počítačové komunikace

2. Autentizační protokoly

Autentizační protokol určuje komunikační pravidla mezi klientem a serverem aformát předávaných informací. Poskytuje mechanismy, které umožňují prove-dení autentizace a současně zajišťuje bezpečný přenos autentizačních informacív síťovém prostředí. Volba konkrétního protokolu, případně jeho parametrů, jevýsledkem vyjednávání (negotiation) mezi klientem a serverem. Použitý pro-tokol je vyjádřením shody schopností komunikujících stran a měl by reprezen-tovat vždy tu nejvíce bezpečnou možnost akceptovatelnou oběma stranami.

2.1. Protokol LM a NTLM

Původní autentizační protokoly Windows mají označení LAN Manager a NTLAN Manager. Jsou založeny na principu výzva–odpověď (challenge–response).V aktuálních verzích operačního systému přetrvávají z důvodu kompatibility.Umožňují autentizaci v prostředí s různými verzemi operačního systému Win-dows. Princip autentizace výzva–odpověď přiblížíme na příkladu interaktivníautentizace v doménovém prostředí.

Proces interaktivní autentizace má dva účastníky – operační systém na staniciautentizujícího se uživatele (dále jen klient) a doménový řadič, který hraje roliautentizačního serveru. Uživatel zadává uživatelské jméno, heslo a doménu, vekteré autentizaci provádí. Jak již bylo uvedeno, autentizaci zastřešuje systé-mový proces Winlogon, v jehož kontextu běží další důležité procesy podíle-jící se na autentizaci, zejména procesy MS GINA a LSA. Modulární skladbakomponent umožňuje operačnímu systému snadnou implementaci různých au-tentizačních mechanismů. Operační systém získává heslo uživatele v otevřenénechráněné podobě. Jeho obsah následně zpracuje pomocí kryptografické me-tody a vytvoří z něj jedinečný otisk (hash). Dále následuje výměna informacímezi klientem a doménovým řadičem, kterou lze stručně vyjádřit následujícímibody:

• Klient odesílá serveru uživatelské jméno jako součást žádosti o autentizaci.Tato informace je odesílána serveru v otevřené nechráněné podobě (plain–text).

• Server generuje náhodnou informaci, které se označuje jako výzva (challenge)a vrací ji zpět klientu. Současně si uchovává kopii výzvy.

• Klient obdrženou výzvu šifruje a odesílá zpět serveru. Jako klíč používávýtah vytvořený z hesla uživatele. Odpověď klienta se označuje jako re-sponse.

• Server má přístup do databáze SAM, ve které se nachází hash hesla uživa-tele. Protože ví, které entita se autentizuje, vyhledá v SAM uložený hashhesla a provede identické zpracování odeslané výzvy jako klient. Výsledekporovná s odpovědí, kterou obdrží od klienta.

11

Informatika

Při neinteraktivní autentizaci je mechanismus podobný, ale autentizace seúčastní tři strany – klient, server (služba), ke které je požadován přístup adoménový řadič. Jak již bylo uvedeno, neinteraktivní autentizace probíhá s uži-tím informací uchovaných z procesu interaktivní autentizace na straně klienta(hash hesla uživatele). Předpokládejme, že se uživatel pokouší získat přístup kesdílené složce. Komunikace mezi serverem a klientem probíhá dle popsanéhoscénáře. Server generuje výzvu a klient odesílá odpověď. Přijatou odpověďserver přeposílá doménovému řadiči. Současně musí odeslat také doplňující in-formace nutné k provedení autentizace – uživatelské jméno a odeslanou výzvu.Z popisu je patrné, že při každé NTLM autentizaci je opakovaně dotazovándoménový řadič.

2.2. Protokol Kerberos

Autentizační možnosti Windows byly ve verzi Windows 2000 rozšířeny o dalšíautentizační protokol, kterým je uznávaný internetový standard Kerberos (RFC1510, 1964). Bohužel, tento protokol se uplatňuje pouze v sítích založených naWindows 2000, XP a 2003. V ostatních případech se stále uplatňují méněbezpečné protokoly NTLM, případně LM. Kerberos autentizace je založenana kryptografických metodách. Komunikující entity používají krátkodobý (do-časný) klíč relace, kterým symetricky šifrují předávanou informaci. Autentizaceje založena na schopnosti dešifrovat zaslanou informaci, tedy na předpokladu,že ten, kdo dešifrování úspěšně provádí, zná klíč relace.

Obrázek 4: Kerberos – základní schéma (msdn.microsoft.com)

Autentizaci protokolem Kerberos ve Windows zajišťuje služba s názvem KeyDistribution Center (KDC), která je spuštěna na každém doménovém řadiči2

Windows 2000, XP nebo 2003. Podivný název služby KDC vyjadřuje další dů-ležitou funkci služby. Služba KDC zajišťuje nejen autentizaci (AuthenticationService), ale současně je službou pro distribuci lístků (Tiket–Granting Ser-vice). Lístky představují v protokolu Kerberos základní datovou strukturu,

2Doménové řadiče spravují databázi Active Directory, ve které se rovněž nacházejí bez-pečnou formou uložené kopie hesel.

12

Bezpečnost operačního systému a počítačové komunikace

která kromě jiných informací obsahuje již zmíněné klíče relací. Pomocí lístkuprokazuje klient svou identitu nejrůznějším službám.

Služba KDC hraje roli důvěryhodného prostředníka mezi klientem a serverem.Pro vysvětlení třístranné struktury autentizace klient–KDC–server se častopoužívá podobenství vyplývající z názvu Kerberos (mytický trojhlavý pes).KDC centralizuje informaci o hlavních (dlouhodobých) klíčích entit (masterkey), které se používají pro zabezpečenou distribuci jednotlivých klíčů relací(session key).

Obrázek 5: Kerberos – výměna lístků (msdn.microsoft.com)

Průběh autentizace prostřednictvím protokolu Kerberos opět popíšeme na pří-kladu. Předpokládejme prostředí klient–server, ve kterém klient (program,služba nebo proces), který je aktivní v relaci přihlášení konkrétního uživa-tele, požaduje přístup k určité službě. Může se jednat např. o otevření složkynebo souboru, zařazení tiskové úlohy do fronty nebo zpracování určitého data-bázového dotazu. V bezpečnostním modelu protokolu Kerberos každé takovéakci předchází autentizace.

Poznámka: Autentizace nemusí být jednosměrná. Také klient může požado-vat, aby server prokázal svou identitu. Takový případ se označuje jako vzá-jemná autentizace.

Schéma Kerberos autentizace lze stručně shrnout do následujících bodů:

• Autentizační proces (operační systém) získá heslo uživatele v otevřené ne-chráněné podobě. Obsah hesla převede na hlavní klíč (dlouhodobý) propozdější šifrování.

• Autentizační klient odesílá serveru požadavek, který je vpodstatě žádostío lístek pro přidělování lístků (Ticket–Granting Ticket, TGT). Součástípožadavku jsou identifikátor uživatele a tzv. autentikátor, které prokazují

13

Informatika

jeho identitu. Autentikátor obsahuje časovou značku a je šifrován hlavnímklíčem klienta odvozeným ze zadaného hesla.

• Server po obdržení požadavku dešifruje autentikátor, protože má přístup kinformacím, ze kterých je schopen odvodit hlavní klíč klienta (má přístupk zašifrované podobě hesla uložené v Active Directory).

• Pokud je dešifrovaný obsah autentikátoru relevantní, generuje KDC lístekTGT.

Po úspěšném přihlášení klient obdrží lístek pro přidělování lístků TGT. V němse nachází klíč relace, který je určen pouze pro komunikaci mezi klientem aKDC. Je platný po celou dobu trvání relace přihlášení. Lístek TGT je zašif-rován hlavním klíčem KDC. Klient získává od KDC rovněž svou kopii klíčerelace šifrovanou jeho hlavním klíčem. Pouze on je schopen dešifrovat jeho ob-sah. Dále již není nutné, aby klient při komunikaci s KDC používal svůj hlavníklíč. Tímto mechanismem je minimalizováno použití nejcitlivější informace,kterou je dlouhodobý hlavní klíč klienta.

Z popisu je patrná další výhoda protokolu Kerberos. Služba KDC ani žádnájiná služba nemusí uchovávat kopie klíčů relací. Tyto kopie služby získávají odklientů formou lístků – KDC prostřednictvím TGT a ostatní služby formoulístků relací (Session Tiket). Lístek TGT klient používá, chce-li získat přístup kdalším službám. Současně se žádostí odesílá také TGT. Služba KDC generujenový klíč relace, který šifruje klíčem obsaženým v TGT a současně vytváříodpovídající lístek relace. Ten podobně jako TGT obsahuje kopii klíče relaceurčenou pro službu, ke které klient požaduje přístup a je šifrovanou jejímhlavním klíčem. Klient od KDC vždy získává svou kopii klíče relace a lístekrelace určený pro zvolenou službu. Pomocí autentikátoru a vystaveného lístkurelace se následně klient prokazuje při navazování spojení se službou.

3. Správa hesel ve Windows

Součástí bezpečnostní politiky operačního systému je správa uživatelskýchúčtů, ke které náleží zejména bezpečné uložení kopií hesel. Hesla zpravidlanejsou uložena v otevřené podobě, ale uchovávají se jejich šifrované obrazy. Ktomuto účelu používají operační systémy různé kryptografické algoritmy. V od-lišných variantách operačního systému Windows má zabezpečení hesel různouúroveň. Nejslabší ochranu poskytují verze Windows 9X a Windows Me. Tytoverze dovolují sestavit heslo s maximální délkou 14 znaků. I když tato délka te-oreticky umožňuje sestavit dostatečně složité heslo, operační systém Windowsprovádí určitá zjednodušení, která tento prostor omezují. Prvním nepříznivýmkrokem je case insenzitivní zpracování hesla. Operační systém aplikuje na ře-tězec funkci UpCase(). Tento krok negativně omezuje konečný tvar hesla aumožňuje při útoku významně redukovat množinu testovaných znaků. Hesloje dále doplněno znaky NUL tak, aby mělo výslednou délku 14 znaků. Taktoupravený řetězec se před uložením do SAM kryptograficky zpracuje. Rozdělí se

14

Bezpečnost operačního systému a počítačové komunikace

na dvě části, které se použijí jako klíče pro algoritmus DES. Výstupem je 128-ti bitový řetězec, který je uložen do systémové databáze. Původní 14 znakovádélka hesla je procesem zpracování degradována na 7. LM hash je nejslabšíformou zabezpečení hesel v operačním systému Windows.

Ve verzi Windows NT byla délka hesla prodloužena na 128 znaků. Dále byloodstraněno UpCase() zpracování řetězce před kryptografickým zpracováníma uložením do databáze SAM. Rovněž byl odstraněn rozklad hesla na dvěčásti před jeho kryptografickým zpracováním. Pro utajení obsahu hesla ope-rační systém používá algoritmus Message Digest MD-4. Jedná se o tzv. funkciobsahu (hash funkce), která se používá pro generování jedinečné číselné re-prezentace zprávy. V tomto případě je zprávou řetězec tvořící heslo. Důleži-tou vlastností funkce je jednosměrnost, která neumožňuje rekonstruovat obsahzprávy z výtahu. Zdálo by se, že těmito změnami zanikají všechny bezpečnostnínedostatky původního zpracování hesla. Nicméně i tyto verze operačního sys-tému obsahují slabinu. Ohrožení bezpečnosti spočívá ve snaze zachovat zpět-nou kompatibilitu k verzím Windows 9X a Me. Aby byla ponechána možnostautentizace klientům starších verzích Windows, vytváří podsystém zabezpe-čení kopii hesla také dle původní méně bezpečné strategie.

Nedílnou součástí bezpečnostní politiky je nastavení takových požadavků natvar hesla, aby uživatelé maximálně využili nabízených možností systému a ne-degradovali jeho bezpečnostní potenciál. Tato pravidla jsou součástí strategie,která se ve Windows souhrnně označuje jako bezpečnostní zásady. Patří mezině rozsáhlá množina nastavení určených pro uživatele a počítače. Zásady lzeuplatňovat lokálně, ale vhodnější je jejich prosazování z úrovně správních jed-notek, kterými se v sítích založených na operačním systému Windows označujíjako domény. Mezi těmito pravidly se nachází také možnost potlačit zpětnoukompatibilitu, zejména ukládání kopií LM hesel, použití méně bezpečného šif-rování algoritmem DES nebo dokonce uložení kopií hesel v otevřené podobě.

4. Autorizace

Termín autorizace označuje proces ověřování oprávnění subjektu k provedeníurčité akce. Tento proces obvykle navazuje na autentizaci, např. po úspěšnéautentizaci přidělí souborový server uživateli specifická oprávnění ke sdílenýmsíťovým prostředkům. Základní informace, na kterých je založena autorizaceve Windows, se nacházejí v datových strukturách přístupový záznam (accesstoken) a deskriptor zabezpečení objektů (složek, tiskáren, procesů atd.).

Přístupový záznam vytváří podsystém LSA po úspěšné autentizaci objektu.Oprávnění, která záznam definuje, dědí všechny procesy a aplikace spuštěné vrelaci přihlášení. Záznam obsahuje informaci o identitě uživatele a jeho privi-legiích – SID účtu uživatele, SID skupin, jejichž je členem, SID relace přihlá-šení, seznam privilegií uživatele a skupin, atd. Deskriptor zabezpečení objektu(složky, souboru, tiskárny, tiskové úlohy nebo fronty, procesu, služby atd.) ob-

15

Informatika

sahuje informace, které určují oprávnění pro získání přístupu k jeho vlastnos-tem3. Obsahuje zejména seznam oprávnění pro řízení přístupu DACL (AccessKontrol List, ACL), který definuje požadavky pro získání přístupu nebo prouskutečnění určité operace. Seznam je tvořen jednotlivými položkami (AccessControl Entry, ACE), které povolují (access–allowed) nebo zakazují (access–denied) provedení určité operace.

Z následujícího obrázku je patrný mechanismus autorizace. Příklad zobrazujedva různé procesy Thread A a Thread B. Proces Thread B získává oprávněnípro přístup k objektu, jelikož jeho přístupový záznam obsahuje informaci očlenství ve skupině Group A. Ta je uvedena v seznamu ACL objektu s opráv-něním, které umožňuje zápis (Write). Naopak procesu Thread A je přístupzamítnut. Důvodem je existence první položky typu access–denied v DACLobjektu spojená s uživatelem Andrew. Z výsledku je patrné, že zakazující po-ložky seznamu přístupových oprávnění ACL mají při vyhodnocování oprávněnípřístupu přednost.

Obrázek 6: Vyhodnocení oprávnění přístupu (msdn.microsoft.com)

Názorným příkladem autorizace je ověřování přístup k souborům a složkámsouborového systému NTFS. V následujícím příkladu je zobrazen seznam pří-stupových oprávnění, který je součástí deskriptoru zabezpečení souboru boot.ini.

Obrázek 7: Oprávnění pro přístup k souboru boot.ini

3obsah je jednou z vlastností objektu

16

Bezpečnost operačního systému a počítačové komunikace

5. Kódování a šifrování

V předchozí kapitole byl několikrát použit termín šifrovat, klíč, kryptografickýalgoritmus nebo metoda, kryptografický kontrolní součet a další. Bezpečnostníprvky operačního systému se opírají o obecnější algoritmy a metody, kterénevznikly samoúčelně pro potřebu počítačů, ale existovaly daleko dříve, nežbyl zkonstruován ENIAC nebo vytvořen první operační systém. Současné pro-středky zabezpečení jsou výsledkem vývoje lidské komunikace, ve které nastá-vají okamžiky, kdy odesilatel vyžaduje, aby obsah zprávy zůstal maximálněutajen. Tento požadavek byl motivací pro vznik mnoha metod, které hůře čilépe splňovaly požadovaný úkol. Vývoj vyústil v současné moderní kryptogra-fické metody, které se opírají o rozvinutý matematický aparát a splňují nejvyššípožadavky kladené na bezpečnost informací:

• zajišťují důvěrnost (přístup k obsahu mají pouze oprávněné osoby),

• zajišťují integritu (zabezpečení správnosti, kompletnosti a neporušenostiinformací),

• zajišťují dostupnosti,

• zajišťují nepopiratelnosti (prokazatelnost původu informace).

Předpokládejme, že existuje výchozí konečná množina symbolů (znaků), zekterých jsou tvořeny základní prvky komunikace (slova). Množinu symbolůoznačíme jako abecedu A = a1, a2, a3, a4, . . . , an. V běžném lidském pohleduje všem jasné, co si pod abecedou představíme. V počítačovém měřítku můžebýt abecedou např. tabulka ASCII nebo Unicode. Výchozím komunikačnímprvkem je slovo, které je složeno z konečného počtu znaků. Zřejmě existujekonečná množina slov, která lze ze znaků konečné abecedy vytvořit. Označmeji jako prostor zpráv S(A).

Kódování je vzájemně jednoznačné zobrazení z jednoho prostoru zpráv dodruhého

F : S(A) → S(B). (1)

Z obecnějšího pohledu nepředstavuje kódování prostředek jak skrýt skutečnýobsah původní zprávy. Snahou kódování je naopak převedení zprávy do for-mátu, který je přijatelný pro určitý komunikační kanál (Morseova abeceda),umožňuje digitální zpracování (ASCII, Unicode) nebo zjednodušuje identifikaciobjektu (kód ISBN, rodné číslo). Pokud bychom chtěli kódování použít proutajení informace, musíme utajit algoritmus změny obsahu. Naopak šifrování,jak dále uvidíme, používá obecně známé metody a neznámým parametremzabezpečení konkrétní informace je šifrovací klíč.

Poznámka: Speciální kódy používané v počítačové komunikaci jsou vyba-veny mechanismy pro opravu obsahu informace.

17

Informatika

Označíme-li původní otevřenou podobu zprávy jako OZ, vzniká kódovánímskrytá informace ST (skrytý text)

ST = F (OT ). (2)

Současně existuje inverzní postup dekódování, který umožňuje rekonstrukcipůvodního obsahu

OT = F−1(ST ). (3)

Při kódování je zobrazení F pouze funkcí obsahu zprávy. Není závislé na žád-ném dalším parametru. Pokud se tento předpoklad změní a do procesu utajenívstupuje parametr, pak mluvíme o šifrování. Parametr šifrování se obvykleoznačuje jako klíč. Výše uvedené vztahy lze pro šifrování formálně upravit

ST = F (K1, OT ), (4)

a dešifrováníOT = F−1(K2, ST ). (5)

Pokud jsou klíče K1, K2 ve dvou předchozích rovnicích shodné, označuje se šif-rování jako symetrické. Jsou-li klíče různé, hovoříme o asymetrickém šifrování.Konstrukcí kryptografických algoritmů, protokolů a jejich implementací se za-bývá kryptografie. Analýzou algoritmů, hledáním slabin a prověřováním zrani-telnosti je předmětem kryptoanalýzy. Cílem kryptoanalýzy může být zlepšenívlastností algoritmu nebo naopak pouze jeho prolomení. Kryptografie a krypto-analýza představují dvě disciplíny vědního odvětví, které má název kryptologie.Současná kryptologie se opírá o silné matematické zázemí. Steganografie se za-bývá skrýváním informace. V klasickém pojetí může být jako příklad uvedenneviditelný inkoust nebo skrývání zprávy do okolního textu. Digitálně uloženéinformace poskytuje daleko širší prostor pro takové ukrývání a umožňuje dosebe přidávanou zprávu snadněji rozprostřít. Steganografie využívá nedokona-losti lidských smyslů.

Poznámka: Luštění šifer má tři fáze – identifikace šifry, prolomení a nasta-vení algoritmu. První fáze představuje zjištění o jaký šifrovací algoritmus sejedná. Ve druhé fázi se odhalují jednotlivé prvky algoritmu.

5.1. Klasické kryptografické metody

Klasické kryptografické metody se rozdělují do těchto skupin:

• transpoziční šifry,• substituční šifry,• kombinace transpozičních a substitučních algoritmů,• kódovací knihy.

18

Bezpečnost operačního systému a počítačové komunikace

Přes uvedené rozdělení lze algoritmy v řadě případů zařadit do více kategorií.Transpoziční algoritmy jsou založeny na změně pořadí písmen původní zprávy.Původní znaky zprávy se zachovávají, ale mění se typické digramové vazby4

jazyka. Šifrovaná zpráva je určitou permutací zprávy původní. Transpozičníšifra si ponechává původní četnost písmen otevřeného textu. Tato vlastnost jevýznamným vodítkem kryptologa při odhalování způsobu šifrování. Substitučníalgoritmy nahrazují znaky původní zprávy výběrem znaků ze zamíchané abe-cedy. Pokud je míchání provedeno pouze jednou (používá se jediná permutaceabecedy), označuje se substituce jako monoalfabetická. Pokud je abeceda za-míchána pro každý znak, mluvíme o polyalfabetické substituci. Kódová knihapředstavuje šifrování zprávy pomocí kódových skupin. Jsou to smluvené kom-binace čísel a znaků definované délky, které zastupují obvyklé termíny nebofráze. Nejfrekventovanější termíny mohou mít několik kódů, aby byla identifi-kace ztížena. Je zřejmé, že kódová kniha představuje slovník, který je klíčempro dešifrování.

Obvykle uváděným klasickým příkladem monoalfabetické substituční šifry jeCaesarova šifra. Údajně ji Caesar používal nejen pro válečné účely, ale také přisoukromé korespondenci s Kleopatrou. Každé písmeno zprávy je nahrazeno ji-ným písmenem, které je vzdáleno o zvolený počet pozic. Pro příklad použijemelatinskou abecedu a předpokládáme posunutí 3 znaky, které používal Caesar:

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZD E F G H I J K L M N O P Q R S T U V W X Y Z A B C

Pomocí této transpozice zakódujme zprávu:

ROZDELENI KRYPTOGRAFICKYCH METODURCGHOHQL NUBSWRJUDILFNBFK PHWRG

Šifra je poměrně jednoduchá. Existuje pouze 25 variant, které lze snadno vy-zkoušet i bez použití počítačů. Její dešifrování se mírně komplikuje pouze roz-šířením abecedy. Pomocí modulární aritmetiky lze tuto šifru vyjádřit:

c = E(m) = (m− p) mod 26, (6)

m = D(c) = (m+ p) mod 26, (7)

kde m je kód znaku zprávy M, p představuje posunutí zvolené při náhraděznaků a symbol E vyjadřuje proces šifrování (encrypting), jehož výsledkemje šifrovaný znak c (cypher). Druhá rovnice reprezentuje inverzní operaci, vekteré symbol označuje D proces dešifrování (decrypting).

Příklad 3: Pro názornost budeme kódem znaku rozumět jeho pořadí (index)v abecedě. Při modulárním součtu je výsledkem zbytek po dělení příslušným

4víceznakových spojení

19

Informatika

modulem. Je-li modulus N číslo 26 a posunutí p je rovno 3, pak záměna znakuY, který je 24–tým znakem původní abecedy, lze zapsat jako (24+3) mod 26.Výsledek modulo operace je roven 1. Tento index (kód) náleží znaku B.

Upozornění: Kód prvního znaku abecedy je roven 0.

Účinnost Caesarovy šifry lze zvýšit větším počtem variant, které by bylo nutnévyzkoušet při dešifrování zprávy hrubou silou. Lze toho docílit tím, že posunpři šifrování znaků nebude konstantní, ale bude se měnit dle smluveného klíče,např. 10− 17− 24− 15− 19. 5 různých posunutí představuje 255 teoretickýchmožností:

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZK L M N O P Q R S T U V W X Y Z A B C D E F G H I JR S T U V W X Y Z A B C D E F G H I J K L M N O P QY Z A B C D E F G H I J K L M N O P Q R S T U V W XP Q R S T U V W X Y Z A B C D E F G H I J K L M N OT U V W X Y Z A B C D E F G H I J K L M N O P Q R S

Poslední slovo v našem příkladu METOD bude zašifrováno do tvaru USWAI.Uvedený způsob šifrování se označuje jako Viegenerovy šifry nebo jako šifro-vání periodickým klíčem. Číselný klíč lze snadno nahradit klíčovým slovem,jehož písmena vyjadřují jednotlivá posunutí. V našem případě je heslem slovoKRYPT. Ve Viegnerově šifře může být každý znak původní abecedy nahrazenznakem z jiné tabulky monoalfabetického šifrovače.

Monoalfabetická substituce vychází z určité permutace původní abecedy. Každépísmeno původní abecedy se nahrazuje znakem ze stejné pozice v permutovanéabecedě:

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZY M I H B A W C X V D N O J K U Q P R T F E L G Z S

Naše zpráva zpracovaná jednoduchou záměnou vypadá následovně:

ROZDELENI KRYPTOGRAFICKYCH METODPKSHBNBJX DPZUTKWPYAXIDZIC OBTKH

Dešifrování zprávy již není tak snadné jako v případě Caesarovy šifry. Po-čet permutací 26 znakové abecedy lze vypočítat jako faktoriál počtu znaků,tj. 26 ! = 26 . 25 .24 . . . 3 . 2 .1. Výsledná hodnota je větší než číslo 4 . 1026. Po-stupné zkoušení všech možností v tomto případě příliš praktické není. Lze všakvyužít vlastností, které má zašifrovaná informace. Předně se algoritmem ne-mění frekvence a rozmístění jednotlivých hlásek přirozeného jazyka. Zachovánímezer v šifrované zprávě usnadňuje kryptoanalýzu, proto se před šifrovánímodstraňují nebo nahrazují znakem, který má v přirozeném jazyce malou frek-venci výskytu. Možné je rovněž rozšířit abecedu o speciální znak.

20

Bezpečnost operačního systému a počítačové komunikace

Základním krokem kryptoanalýzy je odhalit oddělovače slov. To je nutnýmpředpokladem dalšího úspěchu při luštění šifry. Kryptoanalýza se opírá o vý-sledky statistického zpracování běžného textu. Jedním z důležitých pojmů sta-tistické analýzy je index koincidence. Vyjadřuje pravděpodobnost, že u dvoutextů v daném jazyce lze očekávat výskyt stejných písmen na stejném místě.Následující příklad naznačuje výpočet indexu koincidence pro dvě zprávy A,B. Nechť A = a0 a1 a2 . . . an, B = b0 b1 b2 . . . bn jsou zprávy obsahující n + 1znaků. Index koincidence je vyjádřen výrazem

IC(A, B) =1

n+ 1

n∑i=0

δ(ai, bi) (8)

ve kterém člen δ(ai, bi) představuje Kroneckerovo delta, které nabývá hodnoty1 při rovnosti znaků ai = bi , v opačném případě je rovno 0.

Další statistické testy se zaměřují na typické gramatické prvky jazyka. Násle-dující tabulky jsou příkladem takových informací. Luštění zprávy postupujeod kratších slov k delším. Zaměřuje se na odhalení počátečních písmen jednot-livých slov, na výskyt nejčastějších dvouznakových (bigramů), víceznakovýchspojení a dalších významných gramatických prvků jazyka.

Samohláska En Fr Ger Cz Ska 7,96 7,68 5,52 8,99 9,49e 12,86 17,76 19,18 10,13 9,16i 7,77 7,23 8,21 6,92 6,81o 6,62 5,34 2,14 8,39 9,34u 2,48 6,05 4,22 3,94 3,70

Tabulka 1: Pravděpodobnost výskytu samohlásek v některých jazycích [%]

En Fr Ger Cz SkE 12,86 E 17,76 E 19,18 E 10,13 A 9,49T 9,72 S 8,23 N 10,20 A 8,99 O 9,34A 7,96 A 7,68 I 8,21 O 8,39 E 9,16I 7,77 N 7,61 S 7,07 I 6,92 I 6,81N 7,51 T 7,30 R 7,01 N 6,64 N 6,34R 6,83 I 7,23 T 5,86 S 5,74 S 5,94S 52,65 S 55,81 S 57,53 S 46,81 S 47,08

Tabulka 2: Písmena národních abeced s největší pravděpodobností výskytu

Příklad 4: Šifra s názvem SKYTALA je historicky dokumentovaná např. veSpartě (500 př.n.l.). Zpráva byla napsána na pruh pergamenu, který byl namo-tán na dřevěný válec dohodnutého průměru. Nenavinutý pergamen poskytovalzašifrovanou zprávu. Klíčem k dešifrování byla hůl určitého průměru.

Mezi nejjednodušší klasické substituční šifry se řadí Polybiův čtverec. Znakypůvodní abecedy seřazené do tabulky se nahrazují znakovou dvojicí, která

21

Informatika

představuje řádkový a sloupcový index znaku v tabulce. Tajným klíčem jeindexová tabulka, která může mít různou konstrukci:

1 2 3 4 5 a b c d e a æ ø ß §1 A B C D E a A B C D E a A B C D E2 F G H I J b F G H I J æ F G H I J3 K L M N O c K L M N O ø K L M N O4 P Q R S T d P Q R S T ß P Q R S T5 U V W X Y e U V W X Y § U V W X Y6 Z f Z ¶ Z

Tabulka 3: Varianty Polybiova čtverce

Výsledkem šifrování prvního slova z našeho příkladu mohou být řetězce:

ROZDELENI≡ 433561141532153424,ROZDELENI≡dccefaadaecbaecdbd,ROZDELENI≡ ßøø§¶aaßa§øæa§øßæß.

První nevýhodou substituce je dvojnásobná délka šifrované zprávy vůči ote-vřenému textu, která je významná zejména v okamžiku přenosu zprávy. Dalšíslabinou je, že šifrovaná zpráva obsahuje pouze omezenou množinou znaků.Tato vlastnost usnadňuje odhad použité šifrovací metody. Algoritmus rovněžnemění vzájemnou vazbu znaků otevřené zprávy. Všechny uvedené nevýhodylze eliminovat. Nejdříve zamícháme abecedu uvnitř tabulky, resp. vytvořímejejí permutaci. Můžeme například první řádek obsadit nějakým klíčovým slo-vem a do dalších buněk zapíšeme zbývající písmena abecedy:

a b c d ea H E S L Ob A B C D Fc G I J K Md N P Q R Te U V W X Y

Tabulka 4: Varianty Polybiova čtverce

Pomocí tabulky č. 4 zašifrujeme slovo KRYPTO. Výsledkem je řetězec cddded-dbdeae, který rozdělíme do tří 4 znakových bloků cddd, eddb, deae. Rozdělenouzprávu zapíšeme do nové tabulky a provedeme transpozici dle zvoleného trans-pozičního klíče, např. 3–1–2–4. Klíč vyjadřuje pořadí sloupců, ve kterém budeprovedeno další uspořádání znaků zprávy.

Po záměně sloupců vypadá zpráva následovně: ddacedddedbe. Původní tabulku,která byla použita pro substituci monogram–bigram, použijeme pro zpětnounáhradu znaků bigram–monogram. Tímto krokem se zruší omezená skupinaznaků v šifře. Výsledná hodnota zprávy je DYNMPF. Popsaný postup se ozna-čuje termínem MBTM (monogram–bigram–transpozice–monogram) a použí-val se ve 2. světové válce.

22

Bezpečnost operačního systému a počítačové komunikace

1↓ 2↓ 3↓ 4↓c d d de d d bd e a e

Tabulka 5: Transpoziční tabulka

5.2. Modulární aritmetika, faktorizace

Modulární aritmetika je upravená aritmetika nad celými čísly, kterou na pře-lomu 19. století formuloval K.F.Gauss (1801). V základní podobě se častooznačuje názvem aritmetika hodin. Výsledky operací v modulární aritmeticejsou prvky konečné množiny celých čísel, pro kterou se také používá označeníokruh. Omezující hodnota okruhu se nazývá modulus. Obvykle se jako základnípříklad uvádí hodinový ciferník rozdělený na 12 dílů, který však popisuje 24hodinový (denní) cyklus. Po překročení poledne se obvykle vracíme k označeníčasu 1 h, 2 h, 3 h atd. Modulem je v tomto případě číslo 12 a odpolední hodinypodvědomě určujeme jako zbytek celočíselného dělení.

Modulární aritmetika definuje tzv. kongruentní třídy celých čísel. Dvě čísla a, bjsou modulo N kongruentní, jestliže existuje takové q, že platí (a− b) = q ∗N .Tento vztah se také zapsat výrazem

a ≡ b (mod N). (9)

Příkladem kongruentní třídy jsou čísla 2, 14, 26, 38, 50, . . . . Libovolná dvě číslasplňují požadavek definice z předchozí věty pro N = 12. Jsou tedy kongruentnímodulo 12, resp. říkáme, že čísla náleží do kongruentní třídy modulo 12, např.(26 − 2) = 2 ∗ 12 nebo (50 − 2) = 4 ∗ 12. Kongruenci může vyjádřit taképomocí zbytku po dělení modulem. Všechna čísla z uvedeného příkladu majítu vlastnost, že zbytek po dělení 12 je číslo 2.

Poznámka: V programovacích jazycích se pro operaci modulo obvykle pou-žívá operátor %.

Jednou z nejdůležitějších vět modulární aritmetiky je věta označovaná jakomalá Fermatova věta. Jsou-li a, p nesoudělná celá čísla, pak platí

ap−1 ≡ 1 mod p. (10)

Je-li p prvočíslo, pak existuje právě p−1 nesoudělných čísel s p. Tuto hodnotuvyjadřuje Eulerova funkce ϕ(p) = p−1. Zobecnění Fermatovy věty se označujejako Euler-Fermatova věta, kterou vyjadřuje následující výraz

ap−1 ≡ 1 mod p. (11)

23

Informatika

Modulární aritmetika poskytuje tzv. jednosměrné funkce, tj. takové funkce, kekterým nelze vytvořit funkci inverzní. Právě jednosměrné funkce se používajípři vytváření kryptografických algoritmů. Pro následné úvahy spojené s asyme-trickými šifrovacími algoritmy je vhodné uvést základní operace v modulo arit-metice:

(a mod N) + (b mod N) = (a+ b) mod N(a mod N) ∗ (b mod N) = (a ∗ b) mod N(a mod N)b = ab mod N(ab)c mod N = ab∗c mod ϕ(N) mod N

(12)

Moderní asymetrické kryptografické algoritmy se opírají ještě o jeden důležitýpředpoklad. Jejich síla závisí na skutečnosti, že v současnosti není známý do-statečně rychlý algoritmus, kterým by bylo možné provádět rozklad velkýchčísel na součin prvočísel, tzv. problém faktorizace. Známe-li dvě prvočísla, např.15733 a 17053, je snadné je vynásobit. Pokud však známe pouze hodnotu vý-sledného součinu 268294849, je obtížné provést provočíselný rozklad.

Poznámka: Připomeňme si, že prvočísla jsou přirozená čísla dělitelná pouze1 a sama sebou, a že každé přirozené číslo, které není prvočíslo, lze zapsat jakosoučin prvočísel

m = pa11 ∗ pa2

2 ∗ pa33 ∗ . . . ∗ pan

n , (13)

kde p1, p2, p3, . . . , pn jsou vzájemně různá prvočísla a a1, a2, a3, . . . , an jsou při-rozená čísla. Výše uvedený výraz se označuje jako kanonický tvar.

5.3. Současné kryptografické metody

Moderní kryptografické metody jsou veřejně známé standardy. Jejich algoritmyjsou stále pod drobnohledem kryptoanalytiků, kteří je neustále prověřují, zdo-konalují a sledují jejich vlastnosti. Jak již bylo uvedeno v odstavci, který bylvěnován kódování, součástí šifrovacího algoritmu je parametr, který se ozna-čuje termínem šifrovací klíč. Ten je předmětem utajení a představuje jedinouneznámou v procesu dešifrování. Je pojistkou proti odhalení obsahu zprávy.Moderní algoritmy jsou založeny na tzv. výpočetní bezpečnosti. Nepředpokládáse, že jsou teoreticky absolutně bezpečné, ale že jejich výpočetní složitost je takveliká, že přesahuje současné možnosti počítačů při útoku hrubou silou5. Sílušifrovacích algoritmů vytváří délka klíče, která je sledována a korigována (resp.prodlužována) v závislosti na rostoucím výkonu výpočetní techniky. Současnékryptografické metody se rozdělují do následujících tříd:

• symetrické metody,• asymetrické metody,5opakované dešifrování s použitím všech možných klíčů

24

Bezpečnost operačního systému a počítačové komunikace

• hybridní metody,• kryptografické kontrolní součty.

V dalším textu budeme označovat původní obsah zprávy jako otevřený text.Je-li zpracován algoritmem šifrovací metody, vzniká šifrovaný text. Inverzníoperace se označuje jako dešifrování.

5.3.1. Symetrické metody, algoritmus DES

Symetrické metody používají stejný klíč pro šifrování i dešifrování. Odesila-tel a příjemce sdílejí společné tajemství, které jim zpřístupňuje obsah zpráv.Předností symetrických šifrovacích metod je rychlost. Nevýhodou je požadavekna bezpečný kanál pro distribuci sdíleného klíče. Další negativní vlastností jevysoký počet klíčů. Pokud existuje N účastníků, musí být vytvořeno a dis-tribuováno N ∗ (N − 1)/2 klíčů pro zajištění soukromí. Další nepříjemnouskutečností je nutnost uchovávat klíč na dvou místech – na straně odesilatelea příjemce, což zvyšuje pravděpodobnost prozrazení klíč. Symetrické šifrovacímetody se dělí na proudové a blokové. Proudové šifry zpracovávají zprávu poznacích. Známou proudovou šifrou je algoritmus RC4, který používají např.internetové standardy SSL/TLS nebo S/MIME. Algoritmus sestavil DonaldRivest (1987). Šifra používá klíč v maximální délce 256 bitů. Blokové algo-ritmy šifrují zprávu po jednotlivých blocích zpravidla v délce klíče. Symetrickéšifrování nezajišťuje integritu zpráv. Pozmění-li se úmyslně či neúmyslně za-šifrovaná zpráva, změní se i její původní obsah. Nejznámějšími symetrickýmialgoritmy jsou šifry DES, Triple DES, IDEA a BlowFish.

Obrázek 8: Schéma symetrické šifry

Data Encryption Standard (DES) Standardem symetrického šifrování sestal algoritmu DES, který byl v roce 1976 oficiálně přijat jako šifrovací standard

25

Informatika

v USA. Autorem algoritmu je německý matematik Horst Feistel, který algo-ritmus s původním názvem Lucifer vyvinul ve pro společnosti IBM. Zajímavéokolnosti s přijetím DES uvádí S. Singh v knize „Kniha kódů a šiferÿ. Zaráže-jící je zejména informace o aktivitě bezpečnostní agentury National SecurityAgency (NSA), která ovlivnila (rozuměj omezila) sílu přijatého standardu tak,aby neztratila kontrolu nad šifrou. Algoritmus DES byl standardizován s dél-kou klíče 56 bitů, který NSA považovala za svými prostředky dešifrovatelný.

DES je blokový symetrický algoritmus s délkou klíče 64 bitů. Jelikož je všakkaždý osmý bit klíče paritní, snižuje se jeho efektivní délka na 56 bitů. Tatodélka vytváří prostor klíčů v rozsahu 256, který již není při současném výkonupočítačů považována za bezpečný. Zpracování zprávy při blokovém šifrováníDES vyjadřuje následující algoritmus. Šifrovaná zpráva se zpracovává po 128bitových blocích pomocí transpozičních i substitučních operací. Nejdříve seprovede úvodní permutace, po které se 128 bitový blok rozdělí na levou Li apravou Ri 64 bitovou část. Následuje 16 identických bloků (rund) operací, vekterých probíhá jak substituce pomocí předdefinovaných tabulek (S–boxů), taktranspozice pomocí pevně stanovených permutací6 (P–boxů). V každé rundě semodifikuje pravý blok Ri, který současně nezměněný vstupuje jako levá stranado následující rundy Li = Ri−1. Naopak levá část bloku v rundě změnamineprochází, ale v konečné fázi se podílí na modifikaci pravého bloku Ri−1 =Li−1 xor f(Ri−1, Ki−1). V průběhu šifrování bloku dat se z DES klíče vytvoří16 pracovních (rundovních) 48 bitových klíčů, které se používají v jednotlivýchcyklech. Schéma jedné rundy je znázorněno na následujícím obrázku:

Obrázek 9: Schéma jedné rundy algoritmu DES

V roce 1998 dosáhl výkon počítačů takové úrovně, že se podařilo sestrojit spe-cializovaný hardware nazvaný DES–Cracker, který umožnil prolomit DES šifruhrubou silou za 9 dní. DES přestal splňovat představy o bezpečném algoritmu.Pro zvýšení bezpečnosti bylo doporučeno používání varianty Triple DES. Taje založena na opakovaném použití algoritmu DES se dvěma nebo třemi klíči,čímž se zvyšuje efektivní délka klíče až na 168 bitů. Současně byla vypsána

6změn pozic bitů v šifrovaném bloku

26

Bezpečnost operačního systému a počítačové komunikace

v USA veřejná soutěž na nový standard vyhovující současnému stavu výpo-četního výkonu počítačů. V roce 2002 byl vybrán algoritmus Rijndael, jehožautory jsou belgičané Vincent Rijmen a John Daemen. Standardizován všakbyl pod názvem Advanced Encryption Standard (AES). Pro algoritmus je cha-rakteristický 128 bitový blok a klíč v délce 128, 256 nebo 512 bitů. Zpracováníbloku opět probíhá podobně jako v případě DES v rundách, jejichž počet sevšak mění s délkou klíče.

5.3.2. Výměna klíčů, algoritmus Diffie–Hellman

Problém distribuce klíče se stal klíčovým problémem symetrického šifrování azákladním úkolem moderní kryptografie. Bez jeho vyřešení nebylo možné ma-sově používat symetrické šifrovací algoritmy v počítačové komunikaci. Hledá-ním způsobu, jak provést bezpečnou výměnu klíče otevřenou cestou, se zabývalivědci Whitfield Diffie a Martin Hellman. Této dvojici se po několikaletém sna-žení podařilo řešení najít. Jejich algoritmus opět vychází z principů modulárníaritmetiky. Předpokládejme, že dvě strany A a B si chtějí vyměnit otevře-nou cestou klíč, který jim umožní šifrovat a dešifrovat následnou komunikaci.Nejdříve si vymění veřejnou informaci, s jejíž pomocí vygenerují stejný syme-trický klíč. Následující popis objasňuje podstatu algoritmu Diffie–Hellman:

• odesilatel a příjemce se dohodnou na dvou veřejných parametrech M a N ;M je prvočíslo a N (generátor) a platí N < M ,

• odesilatel generuje náhodné privátní číslo x a vypočítá veřejnou hodnotuO = Nx mod M , kterou odešle příjemci,

• příjemce generuje náhodné privátní číslo y a vypočítá veřejnou hodnotuP = Ny mod M , kterou odešle odesilateli,

• odesilatel obdrží od příjemce hodnotu P , ze které vypočte klíč KPO =(P )x mod M ,

• příjemce obdrží od odesilatele hodnotu O, ze které vypočte klíč KOP =(O)y mod M ,

• protože platí KPO = KOP = K, mohou další komunikaci odesilatel i pří-jemce šifrovat tímto klíčem.

Příklad 5: Příjemce se s odesilatelem dohodli na veřejných hodnotách N =5, M = 563. Odesilatel generuje náhodné prvočíslo 9 jako své soukromé číslox a vypočítá hodnotu Nx mod M = 59 mod 563 = 78. Podobně postupuje ipříjemce. Náhodně si zvolí např. 14 jako své soukromé číslo y a vyčíslí stejnějako odesilatel hodnotu Nx mod M = 514 mod 563 = 534. Vypočtené hodnoty78 a 534 si komunikující strany vymění a pomocí svých soukromých hodnotvypočtou shodný klíč – 5349 mod 563 = 117, 7814 mod 563 = 117.

Výše uvedený princip má jeden nedostatek. Vyžaduje aktivní účast obou stran,která např. v poštovní komunikaci není možná. Z úvah spojených se vznikem

27

Informatika

výše popsaného algoritmu však vytvořil W. Diffie také koncepci asymetrickékryptografie opírající se o veřejný a soukromý klíč. Vlastní algoritmus všakvznikl v roce 1977. Vytvořili jej trojice vědců Ronald Rivest, Adi Shamir aLeonard Adleman a nazvala jej RSA.

5.3.3. Asymetrické metody, algoritmus RSA

Narozdíl od symetrických metod jsou asymetrické šifrovací algoritmy závisléna dvou klíčích – veřejném a soukromém. Ze znalosti jednoho klíče není ne-možné (resp. je velmi obtížné) odvodit klíč druhý. Asymetrické metody jsouvýpočetně náročnější než symetrické metody. Otevřený text je šifrován veřej-ným klíčem příjemce, který zprávu dešifruje svým tajným soukromým klíčem.Veřejný klíč je k dispozici všem uživatelům, kteří jej mohou pro zabezpečenoukomunikaci využít. Není nutné generovat a distribuovat dočasné klíče relací,složitě vytvářet zabezpečené úložiště klíčů jako v případě symetrického šifro-vání. Významně se také snižuje počet klíčů. V případě N účastníků je početklíčů 2*N.

Otázka distribuce klíčů však není zcela vyřešena. Snadno si lze představit cozpůsobí podvržený veřejný klíč. Každý, kdo se pokusí o zabezpečenou komu-nikaci s takovým „falzifikátemÿ, umožní osobě, která klíč podvrhla, dešifrovatobsah zpráv. V případě asymetrického šifrování je nutné zaručit veřejným klí-čům pravost. Tato úloha se svěřuje důvěryhodné třetí straně označované jakocertifikační autorita. Pravost veřejného klíče je garantována certifikátem. Tatootázka bude podrobněji rozebrána v dalším odstavci. Typickým zástupcemasymetrické šifry je algoritmus RSA.

Obrázek 10: Schéma asymetrické šifry

RSA Nejznámější asymetrická šifra je výsledkem úsilí pracovní skupiny, kte-rou tvořila trojice matematiků Donald Rivest, Adi Shamir a Leonard Adleman.

28

Bezpečnost operačního systému a počítačové komunikace

Inspirováni koncepcí asymetrického šifrování, kterou zveřejnil W.Diffie, vytvo-řili dnes zřejmě nejpopulárnější a nejznámější algoritmus. Jeho síla je založenana velmi obtížné faktorizaci velkých prvočísel, tj. na v současnosti neznámérychlé metodě umožňující rozklad velkých čísel na součin prvočísel.

Postup přípravy klíčů pro algoritmus RSA lze rozepsat do následujících kroků:

• Zvolíme dvě dostatečně velká prvočísla p, q a určíme jejich součin N .

• Určíme přirozené číslo s nesoudělné s (p− 1) ∗ (q − 1).

• Dvojice čísel {s, N} představuje veřejný klíč.

• Určíme číslo t takové, že t ∗ s = 1 mod (p − 1) ∗ (q − 1). Protože stejnýpožadavek je kladen i na veřejné číslo s, existuje právě jedno řešení úlohy.

• Dvojice čísel {t, N} představuje soukromý klíč.

• Čísla p, q nejsou dále potřebná.

Prostředky modulární aritmetiky lze algoritmus RSA vyjádřit následující vě-tou:

Jsou-li s, p a N parametry algoritmu RSA, pak pro každé číslo x z intervalu< 1;N) platí x = xst mod N .

Šifrování zprávy se provádí pomocí veřejného klíče a schématu (nebo také kon-gruence) SZ = OT s mod N . Pro dešifrování informace se naopak použije klíčsoukromý OT = SZt mod N . Postup však lze i obrátit, tj. šifrovat soukromýmklíčem a dešifrovat klíčem veřejným.

Příklad 6: Pomocí RSA algoritmu zašifrujeme zprávu BUTFCE. Nejdříve jenutné najít číselnou reprezentaci pro jednotlivé znaky zprávy. Ty nám poskytnenapř. tabulka ASCII – 0x42 0x55 0x54 0x46 0x43 0x45. Uvedené hodnoty před-stavují hexadecimální 7 vyjádření kódu znaku. Zprávu rozdělíme do čtyř 12-tibitových bloků – 0x425 0x554 0x464 0x345. Pro sestavení klíčů musíme najítdvě dostatečně velká prvočísla a provést jejich součin. V příkladu vystačímes čísly p=37 a q=41, která by v reálném případě nebyla vhodná. Uvědommesi, že 512-bitový klíč reprezentuje 155-ti ciferné dekadické číslo. Ze zvolenýchprvočísel uděláme součin a získáme hodnotu N=p*q=1517. Pro sestavení ve-řejného klíče zvolíme číslo s=7, které musí být nesoudělné s (p-1)*(q-1), tj.s číslem (37-1)*(41-1)=1440. Dvojice {7, 1517} bude náš veřejný klíč. Sou-kromý tajný klíč musíme určit z rovnice s*t=1 mod (p-1)*(q-1). Tomuto po-žadavku vyhovuje prvočíslo t=823. Nyní máme i soukromý klíč {823, 1517} amůžeme začít šifrovat. Pro sjednocení číselné soustavy, ve které jsou vyjádřenykódy znaků, převedeme klíče také do hexadecimální soustavy. Veřejným klíčem{0x7, 0x5ED} zašifrujeme zprávu dle výše uvedeného schématu:7číselný kód znaku v 16-vé soustavě

29

Informatika

• (0x425)7 mod 0x5ED=0x1D8• (0x554)7 mod 0x5ED=0x56C• (0x464)7 mod 0x5ED=0x36A• (0x345)7 mod 0x5ED=0x489

Zašifrované bloky opět spojíme a převedeme zpět do znakové reprezentace. Po-mocí ASCII tabulky obdržíme z kódů 0x1D 0x85 0x6C 0x36 0xA4 0x89 řetězec-ůl6Ľ. Dešifrování musí probíhat nad blokem stejné délky. Pomocí soukroméhoklíče {0x337, 0x5ED} dešifrujeme první blok pomocí výrazu

• (0x1D8)0x337 mod 0x5ED=0x425.

5.3.4. Hybridní kryptografické metody

Symetrické šifrování je rychlé, ale vyžaduje existenci bezpečné cesty pro trans-port klíčů. Asymetrické šifrování nevyžaduje předávání sdíleného tajemství,ale je výpočetně náročnější a pro šifrování rozsáhlejších informací nevhodné.Spojením výhod obou kategorií algoritmů vzniká třída označovaná jako hyb-ridní kryptografické metody. Hybridní metody mají následující schéma. Prošifrování obsahu zprávy se používají symetrické algoritmy. Předání sdílenéhosymetrického klíče se řeší pomocí asymetrické šifry. Symetrický klíč, pro kterýse v určitých případech používá termín klíč relace, je šifrován veřejným klí-čem příjemce a připojen ke zprávě. Toto schéma přijaly např. aplikace prozabezpečení elektronické pošty PGP a S/MIME.

5.3.5. Funkce obsahu zprávy (hash funkce)

Často se pro jejich označení používá původní termín hash funkce. Jedná seo algoritmy, které slouží k vytvoření relativně krátké číselné reprezentace ob-sahu zprávy, tzv. výtahu nebo také hash. Obvyklá délka výtahu je 128, 160,256 nebo 512 bitů. Toto číslo jednoznačně reprezentuje informaci, pro kteroubylo generováno. Znamená to, že dvě identické zprávy mají rovněž identickývýtah zprávy. Pokud se obsah zprávy nepatrně změní (třeba o 1 bit), změníse rovněž generovaný výtah. Tato důležitá vlastnost funkcí obsahu se nazývábezkoliznost. Je nezbytná pro zajištění identity výtahu. Další podstatnou vlast-ností funkcí obsahu je jednosměrnost. Vypočtený výtah zprávy nesmí umožnitrekonstrukci obsahu. Mezi nejznámější a nejčastěji používané algoritmy patřífunkce MD-5 a SHA-1. Funkce obsahu zprávy se využívají při zajišťování in-tegrity 8 elektronických dokumentů, jako součást elektronického podpisu, přiukládání uživatelských hesel do systémových struktur operačního systému, dálenapř. pro vytváření kontrolních součtů přenášených zpráv (Hashed MessageAuthentication Code, HMAC) při zabezpečené komunikaci.

8kontrolní mechanismus pro zajištění původního obsahu zprávy

30

Bezpečnost operačního systému a počítačové komunikace

5.4. Šifrování souborů – EFS

Souborový systém NTFS poskytuje ochranu datům v podobě souborovýchoprávnění. Tyto atributy vymezují přístup uživatelů k souborům a složkáma chrání informace před neoprávněným přístupem. Uplatňují se v procesu au-torizace. Je nutné si uvědomit, že oprávnění souborového systému se uplatnípouze jako součást operačního systému. Hrozí-li nebezpečí, že je možné obejíttuto úroveň a data jsou velmi citlivá, je nutné provést další krok v zabezpečenía informace chránit pomocí šifrovacích algoritmů. Šifrování převádí data doformátu, ve kterém jsou pro ostatní uživatele nečitelná a poskytuje ochranu iv případě, kdy se útočníkovi podaří zavést alternativní operační systém, pří-padně jinou cestou získat fyzický přístup k souborům.

V operačním systému Windows 2000 byl rozšířen souborový systém NTFSo kryptografickou ochranu v podobě systému souborů Encrypted File System(EFS). EFS umožňuje používat ochranu dat symetrickým šifrováním na úrovnísouborů a složek. Opírá se o kryptografické rozhraní CryptoAPI, které je sou-částí operačního sytému Windows. Pro ochranu souborů a složek se používásymetrické šifrování ve spojení s veřejným klíčem. Pro každý soubor se gene-ruje náhodný klíč, tzv. File Encryption Key (FEK), pomocí kterého je souborzašifrován, a který se rovněž používá pro dešifrování. Tento klíč je zašifro-ván pomocí veřejného klíče uživatele a je uložen do EFS atributu souboru snázvem Data Decryption Field (DDF). Privátní klíč uživatele se používá přidešifrování klíče FEK. Z tohoto schématu vyplývá jedinečný přístup vlastníkasouboru k jeho obsahu. Aby bylo možné dešifrovat obsah souboru i v situa-cích, kdy vlastník souboru o klíč přijde, zavádí operační systém roli agent proobnovení zašifrovaných dat (AO), který má rovněž přístup ke klíči FEK.

Soubor nebo složku lze zašifrovat volbou příslušného atributu, ke kterému máuživatel stejný přístup jako ke standardním atributům, např. skrytý soubor (hi-dden). Šifrování je možné provést také pomocí řádkového příkazu cipher.exe.Vše pak již probíhá transparentně. Pro šifrování souborů používá EFS ve vý-chozím nastavení algoritmus DESX, který je modifikací algoritmu Data En-cryption Standard (DES). Ve Windows XP je možné prostřednictvím zásadzabezpečení nastavení změnit a zvolit algoritmus Triple DES, který nabízí sil-nější ochranu 128 nebo 168 bitovým klíčem. Ve Windows 2000 je nejdříve nutnédo systému Windows nainstalovat podporu pro 128 bitové šifrování.

Obrázek 11: Atributy souborového systému NTFS pro kompresi a šifrování

31

Informatika

6. Elektronický podpis

Většina článků, které se zabývají tématikou elektronického podpisu (EP), obsa-huje úvod, ve kterém se zdůrazňuje odlišnost elektronického a vlastnoručníhopodpisu. Možná autoři v dalších generacích budou mít opačný problém a vpodobných tématech se budou muset zaměřit na vysvětlení podstaty vlastno-ručního podpisu. Elektronický podpis tedy opravdu není digitalizovaný vlast-noruční podpis, ale jedná se o proměnné číslo, které je výsledkem určitýchmatematických operací provedených nad obsahem podepisované elektronickéinformace. Těchto operací se účastní soukromý klíč tvůrce elektronického pod-pisu. Bez něj podpis nelze realizovat. Soukromý klíč spojuje elektronický pod-pis s konkrétní osobou. Ve srovnání s metodami pro ověřování pravosti vlast-noručního podpisu je proces prokazování identity elektronického podpisu pří-močařejší a poskytuje vyšší průkaznost pravosti.

6.1. Schéma vytvoření elektronického podpisu

Vraťme se ke schématu asymetrické šifrovací metody. Jejím základem jsoudva klíče. Veřejný klíč příjemce slouží k šifrování zprávy, která je dešifrova-telná pouze pomocí jeho soukromého klíče. Schéma můžeme obrátit a šifrováníprovést soukromým klíčem odesilatele. Tento postup má jeden problém. Dešif-rovat obsah zprávy je pak možné pomocí veřejného klíče odesilatele. Může totedy provést kdokoli. Má naznačený postup nějaký smysl? Z hlediska utajenízprávy žádný, ale umožňuje jednoznačně prokázat spojení veřejného a soukro-mého klíče. Právě tuto vlastnost využívá elektronický (lépe digitální) podpis.

Předpokládejme, že odesilatel A chce doručit příjemci B zprávu, která nemusíbýt zašifrována, ale chce chránit zprávu před změnou obsahu a prokázat své au-torství. Uživatel A je vlastníkem soukromého klíče SKA = {d, N} a veřejnéhoklíče V KA = {e, N}. Odesilatel A vytvoří výtah obsahu (otisk) své zprávy Mprostřednictvím funkce obsahu HA = HASH(M). V elektronické komunikacise nejčastěji používají algoritmy MD-5 a SHA-1. Otisk zašifruje svým soukro-mým klíčem. Schéma šifry lze vyjádřit zápisem SA = HA

d mod N . Zašifrovanýotisk se připojí ke zprávě M = M + SA. Příjemci B je dostupný veřejný klíčodesilatele, s jehož pomocí dešifruje výtah odeslané zprávy HA = SA

e mod N .Z přijaté zprávy dále vytvoří rovněž otisk. Je zřejmé, že musí použít stej-nou funkci obsahu zprávy. HB = HASH(M). Pokud je dešifrovaný otisk HA

shodný s vytvořeným otiskem HB, pak v průběhu přenosu nedošlo ke změněobsahu zprávy.

6.2. Právní aspekty elektronického podpisu

V legislativě ČR byl elektronický podpis přijat zákonem 227/2000 Sb. ze dne29.června 2000 s účinností od 1. října 2000. Cílem zákona je zrovnoprávnit elek-tronický a vlastnoruční podpis. Přijetí zákona ovlivnilo řadu existujících před-

32

Bezpečnost operačního systému a počítačové komunikace

Obrázek 12: Schéma vytvoření elektronicky podpisaného dokumentu

pisů, např. občanský zákoník (40/1964 Sb.), zákon o správě daní a poplatků(337/1992 Sb.), zákon o správních poplatcích (368/1992 Sb.), o ochraně osob-ních údajů (101/2000 Sb.) a další, které musely být novelizovány. Změny setýkají doplňků, které formulují roli elektronického podpisu v kontextu přísluš-ných předpisů. Následující příklad zachycuje změnu v § 40 odst. 3 občanskéhozákoníku:

Příklad 7: § 40 odst. 3: „Je-li právní úkon učiněn elektronickými prostředky,může být podepsán elektronicky podle zvláštních předpisů.ÿ

Zákon 227/2000 Sb. rozlišuje následující formy elektronického podpisu – elek-tronický podpis (EP), zaručený EP, zaručený EP založený na kvalifikova-ném certifikátu, zaručený EP založený na kvalifikovaném certifikátu vydanémakreditovaným poskytovatelem certifikačních služeb. Elektronický podpis je vzákonu obecně definován jako „ke zprávě připojený elektronický údaj, kterýumožňuje ověření totožnosti podepsané osoby ve vztahu k datové části zprávyÿ.V této souvislosti nejsou blíže předepsány žádné technologie, metody nebopostupy. Zaručený elektronický podpis již předpokládá, že pro jeho vytvořeníbudou použity kryptografické metody, které mu poskytují identitu (jednoznač-nou identifikaci podepsané entity), nepopiratelnost (podepsaný nemůže zapřít,že zprávu podepsal), schopnost zajistit podepsané zprávě integritu (neumožnímodifikovat obsah zprávy třetí stranou) a konečně neumožní realizovat podpisbez parametru, který je ve výhradním vlastnictví podepisující entity (soukromýklíč). Zákon rovněž definuje tři úrovně poskytovatelů certifikační služeb (PCS)– běžný PCS, PCS vydávající kvalifikovaný certifikát a akreditovaný PCS.

Zákon 227/2000 Sb. vymezuje elektronický podpis v obecnější rovině. Tech-nické detaily a podmínky pro jeho využívání rozvádí prováděcí vyhláška č. 366/2001vypracovaná Úřadem pro ochranu osobních údajů. Vyhláška se zabývá zejménakonkrétními požadavky kladenými na poskytovatele certifikačních služeb, kteříchtějí vydávat kvalifikované certifikáty, požadavky na nástroje (CA) a pro-středky (uživatel) využívané při elektronickém podpisu. Účinností vyhláškyvznikly podmínky pro činnost poskytovatelů akreditovaných certifikačních slu-žeb vydávajících kvalifikované certifikáty. Jako první a doposud jediná byla vbřeznu roku 2002 akreditována I. CA. Zajímavý údaj představuje odhadovaný

33

Informatika

náklad, který se uvádí v souvislosti s vybudováním a akreditaci certifikačníautority. Uváděná částka dosahuje výše 70 milionů korun. Závratná cena jemožným důvodem, proč nejeví o akreditaci zájem další subjekty. Bohužel, mo-nopol I. CA určuje i poměrně vysokou cenu za vydání certifikátu. Spektrumnabídky I. CA obsahuje testovací certifikát, komerční a kvalifikovaný. V ceníkuz května roku 2004 lze nalézt tyto poplatky za zřízení certifikátů:

Kvalifikovaný certifikátplatnost 12 měsíců, délka klíče 1024 b v Kč včetně DPHstandard 752,−comfort 1728,− + čipová karta a ovládací SW

Tabulka 6: Cena kvalifikovaného certifikátu

Dalším významným dokumentem se stalo vládní nařízení č. 304/2001 zabý-vající se problematikou využívání elektronických podpisů při komunikaci ob-čana s orgány veřejné moci. Obousměrná elektronická komunikace se ukázalav dané chvíli právně nepřijatelná z důvodu silné závislosti mnoha stávajícíchprávních norem na tradičních formách doručování. Při přípravě zákona byloshledáno, že musí být provedena postupná novelizace všech souvisejících práv-ních předpisů, která je časově náročná. Proto se zmíněné nařízení vlády omezilopouze na jednosměrnou komunikaci občan – orgány veřejné správy. Vyhláškaukládá orgánům veřejné správy jako povinnost zřídit elektronické podatelny(EP) umožňující nepřetržitou komunikaci. Zákon 226/2002 sb. ze dne 9.5.2002upravuje použití EP v některých našich zákonech. Současnou aktivní úlohu vtéto oblasti zákonů v ČR sehrává ministerstvo pro informatiku, které vzniklov roce 1993.

Obrázek 13: Elektronický formulář pro přiznání k DPH

Poslední novela zákona 227/2000 Sb. byla provedena v březnu 2004 a řešízejména návaznost na vstup ČR do Evropské unie. Jedná se zejména o otázkyuznávání kvalifikovaných certifikátů v zemích EU, udělování akreditací CAse sídlem mimo území ČR, prohlubuje vazbu zákona na směrnici Evropského

34

Bezpečnost operačního systému a počítačové komunikace

parlamentu 1999/93/ES, právně zavádí časové razítko a elektronickou značku,rozšiřuje požadavky na poskytovatele certifikátů.

6.3. Časové razítko

Elektronický podpis nemusí být vždy dostačujícím atributem, který prokazujevěrohodnost dokumentu. Stejně jako průkaznost původu je často vyžadovánačasová autentičnost vytvoření dokumentu, resp. časová autentičnost elektro-nického podpisu. Pro tento účel byl v elektronické komunikaci zaveden pojemčasové razítko. Postup vytvoření časového razítka zachycuje následující obrá-zek. Pomocí funkce obsahu je generován výtah zprávy, který je odeslán autoritěTime Stamp Authority. Ta vydává časová razítka. Výtah zprávy spojí s časo-vou značkou a následně elektronicky podepíše. Je důležité, aby se TSA opíralao důvěryhodný časový zdroj. Časové razítko je rovněž zakotveno v zákoně oelektronickém podpisu, který definuje požadavky na poskytovatele časovýchrazítek a zavádí pojem kvalifikované časové razítko.

Obrázek 14: Časové razítko

7. Důvěryhodnost veřejného klíče

7.1. Certifikát

Certifikát je digitální dokument, který zajišťuje důvěryhodnost veřejnému klíči.Pravost klíče je stvrzena elektronickým podpisem vydavatele certifikátu, kte-rým je určitá certifikační autorita. Ta ručí za vydaný certifikát po celou dobujeho platnosti. Ověření veřejného klíče důvěryhodnou stranou je mechanismus,kterým se brání podvržení klíče. Certifikát stejně jako certifikační autoritaje součástí rozsáhlejší infrastruktury nazývané infrastruktura veřejného klíče(Public Key Infrastructure). Certifikát je samozřejmě definován normou. Voperačním systému Windows je používán internetový standard X.509 v3.

35

Informatika

Certifikát je využíván v různých situacích – při autentizaci, elektronickém pod-pisu zpráv, elektronickém podpisu programového kódu, elektronických plat-bách, ale také při zabezpečené síťové komunikaci pomocí protokolů SSL/TLSa IPSec. Předchozí věta uvádí několik možných účelů, pro které je certifikáturčen, resp. vydáván. Jedná se o tzv. omezení certifikátu. Obsahem certifikátunení pouze veřejný klíč vlastníka, ale řada dalších informací, které lze rozdělitdo následujících kategorií:

• atributy certifikátu (verze a sériové číslo certifikátu, časový údaj o platnosticertifikátu, účel pro který je certifikát vydáván, identifikace vydávající cer-tifikační autority, typ algoritmu použitého pro podpis),

• identifikační údaje vlastníka certifikátu,

• veřejný klíč vlastníka,

• elektronický podpis vydávající CA.

Obrázek 15: Certifikát

Dalším důležitým atributem certifi-kátu je jeho bezpečnostní třída. Donejnižší třídy se řadí osobní certifikátyvydávané pro testovací účely. V je-jich případě neprovádí CA ověřováníidentifikačních údajů. Takové certifi-káty mají omezený účel a jsou vydá-vány s velmi krátkou dobou platnosti.Pro získání komerčního certifikátu vetřetí bezpečnostní třídě je nezbytnáosobní účast žadatele a doložení poža-dovaných dokladů, které stvrzují jehoidentifikační údaje.

Speciální formou komerčního certifikátu je certifikát kvalifikovaný. Jedná seo jediný typ certifikátu, který je dle zákona č. 227/2000 Sb. akceptován přielektronické komunikaci občana s institucemi státní správy ČR. Kvalifikovanýcertifikát má oprávnění vydat pouze akreditovaná CA. Akreditaci v České re-publice provádí Úřad pro ochranu osobních údajů. Požadavky pro vydání kva-lifikovaného certifikátu jsou podobné jako v případě komerčního certifikátu.Navíc tento dokument musí obsahovat zákonem definovaný jedinečný identifi-kátor osoby, která certifikát užívá.

Příklad 8: „Pokud je zaručený elektronický podpis založený na kvalifikova-ném certifikátu užíván v oblasti orgánů veřejné moci, musí kvalifikovaný cer-tifikát obsahovat takové údaje, aby osoba byla jednoznačně identifikovatelná.ÿ

36

Bezpečnost operačního systému a počítačové komunikace

7.2. Certifikační autorita

Jak lze certifikát získat? Nejdříve je nutné mít jasno, k čemu má certifikátsloužit, tj. je nutné znát jeho účel. Certifikát nemůže být používán k jinémuúčelu. než byl vydán. Dále je třeba se rozhodnout, kterou instituci zabývajícíse distribucí certifikátů oslovíme. Tato služba se nazývá certifikační autorita(CA) a provozuje ji řada subjektů. Na území České republiky se jedná např.o společnosti CA Globe Internet, CA Czechia, CA České pošty (PostSignum),CA Cesnet, CA VUT Brno, I. Certifikační autorita, a.s. Tyto instituce obvyklenabízejí různé typy certifikátů, v různých bezpečnostních třídách, pro různédélky klíčů a za různé ceny. Každá CA poskytuje testovací certifikát, kterýumožňuje komukoliv vyzkoušet si asymetrické šifrování v praxi.

CA vydává certifikáty na základě žádosti. Sestavení žádosti předchází vytvo-ření dvojice soukromý–veřejný klíč. Generování klíčů se často odehrává skrytějako součást žádosti. K identifikačním údajům žadatele o certifikát se připojíveřejný klíč a celá žádost se elektronicky podepíše soukromým klíčem. Elek-tronický podpis stvrzuje spojení veřejného a soukromého klíče žadatele. Taktopřipravená žádost může být před odesláním zašifrována pomocí veřejného klíčeCA. V případě testovacího certifikátu, kdy CA identifikační údaje neověřuje, sepro vytváření žádosti obvykle používá webovské rozhraní. Pomocí elektronic-kého formuláře žadatel vyplní identifikační údaje a upřesní některé parametrycertifikátu. Jedná-li se o certifikát vydávaný ve vyšší třídě, např. o kvalifiko-vaný certifikát, provádí CA ověření udaných informací. V tomto případě CApožaduje osobní účast žadatele, doložení identifikačních údajů a podepsánísmlouvy.

Obrázek 16: Žádost o certifikát - parametry certifikátu

Z výše uvedeného textu vyplývá, že k základním funkcím CA patří příjem žá-dostí o certifikáty, ověřování identifikačních údajů a vydávání certifikátů. Pro-tože základní devizou CA je její důvěryhodnost, je neméně významnou činnostíCA dohled nad platností vydaných certifikátů. S touto činností souvisí zneplat-

37

Informatika

ňování certifikátů ať již z důvodu prošlého data platnosti nebo žádosti samot-ného uživatele. CA vydávání tzv. seznamy zneplatněných certifikátů (CRL), okteré se opírají algoritmy ověřující pravost veřejných klíčů. Seznamy obsahujícertifikáty s prošlým datem platnosti. V současnosti je snaha přejít od systémuCRL k přímějším formám sdělování platnosti certifikátu. Jedná se např. o pro-tokol Online Certificate Status Protocol (OSCP), kterým lze okamžité ověřitstav certifikátu.

Certifikační autorita zajišťuje důvěryhodnost certifikátům, které vydala. Kdovšak ověří veřejný klíč certifikační autority? Tento problém řeší hierarchickéuspořádání certifikačních autorit. Na nejvyšší úrovni se nacházejí kořenové CA,které mají oprávnění vydávat nejen certifikáty pro běžné objekty (uživatele,počítače, některé služby), ale rovněž certifikáty pro CA na nižších úrovních.CA z vyšší úrovně zajišťují důvěryhodnost níže zařazeným CA na nižší úrovni.Mezi jednotlivými CA lze vytvořit tranzitivní vztah důvěry (CA považuje zadůvěryhodné certifikáty vydané jinou CA).

Obrázek 17: Hierarchická vazba CA

8. Zabezpečení síťové komunikace

Síťové prostředí je v současnosti přirozeným způsobem integrace počítačů.Všichni okamžitě vnímají především jeho výhody, zejména rychlý přístup kinformacím. Nicméně připojením do sítě ztrácí počítač své soukromí, které muzajišťovalo i určitou míru bezpečnosti. Jeho dostupností prostřednictvím sítěse zvyšuje počet osob, které k němu mohou získat oprávněný nebo neopráv-něný přístup. Dalším rizikem je síť jako přenosový kanál. Ohrožení neveřejnýchinformací spočívá v tom, že síť je obecně nezabezpečené sdílené přenosové pro-středí. V následujících odstavcích budou stručně popsány základní prostředkyoperačního systému, kterými lze bezpečnostní rizika v síťovém prostředí snížit.

8.1. Síťové filtry a firewally ve Windows

Ochranu počítače připojeného do sítě lze zajistit pomocí určitých praxí ově-

38

Bezpečnost operačního systému a počítačové komunikace

řených bezpečnostních pravidel. Jedná se zejména o metody, které eliminujísnahu o získání neoprávněného přístupu k počítači prostřednictvím sítě, vzdá-lený útok na známé chyby v operačním systému a další. Útoky se obvyklevedou směrem na porty známých síťových služeb operačního systému. Následu-jící informace se budou věnovat převážně problematice bezpečnosti protokoluTCP/IP, který je nejvíce využívaným protokolem ve sdílených datových sítích.Nicméně obsah odstavců lze zobecnit pro všechny protokoly síťové vrstvy.

Síťové filtry umožňují kontrolovat vnější spojení s počítačem na základě pevnědefinovaných pravidel. Z pohledu síťového modelu ISO/OSI pracují na třetísíťové vrstvě a vystačí pouze s informací, která je obsažena v hlavičce paketu.Operační systém Windows umožňuje definovat síťové filtry ve verzích vychá-zejících z Windows NT. Ve výchozím nastavení operačního systému Windowsnejsou vnější připojení omezena. Tato konfigurace není v otevřeném síťovémprostředí bezpečná a je vhodné ji změnit. Pro jednotlivé protokoly TCP, UDPa IP je možné připojení omezit pomocí seznamů explicitně definovaných portů,případně komunikaci zcela zakázat. Proces vytvoření takového seznamu je pa-trný z následujícího obrázku. Předně je třeba si všimnout, že filtrování sí-ťové komunikace se vztahuje na všechny síťové adaptéry. Jednotlivé množiny– TCP ports, UDP ports a IP ports – slouží k explicitní definici přípustnýchportů v rámci protokolu. Pokud je přepínač v poloze Permit Only a seznam jeprázdný, je výsledek stejný jako úplný zákaz protokolu UDP.

Obrázek 18: Konfigurace síťových filtrů ve Windows 2000

Softwarová služba nebo specializované zařízení, které ovlivňuje síťovou komu-nikaci na základě informací z vyšších vrstev modelu ISO/OSI, se nazývá bez-pečnostní brána. Častěji se označuje původním anglickým termínem firewall.Bezpečnostní brány můžeme rozdělit podle toho, v jaké vrstvě síťového modeluinformaci analyzují. Okruhové brány monitorují proces navázání TCP/IP spo-jení a z této úrovně rozhodují o oprávněnosti dalšího síťového přenosu. Pracujína úrovni spojové vrstvy modelu OSI. Aplikační brány pracují na nejvyšší apli-kační vrstvě. Říká se, že zosobňují nebo zastupují klienty v síťové komunikaci.Umožňují formulovat pravidla pro přípustná spojení na uživatelské úrovni –pro konkrétní uživatele. Stavové brány využívají informace ze všech vrstev

39

Informatika

síťového modelu.

Dříve byla služba typu bezpečnostní brána určena výhradně pro serverové verzeoperačních systémů nebo byla dodávána jako úzce specializované hardwarovézařízení. Důvodem byl zejména nezanedbatelným požadavek na výkon tako-vého systému, který mohly splnit pouze specializované počítače. V současnédobě se však brány zabezpečení běžně používají i v jednodušší formě na úrovnijednotlivých osobních počítačů. Příkladem takové služby je firewall InternetConnection Firewall (ICF), která je součástí operačního systému Windows XPnebo ZoneAlarm od Zone Labs, Inc. Důsledek hlubší analýzy paketu, kteroubezpečnostní brány provádějí, je patrný z konfiguračních možností programu.Níže uvedená tabulka obsahuje seznam důvěryhodných sítí vytvořených přikonfiguraci programu ZoneAlarm. Omezující pravidla je možné vyjádřit po-mocí sítí a masek:

Obrázek 19: Konfigurační parametry bezpečnostní brány Windows XP

Moderní bezpečnostní politiky používané v současných počítačových sítíchzpravidla kombinují zabezpečení prováděné na centrální bezpečnostní bráněsítě s distribuovaným zabezpečením pomocí lokálních prostředků zabezpečenína úrovni operačních systémů jednotlivých počítačů.

8.2. Protokol SSL/TLS

Síťový model protokolu TCP/IP neobsahuje ve své struktuře vrstvu zabezpe-čení. Tato skutečnost je důkazem, že bezpečnost nebyla při zrodu Internetu

40

Bezpečnost operačního systému a počítačové komunikace

považována za prioritní atribut síťové komunikace. S narůstajícím počtem apli-kací požadujících přístup k neveřejným informacím prostřednictvím sdílené ve-řejné sítě stále více absentovala možnost zabezpečení přenášených dat. Tentonedostatek byl řešen integrací kryptografických metod do aplikační úrovně.Jako příklad může být uveden protokol ssh používaný pro vzdálenou správupočítačů v prostředí operačního systému Unix, který je bezpečnou variantouprotokolu telnet. Úspěšný pokus pro zobecnění vrstvy, kterou by mohly apli-kace sdílet a obracet se na ni s požadavky pro zabezpečení, se zdařil společnostiNetscape. Řešení má název Secure Sockets Layer (SSL), a stalo se základempozdějšího internetového standardu s označením Transport Layer Security Pro-tokol (TLS). Zařazení SSL do síťového modelu mezi aplikační a transportnívrstvu je patrné z následujícího obrázku. Skutečnost je samozřejmě složitějšía SSL/TLS je v podstatě seskupením několika protokolů:

• protokol SSL Handshake Protocol vytváří bezpečné spojení mezi klientema serverem,

• protokol SSL Record Protocol přebírá a šifruje data aplikační vrstvy,• protokol SSL Change Cipher Spec Protocol slouží k oznamování změn bez-pečnostních parametrů,

• protokol SSL Alert Protocol kontroluje stav spojení a signalizuje chyby.

Obrázek 20: SSL/TLS a síťový model TCP/IP

Protokol SSL/TLS využívá pro zabezpečení dat symetrické šifrování. Umož-ňuje vyjednání šifrovací metody (DEC, 3DES, RC4). Pro zabezpečení symetric-kého klíče využívá asymetrické šifrovací algoritmy (RSA). Protokol SSL/TLSje rovněž vybaven prostředky pro autentizaci a zajištění integrity zpráv. Vždyprovádí autentizaci serveru a umožňuje autentizaci klienta. Proces vyjednáníklíčů se označuje termínem handshake. Jeho průběh je zobrazen na obrázku.Obdrží-li server žádost klienta o zabezpečený přístup, odešle mu svůj certifi-kát. Klient certifikát ověří, vygeneruje tajnou informaci pro další generováníklíčů, zašifruje ji veřejným klíčem serveru a odešle na stranu serveru.

8.3. Protokol IPSec

Nevýhodou protokolu SSL/TLS je jeho pozice v síťovém modelu TCP/IP.Zvolené umístění předpokládá, že aplikace jsou vybaveny funkcionalitou pro

41

Informatika

Obrázek 21: SSL handshake

komunikaci s vrstvou SSL/TLS. Jinými slovy se předpokládá, že i v případě,kdy operační systém disponuje podporou zabezpečení dle standardu SSL/TLS,aplikace musí být schopna tuto vrstvu použít. Snahou dalšího vývoje bylo najítřešení, které by poskytlo aplikacím zabezpečení méně závislé na jejich vlast-nostech. Ukázalo se, že jednou z cest je přemístění funkce pro zabezpečení donižší vrstvy síťového modelu TCP/IP. Standard, který byl z těchto úvah for-mulován se nazývá Internet Protocol Security (IPSec) a představuje rozšířenísíťové vrstvy modelu TCP/IP o kryptografické zabezpečení.

Protokol IPSec je založen podobně jako SSL/TLS na modelu koncového za-bezpečení. To znamená, že zabezpečení provádí pouze odesílatel a příjemce.Může se jednat jak o koncové počítače, tak i o vstupní body sítí (směrovač,server pro vzdálený přístup). Protokol IPSec je možné používat ve dvou mó-dech – v transportním a tunelovém. Transportní mód chrání pouze datovoučást IP paketů. Původní hlavička IP protokolu zůstává nezměněna. Tunelovýmód zapouzdří celý paket včetně hlavičky IP protokolu a přidává své vlastnířídící informace. V obou módech umožňuje protokol IPSec zajistit důvěrnostšifrováním, zabezpečit integritu pomocí kryptografického kontrolního součtu aprokázat autenticitu (digitální podpis). V transportním i tunelovém módu lzezvolit dva režimy protokolu IPSec.

Obrázek 22: IPSec a režim AH

Protokol IPSec v režimu Authentication Header (AH) zajišťuje integritu předá-vané informace. Každý paket je doplněn kryptografickým kontrolním součtem,vytvářeným pomocí funkcí obsahu MD-5 a SHA-1, ale specifikace IPSec umož-

42

Bezpečnost operačního systému a počítačové komunikace

ňuje použít i jiné algoritmy. Důvěrnost síťové komunikaci zajišťuje IPSec šifro-váním v režimu Encapsulating Security Payload (ESP). Pro utajení informacíse používá symetrické šifrování, např. algoritmy DES, Triple DES, AES, IDEAa další. Výměna klíčů a dalších parametrů spojení je realizována pomocí proto-kolu Internet Key Exchange (IKE), který se opírá o algoritmus Diffie–Hellman.Protokol IPSec rovněž podporuje autentizaci (RSA) a použití certifikátů. Mezinevýhody protokolu IPSec patří zejména složitější konfigurace. V operačnímsystému Windows se nastavení provádí prostřednictvím zásad zabezpečení.

Obrázek 23: IPSec a režim ESP

8.4. Elektronická pošta a soukromí

Aplikaci pro kryptografické zabezpečení poštovní komunikace vytvořil v roce1991 Philip Zimmermann. Program nazval Pretty Good Privacy a bezplatně jejposkytl uživatelům Internetu. Prakticky v něm realizoval řadu myšlenek, kteréformulovali Diffie a Hellman. V programu spojil rychlost symetrického šifro-vání (IDEA) a sílu asymetrického algoritmu (RSA). Nabídl široké veřejnostinástroj poskytující jejich komunikaci „docela dobré soukromíÿ. PGP se stalvelmi oblíbeným nástrojem, který však neměl snadný osud. P. Zimmermannse rozhodl šířit PGP bez licence na algoritmus RSA, který v té době již byl pa-tentován společností RSA Data Security, Inc. Ta byla založena, aby komerčnězhodnotila práci na RSA. Prodávala program MailSafe, který umožňoval šif-rování, dešifrování a digitální podpis elektronické pošty. Program MailSafe bylpředevším určen pro komerční a vládní sféru a P. Zimmermann předpokládal,že nebude považován za konkurenci a že licenci na RSA dodatečně získá. Dal-ším ohrožením pro používání PGP byly návrhy na změnu trestního zákona,které usilovaly o získání kontroly vládních orgánů nad elektronickou komuni-kací zejména pro potřeby orgánů činných v trestním řízení. P. Zimmermann serozhodl, že i přes výše uvedené nevyjasněné otázky systém PGP zveřejní. Vý-sledkem bylo obvinění z nelegálního exportu zbraní. Proč? Šifrovací programybyly totiž vládou USA zahrnuty do kategorie zbraní a jejich export byl vázánna souhlas ministerstva zahraničí. Žaloba byla po třech letech stažena a PGPbylo možné legálně používat. P. Zimmermann licenci na RSA skutečně získal amohl svůj produkt komercionalizovat. Pro soukromé účely však PGP zůstávávolně dostupným programem.

Co PGP umí? Šifrovat a dešifrovat soubory, vytvářet a spravovat klíče, šifro-vat, dešifrovat a digitálně podepisovat elektronické zprávy. Následující obrázek

43

Informatika

vyjadřuje, jak zabezpečení elektronické zprávy probíhá. Odesilatel vygenerujenáhodný 128 bitový symetrický klíč relace pro šifrování zprávy. Šifrování jeprovedeno algoritmem IDEA. Klíč relace je zašifrován algoritmem RSA a při-pojen ke zprávě. Jako klíč je použit veřejný klíč příjemce.

Obrázek 24: Schéma sestavení zprávy PGP

PGP není centralizovaný systém. Je založen na tom, že kdokoli si může klíčvytvořit a vystavit nebo odeslat příjemci zprávy. Předpokládá, že k vystave-ným klíčům, resp. k jejich vystavitelům máme plnou důvěru. Rovněž existujíspecializované servery, jejichž prostřednictvím lze klíče šířit.

8.5. S/MIME

Jedním z prvních pokusů o skutečnou standardizaci zabezpečení elektronickékomunikace se stala norma s názvem Privacy Enhanced Mail (PEM). Ta je narozdíl od PGP založena na centrální správě veřejných klíčů. Současným stan-dardem pro zabezpečení elektronické pošty je však protokol S/MIME, kterýje opět integrován z několik standardů. Zejména se jedná o standard pro for-mát zpráv s názvem Cryptographic Message Standard (CMS) a o rozšířenístandardu MIME.

Poznámka: Standard MIME definuje strukturu elektronických zpráv, kterémohou obsahovat různá multimediální data. Vznikl pro potřeby elektronicképošty, ale byl převzat i dalšími internetovými službami, např. službou WWW.MIME zavádí popisnou část zprávy, tzv. hlavičku, která umožňuje přesně de-klarovat typ přenášených dat a tím usnadnit jejich další zpracování. Jedná sezejména o označení typu a podtypu přenášených dat. Syntakticky je hlavičkatvořena seznamem klíčových slovy, kterým jsou přiřazeny normou definovanéhodnoty. Jako příklad můžeme uvést identifikátor typu s názvem Content–type,který může na základě obsahu zprávy nabývat např. hodnot application/msword,image/jpeg, audio/wav, atd.

44

Bezpečnost operačního systému a počítačové komunikace

Obrázek 25: Struktura zprávy CMS

CMS je protokol určený pro zpra-cování zabezpečených zpráv (RFC2630), který vznikl z původní normyPKCS#7 zavedenou firmou RSA Inc.CMS rozlišuje tři typy zpráv – ne-šifrovaná data (Data), podepsanádata (SignedData) a data v elektro-nické obálce (EnvelopedData). Sesta-vení poštovní zprávy dle požadavkůS/MIME zachycuje dále uvedený ob-rázek. Zpráva je nejdříve zabezpečenaa zformátována dle normy CMS, kó-dována algoritmem Base64 a finálnědoplněna záhlavím S/MIME.

Obrázek 26: Schéma sestavení zprávy dle S/MIME

Aby bylo možné použít standard MIME také pro šifrované a podepsané zprávy,musela být rozšířena množina existujících typů MIME o nové hodnoty. Tentoidentifikátor má hodnotu application/pkcs7–smime v případě šifrované zprávy,resp. ve smyslu CMS zpráva vložená do obálky. Uvedený typ může mít dalšízpřesňující parametry. Jednak je nutné klientu sdělit, jakou formu zabezpečenímá očekávat. Tato informace je sdělována pomocí parametru smime–type. In-formace o obsahu zprávy může nabýt hodnot enveloped–data pro šifrovanouzprávu, signed–data pro podepsanou zprávu a certs–only pro případ, kdy je vezprávě odeslán pouze certifikát. V našem příkladu se tedy jedná o šifrovanouzprávu.

45

Informatika

Obrázek 27: Hlavička šifrované zprávy S/MIME

V případě, že má být zpráva pouze elektronicky podepsána, je možné ji odeslatformou, která umožňuje číst její obsah nezávisle na elektronickém podpisu. Zatímto účelem zavádí standard S/MIME identifikátor typu multipart/signed,který umožňuje rozdělit elektronický podpis a zprávu na dvě samostatné části.Parametr micalg specifikuje funkci obsahu použitou při generování elektronic-kého podpisu.

Obrázek 28: Hlavička podepsané zprávy S/MIME

46

Bezpečnost operačního systému a počítačové komunikace

9. Autotest

V následujících otázkách je vždy právě jedna odpověď správná.

1. Šifrovací metoda RSA patří mezi:

(a) symetrické šifrovací algoritmy.

(b) asymetrické šifrovací algoritmy.

(c) algoritmy pro výpočet kryptografických kontrolních součtů.

2. Šifrovací metoda DES patří mezi:

(a) symetrické šifrovací algoritmy.

(b) asymetrické šifrovací algoritmy.

(c) algoritmy pro výpočet kryptografických kontrolních součtů.

3. Šifrovací algoritmus MD-5 patří mezi:

(a) asymetrické šifrovací algoritmy.

(b) symetrické šifrovací algoritmy.

(c) algoritmy pro výpočet kryptografických kontrolních součtů.

4. Při elektronickém podpisu se výtah zprávy šifruje pomocí:

(a) veřejného klíče příjemce.

(b) veřejného klíče odesilatele.

(c) soukromého klíče odesilatele.

5. Z hlediska bezpečnosti je nejslabším autentizačním protokolem Windows:

(a) Kerberos.

(b) LAN Manager.

(c) NT LAN Manager.

6. Autentizační mechanismus protokolu Kerberos neobsahuje:

(a) Autentikátor.

(b) LM hash.

(c) lístek relace.

7. Lístek relace, který obsahuje klíč relace šifrovaný hlavním klíčem serveruposkytuje KDC serveru:

(a) přímo.

(b) nepřímo prostřednictvím klienta.

(c) server tuto informaci generuje samostatně automaticky při startu.

8. EFS je:

47

Informatika

(a) rozšíření souborového systému NTFS o kryptografickou ochranu sou-borů.

(b) rozšíření souborového systému HPFS o souborová oprávnění.

(c) kryptografická síťová vrstva.

9. Šifrování a kódování v kontextu kryptografie se liší:

(a) složitostí zobrazení.

(b) velikostí prostoru zpráv.

(c) přítomností klíče v zobrazení.

10. Certifikát veřejného klíče:

(a) obsahuje soukromý klíč vlastníka certifikátu.

(b) veřejný klíč vydávající certifikační autority.

(c) veřejný klíč vlastníka certifikátu.

11. Délka klíče 64 resp. 56 bitů používaná algoritmem DES je nedostačujícíprotože:

(a) algoritmus obsahuje chybu, která znehodnocuje délku klíče.

(b) současná úroveň výpočetní techniky umožňuje úspěšně použít útokhrubou silou při uvedené délce klíče.

(c) uvedená délka klíče je obecně nedostačující.

12. Výtah zprávy o velikosti 2kB generovaný jednosměrnou funkcí SHA-1:

(a) je delší než vlastní zpráva.

(b) je kratší než 1/10 zprávy.

(c) je srovnatelný s délkou zprávy.

13. Kvalifikovaný certifikát vydává:

(a) každá akreditovaná certifikační autorita a kořenová CA, která jí vy-dala certifikát.

(b) každá akreditovaná certifikační autorita a jí hierarchicky podřízenéCA.

(c) pouze akreditovaná certifikační autorita.

14. Současný internetový standard v zabezpečení poštovní komunikace pro-střednictvím má označení:

(a) IPSec.

(b) PGP.

(c) S/MIME.

15. Zabezpečení přenosu informací v prostředí veřejných datových sítí kryp-tografickými prostředky poskytuje protokol:

48

Bezpečnost operačního systému a počítačové komunikace

(a) SSL/TLS.

(b) TCP.

(c) UDP.

16. Při asymetrickém šifrování se zpráva šifruje pomocí:

(a) soukromého klíče odesilatele.

(b) veřejného klíče příjemce zprávy.

(c) veřejného klíče odesilatele.

17. Hybridní kryptografické metody spojují výhody symetrických a asymet-rických algoritmů:

(a) zprávu šifrují generickým klíčem, který následně šifrují veřejným klí-čem příjemce a připojují ke zprávě.

(b) zprávu šifrují generickým klíčem, který druhé straně nesdělují.

(c) zprávu šifrují veřejným klíčem příjemce.

18. Termínem „handshakeÿ se v protokolu SSL/TLS označuje:

(a) veřejný klíč serveru.

(b) symetrický klíč relace.

(c) proces vyjednání parametrů komunikace.

19. Výsledek operace 11 mod 5 je roven:

(a) 1.

(b) 6.

(c) 5.

Závěr

Shrnutí

Text modulu se pokouší o přehled základních informací z oblasti bezpečnostipočítačové komunikace. Jeho cílem je objasnit nejdůležitější pojmy této oblasti– autentizace, autorizace, oprávnění a řízení přístupu – v kontextu operačníhosystému. Více informací je věnováno konkrétní implementaci mechanismů voperačním systému Windows. Dále se modul pokouší o přehled kryptografic-kých metod. Historický přehled má sloužit k pochopení principů, na kterýchjsou založeny algoritmy použité v moderních metodách. Podrobnější informacejsou vždy věnovány jednomu zástupci v popisovaných kategoriích. Poslednítéma textu se týká zabezpečení síťové komunikace. V textu jsou uvedeny zá-kladní informace o síťových filtrech, bezpečnostních branách a o protokolechSSL/TLS a IPSec.

49

Informatika

Studijní prameny

Seznam základní literatury

[1] Doseděl, T.: Počítačová bezpečnost a ochrana dat. Computer Press, 2004.

[2] Berka, M. a kol.: Bezpečná počítačová síť. Verlag Dashöfer, 2004.

[3] Singh, S.: Kniha kódů a šifer. Dokořán, Argo, 2003.

[4] Grošek, 0., Porubský, Š.: Šifrovanie. Grada, 1992.

Seznam doplňkové studijní literatury

[5] Bott, E., Siechert, C.: Windows Security. Microsoft Press, 2003.

[6] Dostálek, L.: Velký průvodce protokoly TCP/IP. Computer Press, 2001.

[7] Garfinkel, S.: Pretty Good Privacy. O’Reily, 1994.

Odkazy na elektronické studijní zdroje a prameny

[8] http://www.ha.cz/a spionaz/1kryptoslovnik.htm (malý slovník krypto-grafických pojmů)

[9] http://msdn.microsoft.com/ (MSDN home)

Klíč k autotestu

Správné odpovědi1b, 2a, 3c, 4c, 5b, 6b, 7b, 8a, 9c, 10c, 11b, 12b, 13c, 14c, 15a, 16b,17a, 18c, 19a

50