INFORMATIKA VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STAVEBNÍ MIROSLAV MENŠÍK MODUL 4 BEZPEČNOST OPERAČNÍHO SYSTÉMU A SÍŤOVÉ KOMUNIKACE



Podobné dokumenty
Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007

Autentizace uživatelů

Správa přístupu PS3-2

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc.

Šifrová ochrana informací věk počítačů PS5-2

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu

PA159 - Bezpečnostní aspekty

Šifrová ochrana informací věk počítačů PS5-2

Y36PSI Bezpečnost v počítačových sítích. Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41


Šifrová ochrana informací věk počítačů PS5-1

SSL Secure Sockets Layer

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

Šifrová ochrana informací historie KS4

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra

Symetrické šifry, DES

Informatika Ochrana dat

MFF UK Praha, 22. duben 2008

Šifrová ochrana informací historie PS4

Diffieho-Hellmanův protokol ustanovení klíče

Matematické základy šifrování a kódování

Šifrová ochrana informací historie PS4

Asymetrická kryptografie

BEZPEČNOST INFORMACÍ

Kryptografie založená na problému diskrétního logaritmu

Digitální podepisování pomocí asymetrické kryptografie

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

Elektronický podpis. Základní princip. Digitální podpis. Podpis vs. šifrování. Hashování. Jednosměrné funkce. Odesílatel. Příjemce

Informatika / bezpečnost

Bezpečnost dat. Možnosti ochrany - realizována na několika úrovních

Bezpečnostní mechanismy

Pokročilá kryptologie

Moderní metody substitučního šifrování

KRYPTOGRAFIE VER EJNE HO KLI Č E

základní informace o kurzu základní pojmy literatura ukončení, požadavky, podmiňující předměty,

Kryptografie - Síla šifer

asymetrická kryptografie

Asymetrické šifry. Pavla Henzlová FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

Složitost a moderní kryptografie

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Digitální podpisy

PV157 Autentizace a řízení přístupu

dokumentaci Miloslav Špunda

EU-OPVK:VY_32_INOVACE_FIL13 Vojtěch Filip, 2014

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21.

Šifrová ochrana informací věk počítačů KS - 5

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP TCP/IP.

Identifikátor materiálu: ICT-2-04

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace

ŠIFROVÁNÍ, EL. PODPIS. Kryptografie Elektronický podpis Datové schránky

C5 Bezpečnost dat v PC

Jak funguje asymetrické šifrování?

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Základy kryptografie. Beret CryptoParty Základy kryptografie 1/17

Programové vybavení OKsmart pro využití čipových karet

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie

Ukázkyaplikacímatematiky

Ukázky aplikací matematiky. Kapitola 1. Jiří Tůma. Úvod do šifrování. Základní pojmy- obsah. Historie šifrování

Úvod RSA Aplikace, související témata RSA. Ing. Štěpán Sem Festival Fantazie, Štěpán Sem

Obsah. Úroveň I - Přehled. Úroveň II - Principy. Kapitola 1. Kapitola 2

Kódování a Šifrování. Iveta Nastoupilová

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

SIM karty a bezpečnost v mobilních sítích

Čínská věta o zbytcích RSA

UKRY - Symetrické blokové šifry

Základy šifrování a kódování

(2) Zásady bezpečnostní politiky jsou rozpracovány v návrhu bezpečnosti informačního systému

Počet kreditů: 5 Forma studia: kombinovaná. Anotace: Předmět seznamuje se základy dělitelnosti, vybranými partiemi algebry, šifrování a kódování.

Data Encryption Standard (DES)

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01

Co je Czech Point? Podací Ověřovací Informační Národní Terminál, zredukovat přílišnou byrokracii ve vztahu

Směry rozvoje v oblasti ochrany informací PS 7

Ochrana dat Obsah. Výměna tajných klíčů ve veřejném kanálu. Radim Farana Podklady pro výuku. Kryptografické systémy s tajným klíčem,

12. Bezpečnost počítačových sítí

Hashovací funkce. Andrew Kozlík KA MFF UK

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

496/2004 Sb. VYHLÁŠKA Ministerstva informatiky ze dne 29. července 2004 o elektronických podatelnách

