Ik sluit me aan bij de punten die door Michael al zijn benoemd. Ik was nog bezig m’n gedachten te ordenen voor iets leesbaars te produceren.
Het overzicht mist naast de door Michael al aangehaalde punten:
- is een oplossing centraal of decentraal.
- XMPP (aka Jabber) gebaseerde oplossingen (ok Whatsapp is genoemd).
- E2E encryptie… hoe dan.
- Hashing is overrated
Ik zal het toelichten
Alle centrale oplossingen (incl. Signal etc.) maken een contact onderzoek mogelijk. Dat is ook waarom whatsapp E2E encryptie helemaal geen probleem vindt. Het gaat om wie met wie praat. De exacte namen en nummers zijn niet zozeer direct noodzakelijk, maar een unieke ID voor gebruikers wel.
Dus of een nummer wel of niet gehashed is is niet zo belangrijk voor een dergelijk onderzoek. (Overigens als WA, Signal jou een bericht wil sturen omdat een kennis van jou je nummer in de contact lijst heeft staan betekent dat de username (= telefoonnummer) wel herkenbaar is.
Hashing van telefoonnummers is niet zo moeilijk ongedaan te maken, het is een kwestie van reverse lookup tables maken (vgl. rainbow tables voor password decryptie) telefoonnummers zijn max. 15 cijfers lang, uit een beperkte set, ==> alle mogelijke nummers in de wereld hashen en in een database zetten is een triviaal probleem, een gehashed telefoon nummer “dehashen” is dus een triviale lookup.
Ik mis het overzicht van XMPP clients en servers. Dit is bij uitstek een distributed platform. In de kern is WhatsApp een XMPP oplossing, alleen doen ze niet aan federatie. WA praat niet met servers op een ander platform via de S2S interface in XMPP.
een reeks XMPP servers (al of niet prive servers) die gefedereerd samenwerken zou m.i. een voorkeur hebben.
Het probleem is een beetje de stilstand in XMPP eindgebruikers tools.
E2E encryptie die uitsluitend van 1 device naar een ander device kan praten is waarschijnlijk het meest veilig. (afh. van implementatie van encryptie). Bij Alle E2E die in groepen gebruikt kunnen worden is er een ander mechaniek in gebruik.
Er wordt met de groep een gezamenlike sleutel gebruikt. Bij een wijziging van de groepssamenstelling moet er een nieuwe sleutel gemaakt worden. (Als iemand ook alle oude berichten mag lezen hoeft het niet bij toevoegen), bij verlaten van een groep moet een nieuwe sleutel gemaakt worden. Alle berichten worden met de groepssleutel encrypted verzonden.
Bij open source code kan de code ge-audit worden, bij closed source kan dit niet. En kan er ook niet gecontroleerd worden of er in elke groep een extra (nooit genoemd) lid mee kijkt. Sleutel wisselingen hoeven niet opgemerkt te worden als er geen signalering voor bestaat,
WA kan dus makkelijk een achterdeur krijgen zonder dat iemand het verder weet waarmee FB wel kan beschikken over alle groepssleutels en evt. WEL kan meekijken.
Er zijn vast nog meer gezichtspunten.
Overigens is er ook een hele wereld BUITEN messaging en FB. Ook op het gebied van de smoelenboek websites met een tijdslijn… zijn er al veel voorbeelden, kijk naar Mastodon, Diaspora, NextCloud Social (en anderen), allen open source, beschikbaar als zelf te installeren product, of als hosted product beschikbaar.
Belangrijker is dat deze gefedereerd werken, ie. je kan zelf op diaspora zitten waarbij je vrienden op Mastodon en Nextcloud Social zijn en TOCH elkaars updates zien, en berichtjes sturen.