Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Software
Keychain
21. září 2006, 00.00 | V našem seriálku, věnovaném bezpečnosti operačního systému Mac OS X, nastal čas na to, co si už delší dobu slibujeme – podíváme se trochu blíž na "klíčenky" (keychains), na jejich využití, a na aplikace "Správa klíčů" (Keychain Access) pro jejich správu.
V našem seriálku, věnovaném bezpečnosti operačního systému Mac OS X, nastal čas na to, co si už delší dobu slibujeme – podíváme se trochu blíž na "klíčenky" (keychains), na jejich využití, a na aplikace "Správa klíčů" (Keychain Access) pro jejich správu (snad mám ta česká jména správně: lokalizovanému systému se pečlivě vyhýbám ;))
Co to je?
Keychain – dovolím si užívat anglického termínu a brutálně jej skloňovat – je prostě a jednoduše datový soubor, obsahující velmi jednoduchou databázi pojmenovaných údajů (spolu s nějakými dalšími atributy, na něž se blíže podíváme později). Můžeme tedy kupříkladu do keychainu uložit údaj "1234" pod jménem "PIN kreditní karty", údaj "Radovan Krejčíř" pod jménem "banka", nebo údaj "Hermenegilda Vopršálková" pod jménem "milenka".
Víceméně totéž by bylo možné v mnoha jiných formátech s využitím řady dalších aplikací; specifickou vlastností keychainu však je to, že je automaticky šifrován velmi účinným a spolehlivým algoritmem TripleDES. V praxi to znamená, že pokud nedojde v blízké budoucnosti k prudkému rozvoji kvantových počítačů, můžeme se v klidu spolehnout, že naše finance i naše intimní vztahy s panem Krejčířem (o Hermenegildě nemluvě) jsou zcela spolehlivě bezpečné před jakýmkoli šmírákem, ať již jej platí Gross nebo NSA.
(Samozřejmě užíváme-li kvalitního hesla – o heslech obecně jsme již hovořili, a v souvislosti s keychainy se k nim ještě vrátíme.)
Zásadní výhodou keychainu před "obyčejným zašifrovaným souborem" (který by samozřejmě mohl v principu nabídnout služby obdobné) je jeho perfektní integrace do systému: v podstatě kterákoli slušně napsaná aplikace, jež ke své práci potřebuje jakýkoli tajný údaj – ať je to aplikace Mail, jež přistupuje k serveru POP3 a předává mu uživatelské jméno a heslo, nebo Safari, jež za nás vyplňuje login formulář – dokáže keychain využít, data z něj získat, a naopak, případné nové údaje do něj uložit. Operační systém a zvláště sdílené knihovny, zajišťující přístup do keychainu, při tom samozřejmě velmi pečlivě střeží, aby žádná aplikace nemohla číst či snad dokonce měnit nic, k čemu jí uživatel explicitně nedopřeje právo...
Zkrátka a dobře, keychain je ideální a – dodržíme-li pár jednoduchých a základních bezpečnostních opatření – zcela spolehlivé úložiště pro jakákoli citlivá data.
(Resp. pro citlivá data menších rozměrů: ukládat do keychainu kupříkladu kompletní sbírku pornofilmů by bylo značně nepraktické – k tomu se daleko lépe hodí šifrovaný diskový image, o němž jsme si povídali před časem; heslo k tomuto image ovšem již do keychainu uložit můžeme, a je to velmi rozumné.)
Typy položek
Ačkoli pro vlastní funkci keychainu by to nebylo zapotřebí, pro uživatelské pohodlí jsou data, uložená uvnitř keychainů, rozdělena podle typu:
- hesla (Passwords) jsou údaje, ukládané přímo konkrétními aplikacemi. Právě v této podobě se v keychainu objevují hesla pro Mail, pro šifrovaná disková image, a podobně;
- certifikáty (Certificates) jsou právě ty certifikáty, o nichž jsme si povídali v několika posledních dílech: aplikace Mail je automaticky ukládá do keychainu po přijetí podepsané zprávy od dosud neznámého uživatele, a odsud jí jsou certifikáty opět k dispozici kdykoli chceme pro téhož uživatele vlastní zprávu šifrovat;
- vlastní certifikáty (My Certificates) jsou certifikáty, patřící uživateli – většinou zde bývá certifikát jediný, ale samozřejmě to není nutné;
- klíče (Keys) jsou k dispozici právě pro vlastní certifikáty – jedná se vždy o dvojici privátního a veřejného klíče, vygenerované pro potřebu certifikátu; přesně tak, jak jsme si to popsali v minulých dílech našeho seriálu;
- poznámky (Secure Notes) jsou naprosto libovolné údaje, jež do keychainu uložíme ručně: PINy kreditních karet a SIMek, jména bankéřů a milenek, čísla kont na Kajmanských ostrovech, jména ostatních členů naší teroristické buňky – cokoli považujeme za dostatečně důležité na to, abychom si to rádi poznamenali, a zároveň dostatečně důvěrné na to, abychom si to nechtěli poznamenávat ve veřejně čitelné podobě běžného textového souboru.
Aplikace Keychain Access, jíž se budeme samozřejmě zabývat mnohem podrobněji, nabízí pohodlné grafické uživatelské rozhraní pro přístup k údajům pouze zvoleného typu:
Keychain "login"
Zmínili jsme se o tom, že keychain je v zásadě obyčejný datový soubor. To je pravda, a z toho v podstatě plyne, že takovýchto datových souborů můžeme mít i více, podle potřeby.
Standardně v čisté instalaci Mac OS X však má každý uživatel právě jeden keychain. Ten se jmenuje login.keychain, je uložen ve složce "~/Library/Keychains", a je chráněn týmž heslem, jímž je chráněno celé uživatelské konto. Pokud nezměníme jeho nastavení, je uzpůsoben tak, aby fungoval zcela automaticky a vlastně "neviditelně": ve chvíli, kdy se uživatel přihlásí k systému, jeho heslo se zároveň automaticky použije pro přístup ke keychainu; všechny aplikace mohou služeb keychainu využívat, a keychain se "uzavře" až ve chvíli, kdy se uživatel od počítače odhlásí.
Běžný uživatel, jemuž na bezpečnosti nijak zvlášť nezáleží, tedy v podstatě vůbec nepotřebuje vědět, že někde nějaký keychain existuje: jeho Mail "někam" ukládá hesla pro servery, jeho Safari "někam" ukládá údaje pro vyplňování formulářů, Finder (resp. pomocné aplikace, jež Finder spouští, ale to je teď jedno) "někam" ukládají hesla pro zašifrovaná image, a tak dále: vše "just works".
Ačkoli tento výchozí stav není extrémně bezpečný, i takovýto uživatel se může spolehnout na to, že všechna zmíněná "tajná" data jsou zcela bezpečná před neoprávněným přístupem, natolik, nakolik je spolehlivé a neuhádnutelné jeho uživatelské heslo – a nakolik se může spolehnout na to, že se k jeho počítači nikdo nedostane ve chvíli, kdy je sám jako uživatel přihlášen.
Ostatní keychainy
Vedle keychainu "login", který je standardně vytvořen pro každého uživatele, obsahuje Mac OS X standardně několik dalších keychainů; za normálních okolností se však jimi nemusíme příliš zabývat. Poměrně důležité jsou následující dva keychainy, oba uložené ve složce "/System/Library/Keychains":
- X509Certificates: certifikáty mnoha firem, s nimiž se můžeme běžně setkat, jež však jsou samy dále ověřeny nějakou jinou certifikační autoritou;
- X509Anchors: certifikáty firem, jež Mac OS X považuje za spolehlivé kořenové certifikační autority. Žádný podpis, jehož řetěz certifikačních autorit nekončí právě v tomto keychainu, nebude operačním systémem Mac OS X uznán jako validní.
Kromě toho si můžeme libovolně mnoho keychainů vytvořit sami; na to, proč – a jak – to udělat se však již podíváme zase v příštím dílu našeho seriálu.
Obsah seriálu (více o seriálu):
- Je to bezpečné?
- Základy zabezpečení Mac OS X
- Identifikace a autorizace
- Jak je to s administrátory
- Šifrování
- Co jsou to ty šifry?
- Černý vzadu, podpisy, a vůbec...
- Certifikáty
- Kde vzít certifikát?
- Certifikát Thawte
- Keychain
- Keychain Access
- Kolik keychainů máš, tolikrát jsi paranoikem
- Lepší konfigurace keychainů
- Jeden na neděli, jeden na všední den...
- WEP or weep
- AirPort a nastavení bezdrátové sítě
- WEP and weep...
- Externí router
- Slušný člověk nešifruje!
- Je ve vězení bezpečno