Hlavní navigace

Jak na webmail a OpenPGP s Hushmail

Ladislav Hagara

Druhý díl seriálu věnovaného možnostem použití OpenPGP ve webmailech. V prvním díle byl soukromý klíč uložen na serveru, kde také probíhalo veškeré šifrování. Provozovatel serveru měl přístup k otevřenému tvaru klíče. Nevyhovuje? V dnešním díle zůstane klíč na serveru. Avšak pouze v zašifrovaném tvaru.

Soukromý klíč je uložen na serveru, zpracováván je ale lokálně

V prvním díle probíhalo dešifrování zpráv na serveru. Webmail měl k dispozici soukromý klíč uživatele v otevřeném tvaru. Ke čtení zašifrovaných zpráv tak bylo možné použít i ten nejjednodušší webový prohlížeč. V dnešním díle zůstává soukromý klíč na serveru. Jde ale o bezpečnější řešení. Provozovatel serveru už nemůže soukromý klíč zneužít, poněvadž klíč je na serveru uložen pouze v zašifrovaném tva­ru.

Uživatel se opět nemusí starat o svou OpenPGP klíčenku. Má k ní přístup z libovolného počítače. Musí ale použít mnohem inteligentnější webový prohlížeč. Veškeré šifrování probíhá lokálně ve webovém prohlížeči. Webový prohlížeč ze serveru stáhne zašifrovaný soukromý klíč a dešifruje jej. Pomocí otevřeného klíče dešifruje nebo podepisuje zprávy. Při šifrování si ze serveru stahuje potřebné veřejné klíče. Webový prohlížeč musí rozumět OpenPGP.

Jak naučit webový prohlížeč OpenPGP

Žádný ze současných webových prohlížečů OpenPGP nerozumí. Webové prohlížeče dokážou šifrovat i dešifrovat (HTTPS), nedokážou však šifrovat a dešifrovat dle OpenPGP standardu. Webové prohlížeče rozumí certifikátům, nerozumí ale OpenPGP klíčům. Podíváme li se na webový prohlížeč Mozilla Firefox, zjistíme, že k šifrování využívá knihovny Network Security Services (NSS). Knihovna NSS podporuje celou řadu bezpečnostních standardů, OpenPGP mezi nimi ale není.

Knihovna NSS není jedinou, nad kterou lze postavit bezpečnou HTTPS komunikaci. Webový prohlížeč Kazehakase například využívá knihovny GnuTLS (porovnání knihoven GnuTLS, OpenSSL a NSS). Knihovna GnuTLS kromě povinného modelu důvěry X.509 podporuje také model důvěry OpenPGP. OpenPGP podpora tak může být zabudována přímo do webového prohlížeče.

Knihovna NSS je využívána také v poštovním klientu Mozilla Thunderbird. K podepisování, šifrování i dešifrování zpráv pomocí S/MIME jsou využívány právě funkce této knihovny. Pokud ale chceme své zprávy zabezpečit pomocí OpenPGP, tak nám NSS knihovna nestačí. Musíme si do Mozilla Thunderbird doinstalovat rozšíření Enigmail. Enigmail nepřichází s vlastní OpenPGP implementací. Spoléhá se na lokálně nainstalovanou OpenPGP implementaci GnuPG (binární soubor gpg). Webové prohlížeče mohou také využívat lokálně nainstalované GnuPG. Bude ale GnuPG nainstalováno na všech počítačích? Pro webový prohlížeč může být vhodnější implementace OpenPGP, která je na lokálním GnuPG nezávislá.

OpenPGP v JavaScript, Adobe Flash, Java i C#

Nelze-li se spoléhat na lokální GnuPG, musíme se poohlédnout po jiné implementaci OpenPGP. Možností je několik.

Co takhle JavaScript? Herbert Hanewinkel vytvořil stránku „PGP / GnuPG / OpenPGP Message Encryption in JavaScript“, kde si lze také vyzkoušet demo OpenPGP šifrování. K dispozici jsou zdrojové kódy RSA nebo AES. Na stránce „JavaScript MD5“ jsou zase k dispozici zdrojové kódy MD4, MD5, SHA-1.

Vývojáři v Adobe Flash mohou začít u krypto knihovny As3 Crypto (demo), jež patří mezi projekty Open Source Flash. Lze šifrovat i dešifrovat. OpenPGP standard ale zatím není implementován.

Vývojáři v JAVA mohou sáhnou po OpenPGP implementaci „Bouncy Castle Crypto APIs for Java“. Vývojáři v C# mohou použít „Bouncy Castle C# API“.

Příkladem JAVA řešení může být Hushmail.

Hushmail

Hushmail (Wikipedia) je projekt společnosti Hush Communications Corporation. U jeho zrodu stál Cliff Baltzley. Jedná se o placený webmail. Lze jej ale používat také zdarma. Bezplatně však nabízí pouze poštovní schránky o velikosti 2 MB. Uživatel se navíc musí minimálně jednou za tři týdny přihlásit, jinak bude jeho účet deaktivován. Deaktivované účty jsou po šesti měsících rušeny.

