Privacy en Whatsapp tegenover KPN en DPI

Laatste dagen is Whatsapp nogal in het nieuws gekomen door KPN die gebruik zou maken van DPI (Deep Packet Inspection) om het gebruik van Whatsapp inzichtbaar te maken. Dit omdat Whatsapp het gebruik van sms terugbrengt en dus ook de inkomsten voor KPN. Want, kort samen gevat: voor ieder smsje betaal je, en whatsapp valt binnen je internet bundel. Het is dus een dienst die door een andere dienst als 'extratje' wordt aangeboden, geheel gratis en misschien zelfs nog beter ook. Ik zou hierbij graag een ieder dit filmpje willen laten zien over: House party's die men ook ooit eens wou verbieden.

Wat alle rumoer heeft veroorzaakt is dat KPN DPI gebruikt heeft om dit verkeer in kaart te brengen. De privacy van de internet gebruikers zou zo geschonden worden en dit is onacceptabel. Over deze discussie ga ik het nu niet hebben, maar ik ga het wel even over de privacy hebben die Whatsapp ons zelf verder biedt.

Naar aanleiding van dit alles ben ik even de Whatsapp packetjes gaan inspecteren die het internet opgepompt worden door deze applicatie. Wellis waar een kort/om-te-schamen onderzoek, maar des al niet te min met een bijzondere uitkomst.
Een aantal dingen komen toch wel vrij snel aan het licht. En dat is dat alle Whatsapp berichtjes als plaintext worden verstuurd (lekker snel, dat wél), én dat bij deze berichtjes de telefoonnummers van de ontvangende partij, evenals de naam van deze contacten wordt verzonden. Ik heb zelfs vernomen dat Whatsapp je gehele adresboek copiert naar de Whatsapp servers, dit heb ik zelf nog niet kunnen waarnemen (Ik heb dit niet getest), maar dit kan zeker als voor 'waar' worden aangenomen.
Kanttekening hierbij is dat Whatsapp een Amerikaans bedrijf is. De servers van Whatsapp in Amerika staan. Ze worden gehost door The Planet Internet Services wat nu bekend staat als SoftLayer Technologies. En zoals te zien bij het plaatje visitors heeft Amerika hiermee weer een prachtig bedrijf in handen (+de gegevens van de gebruikers).
Maar genoeg d00m-denkerij hierover, ik lijk wel een echte g33k. Over naar de facts.

Even op een rijtje de facts van het verkeer:
- De applicatie resolved eerst sro.whatsapp.net.
- Krijgt de adressen 173.192.219.141, 173.192.219.149, 173.192.219.140 terug van ns1.softlayer.com
- Er wordt direct een SSL verbinding over port 443 opgezet met (in dit geval) 173.192.219.141.
Ik heb helaas geen MIM-attack gedaan dus ik weet niet welke info er over de SSL verbinding is verstuurd.
- Via deze niet af te luisteren verbinding komt blijkbaar het ip-adres door van de Whatsapp-chat server in dit geval 50.22.227.220. Whatsapp werkt via het zogenaamde Extensible Messaging and Presence Protocol, en daar dan een eigen afgeleide van.
- Vanaf dit moment gaat Whatsapp communiceren via port 5222 met de Whatsapp XMPP-server 50.22.227.220. Het opmerkelijke hieraan is dat Whatsapp dit doet ZONDER dat de verbinding versleutelt is. Dit houdt dus in feite in dat ieder station waar jouw berichtje langs komt kan lezen wat jij verstuurd, aan welk 06 nummer, en de naam van die persoon. Dit is in het bijzonder van belang bij draadloze netwerken, waar in feite iedereen zich op kan aanmelden. Ga je dus met je mobiel op een gratis wifi hotspot lekker zitten Whatsappen, kunnen we allemaal leuk meelezen, om vervolgens de persoon in kwestie nog even een belletje te geven. *nerd-fear*

Enfin, hier dan nog even de plaatjes als bewijs. Onderstaand screenshot geeft een weergave van een contact persoon waar naar toe ik een berichtje stuur. Bij ieder berichtje dat ik verstuur, verstuur ik dus het 06-nummer mee. Zoals je in het screenshot duidelijk kan zien stuur ik enkel de tekst "Test" naar deze persoon.

En in onderstaand screenshot is te zien dat Whatsapp mijn eigen contact gegevens, wederom onversleuteld, het internet opslingerd, dit inclusief mijn naam en mijn 06-nummer.

Een aantal andere conclusies kunnen we hier ook uit trekken. Als KPN de mensen wil gaan factureren per whatsapp berichtje zal KPN (zeer diepe) DPI moeten gebruiken. De applicatie Whatsapp staat in een constante verbinding met zijn servers en aan de hand van Source + Destination (makkelijkste manier) is niet te bepalen hoeveel berichtjes er via Whatsapp verstuurd zijn.
De enige manier van KPN om inzichtelijk te krijgen hoeveel Whatsapp berichtjes er verstuurd zijn dan wel ontvangen is via deze 'diepe' vorm van DPI waarbij de berichtjes daadwerkelijk ook gelezen worden. Het is mogelijk dat KPN dit invoert. Maaaarrrrrrrrrr, te verwachten is dat Whatsapp in de toekomst zijn diensten gaat aanbieden met een SSL functie (het is al verrassend dat zij dat nu nog niet doen), zoals gebruikelijk binnen het Jabber (XMPP) protocol.
Dan is het voor KPN zo goed als onmogelijk te bepalen hoeveel berichtjes een persoon verstuurd dan wel ontvangt. Men kan de applicatie een hele dag open hebben staan, zeer veel data gebruiken, maar geen enkel berichtje ontvangen of verzenden.

Feit blijft dat Whatsapp SMS gaat vervangen, vroeg of laat. Daar gaat KPN niets aan veranderen.
Zolang KPN mobiel internet aanbiedt zullen er eindeloos veel manier zijn om een tarifering te omzeilen. Deze zullen er ook zeker komen omdat het animo voor het gebruik van Whatsapp gewoon veel te groot is.
Als KPN nog schulden moet aflossen in verband met het aangelegd 3g netwerk zullen ze dat moeten verhalen op de klanten via verhoging van het tarief van de internet bundel (terecht!). Dat gaat niet lukken via het tariferen van specifieke applicaties als Whatsapp.
Als KPN meer inkomsten wil hebben om het personeel te kunnen blijven betalen zullen de kosten van alle bundels omhoog moeten gaan.