A Signal Protocol ( Signal Protocol , korábbi nevén TextSecure Protocol) az Open Whisper Systems által létrehozott kriptográfiai protokoll , amely végpontok közötti titkosítást biztosít a hanghívásokhoz, videohívásokhoz [1] és azonnali üzenetekhez . A protokollt az Open Whisper Systems fejlesztette ki 2013-ban , és először a nyílt forráskódú TextSecure alkalmazásban vezették be , amelyet később egyesítettek a Signal alkalmazással . Számos zárt forráskódú alkalmazás, mint például a WhatsApp , azt állítja, hogy megvalósította ezt a protokollt, amely szerintük "világszerte több mint egymilliárd ember" beszélgetéseit titkosítja [3] . A Facebook Messenger azt is állítja, hogy felajánlja ezt a protokollt további "titkos beszélgetésekhez", akárcsak a Google Allo az "inkognitómódhoz".
A protokoll a Double Ratchet Algorithm -ot , a prekeys -t és az Extended Diffie-Hellman Triple Key Exchange-t (3-DH) [4] kombinálja, és primitívként a Curve25519 -et , az AES-256- ot és a HMAC - SHA256 -ot használja [5] .
A jelprotokoll fejlesztését 2013-ban kezdte el Trevor Perrin és Moxie Marlinspike , az Open Whisper Systems . A szervezet célja egy könnyen használható mobilalkalmazás -készlet fejlesztése a biztonságos kommunikáció érdekében. A szervezetet 2013-ban alapították, és a fejlesztők egy kis csoportjából, adományokból és támogatásokból finanszírozott, valamint önkéntes fejlesztők nagy közösségéből áll. A protokoll első változata, a TextSecure v1 az azonnali üzenetküldő rendszerek számára készült Off-the-Record Messaging (OTR) protokollon alapult [7] .
2014. február 24-én az Open Whisper Systems bemutatta a TextSecure v2 [8] protokollt , amelyet az Axolotl Ratchet [9] algoritmusra portoltak át . Az Axolotl Ratchet ötlete az OTR által bevezetett efemer kulcscserén alapul , és egy szimmetrikus kulcs racsnival kombinálja, amelyet a Silent Circle Instant Messaging Protocol (SCIMP) [10] mintájára alakítottak ki . Ez lehetővé tette az aszinkron kommunikáció ("offline üzenetküldés") támogatását, mint fő új funkciót, valamint megnövelte a robusztusságot a torz üzenetsorrenddel szemben, és megkönnyítette a több résztvevővel folytatott beszélgetések támogatását [4] . Az Axolotl Ratchet a veszélyeztetett kétéltű axolotlról kapta a nevét amely rendkívüli képességgel rendelkezik az elveszett végtagok regenerálására. A fejlesztők ezt az algoritmust öngyógyítónak nevezik, mivel automatikusan letiltja a támadók hozzáférését a következő üzenetek egyszerű szövegeihez, miután a munkamenetkulcsot feltörték [10] .
A protokoll harmadik verziója, a TextSecure v3 néhány változtatást vezetett be a kriptográfiai primitívekben és a vezetékes protokollban . 2014 októberében a Ruhr Egyetem Bochum kutatói közzétették a TextSecure v3 elemzését [5] . Többek között egy ismeretlen kulcscsere támadást mutattak be a protokoll ellen, de összességében azt találták, hogy biztonságos [11] .
2016 márciusában a fejlesztők átnevezték a protokollt Signal protokollra. Át is nevezték az Axolotl Ratchet Algorithm-ot Double Ratchet Algorithm -ra, hogy jobban megkülönböztessék az algoritmust a teljes protokolltól [12] , mert egyesek az Axolotl nevet használták, amikor a teljes protokollra hivatkoztak [12] .
2016 októberétől a Signal Protocol a TextSecure v3 protokollon alapult, de további kriptográfiai változtatásokkal . 2016 októberében a brit Oxfordi Egyetem , az Ausztrál Műszaki Egyetem Queensland és a Kanadai McMaster Egyetem kutatói közzétették a protokoll hivatalos elemzését . Arra a következtetésre jutottak, hogy ez a protokoll kriptográfiailag biztonságos .
A protokoll titkosságot , integritást, hitelesítést , résztvevői konzisztenciát, célellenőrzést, továbbítási titkosságot, kompromisszumot követő biztonságot ( Post-Compromise Security , más néven Future Secrecy), az okozati összefüggés megőrzését, az üzenetek szétválasztását, az üzenetek elutasítását, a Nem biztosít anonimitást, és megköveteli, hogy a szerverek közvetítsék az üzeneteket és tárolják a nyilvános kulcsú információkat [4] .
A Signal protokoll támogatja a végpontok közötti titkosított csoportos csevegéseket is. A csoportos csevegési protokoll a párosított dupla racsnis és a csoportos adású titkosítás kombinációja. Az egy-egy protokoll szolgáltatásai mellett a csoportos csevegési protokoll biztosítja a résztvevők konzisztenciáját, zavartűrését, üzenetellenállást , számítási méltányosságot, bizalmi befektetést, alcsoportos üzenetküldést, valamint a résztvevők számának szűkítését és bővítését [4] .
A hitelesítéshez a felhasználók manuálisan összehasonlíthatják a nyilvános kulcs ujjlenyomatait egy külső csatornán keresztül. Ez lehetővé teszi a felhasználóknak egymás személyazonosságának ellenőrzését, és elkerülhetik a köztes támadásokat. Egy megvalósítás első használatú megbízhatósági mechanizmust is használhat a felhasználók értesítésére, ha a levelező kulcsa megváltozott [14] .
A Signal protokoll nem akadályozza meg a vállalatokat abban, hogy információkat tároljanak arról, hogy a felhasználók mikor és kivel kommunikálnak [14] [15] . Ezért eltérések lehetnek abban, hogy az üzenetküldő szolgáltatók hogyan kezelik ezeket az információkat. A Signal adatvédelmi szabályzata kimondja, hogy a címzett azonosítóit csak addig tárolja a Signal szervere, ameddig az egyes üzenetek továbbításához szükséges. 2016 júniusában Moxie Marlinspike azt mondta a The Interceptnek "A Signal szerver által tárolt metaadatokhoz legközelebbi információ az, amikor minden felhasználó utoljára csatlakozik a szerverhez, és ez az információ egy napra csökken, nem pedig egy óra, egy percre. ." és másodpercek" [15] .
Az Open Whisper Systems először a TextSecure alkalmazásában vezette be a protokollt . Később kombinálták a TextSecure alkalmazást egy RedPhone nevű titkosított hanghívással, és átnevezték Signalra. A RedPhone a ZRTP-t használta a hívások titkosításához. 2017 márciusában a Signal új, WebRTC -n alapuló hívási rendszerre tért át [1] , amely a videohívások lebonyolításának lehetőségét is bevezette [16] . Az új Signal hívórendszer a Signal protokollt használja a végpontok közötti titkosításhoz [1] .
2014 novemberében az Open Whisper Systems partnerséget jelentett be a WhatsApp -pal, hogy végpontok közötti titkosítást biztosítson a Signal protokoll minden WhatsApp kliensplatformba való beépítésével [17] . Az Open Whisper Systems kijelentette, hogy már beépítették a protokollt a legújabb WhatsApp Android -kliensbe , és hamarosan más kliensek, csoportos üzenetküldés/ média és kulcsellenőrzés is támogatott lesz [18] . 2016. április 5-én a WhatsApp és az Open Whisper Systems bejelentette, hogy befejezték a végpontok közötti titkosítás hozzáadását a WhatsApp "minden kommunikációjához", és a felhasználók mostantól ellenőrizhetik egymás kulcsait [19] [20] . 2017 februárjában a WhatsApp bejelentette egy új WhatsApp Status funkciót, amely a Signal protokollt használja a tartalom védelmére [21] .
2015 szeptemberében a G Data Software új üzenetküldő alkalmazást indított Secure Chat néven, amely a Signal [22] [23] protokollt használja .
2016 szeptemberében a Google elindította az Allo nevű új üzenetküldő alkalmazást , amely opcionális inkognitómóddal rendelkezik, amely a Signal protokollt használja a végpontok közötti titkosításhoz [24] [25] .
2016 októberében a Facebook bevezetett egy további módot, a Titkos beszélgetéseket a Facebook Messengerben , amely végpontok közötti titkosítást biztosít a Signal [26] [27] [28] [29] protokoll segítségével .
2018 januárjában az Open Whisper Systems és a Microsoft bejelentette, hogy Signal protokoll támogatást ad hozzá a privát beszélgetések nevű opcionális Skype -módhoz [30] [31] .
2020 februárjában megjelent az új Session messenger (korábban Loki Messenger), amely a Signal protokollon alapul, és támogatja a végpontok közötti titkosítást. Decentralizáció deklarált a blokkláncon és a hagyma-útválasztáson keresztül.
A Signal protokoll más kriptográfiai protokollokat is befolyásolt. 2016. május 3-án a Viber kijelentette, hogy a titkosítási protokolljuk egy egyedi megvalósítás, amely ugyanazokat a megközelítéseket használja, mint a Signal Protocol [32] [33] . 2016. május 9-én a Wire fejlesztői kijelentették, hogy Proteus titkosítási protokolljuk a Signal [34] [35] protokollon alapul .
A Signal protokoll részeként bevezetett Double Ratchet Algorithm - ot más protokollok is átvették. Az OMEMO a nyílt XMPP protokoll kiterjesztése, amelyet a Conversations üzenetküldő alkalmazásban vezettek be, és az XMPP Standards Foundation (XSF) 2016 decemberében XEP-0384 néven hagyta jóvá [36] . A Matrix egy nyílt kommunikációs protokoll, amely magában foglalja az Olm könyvtárat, amely opcionális végpontok közötti titkosítást biztosít a szobák között a Double Ratchet Algorithm megvalósításával .
Az Open Whisper Systems a következő Signal protokoll könyvtárakat tartja karban a GitHubon :