A végpontok közötti titkosítás (szintén end-to-end encryption ; angolul end-to-end encryption ) egy olyan adatátviteli módszer, amelyben csak a kommunikációban részt vevő felhasználók férhetnek hozzá az üzenetekhez. Így a végpontok közötti titkosítás használata nem teszi lehetővé harmadik felek számára a kriptográfiai kulcsokhoz való hozzáférést. [egy]
Szimmetrikus és aszimmetrikus algoritmusok egyaránt használhatók kulcscserére . [2] A végpontok közötti titkosítás feltételezi, hogy a titkosítási kulcsokat csak a kommunikáló felek ismerik. Ennek a feltételnek a megvalósításához egy előzetes titkos megosztással rendelkező séma, vagy például a WhatsApp [3] és a Telegram [4] [5] azonnali üzenetküldőiben használt Diffie-Hellman protokoll használható .
A végpontok közötti titkosítás biztosítja, hogy csak a feladó és a címzett férhessen hozzá az üzenet eredeti szövegéhez. [6] Ez azt jelenti, hogy a felhasználói információk még az adatokat továbbító szerverek számára is elérhetetlenné válnak . [6]
A titkosítás és a visszafejtés a felhasználó végkészülékein történik. Ezenkívül az adatok titkosítva maradnak mindaddig, amíg a célállomásra nem kerülnek. Ezért a végpontok közötti titkosítást gyakran "nulla hozzáférésnek" vagy "kliens oldali titkosításnak" is nevezik. Különbséget kell tenni azonban az adatátvitel során végpontok közötti titkosítás és az adattárolás során a kliensoldali titkosítás között.
Az aszinkron üzenetküldés egyik első szabványa az SMTP protokoll [7] . Ez a protokoll, amelyet eredetileg csak e-mailek továbbítására használtak , eredeti megvalósításában nem biztosította a levelezés titkosságát végpontok közötti titkosítással [8] . 1991-ben a PGP e- mail titkosító szoftvercsomagot Philip Zimmerman hozta létre . A könyvtár széles körben elterjedt az egész világon, ezért sok cég szeretne saját, PGP-vel kompatibilis szoftvert létrehozni [9] . Ezt követően, 1997-ben az IETF végre meghatározta a végpontok közötti e-mail titkosítás szabványait, amelyeket OpenPGP -nek [10] nevezett el . Az OpenPGP olyan nyílt forráskódú szoftverrendszerekben valósul meg, mint az Enigmail for Thunderbird , valamint olyan mobilalkalmazások, mint az IPGMail for iOS [11] és az Openkeychain kulcskezelő rendszer Androidra [12] és mások [13] .
1999-ben a Free Software Foundation kifejlesztette az OpenPGP megvalósítását GnuPG néven . Megfelel az OpenPGP specifikáció szabványainak, ingyenes szoftveralapként szolgál a legtöbb modern PGP-képes alkalmazáshoz [14] .
Az aszinkron üzenetküldést használó e-mailekkel ellentétben az azonnali üzenetküldő rendszerek eredetileg szinkron adatátvitelt használtak, de ma már sok azonnali üzenetküldő lehetővé teszi az aszinkron üzenetküldést. Az utóbbi időben az ilyen rendszerek népszerűbbek lettek, mint az e-mail kliensek, mivel támogatják a videó- , fájl- és hangátvitelt is [15] .
1998-ban Jeremy Miller elkezdte a Jabber projekt fejlesztését, amely később XMPP néven vált ismertté . Az XMPP olyan technológiát biztosít a strukturált adatok aszinkron cseréjéhez, elosztott hálózaton keresztül az ügyfelek és a szerverek között, amely támogatja a jelenléti értesítéseket. A biztonság javítása érdekében az új protokollspecifikációk támogatják a végpontok közötti titkosítást, mivel az XMPP jelenleg alapértelmezés szerint nem titkosít, bár beépített SASL és TLS protokollokat használ [16] . Kezdetben az IETF nyílt XMPP protokollszabványát használták a legtöbb azonnali üzenetküldő rendszerben, például a Google Talk -ban . [17] .
A 2004-ben kiadott OTR protokoll az XMPP kiterjesztése, amely végpontok közötti titkosítást biztosít. Felhasználói riasztásokat is biztosít, ellentétben a PGP-vel, amely később a kapcsolat létrehozásának és a résztvevő azonosításának rekordjaként használható. Az OTR bizonyos értelemben a PGP feletti biztonsági frissítésnek tekinthető, mivel nem tárol hosszú távú nyilvános kulcsokat, amelyek kompromittálhatóak. Az OTR hátrányai közé tartozik a csoportos csevegés és az aszinkron üzenetküldés támogatásának hiánya, mivel két ember közötti szinkron üzenetküldésre tervezték [18] [19] .
Számos modern üzenetküldő használ Signal Protocolt a titkosításhoz .
A végpontok közötti titkosítás lehetővé teszi, hogy a levelezést közvetlenül a felhasználók irányítsák. A végpontok közötti titkosítás megkerülésének egyik lehetősége a támadó számára az, hogy átveszi az irányítást a végpontok közötti kommunikációs csatorna felett, ami után megpróbálhatja kiadni magát az üzenet címzettjének, hogy például lecserélje a nyilvános kulcsot. Az észlelés elkerülése érdekében a támadó az üzenet visszafejtése után titkosíthatja azt egy kulccsal , amelyet megoszt a tényleges címzettel, vagy a nyilvános kulcsával (aszimmetrikus rendszerek esetén), és újra elküldheti az üzenetet. Az ilyen típusú támadásokat általában "man-in-the-middle" támadásoknak nevezik [1] [20] - MITM (Man-In-The-Middle) .
A MITM-támadások megelőzése érdekében a legtöbb kriptográfiai protokoll hitelesítést használ . Ehhez például a tanúsító hatóságokat lehet használni . Egy másik módszer a nyilvános kulcsú ujjlenyomatok létrehozása a felhasználók nyilvános kulcsaiból vagy megosztott titkaiból. A beszélgetés megkezdése előtt a felek összehasonlítják nyilvános kulcsú ujjlenyomataikat egy külső kommunikációs csatorna segítségével, amely garantálja a kommunikáció integritását és hitelességét, és nem kell titkosnak lennie. Ha a kulcslenyomatok egyeznek, akkor a man-in-the-middle támadást nem hajtották végre [20] [21] .
A végpontok közötti titkosítás megkerülésének másik módja a hozzáférési végpontok közvetlen megtámadása. Minden felhasználó eszközét feltörhetik, hogy ellopják a kriptográfiai kulcsot (köztes támadás létrehozásához), vagy egyszerűen elolvassák a visszafejtett felhasználói üzeneteket. [3] Az ilyen típusú hackelési kísérletek elkerülése érdekében szükséges a felhasználói eszközök megfelelő védelme szoftverrel vagy más módszerekkel. [22] A végpontok biztonságának javítására tett fő kísérletek a kulcsgenerálási, tárolási és kriptográfiai műveletek intelligens kártyához való hozzárendelése voltak, például a Google Project Vault-ban [23] . Mivel azonban az egyszerű szöveges bemenet és kimenet látható a rendszeren, ezek a megközelítések nem nyújtanak védelmet a billentyűzetnaplózókkal és a beszélgetéseket valós időben figyelni képes kártevőkkel szemben [24] . Robusztusabb megközelítés az eszköz fizikai izolálása [25] .
A vállalatok (önmagukban vagy kényszer hatására) hátsó ajtókat is bevezethetnek szoftvereikbe , amelyek segítenek megszegni a kulcsszerződést vagy megkerülni a titkosítást. Edward Snowden által 2013-ban nyilvánosságra hozott információk szerint a Skype tartalmazott egy hátsó ajtót, amely lehetővé tette a Microsoft számára, hogy felhasználói üzeneteket továbbítson az NSA -nak , annak ellenére, hogy ezek az üzenetek hivatalosan végponttól végpontig titkosítottak [26] [27] .