Bezpečnost internetového bankovnictví, bankomaty

Microsoft Windows Server System

Seminární práce do předmětu: Bezpečnost informačních systémů. téma: IPsec. Vypracoval: Libor Stránský

Datové struktury 2: Rozptylovací tabulky

Úvod - Podniková informační bezpečnost PS1-2

KAPITOLA 22. Autentizace Windows

Představíme základy bezdrátových sítí. Popíšeme jednotlivé typy sítí a zabezpečení.

Bezpečnostní aspekty informačních a komunikačních systémů KS2

Bezpečnost v Gridech. Daniel Kouřil EGEE kurz 12. prosince Enabling Grids for E-sciencE.

Digitální podepisování pomocí asymetrické kryptografie

Uživatelská příručka

klasická kryptologie základní pojmy požadavky na kryptosystém typologie šifer transpoziční šifry substituční šifry

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 13

1. DATOVÉ SCHRÁNKY OBECNÝ PŘÍSTUP K DATOVÉ SCHRÁNCE DATOVÉ ZPRÁVY... 3

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace

Základy kryptologie. Kamil Malinka Fakulta informačních technologií

I.CA SecureStore Uživatelská příručka

DSY-6. Přenosový kanál kódy pro zabezpečení dat Základy šifrování, autentizace Digitální podpis Základy měření kvality přenosu signálu

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

EXTRAKT z mezinárodní normy

[1] ICAReNewZEP v1.2 Uživatelská příručka