Hush 1

Obrázek 1) Úvodní stránka Hushmail.com

Hushmail k šifrování používá v JAVA napsaný, patentovaný, Hush Encryption EngineTM (White Paper). Vlastní patent nese název „Public key cryptosystem with roaming user capability“ a lze jej nalézt pod čísly 6,154,543 a 6,292,895. Patent 6,154,543 byl podán 25. listopadu 1998 a zveřejněn 28. listopadu 2000. Jeho rozšíření bylo podáno 19. června 2000 (před zveřejněním patentu 6,154,543) a zveřejněno 18. září 2001.

Hush 2

Obrázek 2) Hush Encryption Engine

Zdrojové kódy Hush Encryption Engine, stejně jako dalších produktů Hush Messenger a Hushmail for Outlook jsou volně přístupné.

Lze si stáhnout aktuální verzi (HushEncrypti­onEngine2-5–0–6_update1.zip) a provést její důkladnou analýzu. Vznikl ale právě spouštějící se JAVA applet překladem těchto zdrojových kódů? Když se budete zítra přihlašovat z jiného počítače, stáhne se vám naprosto stejný Java applet? Co když se stáhne „vylepšená“ verze, která vaše heslo bez vašeho vědomí jednoduše odešle na server?

Stejný Engine je využíván také v systému Just1Key. Jedná se o společný projekt společností Crimsonata Corporation a Hush Communications Corporation. Uživatelé si zde mohou „bezpečně“ poznamenat jména a hesla ke všem svým účtům, příslušné webové adresy a také libovolné poznámky (telefonní čísla, adresy, PIN). Jak název napovídá, vše mohou následně zapomenou, stačí jim už pouze jedno jediné heslo k Just1Key. Vývojáři Just1Key pracují na nové vylepšené verzi a o nové platící zákazníky nemají dočasně zájem.

Hush 3

Obrázek 3) Just1Key

Práce s poštou v Hushmail

Hush 4

Obrázek 4) Čtení zpráv

Hush 5

Obrázek 5) Psaní zprávy

Hush 6

Obrázek 6) Pokud Hushmail nedokáže zprávu automaticky zašifrovat (nemá k k dispozici potřebný veřejný OpenPGP klíč), nabídne zprávu zabezpečit pomocí otázky a odpovědi. Tuto možnost mají i uživatelé bez Hushmail účtu. Kdokoli může poslat takto zabezpečenou zprávu pomocí Hushmail Express.

Hush 7

Obrázek 7) Příjemce dostane zprávu, že tu pravou zabezpečenou zprávu získá, když klikne na dané URL

Hush 8

Obrázek 8) Na daném URL jej čeká kontrolní otázka

Hush 9

Obrázek 9) Stačí na otázku správně odpovědět a zpráva se zobrazí

Hush 10

Obrázek 10) Pokud máte podezření, že někdo zná vaše heslo, lze jej změnit. Jak veřejný tak i soukromý klíč lze ze systému vyexportovat a tedy použít také v jiných OpenPGP systémech

Hushtools

Hush 11

Obrázek 11) Zprávy lze podepisovat, ověřovat jejich podpisy, šifrovat i dešifrovat i bez jejich posílání. Slouží k tomu Hushtools. K některým funkcím není potřebný ani Hushmail účet. Příkladem může být šifrování i dešifrování lokálních souborů pouze na základě hesla.

Hush 12

Obrázek 12) Veřejné OpenPGP klíče lze do Hushmail systému importovat i ze systému exportovat

Pozor na keyloggery

Pokud lze provozovatelům webmailu Hushmail věřit a pokud uživatelé používají dostatečně dlouhá a neuhádnutelná hesla, měla by být jejich data v bezpečí. Samozřejmě nelze odpovědět „Ano“ na otázku webového prohlížeče, zda si má heslo zapamatovat.

Problémem mohou být keyloggery, tj. programy zaznamenávající stisky všech kláves. Nejedná se ale o problém pravidelných čtenářů Root.cz. Nedávno vyšel na CNET News.com článek s názvem „Feds use keylogger to thwart PGP, Hushmail“. Agent DEA získal soudní povolení k instalaci keyloggera na počítač podezřelého. Podezřelý používal právě PGP a šifrovaný webmail Hushmail. O týden později vyšel článek „Security firms on police spyware, in their own words“, kde 13 softwarových společností zabývajících se počítačovou bezpečností odpovídá na otázky, zda by jejich produkty dokázaly detekovat i vládní spyware a keyloggery a pokud ano, zda by o tom informovaly uživatele. Občas mlhavé odpovědi na jasné otázky. Jisté je, že zákony dané země musí dodržovat i softwarové společnosti.

Našli jste v článku chybu?