Jak na šifrovanou anonymní poštu s OpenPGP?

11. 10. 2007
Doba čtení: 7 minut

Sdílet

Další článek věnovaný možnostem použití OpenPGP v různých webmailech. Tentokrát se zaměříme na jednosměrnou anonymní elektronickou poštu. Co má společného OpenPGP s anonymními emaily? Anonymní e-maily mohou být také šifrovány a digitálně podepisovány. Použít můžeme například Web Secure Email.

Anonymita na internetu

Anonymita na internetu neexistuje. Obyčejné webové servery a tudíž i webmaily vědí často o uživateli více než uživatel sám. Chcete rychle zjistit jakou máte IP adresu, jaký operační systém, jaký webový prohlížeč, jaké rozlišení obrazovky? Zkuste například Security-Portal.cz nebo MojeIP.cz. Rádi byste k tomu zeměpisnou polohu? Zkuste CQCounter.com nebo přesnější IPligence.com.

Anonymní e-mail

Když neexistuje anonymita na internetu, nemůže existovat ani anonymní e-mail. Jak anonymitě na internetu, tak i anonymnímu e-mailu se ale lze přiblížit. Důležitá je definice anonymního e-mailu. Pro některé je to pouhý e-mail se zfalšovanou adresou odesílatele (fake e-mail). Pro jiné je to e-mail se zfalšovanou adresou odesílatele, u kterého navíc nelze zjistit, kdo a odkud jej odeslal. V obou případech se ale jedná pouze o jednosměrný anonymní e-mail. V obousměrném anonymním e-mailu nelze použít zfalšovanou adresu odesílatele. Očekává-li odesílatel odpověď na svůj e-mail, musí být použita reální e-mailová adresa. Odesílatel musí být schopen e-maily nejenom anonymně odesílat, ale také anonymně přijímat. V tomto díle seriálu se podíváme na jednosměrný anonymní e-mail. V příštím díle na obousměrný.

Jednosměrný anonymní e-mail

Občas se každý z nás ocitne v situaci, kdy potřebuje někomu poslal e-mail (předat vzkaz), ale počítači, který máme k dispozici, nelze vůbec věřit. Nejraději bychom se nikam nepřihlašovali. Jsme si vědomi, že vše co píšeme, tedy i jméno a heslo k naši poštovní schránce, může být odchyceno (keylogger) a následně zneužito. Lze poslat e-mail bez zadávání jména a hesla k poštovní schránce? Ano, e-mail lze poslat anonymně.

Anonymní e-mail pomocí telnetu

Odeslat jednoduchý anonymní e-mail, tj. e-mail se zfalšovanou adresou odesílatele, lze pomocí obyčejného telnetu. Stačí se připojit k ochotnému poštovnímu serveru na port 25 a trochu si s ním popovídat:

$ telnet SERVER 25
EHLO magrathea.42.com
MAIL FROM: arthur.dent@42.com
RCPT TO: A@B.C
DATA
Subject: The Hitchhiker's Guide to the Galaxy

Once you do know what the question actually is, you'll know what the answer means...
.
QUIT

Uživateli A.B@C se následně objeví v poštovní schránce e-mail odeslaný ze zfalšované emailové adresy arthur.dent@42.com. Podíváme-li se do hlavičky e-mailu, položka „From:“ obsahuje arthur.dent@42.com a položka „Received: from“ obsahuje magrathea.42.com. Vedle falešného jména počítače se ale v hlavičce nachází skutečná IP adresa (X.Y.Z.Q), ze které byl telnet spuštěn. Odesílatel, přesněji počítač, ze kterého byl telnet spuštěn, je tedy prozrazen.

Received: from magrathea.42.com (earth [X.Y.Z.Q]) by...

Místo falešné e-mailové adresy „MAIL FROM:“ lze samozřejmě použít adresu skutečnou. Z anonymního e-mailu se tak stává běžný e-mail, který byl pouze odeslán „nestandardním“ způsobem (nestandardním pouze z pohledu uživatele, z pohledu poštovních klientů a serverů se jedná o standardní způsob komunikace).

Anonymní e-mail pomocí webového rozhraní

Odeslat anonymní e-mail pomocí webového rozhraní je samozřejmě uživatelsky mnohem příjemnější než trápení se s telnetem. Řada uživatelů má na svých webových stránkách jednoduchý formulář, pomocí kterého jim lze předat zprávu. Vlastní implementace se může lišit, často se ale jedná právě o odeslání e-mailu na jejich e-mailovou adresu.

