Signaaliprotokolla
Signal Protocol on salausmoottori Signalin, WhatsAppin, Facebook Messengerin salattujen säikeiden ja Googlen RCS-viestien takana. Se on lähimpänä vakiintunutta suojatun asynkronisen viestinnän standardia – vertaisarvioitu, usean miljardin käyttäjän mittakaavassa otettu käyttöön, ja se on vertaansa vailla eteenpäin tulevan salaisuuden, tulevan salaisuuden ja todentamisen yhdistelmässä.
Artikkelin koko runko on englanniksi alla.
Signal Protocol:n kehitti Open Whisper Systems (nykyisin Signal Foundation) vuodesta 2013 alkaen. Se kehittyi aikaisemmista suojatuista viestintäprotokollista (OTR, SCIMP) ja yhdisti niiden ideat uuteen räikkärakenteeseen. Ydininnovaatio: jokainen viesti käyttää uutta salausavainta, joten yhden avaimen kompromissi paljastaa vain yhden viestin – ja protokolla korjaa itsensä kompromissin jälkeen sisällyttämällä uusiin viesteihin uutta avainmateriaalia.
Salauksen primitiivit
Signal käyttää pientä, hyvin valvottua rakennussarjaa. lohkot:
- X25519 (Curve25519 Diffie-Hellman) avainsopimukselle
- HKDF (HMAC-pohjainen KDF) avainten johtamiseen jaetuista salaisuuksistaXPLZ716 PLZXXAXPLX158 CBC-tila, jossa HMAC-SHA256 viestien salausta varten ("Encrypt-then-MAC")
- Ed25519 allekirjoitukset identiteettiavaimille
The Xhaenb3DH ensimmäiset viestit7WhePLXPLZ — kuka voi olla offline-tilassa — Signaali tarvitsee tavan luoda jaettu avain ilman interaktiivista vaihtoa. Vastaus on X3DH (Extended Triple Diffie-Hellman). Bobin sovellus lataa kolme avainta signaalin palvelimelle:- Hänen pitkän aikavälin identiteettiavain
- A keskipitkän aikavälin allekirjoitettu esiavain (päivitetään ajoittain)xxxxxPLZ14A xxxxPLZ4XA. prekeys (käytetty kerran uutta istuntoa kohti)
Alice-sovellus hakee kaikki kolme. Se suorittaa neljä Diffie-Hellman-laskentaa yhdistäen hänen lyhytaikaiset ja identiteettiavaimensa Bobin kolmeen esiavaimeen, minkä jälkeen HKDF-sekoittaa tulokset yhteiseksi salaisuudeksi. Ensimmäinen viesti sisältää Alicen lyhytaikaisen julkisen avaimen ja hänen käyttämänsä esiavaintunnukset; Bobin sovellus rekonstruoi saman jaetun salaisuuden hänen puoleltaan.
Matematiikka on epäsymmetristä: Alice ei tarvitse Bobia verkossa, mutta kryptografinen vahvuus vastaa interaktiivista kättelyä.
Kaksoisräikä
Kerran Alice ja Bob jakavat tilanprotokollansa juurisalaisuuteen. Kaksi avainräikkää eteenpäin jokaista viestiä kohden:
- Symmetrinen avaimen räikkä: jokaiselle peräkkäiselle viestille samalta lähettäjältä. Johda uusi ketjuavain tiivistämällä edellinen ketjuavain. Ketjuavain sekoitetaan HKDF:n kanssa ainutlaatuisen viestiavaimen tuottamiseksi.
- Diffie-Hellman räikkä: joka kerta kun keskustelun suunta kääntyy (Bob vastaa Alicelle), Bob luo uuden lyhytaikaisen avainparin, suorittaa DH:n Alicen jaetun juuriavaimen kanssa, ja lopputuloksena oleva lyhytsalaisuusavain sekoitetaan. Tästä pisteestä alkaa uusi symmetrinen räikkä.
Tämä yhdistelmä antaa sekä forward-salaisuuden (aiemmat viestit pysyvät luottamuksellisina, jos nykyinen avain vuotaa) että tulevaisuuden salaisuuden / kompromissin jälkeinen suojaus (tulevaisuuden viestin jälkeen on yksityistä sopimusta uudelleen).
Mitä signaali tekee hyvin
- Lähetä edelleen salaisuus viestin tarkkuudella. Useimmat salatut protokollat välittävät salaisuuden istunnon tarkkuudella. Signaali tekee sen viestikohtaisesti.
- Epäjärjestyksessä toimitus. Jos viestit 5, 6, 7 saapuvat järjestyksessä 7, 5, 6, vastaanottaja voi silti purkaa niiden kaikkien salauksen tallentamalla ohitetut viestiavaimet hetkeksi.
- XxxxPLZ80X
- XX. X3DH mahdollistaa keskustelun aloittamisen ilman, että vastaanottaja on online-tilassa.
- Useiden laitteiden tuki. Ylälle kerrostettu Sesame-protokolla käsittelee useita laitteita käyttäjää kohden.
- Minimal metadata. Metapalvelimia enemmän löydetty signaalin lähettäjä kilpailijat.
Mikä on vaikeaa
Protokolla on kahden osapuolen välinen. Ryhmäviestintä vaatii lisäkoneistoa – Signalin ratkaisu on "lähettäjän avaimet", joissa jokainen lähettäjä saa ryhmäkohtaisen avaimen ja jakaa sen pareittain kullekin jäsenelle tavallisen protokollan kautta. Eteenpäin salassapitotakuu ryhmissä on heikompi kuin 1:1-keskusteluissa; uusia jäseniä voidaan lisätä, mutta salaustoimintojen kustannukset kasvavat ryhmän koon myötä. MLS (Messaging Layer Security) IETF-standardi käsittelee tätä laajasti, ja se otetaan vähitellen käyttöön.
IIdentiteettivarmennus riippuu edelleen turvanumeroiden kaistan ulkopuolisesta vertailusta. Jos et vahvista, luotat siihen, että Signalin palvelin ei vaihda avaimia äänettömästi. Useimmat käyttäjät eivät koskaan vahvista; Protokollan suojaus riippuu tällöin operaattorin rehellisyydestä sekä havaitsemattoman massavaihdon vaikeudesta.
Missä kohtaat itse signaaliprotokollan
- Signal (viitetoteutus)
- WhatsApp (2,5 miljardia käyttäjää – kaikkien aikojen suurin päästä päähän salattu viestintäpalvelu)XPLZXXPLZXXPLX (oletusarvoinen E2E-käyttöönotto valmistui vuonna 2024)
- Google Messages / RCS (oletuksena 1:1-chatit; ryhmäkeskustelut lisätään myöhemmin)
- Skypen yksityiset keskustelutXPLZ20ErilaisetPLZZX22X1XX clients
Protokollan kirjasto libsignal on avoimen lähdekoodin ja auditoitu. Salaussuunnittelu on kestänyt yli vuosikymmenen tarkastuksen.
Usein kysytyt kysymykset
- Onko signaali todella päästä päähän -salattu, vai täytyykö sinun luottaa palvelimeen?
- Matemaattisesti päästä päähän – palvelin ei voi purkaa viestien salausta, koska sillä ei ole avaimia. Luotat siihen, että Signalin palvelin ei vaihda identiteettiavaimia hiljaa tilin luomisen aikana. Turvanumeron vahvistusominaisuuden avulla voit varmistaa kaistan ulkopuolella, ettei vaihtoa ole tapahtunut.
- Käyttääkö WhatsApp todella samaa protokollaa?
- Kyllä, taustalla oleva signaaliprotokolla on sama. Ero on metatiedoissa: WhatsApp tallentaa puhelinnumerot ja (aikoihin asti) jonkin verran metatietoja siitä, kuka lähettää viestejä ja milloin. Signaali piilottaa enemmän metadataa. Viestien sisällön kryptografia on identtinen.
- Mitä eroa on signaaliprotokollalla ja MLS:llä?
- Signaaliprotokolla on kahden osapuolen laajennukset ryhmille; MLS (Messaging Layer Security, RFC 9420) on uudempi IETF-standardi, joka on suunniteltu natiivisti ryhmille ja joka toimii tehokkaasti ryhmäkokoasteikkoina. MLS käyttää puupohjaista avainjohdannaista, joka käsittelee tuhansia jäsenryhmiä tehokkaasti. Jotkut suuret palvelut ovat siirtymässä MLS:ään ryhmäkeskusteluja varten; Signal Protocol pysyy johtajana 1:1.
- Voivatko kvanttitietokoneet rikkoa signaaliprotokollan?
- X25519 ja Ed25519 ovat alttiita suurille kvanttitietokoneille. Signal lisäsi PQXDH:n (post-quantum hybridi) vuonna 2023 sekoittaen CRYSTALS-Kyberin salassapitoon tulevia kvanttihyökkääjiä vastaan. Itse kaksoisräikkä pysyy klassisen turvallisena; PQXDH osoittaa "harvest-now-decrypt- later".
- Miksi kaikki viestisovellukset eivät käytä signaaliprotokollaa?
- Useimmat suuret tekevät nyt tai ovat vaihtamassa. Holdoutilla on liiketoiminnallisia syitä: Telegram käyttää oletuksena ei-E2E:tä pilvikeskusteluissa, jotta se voi palvella niitä eri laitteilla; iMessage käyttää Applen omaa protokollaa; jotkin vaatimustenmukaisuuden alaiset palvelut tarvitsevat palvelinpuolen pääsyn viestien sisältöön oikeudellista tarkistusta varten. Protokolla on voittanut teknisesti; adoptio on nyt politiikkaa.