WhatsApp moet open van Europa en dat kan veilig, maar kent ook risico’s

Photo by Christian Wiediger on Unsplash

WhatsApp-gebruikers moeten van de Europese Unie binnenkort kunnen chatten met mensen op andere apps, zoals Signal of Telegram. Dat las ik bij Nu.nl. “De beveiliging loopt wel een deuk op” kwam er achteraan, en dat kostte me een kop koffie. Want hoewel de nuance verderop wel opduikt, versterkt dit toch het PR-blaatpraatje dat interoperabiliteit éigenlijk raar en gevaarlijk is. En het wás al zo’n gedoe, die DMA aannemen.

In januari hadden we het ook over het aan elkaar koppelen van diensten, in dat geval Threads en Mastodon. Zoals ik toen schreef, dit moet van de Digital Markets Act (DMA). Die bevat in artikel 7 namelijk een expliciete plicht tot interoperabiliteit als je “poortwachter” bent:

Een poortwachter die nummeronafhankelijke interpersoonlijke communicatiediensten aanbiedt welke op grond van artikel 3, lid 9, zijn opgenomen in het aanwijzingsbesluit, zorgt ervoor dat de basisfuncties van zijn nummeronafhankelijke interpersoonlijke communicatiediensten interoperabel zijn met de nummeronafhankelijke interpersoonlijke communicatiediensten van een andere aanbieder die dergelijke diensten in de Unie verleent of voornemens is dat te doen. Daartoe maakt de poortwachter de nodige technische interfaces of soortgelijke oplossingen met het oog op interoperabiliteit op verzoek en kosteloos beschikbaar.
WhatsApp is ook zo’n poortwachtersdienst met “nummeronafhankelijke interpersoonlijke communicatiediensten” (juridisch voor ‘chatdienst’) en moet dus interoperabel zijn met andere diensten zoals Signal of Telegram. Dat gaan ze ook doen, maar toch vond “men” het nodig even wat angst in de markt te zetten:
Ook WhatsApp ziet de risico’s. “Zonder eigenaarschap van beide eindpunten kunnen we de veiligheid van berichten die ontvangen of verzonden worden via een andere app niet garanderen”, schrijft de dienst.
De bron is het persbericht van Meta, waarin ze nader ingaan op hun “e2ee promise”, oftewel het versleuteld houden van de communicatie tussen twee eindgebruikers. Natuurlijk kan Meta niet zien of andere bedrijven datzelfde doen, en natuurlijk is het mogelijk dat een ander zégt e2ee toe te passen maar toch een achterdeur ingebouwd te hebben. Of gewoon cryptotechnisch prutswerk te hebben geleverd. Alleen: is dat iets waar Meta wat van moet vinden?

De DMA laat zien dat de keuze van de wetgever was om de grote gesloten platforms open te trekken. Dat er daarna meer geregeld moet worden op security-gebied, dat is een apart probleem waar óók de nodige aandacht voor is (NIS2, CRA, AVG/AI Act security). Ik snap dat op de korte termijn dit een probleem is dat schade kan veroorzaken. Maar op de lange termijn is een open ecosysteem beter dan het gesloten model met vijf grote bedrijven dat we nu hebben.

Arnoud

 