Co když ale uživatel takový formulář na svých stránkách nemá? Na internetu lze nalézt celou řadu univerzálních formulářů sloužících k posílání anonymních e-mailů. Stačí vyplnit adresu příjemce, napsat vlastní text e-mailu a stisknout tlačítko sloužící k odeslání. Často lze zadat také adresu odesílatele. Opět lze použít falešnou nebo skutečnou e-mailovou adresu.

V hlavičce e-mailu se nebude nacházet IP adresa odesílatele, ale IP adresa webového serveru. Nelze ale na základě IP adresy webového serveru a času odeslání anonymního e-mailu zjistit IP adresu odesílatele? To záleží na provozovatelích jednotlivých serverů. Provozovatelé si mohou (někteří musí) IP adresu odesílatele, čas odeslání e-mailu, adresu příjemce, případně i celý obsah e-mailu pečlivě zaznamenávat. Mohou také IP adresy odesílatelů vkládat přímo do hlaviček anonymních e-mailů. Stačí se podívat do hlavičky e-mailu a je po anonymitě.

Opravdu anonymní?

Provozovatelé těchto stránek obvykle tvrdí, že se jedná o anonymní e-mail. Necháme-li si na Google vyhledat slovní spojení anonymní e-mail, jako první se objeví anonymní e-mail na Security-Portal.cz.

WebSecureEmail 01

Webové rozhraní anonymního e-mailu na Security-Portal.cz. Adresu odesílatele si lze libovolně vymyslet, třeba fantomas@huhu.hu

Jde ale opravdu o anonymní e-mail? Jeho provozovatelé přidávají ke každému e-mailu informaci, že se jedná o „bezkonkurenční anonymní e-mailování bez jakýchkoliv reklam“.

WebSecureEmail 02

Email od fantomas@huhu.hu byl odeslán v 19:09 z bezkonkurenčního…

Zaměříme-li se na zdrojový kód této webové stránky, nalezneme tam podezřelý obrázek velikosti 1 pixelu:

<img src="http://toplist.cz/dot.asp?id=126836" border="0" width="1" height="1">

Odkud je obrázek stahován? Ze stránek serveru TOPlist provádějící audit návštěvnosti webových stránek. Informace o posledních 100 přístupech k Security-Portal.cz jsou dokonce volně k dispozici. Příjemce anonymního e-mailu tak může snadno zjistit, odkud mu byl „anonymní“ e-mail odeslán.

WebSecureEmail 03

Stránka amail.security-portal.cz byla navštívena v 19:07. Anonymní e-mail byl odeslán z IP adresy 160…

Anonymní IP adresa

Aby mohl být anonymní e-mail posílaný přes webové rozhraní opravdu anonymní, přesněji řečeno aby se anonymitě o kousek přiblížil, musí být nějakým způsobem utajena IP adresa odesílatele. K tomu lze využít různé anonymizéry (Anonymous.strmi­lov.cz, mojeIP.cz, Anonymizer.in). Práce s anonymizéry je velice snadná, stačí do formuláře vložit požadované URL. Další z možností je doinstalování klienta služby Tor.

Zašifrovaný anonymní e-mail pomocí webového rozhraní

Anonymní e-maily lze také šifrovat. Odeslat anonymní e-mail zašifrovaný pomocí OpenPGP lze například z Web Secure Email. Žádná registrace, žádné přihlašování se. K odeslání zašifrovaného e-mailu je samozřejmě kromě adresy příjemce, předmětu a textu vlastní zprávy nutný také veřejný OpenPGP klíč příjemce. Web Secure Email používá svou vlastní databází veřejných OpenPGP klíčů. Pokud se konkrétní veřejný klíč v databázi nenachází, tj. nebyl ještě použit, je nutné jej naimportovat. Kde veřejný OpenPGP klíč získat? Například z OpenPGP serveru klíčů.

WebSecureEmail 04

Web Secure Email – import veřejného klíče

WebSecureEmail 05

Web Secure Email – psaní zprávy. Web Secure Email neumožňuje definovat adresu odesílatele. Příjemce dostane e-mail od PGP WebSecureEmail <no-reply@websecu­reemail.com>

WebSecureEmail 06

Web Secure Email – zpráva zašifrována a e-mail odeslán

