Šifrování podle open zásad
O šifrování jsem se nikdy moc nezajímal, nemyslel jsem si, že by se mě to mohlo týkat. Pak jsem ale začal přemýšlet nad tím, že když někomu pošlu fakturu, tak ten někdo musí mít určitou jistotu, že to jsem já. Platit za osobní certifikát se mi nechtělo. Sice to není moc, ale přijde mi to zbytečné. Naštěstí je tu s námi již skoro 20 let PGP nebo dnes spíše známé jako OpenPGP a jeho implementace GPG (GnuPG). Jde o otevřený systém, pomocí kterého můžeme podepisovat nebo šifrovat dokumenty.
Určitě se teď ptáte k čemu to je dobré, já se také ptal. Nakonec jsme s Petrem Krčmářem zjistili, že o citlivých věcech se ani jinak bavit už nemůžeme. S OpenPGP můžeme dělat dvě hlavní věci:
- Podepisovat
- Šifrovat
Je vcelku jedno jestli podepisujeme e-mail nebo soubor. Pokaždé se tomu objektu pomocí našeho privátního klíče vytvoří otisk. Ten je jedinečný a lze ho ověřit pomocí veřejného klíče. Tím se dostávám k první terminologii:
- Privátní klíč
- nikomu nedávat
- je chráněn heslem (vybírejte dlouhé heslo a nikomu ho neříkejte)
- pomocí něj podepisujeme
- pomocí něj dešifrujeme
- Veřejný klíč
- dávat lidem se kterými chceme komunikovat
- můžeme ho nahrát na veřejné keyservery a odtamtud si ho ostatní mohou pohodlně stáhnout
- pomocí něj se ověřuje podpis privátním klíčem, je pak jasné že jde o nás
- pomocí něj se šifrují data nebo komunikace
Šifrování tedy funguje obráceně jak podepisování. Veřejným klíčem zašifrujeme nějaká data a tím náš přístup k nim končí (pokud nemáme uložený originál). Takto zpracovaná data může rozšifrovat jen člověk, který má privátní klíč ke klíči, pomocí kterého jsme data zašifrovali. Když třeba odesíláme e-mail člověku s adresou pan@x.cz a chceme ho zašifrovat, tak se v naší databázi klíčů najde jeho identita s jeho klíčem a ten se použije k zašifrování. Jednoduché a účinné.
Jak na klíče
Pokud používáte Ubuntu jako já, tak s OpenPGP nebudete mít jediný problém. Všechno již je v systému zaneseno. Pokud používáte něco jiného, třeba Windows, tak se podívejte na rozšíření Thunderbirdu enigmail a na projekt gpg4win.org, který přidá podporu do Outlooku. Nemám to vyzkoušené, takže když se podělíte o zkušenosti budu rád. Enigmail funguje spolehlivě.
Všechno zkouším na Ubuntu 9.04 a 9.10. Jiné distro ani systém tu na vyzkoušení nemám.
Nejdříve si spustíme nástroj seahorse. Najdeme ho v sekci příslušenství pod výmluvným názvem "Hesla a šifrovací klíče". Pokud jde o Ubuntu, tak je vše nakonfigurované pro použití. V ostatních distribucích bude možná potřeba doplnit nějaké keyservery. Já používám hlavně hkp://pgp.mit.edu:11371. Keyserver je důležitý. Krom toho, že tam najdete rychle něčí klíč, tak díky němu vidíte i kdo ten klíče podepsal nebo-li kdo mu důvěřuje. Podle toho se můžete rozhodnout, který je pravý. Poté co si ověříte tzv. otisk klíče u jeho majitele, tak můžete tomuto udělit svůj podpis také a tím jeho prestiž opět zvednout. Majitel vám totiž podpis pravděpodobně vrátí, a když má několik desítek podobných podpisů, je pro ostatní uživatele jeho podpis na vašem klíči věrohodnější. Samozřejmě nemůžeme věnovat pozornost tomu, že nějaký klíč podepsal Franta z Horní Dolní a proto se díváme po podpisech lidí, které známe. Seahorse toto umí dokonce nastavit, že podpisy nedůvěryhodných uživatelů skrývá.
Podpis můžete získat i od nějaké autority. Sice za peníze, ale věrohodnost vašeho klíče stoupne ještě více. Autoritu zná každý, ale většinu podepisujících nějaký klíč už neznáte. E-mailový klienti také nebudou mít problémy s věrohodností, když takto podepsaný E-mail dorazí poprvé a vy nemáte zakliknutou důvěru v klíč odesílatele.
Tak jako tak budeme muset začít vytvořením klíče. To provedeme pomocí Soubor->Nový a vybereme PGP klíč. Všimneme si také, že SSH klíče nejsou pro mořského koníka žádný problém. Vyplníme jméno, e-mail a pokud se nám chce tak i poznámku. Můžeme si také v pokročilých nastaveních vybrat sílu klíče, ale výchozí hodnoty jsou fajn. Odklikneme a začne se vytvářet klíč. Chvilku to trvá, generátor se snaží získat co nejvíce náhodných veličin pro celkově bezpečnější klíč. Je to ta správná doba, kdy byste měli dělat s počítačem co nejvíce. Pouštět si hudbu, brouzdat na netu, lítat s myší ze strany na stranu. O náhodnosti takových pohybů myši se dá spekulovat, ale něco dělat musíte. Také je dobré omezit platnost klíče na rozumnou dobu, třeba 2 až 3 roky. Je to z toho důvodu, že hrubou silou by se klíč dal prolomit třeba za 10 let (tohle číslo jsem si vycucal z prstu) a když mu dáme platnost 2 roky, tak v době, kdy může být klíč prolomen už budeme mít čtyři nové.
Máme li klíč, vybereme z horního menu synchronizaci se serverem a tím klíč dostaneme na keyservery. Teď už je k dispozici ostatním a ti ho mohou stáhnout a podepisovat podle toho jak vám důvěřují. Míra důvěry se vyjadřuje třemi stupni. První stupeň dáváme když si myslíme, že ten klíč je té osoby, druhý když si to ověříme třeba po telefonu a třetí, když si to ověříme třeba v občance.
Ověřování po telefonu může být prováděno přes tzv. otisky klíčů. Jeden takový má každý pár klíčů (veřejný+neveřejný) a po vzájemné výměně máme určitou jistotu, že jde o správného člověka. Ten otisk si samozřejmě může zjistit každý, takže se podle toho na to dívejte.
Teď už zbývá jen práce s klíči. Každý klíč má nějaké vlastnosti kde vidíte kdo ho podepsal a jakou identitu podepsal. Klíč totiž může patřit více identitám. Do klíče si můžete přidat i fotku. Pokud nějaký program podporu pro GPG má, tak si nabídne k výběru získané klíče. Emailový klient si klíč najde sám bez zásahu uživatele. Některé aplikace umí i podepisovat nebo šifrovat soubory. Ty také komunikují s GPG, takže práce s tím je minimum.
Teď už vám jen popřeji veselé podepisování.
| Jméno | |
|---|---|
| Web | |
| Komentář | |
12:44 15.10.2009
Otázkou je, jestli to není zbytečná práce navíc. Tak jako tak by se k mým datům neměl nikdo dostat.
21:09 12.11.2009
Tak GPG jsem ještě nikdy nezkoušel, ale je to podnět k tomu, abych to napravil. Já používam DKIM, což je v podstatě podpis, který přidává server a přes DNS se ověřuje, zda-li onen mail opravdu odešel z dané domény a správného serveru (jestli se nejedná o podvrh).



02:23 15.10.2009
Díky za článek. Aktivněji používat GPG jsem se rozhodl teprve nedávno. V podstatě jím podepisuji veškerou e-mailovou poštu i když pochybuji o tom, že někdo můj podpis ověřuje. E-maily prozatím šifruji jen zřídka, to spíše používám klíče k šifrování osobních souborů. Jinak doporučuji používat místo primárního klíče raději podklíče - http://www.abclinuxu.cz/clanky/bezpecnost/podepisovani-a-sifrovani-s-gnupg
ondrg