Signal gaat cryptografische sleutels voortaan automatisch verifiëren. Het gaat om de functie waarmee gebruikers via een QR-code kunnen controleren of hun gesprekspartner inderdaad de juiste ontvanger van een bericht is. Om dat nu te verifiëren, moeten gebruikers fysiek afspreken, maar dat proces besteedt Signal nu uit aan Cloudflare en een ander beveiligingsbedrijf.
Signal noemt dat proces Automatic Key Verification. De chatapp gaat de verificatie in de toekomst cryptografisch automatiseren door een samenwerking met 'auditors', specifiek Cloudflare en Trail of Bits.
Key verification is een functie in Signal (en WhatsApp heeft het ook) waarmee gebruikers kunnen controleren of een gesprekspartner wel is wie die zegt te zijn. Dat werkt door in de chat naar 'Verify safety number' te gaan. Daar staat een cryptografische code van 60 cijfers. Zowel de verzender als de ontvanger zien in hun chats met elkaar dezelfde cijfers. Die cijfers worden cryptografisch gegenereerd op het moment dat de twee gebruikers een chat met elkaar beginnen. Voor het gebruikersgemak worden die cijfers ook omgezet in een QR-code.
Hacker in het midden
De veiligheidscheck is bedoeld voor het geval dat Signal wordt gehackt of een aanvaller via een adversary-in-the-middle-aanval berichten probeert te onderscheppen. Daardoor kan die bijvoorbeeld berichten meelezen. Op dat moment verandert ook de cryptografische sleutel tussen verzender en ontvanger. Om zeker te weten of je als verzender wel een bericht stuurt aan de juiste ontvanger en niet aan een hacker-in-het-midden, bestaat de functie om cryptografische sleutels met elkaar te vergelijken.
Het grote probleem daarbij is alleen dat verzender en ontvanger daarvoor fysiek bij elkaar moeten komen en hun telefoons langs elkaar moeten houden. Dat doet niemand. En precies dat proces neemt Signal nu uit handen.
Auditors controleren logs
Signal verzamelt daarvoor alle wijzigingen in de cryptografische sleutels op een centrale plek, een 'ledger'. Daarin staat of de koppeling tussen een Signal-telefoonnummer en een public key nog klopt – ook dat gaat overigens grotendeels cryptografisch. Maar omdat de functie bedoeld is om juist aanvallen op Signal zelf te spotten, kan Signal niet de enige partij zijn die die ledger controleert.
Daarom werkt Signal samen met twee partijen die als auditor gelden. Dat zijn Cloudflare en securitybedrijf Trail of Bits. Die controleren onafhankelijk van elkaar de ledger. Cloudflare schrijft daar zelf over: "Cloudflare haalt periodiek batches met updates uit Signals Key Transparency-log en verifieert cryptografisch dat iedere update consistent is met alles dat eerder is opgenomen. Zodra die check slaagt, ondertekent Cloudflare de update en Signal stuurt de ondertekende update naar zijn gebruikers. Die kunnen dat verifiëren en zeker weten dat Signal hen een globaal consistent inzicht in het log toont." Ook Trail of Bits heeft een blogpost geschreven.
Twee = een en een = geen
Voor de veiligheid zijn er twee partijen die dat naast Signal doen. Cloudflare en Trail of Bits verifiëren de systemen onafhankelijk van elkaar, zodat er geen nieuwe single point of failure ontstaat dat kan worden aangevallen. De auditors werken alleen met cryptografische verificatie en kunnen dus geen gebruikersnamen of telefoonnummers zien, of zelfs de public keys zelf.
In de praktijk betekent dat dus dat gebruikers ervan uit kunnen gaan dat de cryptografische verificatie tussen verzender en ontvanger niet is onderschept, zonder dat ze elkaar fysiek hoeven te ontmoeten. Dat moet het verificatieproces veel laagdrempeliger maken, al moeten gebruikers nog steeds zelf de functie opzoeken in een chat als ze die willen gebruiken.
Alleen telefoonnummers
De functie van key transparency werkt zowel handmatig als automatisch alleen met telefoonnummers. Gebruikers die elkaar alleen kennen op basis van hun gebruikersnamen kunnen elkaar niet verifiëren.
Daarnaast werkt de functie niet meer als een van de gebruikers zijn of haar telefoonnummer of gebruikersnaam verandert. Dan geldt weer hetzelfde. De gebruikers moeten elkaar dan opnieuw fysiek ontmoeten om de keys te controleren.
/i/2008306256.png?f=imagenormal)
:strip_exif()/i/2008260802.jpeg?f=imagenormal)

/u/23785/crop5dcd5c59e07f9.png?f=community)
:strip_icc():strip_exif()/u/219282/crop65bfaacd66e4c_cropped.jpg?f=community)
:strip_icc():strip_exif()/u/177567/crop5f8591cadf088_cropped.jpeg?f=community)
:strip_icc():strip_exif()/u/632901/crop68b8491c45b1d_cropped.jpg?f=community)
:strip_icc():strip_exif()/u/5960/crop5c1c1a9c82c25_cropped.jpeg?f=community)