WebSecureEmail 07

Web Secure Email – veřejný klíč lze z databáze klíčů vymazat. Vlastník klíče s tím ale musí souhlasit. Na jeho adresu je odeslán e-mail se speciálním URL. Kliknutím na URL je veřejný klíč vymazán

Vlastní šifrování je implementováno v JavaScriptu a probíhá tak přímo ve webovém prohlížeči. Skripty použité k šifrování jsou volně k dispozici na stránkách společnosti AnonymousSpeech LLC, jež Web Secure Email provozuje. Jedná se o skripty zmíněné již v minulém díle seriálu. Jejich licence jsou BSD a GPL.

Šifrování bez odesílání e-mailů

Na stránce dema si lze použité skripty vyzkoušet bez odesílání e-mailů. Pro porovnání doporučuji navštívit také jiné demo využívající stejné skripty. Rádi byste pomocí webmailu odeslali OpenPGP zašifrovanou zprávu, ale na počítači nemáte žádný OpenPGP software nainstalován a váš webmail OpenPGP šifrování nepodporuje? V takovém případě lze k šifrování zpráv použít tato dema. Stačí zašifrovanou zprávu do vašeho webmailu zkopírovat a následně odeslat.

WebSecureEmail 08

Demo – Secure Form Forwarding Example

WebSecureEmail 09

Demo – Javascript PGP Encryption Service – veřejný klíč a zpráva v otevřeném tvaru

WebSecureEmail 10

Demo – Javascript PGP Encryption Service – zašifrovaná zpráva – šifrování trvalo 3.421 sekundy

Informace pro paranoiky

Zpráva je zašifrována veřejným klíčem příjemce, tedy pouze příjemce (vlastník příslušného soukromého klíče) ji může dešifrovat. Zpráva ale není podepsána. Provozovatel nemůže zprávu dešifrovat, může ji ale jednoduše vyhodit a místo ní vložit zprávu vlastní, samozřejmě opět zašifrovanou veřejným klíčem příjemce. Příjemce by proto neměl bezhlavě věřit, že zpráva opravdu pochází například od jeho kolegy (čeká-li anonymní e-mail právě od něj). Zprávu mohl vytvořit provozovatel dané služby nebo kdokoli jiný.

bitcoin_skoleni

Otázkou je také, zda se ke zprávě v otevřeném tvaru může dostat opravdu pouze příjemce. Šifrování probíhá lokálně ve webovém prohlížeči. Pokud by byl text e-mailu ve webovém prohlížeči zašifrován veřejným klíčem příjemce, zašifrovaná data přenesena na webový server a ze serveru následně odeslána, bylo by vše v pořádku. Dle provozovatele Web Secure Email se ale po stisknutí tlačítka „Send Secure Email“ vše zašifruje veřejným klíčem provozovatele. Zašifrovaná data jsou pomocí HTTP přenesena na webový server. Šifrovaný HTTPS přenos není podporován. Na serveru jsou data pomocí soukromého klíče provozovatele dešifrována. Následně opětovně zašifrována, tentokrát veřejným klíčem příjemce, a na adresu příjemce odeslána. Pokud by tomu bylo opravdu tak, měl by provozovatel přístup ke zprávě v otevřenému tvaru.

Jak HTML kód, tak i jednotlivé skripty lze pečlivě prozkoumat a zjistit, jak je tomu doopravdy. Provozovatel ale může skripty libovolně upravovat. Někdy může text e-mailu zašifrovat veřejným klíčem příjemce, jindy svým vlastním. Když bude chtít, nemusí vůbec šifrovat. Paranoidní uživatelé by si tedy měli skripty pečlivě prohlédnout, poznamenat si jejich kryptografické otisky a tyto otisky před odesláním e-mailu porovnat s otisky aktuálních skriptů. Kdo by ale skripty pokaždé procházel? Hodilo by se rozšíření pro webový prohlížeč Mozilla Firefox, které by si u vybraných webových stránek poznamenalo otisky použitých skriptů a při další návštěvě stránek by byly uložené otisky porovnány s aktuálními. V případě neshody by byl uživatel na změnu skriptů upozorněn. Zatím jsem takové rozšíření neobjevil. Rozšíření jako například Update Scanner kontrolují pouze vlastní webovou stránku (HTML kód).

Odeslali jste někdy anonymní email (studijní účely se nepočítají):

Autor článku