End-to-end šifrování (také end-to-end šifrování ; anglicky end-to-end šifrování ) je způsob přenosu dat, při kterém mají přístup ke zprávám pouze uživatelé účastnící se komunikace. Použití end-to-end šifrování tedy neumožňuje přístup ke kryptografickým klíčům třetím stranám. [jeden]
Pro výměnu klíčů lze použít symetrické i asymetrické algoritmy . [2] End-to-end šifrování předpokládá, že šifrovací klíče znají pouze komunikující strany. K implementaci této podmínky lze použít schéma s předběžným tajným sdílením nebo například protokol Diffie-Hellman , který se používá v instant messengerech WhatsApp [3] a Telegram [4] [5] .
End-to-end šifrování zajišťuje, že k původnímu textu zprávy má přístup pouze odesílatel a příjemce. [6] To znamená, že informace o uživateli se stanou nedostupnými i pro servery , které přenášejí data. [6]
Šifrování a dešifrování probíhá na koncových zařízeních uživatele. Data navíc zůstávají zašifrována, dokud nejsou doručena na místo určení. Proto je šifrování typu end-to-end často také označováno jako „nulový přístup“ nebo „šifrování na straně klienta“. Je však třeba rozlišovat mezi end-to-end šifrováním během přenosu dat a šifrováním na straně klienta během ukládání dat.
Jedním z prvních standardů pro asynchronní zasílání zpráv je protokol SMTP [7] . Tento protokol, původně používaný pouze pro přenos elektronické pošty , ve své původní implementaci nezajišťoval důvěrnost korespondence pomocí end-to-end šifrování [8] . V roce 1991 vytvořil Philip Zimmerman softwarový balík pro šifrování e-mailů PGP . Knihovna se rozšířila po celém světě, takže mnoho společností má touhu vytvářet vlastní software, který je kompatibilní s PGP [9] . Poté, v roce 1997, IETF konečně definovala soubor standardů pro end-to-end šifrování e-mailů, které nazvali OpenPGP [10] . OpenPGP je implementováno v open source softwarových systémech, jako je Enigmail pro Thunderbird , stejně jako v mobilních aplikacích, jako je IPGMail pro iOS [11] a systém správy klíčů Openkeychain pro Android [12] a další [13] .
V roce 1999 vyvinula Free Software Foundation implementaci OpenPGP nazvanou GnuPG . Odpovídá standardům specifikace OpenPGP a slouží jako základ svobodného softwaru pro většinu moderních aplikací s podporou PGP [14] .
Na rozdíl od e-mailu, který používá asynchronní zasílání zpráv, systémy pro rychlé zasílání zpráv původně používaly synchronní přenos dat, ale dnes mnoho instant messengerů umožňuje asynchronní doručování zpráv. V poslední době se tyto systémy staly populárnějšími než e-mailové klienty, protože také poskytují podporu pro přenos videa , souborů a hlasu [15] .
V roce 1998 začal Jeremy Miller s vývojem projektu Jabber, který se později stal známým jako XMPP . XMPP poskytuje technologii pro asynchronní výměnu strukturovaných dat přes distribuovanou síť mezi klienty a servery, která podporuje upozornění na přítomnost. Pro zlepšení zabezpečení přidají nové specifikace protokolu podporu pro end-to-end šifrování, protože XMPP v současné době ve výchozím nastavení nešifruje, i když používá vestavěné protokoly SASL a TLS [16] . Zpočátku to byl otevřený protokol XMPP standard IETF, který byl používán ve většině systémů pro rychlé zasílání zpráv, jako je Google Talk . [17] .
Protokol OTR , vydaný v roce 2004, je rozšířením XMPP, které poskytuje šifrování typu end-to-end. Poskytuje také upozornění pro uživatele, na rozdíl od PGP, které lze později použít jako záznam o navázání spojení a identifikaci účastníka. OTR lze v jistém smyslu považovat za bezpečnostní aktualizaci přes PGP, protože neukládá dlouhodobé veřejné klíče, které by mohly být kompromitovány. Mezi nevýhody OTR patří chybějící podpora skupinových chatů a asynchronního zasílání zpráv, protože je určeno pro synchronní zasílání zpráv mezi dvěma lidmi [18] [19] .
Několik moderních poslů používá Signal Protocol pro šifrování .
End-to-end šifrování zajišťuje, že kontrolu nad korespondencí provádějí přímo uživatelé. Jednou z možností, jak útočníkovi obejít end-to-end šifrování, je převzít kontrolu nad komunikačním kanálem mezi koncovými body, poté se může pokusit vydávat za příjemce zprávy, aby například nahradil veřejný klíč. Aby se útočník vyhnul odhalení, může ji po dešifrování zprávy zašifrovat klíčem , který sdílí se skutečným příjemcem, nebo svým veřejným klíčem (v případě asymetrických systémů) a zprávu odeslat znovu. Útoky tohoto typu se obvykle nazývají útoky „man-in-the-middle“ [1] [20] - MITM (Man-In-The-Middle) .
Aby se zabránilo útokům MITM, většina kryptografických protokolů používá ověřování . K tomu lze použít například certifikační autority . Alternativní metodou je generování otisků veřejného klíče z veřejných klíčů uživatelů nebo sdílených tajemství. Před zahájením konverzace si strany porovnají své otisky veřejného klíče pomocí externího komunikačního kanálu, který zaručuje integritu a autenticitu komunikace a nemusí být tajný. Pokud se otisky klíčů shodují, pak nebyl útok man-in-the-middle proveden [20] [21] .
Dalším způsobem, jak obejít šifrování typu end-to-end, je zaútočit přímo na přístupové koncové body. Zařízení každého uživatele lze hacknout a ukrást kryptografický klíč (k vytvoření útoku typu man-in-the-middle) nebo jednoduše číst dešifrované uživatelské zprávy. [3] Abychom se vyhnuli těmto typům pokusů o hackování, je nutné zajistit vhodnou ochranu uživatelských zařízení pomocí softwaru nebo jiných metod. [22] Hlavními pokusy o zlepšení zabezpečení koncových bodů bylo přidělování operací generování klíčů, ukládání a kryptografie na čipovou kartu, například v Project Vault společnosti Google [23] . Protože však vstup a výstup ve formátu prostého textu jsou v systému viditelné, tyto přístupy selhávají při ochraně proti keyloggerům a malwaru, které mohou sledovat konverzace v reálném čase [24] . Robustnějším přístupem je zařízení fyzicky izolovat [25] .
Společnosti také mohou (sami nebo pod nátlakem) zavést do svého softwaru zadní vrátka , která pomohou prolomit klíčovou dohodu nebo obejít šifrování. Podle informací zveřejněných Edwardem Snowdenem v roce 2013 obsahoval Skype zadní vrátka, která Microsoftu umožňovala přenášet uživatelské zprávy do NSA , a to navzdory skutečnosti, že tyto zprávy byly oficiálně end-to-end šifrovány [26] [27] .