3.5. Šifrování a podepisování pošty

E-mail komunikace nedává příliš mnoho bezpečnostních záruk, není zajištěno, že zpráva dorazí, že ji nikdo jiný nebude číst, že ji nikdo nebude měnit, a dokonce ani nezaručuje identitu odesílající osoby. OpenPGP může bezpečnost výrazně zvýšit - šifrování zajistí, že si zprávu přečte jen vybraná osoba (vlastník příslušného privátního klíče). Díky podepisování příjemce pozná, zda zprávu někdo modifikoval a může do určité míry ověřit identitu odesílajícího.

Při podepisování a šifrování e-mailových zpráv nepotřebujete podporu v poštovním klientovi. Zprávu můžete napsat do souboru, soubor podepsat a zašifrovat a poté ho poslat jako přílohu nějakého dopisu.

Zabudování OpenPGP do poštovních klientů ale uživatelům šifrování a podepisování výrazně zjednodušuje 13. V Unixu je obecně podpora větší, nicméně i v Microsoft Outlook lze zprávy opatřit OpenPGP šifrováním či podpisy díky balíku Gpg4win. Ve cvičeních použijeme poštovního klienta „mutt“, který GnuPG podporuje a navíc dobře funguje v terminálu.

3.5.1. MIME

MIME (Multipurpose Internet Mail Extension) je internetový standard, který rozšiřuje možnosti přenášených zpráv v e-mailu o podporu textu psaného v jiných znakových sadách, podporu různých příloh a vícedílné zprávy. Současní klienti tento standard využívají pro přenos zpráv zašifrovaných a podepsaných pomocí OpenPGP.

Výpis 3.25 Ukázka dopisu zašifrovaného pomocí OpenPGP. Zvýrazněny jsou MIME hlavičky pro OpenPGP. Některé části jsou vynechány.
Return-Path: <pavlicek@bis vse.cz>
Delivered-To: root@bis.vse.cz
Received: by bis.vse.cz (Postfix, from userid 1000)
        id 9ED406073B; Sun, 15 Jan 2017 16:23:21 +0100 (CET)
Date: Sun, 15 Jan 2017 16:23:21 +0100
From: Lubos Pavlicek <pavlicek@bis.vse.cz>
To: root <root@bis.vse.cz>
Subject: Test - zasifrovany dopis
Message-ID: <20170115152321.ffe4xma7dpxclglj@bis.vse.cz>
MIME-Version: 1.0
Content-Type: multipart/encrypted; protocol="application/pgp-encrypted";
        boundary="c7se3r5l2izv3kct"

--c7se3r5l2izv3kct
Content-Type: application/pgp-encrypted
Content-Disposition: attachment; filename="msg.asc"

-----BEGIN PGP MESSAGE-----

hF4DzG4Dr3xm80sSAQdAVmqmsC12P+PI0sIYFefqLlRcfbYaPTHBRi2grREgVhgw
D6fRjrsbQuzgi8MQuPoo8vRPvXXl5dPw5WWFfwCsLYj72pPoo3qIvh0iHlg03g65
    ... část vynechána ...
kMXP1iQ8JkpZn5//YN4fGbNSCPIG/3DokXKR0YEHq0oL31+aGe2052zsDkhcCPYJ
L3f4Lcb/qIxZYj36z+py90TkDkAL5cdDg70TmocLY2uJ3c7TL9Rr0NzDxoLO5ZRA
sctKEz+T9cVeSR9ZmeJ544ef6dZOyDjz5hZYQ+LM
=+D/K
-----END PGP MESSAGE-----

--c7se3r5l2izv3kct--

Zašifrovaný dopis (viz obrázek TODO) má content-type multipart/encrypted s protokolem application/pgp-encrypted. Část typu „application/octet=stream“ obsahuje zašifrovaný vlastní text převedený do armor formátu, který je popsán v kapitole TODO.

Z ukázky je vidět, že se nešifruje hlavička – kdokoliv na cestě si může přečíst metadata jako je čas odeslání, e-mailové adresa odesílatele a příjemce či předmět zprávy (Subject).

Pokud je dopis pouze podepsaný, tak má dopis dvě části – v první je nezašifrovaný vlastní text dopisu, ve druhé je připojen digitální podpis – opět ve formátu armor.