Transkript:

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

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 technologií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ány do 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. Pro podrobnější popis těchto mechanismů a protokolů byl vybrán operační systé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ých kryptografických algoritmů, metod a jejich uplatnění v různých oblastech operač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í systémy, Počítačové sítě a Internet, služby internetu. S ohledem na rozsah textu nebylo vždy možné rozvést potřebné souvislosti. V těchto případech je nutné doplnit znalosti prostudováním doporučených zdrojů. Příslušné odkazy jsou 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 uvedené v odstavci Požadované znalosti. Čtenář, který se s uvedenou problematikou 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 instalací 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, Kerberos, 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 kterou komunikují všechny aplikace. Předpokládají, že jim operační systém poskytne dostateč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 spolehlivost se dnes stále častěji připojuje další přívlastek bezpečnost. Chceme, aby operač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ředkládá stále širší skupiny aplikací a přirozeně sílí se vzrůstající cenou spravovaných informací. Prvky zabezpečení, které budou dále uvedeny, postupem času opustily 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. Je základním bezpečnostním krokem, který předchází získání přístupu k nejrůzně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ři platbě 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 autentizují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 subjekt něco má), jedinečnou vlastnost autentizujícího se subjektu, např. jedinečné biomechanické 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řednictvím hardwarových autentizačních předmětů čipových karet, USB klíčů, autentizačních kalkulátorů kombinuje mechanismus autentizovaný subjekt ně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ých informací (zejména hesel) a bezpečná výměna informací mezi autentizujícím se 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 interaktivní 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 Winlogon (winlogon.exe). V jeho bezpečnostním kontextu 1 je zavedena knihovna msgina.dll, která reprezentuje systémový modul označovaný jako Microsoft Graphical Identification and Authentication (MS GINA). Jeho úkolem je zachytit vznik 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ěchto stavech ří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 žádost o přihlášení, která je zachycena modulem MS GINA. O vzniklé události informuje MS GINA proces Winlogon prostřednictvím funkce WlxSasNotify. Pokud proces Winlogon rozhodne, že je možné provést přihlášení, signalizuje stav modulu MS GINA zpětným voláním funkce WlxLoggedOutSAS. Výsledkem je zobrazení 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 modulu MS 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 zachycoval hesla uživatelů, kteří se přihlašovali do systému. 1 má 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 prostřednictvím lokálního podsystému zabezpečení Local Security Autority (LSA). Autentizace probíhá voláním funkce LSA s názvem LsaLogonUser. Parametry funkce jsou zadané autentizační údaje a požadavek na konkrétní autentizační mechanismus, který je realizován formou autentizačního balíčku (authenticaton package). Zvolený autentizační balíček ověří identitu uživatele a o výsledku informuje podsystém LSA, který informaci předává zpět modulu MS GINA. Konkrétní autentizační mechanismus je realizován pomocí autentizačních balíčků. Jejich úkolem je provést analýzu autentizačních údajů a pomocí určitého protokolu provést ověření. Pokud je autentizace úspěšná, vzniká nová relace přihlášení reprezentovaná jedinečným identifikátorem relace. Tuto informaci předává autentizační balíček zpět podsystému LSA, která ji používá při sestavová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 pro autentizaci pomocí protokolu NTLM. Autentizaci provádí pomocí účtu a otisku hesla (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 poskytovat 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 a od verze Windows 2000 také balíček Kerberos SSP/AP, který se uplatňuje při síť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 neinteraktivní 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á doprová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 0 službu NetLogon pro spojení s řadičem domény. Ověřování zadaných autentizačních údajů se opírá o databázi SAM spravovanou službou LSA na řadiči domé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 poskytovatelů zabezpečení Security Support Providers (SSP). Aplikace ve Windows při požadavku o autentizaci komunikují výhradně s vrstvou SSPI. Mohou specifikovat 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ě respektovat nastavené bezpečnostní zásady. Další výhodou otevřeného vyjednání autentizač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 a formát předávaných informací. Poskytuje mechanismy, které umožňují provedení 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ů, je výsledkem vyjednávání (negotiation) mezi klientem a serverem. Použitý protokol je vyjádřením shody schopností komunikujících stran a měl by reprezentovat 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 NT LAN 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 Windows. 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 stanici autentizujícího se uživatele (dále jen klient) a doménový řadič, který hraje roli autentizačního serveru. Uživatel zadává uživatelské jméno, heslo a doménu, ve které 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ílející se na autentizaci, zejména procesy MS GINA a LSA. Modulární skladba komponent umožňuje operačnímu systému snadnou implementaci různých autentizač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é metody 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ími body: 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 response. Server má přístup do databáze SAM, ve které se nachází hash hesla uživatele. Protože ví, které entita se autentizuje, vyhledá v SAM uložený hash hesla a provede identické zpracování odeslané výzvy jako klient. Výsledek porovná 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 a doménový řadič. Jak již bylo uvedeno, neinteraktivní autentizace probíhá s užití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 ke sdílené složce. Komunikace mezi serverem a klientem probíhá dle popsaného scé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í informace 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án domé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 (RFC 1510, 1964). Bohužel, tento protokol se uplatňuje pouze v sítích založených na Windows 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žena na kryptografických metodách. Komunikující entity používají krátkodobý (dočasný) klíč relace, kterým symetricky šifrují předávanou informaci. Autentizace je 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 Key Distribution Center (KDC), která je spuštěna na každém doménovém řadiči 2 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 (Authentication Service), ale současně je službou pro distribuci lístků (Tiket Granting Service). Lístky představují v protokolu Kerberos základní datovou strukturu, 2 Doménové řadiče spravují databázi Active Directory, ve které se rovněž nacházejí bezpeč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ístku prokazuje 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 často používá podobenství vyplývající z názvu Kerberos (mytický trojhlavý pes). KDC centralizuje informaci o hlavních (dlouhodobých) klíčích entit (master key), 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živatele, požaduje přístup k určité službě. Může se jednat např. o otevření složky nebo souboru, zařazení tiskové úlohy do fronty nebo zpracování určitého databá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žadovat, 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é nechráněné podobě. Obsah hesla převede na hlavní klíč (dlouhodobý) pro pozdě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ím klíčem klienta odvozeným ze zadaného hesla. Server po obdržení požadavku dešifruje autentikátor, protože má přístup k informacím, ze kterých je schopen odvodit hlavní klíč klienta (má přístup k zašifrované podobě hesla uložené v Active Directory). Pokud je dešifrovaný obsah autentikátoru relevantní, generuje KDC lístek TGT. Po úspěšném přihlášení klient obdrží lístek pro přidělování lístků TGT. V něm se nachází klíč relace, který je určen pouze pro komunikaci mezi klientem a KDC. Je platný po celou dobu trvání relace přihlášení. Lístek TGT je zašifrován hlavním klíčem KDC. Klient získává od KDC rovněž svou kopii klíče relace šifrovanou jeho hlavním klíčem. Pouze on je schopen dešifrovat jeho obsah. 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í od klientů formou lístků KDC prostřednictvím TGT a ostatní služby formou lístků relací (Session Tiket). Lístek TGT klient používá, chce-li získat přístup k dalším službám. Současně se žádostí odesílá také TGT. Služba KDC generuje nový 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 relace určenou pro službu, ke které klient požaduje přístup a je šifrovanou jejím hlavním klíčem. Klient od KDC vždy získává svou kopii klíče relace a lístek relace určený pro zvolenou službu. Pomocí autentikátoru a vystaveného lístku relace 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 zpravidla nejsou uložena v otevřené podobě, ale uchovávají se jejich šifrované obrazy. K tomuto účelu používají operační systémy různé kryptografické algoritmy. V odliš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. Tyto verze dovolují sestavit heslo s maximální délkou 14 znaků. I když tato délka teoreticky umožňuje sestavit dostatečně složité heslo, operační systém Windows provádí určitá zjednodušení, která tento prostor omezují. Prvním nepříznivým krokem je case insenzitivní zpracování hesla. Operační systém aplikuje na řetězec funkci UpCase(). Tento krok negativně omezuje konečný tvar hesla a umožňuje při útoku významně redukovat množinu testovaných znaků. Heslo je dále doplněno znaky NUL tak, aby mělo výslednou délku 14 znaků. Takto upravený ř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 bylo odstraněno UpCase() zpracování řetězce před kryptografickým zpracováním a 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 operační systém používá algoritmus Message Digest MD-4. Jedná se o tzv. funkci obsahu (hash funkce), která se používá pro generování jedinečné číselné reprezentace zprávy. V tomto případě je zprávou řetězec tvořící heslo. Důležitou vlastností funkce je jednosměrnost, která neumožňuje rekonstruovat obsah zprá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 systému obsahují slabinu. Ohrožení bezpečnosti spočívá ve snaze zachovat zpětnou kompatibilitu k verzím Windows 9X a Me. Aby byla ponechána možnost autentizace 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ů na tvar hesla, aby uživatelé maximálně využili nabízených možností systému a nedegradovali jeho bezpečnostní potenciál. Tato pravidla jsou součástí strategie, která se ve Windows souhrnně označuje jako bezpečnostní zásady. Patří mezi ně rozsáhlá množina nastavení určených pro uživatele a počítače. Zásady lze uplatňovat lokálně, ale vhodnější je jejich prosazování z úrovně správních jednotek, 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ětnou kompatibilitu, zejména ukládání kopií LM hesel, použití méně bezpečného šifrová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ým síťovým prostředkům. Základní informace, na kterých je založena autorizace ve Windows, se nacházejí v datových strukturách přístupový záznam (access token) 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é v relaci přihlášení. Záznam obsahuje informaci o identitě uživatele a jeho privilegií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 vlastnostem 3. Obsahuje zejména seznam oprávnění pro řízení přístupu DACL (Access Kontrol List, ACL), který definuje požadavky pro získání přístupu nebo pro uskutečnění určité operace. Seznam je tvořen jednotlivými položkami (Access Control 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 zobrazuje dva 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ávněním, které umožňuje zápis (Write). Naopak procesu Thread A je přístup zamítnut. Důvodem je existence první položky typu access denied v DACL objektu spojená s uživatelem Andrew. Z výsledku je patrné, že zakazující polož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ám souborové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 3 obsah 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é prostř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 či lépe splňovaly požadovaný úkol. Vývoj vyústil v současné moderní kryptografické 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šenosti informací), zajišťují dostupnosti, zajišťují nepopiratelnosti (prokazatelnost původu informace). Předpokládejme, že existuje výchozí konečná množina symbolů (znaků), ze kterých jsou tvořeny základní prvky komunikace (slova). Množinu symbolů označíme jako abecedu A = a 1, a 2, a 3, a 4,..., a n. V běžném lidském pohledu je všem jasné, co si pod abecedou představíme. V počítačovém měřítku může být abecedou např. tabulka ASCII nebo Unicode. Výchozím komunikačním prvkem je slovo, které je složeno z konečného počtu znaků. Zřejmě existuje konečná množina slov, která lze ze znaků konečné abecedy vytvořit. Označme ji jako prostor zpráv S(A). Kódování je vzájemně jednoznačné zobrazení z jednoho prostoru zpráv do druhé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 formá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 identifikaci objektu (kód ISBN, rodné číslo). Pokud bychom chtěli kódování použít pro utajení 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 parametrem zabezpečení konkrétní informace je šifrovací klíč. Poznámka: Speciální kódy používané v počítačové komunikaci jsou vybaveny mechanismy pro opravu obsahu informace. 17

Informatika Označíme-li původní otevřenou podobu zprávy jako OZ, vzniká kódováním skrytá informace ST (skrytý text) ST = F (OT ). (2) Současně existuje inverzní postup dekódování, který umožňuje rekonstrukci pů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 žádné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 obvykle označuje jako klíč. Výše uvedené vztahy lze pro šifrování formálně upravit ST = F (K 1, OT ), (4) a dešifrování OT = F 1 (K 2, ST ). (5) Pokud jsou klíče K 1, K 2 ve dvou předchozích rovnicích shodné, označuje se šifrová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 zabývá kryptografie. Analýzou algoritmů, hledáním slabin a prověřováním zranitelnosti 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 kryptoanalý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 zabývá skrýváním informace. V klasickém pojetí může být jako příklad uveden neviditelný 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 do sebe přidávanou zprávu snadněji rozprostřít. Steganografie využívá nedokonalosti lidských smyslů. Poznámka: Luštění šifer má tři fáze identifikace šifry, prolomení a nastavení algoritmu. První fáze představuje zjištění o jaký šifrovací algoritmus se jedná. 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é vazby 4 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 je vý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é abecedy. Pokud je míchání provedeno pouze jednou (používá se jediná permutace abecedy), označuje se substituce jako monoalfabetická. Pokud je abeceda zamíchána pro každý znak, mluvíme o polyalfabetické substituci. Kódová kniha představuje šifrování zprávy pomocí kódových skupin. Jsou to smluvené kombinace čísel a znaků definované délky, které zastupují obvyklé termíny nebo fráze. Nejfrekventovanější termíny mohou mít několik kódů, aby byla identifikace ztížena. Je zřejmé, že kódová kniha představuje slovník, který je klíčem pro dešifrování. Obvykle uváděným klasickým příkladem monoalfabetické substituční šifry je Caesarova šifra. Údajně ji Caesar používal nejen pro válečné účely, ale také při soukromé korespondenci s Kleopatrou. Každé písmeno zprávy je nahrazeno jiným písmenem, které je vzdáleno o zvolený počet pozic. Pro příklad použijeme latinskou 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 Z D 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 METOD URCGHOHQL NUBSWRJUDILFNBFK PHWRG Šifra je poměrně jednoduchá. Existuje pouze 25 variant, které lze snadno vyzkouš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ýsledkem je šifrovaný znak c (cypher). Druhá rovnice reprezentuje inverzní operaci, ve které 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 4 víceznakových spojení 19

Informatika modulem. Je-li modulus N číslo 26 a posunutí p je rovno 3, pak záměna znaku Y, 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 posun př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 25 5 teoretických mož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 Z K L M N O P Q R S T U V W X Y Z A B C D E F G H I J R S T U V W X Y Z A B C D E F G H I J K L M N O P Q Y Z A B C D E F G H I J K L M N O P Q R S T U V W X P Q R S T U V W X Y Z A B C D E F G H I J K L M N O T 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 šifrová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 slovo KRYPT. Ve Viegnerově šifře může být každý znak původní abecedy nahrazen znakem 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 Z Y 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 METOD PKSHBNBJX 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. 10 26. Postupné zkoušení všech možností v tomto případě příliš praktické není. Lze však využít vlastností, které má zašifrovaná informace. Předně se algoritmem nemě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ím odstraňují nebo nahrazují znakem, který má v přirozeném jazyce malou frekvenci výskytu. Možné je rovněž rozšířit abecedu o speciální znak. 20