6 reacties

    1. Die staat Richtlijn 2018/1972, artikel 2 punt 7:

      ‘number-independent interpersonal communications service’ means an interpersonal communications service which does not connect with publicly assigned numbering resources, namely, a number or numbers in national or international numbering plans, or which does not enable communication with a number or numbers in national or international numbering plans;
      De kern voor mij is dat er geen van buitenaf toegekend nummer noodzakelijk is voor de communicatie. Bij WhatsApp werkt het wel op basis van je 06-nummer, maar je kunt wisselen van nummer zonder dat dat je contactenlijst aanpast. Sms is dus wél nummerafhankelijk want als ik een nieuw nummer neem, kunnen mensen die mijn oude nummer hebben me niet meer sms’en.

  1. Het leest heel raar dat Whatsapp onder nummeronafhankelijke interpersoonlijke communicatiediensten valt. Heb daar toch echt een nummer op moeten geven. Maar zie dat je dat kunt aanpassen dus is nummeronafhangkelijk.

  2. Telegram is een iets ander verhaal, maar de end to end encryptie in WhatsApp is ontwikkeld door de oprichter van Signal en is gebaseerd op hetzelfde protocol. In theorie zou het dus niet zo moeilijk moeten zijn om interoperabiliteit tussen die twee veilig te houden, zolang meta er inderdaad geen rare dingen mee heeft gedaan.

    1. Signal heeft in de tussentijd niet stilgezeten. Zo versleutelt het al enkele jaren versleutelt bijvoorbeeld de afzender. Dat doet WhatsApp niet omdat hun businesscase is gebaseerd op metadata en het niet kunnen inzien van de afzender maakt de metadata minder interessant.

      Verder heeft Signal z’n versleuteling geüpgraded naar de X3DH specificatie, waarmee het zich (beter) wapent tegen kwantum computers, iets dat WhatsApp evenmin doet, als ik goed geïnformeerd ben; het gebruik van gebruikersnamen geïntroduceerd, waardoor je niet je telefoonnummer hoeft te verstrekken aan een contact (handig voor docenten richting hun leerlingen/studenten).

      Kortom, het wordt geen ABC-tje om het op elkaar aan te sluiten, ondanks dat WhatsApp een oude versie van het Signal protocol gebruikt.

      Dat gezegd hebbende denk ik dat het een goede ontwikkeling is. Zelf zou ik echter pas vanuit Signal met WhatsApp gaan communiceren als ze tenminste het niveau van Signal bereiken.

  3. De opmerking over het inleveren van veiligheidsgaranties is niet alleen maar FUD, hoewel dat ze ongetwijfeld goed uitkomt; er zit een kern van technische waarheid in.

    Het Signal-protocol waar onder andere de WhatsApp end-to-end encryptie op gebaseerd is heeft de vervelende architecturele eigenschap dat het niet goed kan omgaan met verschillende applicaties of clients die een licht verschillende versie van het protocol praten. Dit in tegenstelling tot de meeste andere internetprotocollen, waar een webbrowser die 3 versies achterloopt nog steeds met alle webservers kan praten, vereist het Signal protocol dat alle clients en servers in lockstep tegelijk updaten, met minimale ruimte voor discrepanties. De Signal app stopt ook domweg met werken als je je app niet snel genoeg update, niet (of niet alleen) omdat ze gebruikers willen pesten, maar omdat ze protocoltechnisch niet meer compatible zijn.

    Dit maakt dat het logistiek bijna onmogelijk is om compatibiliteit met allerlei verschillende clients en servers te ondersteunen, EN tegelijkertijd regelmatig veiligheidsupdates door te voeren. Veiligheidsupdates moeten in dit systeem heel langzaam en weloverwogen gebeuren, met ruime vooraankondigingen en een lang implementatietraject, om niet de compatibiliteit met andere diensten te breken. En er moeten lange overgangsconstructies gebruikt worden, die zolang ze actief zijn een deel van de veiligheidsfuncties onderuit halen. Als je een betere versie van het cryptografisch protocol maakt die een gat dicht, dan kan je niet zomaar ervoor zorgen dat vanaf volgende week iedereen de nieuwere versie gebruikt. Als je een nieuwe beveiligingsfunctie ontwerpt die alleen werkt als iedereen in een chatgroep datzelfde systeem actief heeft, dan kan het voor grote chatgroepen makkelijk jaren duren voordat de laatste persoon in die groep daadwerkelijk ondersteuning heeft voor de functie, en in de tussentijd zal de nieuwe functie zichzelf uitgeschakeld moeten laten.

    Dit alles is een gevolg van het end-to-end encryptie ontwerp van Signal (en hergebruikers zoals WhatsApp), waarbij het niet voldoende is dat de server en de client dezelfde taal praten (en je dus ondersteuning voor meerdere versies in de server kan bouwen en dan de clients een voor een updaten), maar waar het nodig is dat de meerdere clients allemaal precies hetzelfde cryptografische trucje kunnen uithalen, en dus onderling perfect in lockstep moeten updaten.

Geef een reactie

Handige HTML: <a href=""> voor hyperlinks, <blockquote> om te citeren, <UL>/<OL> voor lijsten, en <em> en <strong> voor italics en vet.