Výpis 3.26 Ukázka dopisu podepsaného pomocí OpenPGP. Zvýrazněny jsou MIME hlavičky pro OpenPGP. Některé hlavičky jsou vynechány.
Return-Path: <pavlicek@bis.vse.cz>
Delivered-To: root@bis.vse.cz
Received: by bis.vse.cz (Postfix, from userid 1000)
        id 77F4B6073B; Sun, 15 Jan 2017 16:14:14 +0100 (CET)
Date: Sun, 15 Jan 2017 16:14:14 +0100
From: Lubos Pavlicek <pavlicek@bis.vse.cz>
To: root <root@bis.vse.cz>
Subject: Test - podepsany dopis
Message-ID: <20170115151414.7iagxrkriq2wc3aa@bis145.vse.cz>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
        protocol="application/pgp-signature"; boundary="jeplxw2qtrrni4ce"

--jeplxw2qtrrni4ce
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Uk=C3=A1zka podepsan=C3=A9ho dopisu.

--jeplxw2qtrrni4ce
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAABCgAdFiEEoWkxbmW1+POTrJiGUx88l4Tt7QMFAlh7kcMACgkQUx88l4Tt
7QMR1gf+K267CE2kTL4f8gYF8gsc/t2ejq7qY+FkGeS0PaXK+pJ0c9TFNZ14PZhJ
8scc1F4IJmeEyfk/peaZO/xzMg5V5ehEPdUjbvuLozBgMIuK8YPfBhAKCYb2Tvgk
709XQ9tpKE6Ew9YXo9y6/oZaRqBM8+k/76/wXoaa0YqS7mIFSo5O76jQA9OtJSOG
beLoebG5VnALbc5AxRytftmueCj9WgeivYdyY02JuZh+r1reLX0SzhGPQPYYLy4q
voTFPAONB8n955PVEQ8/xoZ6ytrKtPvz/aT2vQw4G+zUAhgwm24Eulul0uXbb1zp
1QZD+WTktWrhYnn3AVVkxIvT5v4yEg==
=hXC9
-----END PGP SIGNATURE-----

--jeplxw2qtrrni4ce--

3.5.2. OpenPGP a Mutt

Základní ovládání klienta probíhá pomocí klávesnice – stisknutí konkrétního písmene vyvolá příslušnou akci. Nápovědu nejčastějších operací v daném kontextu najdete na prvním řádku okna.

Po spuštění programu uživatel vidí přijaté zprávy (Inbox). Pomocí šipek se lze pohybovat mezi zprávami, pomocí enteru si zobrazí zprávu. U přijatých zpráv klient automaticky kontroluje podpisy, zašifrované zprávy dešifruje. Zobrazení přijaté zprávy se ukončí pomocí klávesy „i“.

Vytváření nové zprávy začíná povelem „m“ (message). Nejdříve na dolní řádce vyplní adresu příjemce (To:), předmět (Subject:). Poté se zobrazí okno editoru a můžete psát vlastní text zprávy.

Po ukončení editoru se uživatel dostane do okna nové zprávy, viz následující obrázek. Po stisknutí klávesy „p“ můžete zvolit šifrování či podepsání zprávy. Na dolním řádku se zobrazí nabídka – zašifrování (encrypt), podepsání (sign), podepsat jako (sign as), obojí (šifrovat i podepsat, both) či pro zašifrování/podepsání použít standard S/MIME (OpenPGP podporuje od verze 2.0).

Zprávu odešlete po zadání písmene „y“.

_images/pgp_image14.png

Obr. 3.7 Poštovní klient mutt - nastavení šifrování/podepisování před odesláním dopisu.

Dokumentaci programu mutt najdete na http://www.mutt.org/doc/manual/.

13

Otázkou je, zda je zjednodušení dostatečné. Většina uživatelů poštovní zprávy nepodepisuje a nešifruje. Bruce Schneier, známý odborník na kryptografii, preferuje šifrované služby pro posílání zpráv jako je Signal či WhatsApp (viz https://www.schneier.com/blog/archives/2016/12/giving_up_on_pg.html). V těchto službách je kryptografie pro uživatele většinou transparentní, při ověřování identity se spoléhají na mobilní telefonní čísla.