WhatsApp gaat het proces rondom cryptografische verificatie van eindgebruikers automatiseren. Nu kunnen gebruikers de integriteit van hun gesprekspartners nog verifiëren via een qr-code, maar dat proces kan binnenkort ook automatisch via de open source Auditable Key Directory.
Moederbedrijf Meta zegt dat die functie inmiddels voor gebruikers wordt uitgerold. WhatsApp noemt de functie de Auditable Key Directory, een openbare en daarmee verifieerbare lijst met wijzigingen aan de public keys die gebruikers uitwisselen om hun identiteit te verifiëren. De functie draait om de qr-codes die WhatsApp sinds 2014 gebruikt voor berichten die end-to-end versleuteld zijn.
De versleuteling van WhatsApp werkt op basis van een private key die op het toestel blijft staan en een public key die kan worden gedeeld met andere gebruikers om een versleutelde verbinding op te zetten. Die public key wordt via WhatsApp van de verzender naar de ontvanger gestuurd. Om te controleren of een verzender met de juiste ontvanger praat, hasht WhatsApp die publieke sleutel. Die hash van zestig tekens kunnen twee gebruikers met elkaar vergelijken. Dat kan ook in de vorm van een qr-code. Als die hashes op beide apparaten overeenkomen, heeft er geen man-in-the-middleaanval plaatsgevonden.
Dat proces is echter omslachtig, erkent WhatsApp. Twee gebruikers moeten bijvoorbeeld fysiek bij elkaar zijn om de qr-code te scannen, of ze moeten een externe verbinding opzetten om de hashes te vergelijken. Bij groepsgesprekken is dat helemaal ingewikkeld. In de praktijk gebruiken daarom ook maar weinig mensen de feature. WhatsApp gaat precies dat proces nu automatiseren.
Dat doet het bedrijf via een nieuw protocol. Met dat protocol wordt op de servers van WhatsApp een publieke database aangemaakt, de Auditable Key Directory. In die directory staan mappings tussen gebruikersaccounts en hun publieke sleutels. Als die op de een of andere manier worden aangepast zonder tussenkomst van de gebruiker, krijgt een ontvanger dus te zien dat de publieke sleutel niet kan worden geverifieerd. WhatsApp raadt in dat geval aan dat proces alsnog handmatig te doen.
WhatsApp maakt de code achter die directory open source beschikbaar. Het gaat om een Rust-library die gebruikmaakt van verschillende key transparancy-protocollen zoals Coniks. De library verwerkt volgens WhatsApp 'tienduizenden key-veranderingen per dag' en is daarom een append-only-database.