Het artikel bespreekt de technische en praktische stappen die Signal onderneemt om accounts mogelijk te maken zonder telefoonnummer. De kernpunten zijn:
- Zero-Knowledge Proofs (ZKP): Er wordt dieper ingegaan op hoe ZKP wordt gebruikt om privacy te waarborgen bij groepen, donaties en gebruikersnamen, zodat de server geen gevoelige informatie hoeft te kennen.
- Ontwikkelingen in Android: In de
signalapp/Signal-Android repository is diverse scaffolding toegevoegd voor nieuwe inlogschermen, ondersteuning voor wachtwoordbeheerders en het uitschakelen van telefoonnummer-gerelateerde instellingen.
- Discussie over ontkoppeling: Er is een debat gaande over de vraag of bestaande gebruikers hun telefoonnummer kunnen verwijderen. Hierbij spelen zorgen over privacy-residu op servers en het voorkomen van spam (via betalingen of cooldown-periodes) een grote rol.
Registratie zonder telefoonnummer
Technische discussie over Zero-Knowledge Proofs (ZKP)
Kevino merkt hierbij op dat Signal nog steeds gedwongen kan worden via een gerechtelijk bevel (subpoena) om metadata-informatie over bepaalde accounts te bewaren. De tegenwerping hierop is dat de Signal-client zodanig is ontworpen dat deze de server niet vertrouwt; de veiligheid van Signal is aantoonbaar, zelfs zonder de servercode te inspecteren.
Daarnaast wordt door Alex-signal aangegeven dat ZKP wordt gebruikt voor het verifiëren van zaken zoals de tekenset en de lengte van een gebruikersnaam, zonder de eigenlijke inhoud hiervan te onthullen.
Ontwikkelingen in de Signal-Android codebase
Uit diverse commits in de signalapp/Signal-Android repository blijkt dat er actief wordt gewerkt aan de implementatie van accounts zonder telefoonnummer. De volgende wijzigingen zijn doorgevoerd:
Registratie en Login
- Toevoegen van de basisstructuur (scaffolding) voor het Signal-inlogscherm.
- Mogelijkheid om een gebruikersnaam in te stellen binnen de registratiemodule.
- Toevoegen van nieuwe inlogteksten (login strings).
- Implementatie van de basisfunctionaliteit om een account zonder nummer te registreren.
- Toevoegen van de basisfunctionaliteit om in te loggen op een bestaand account zonder nummer.
- Toevoegen van ondersteuning voor wachtwoordbeheerders bij het inloggen zonder nummer.
- Toevoegen van de mogelijkheid om te betalen voor een Signal-login.
- Toevoegen van een bevestigingsdialoog wanneer een gebruikersnaam wordt overgeslagen tijdens de registratie zonder nummer.
Accountbeheer en Privacy
- Het verbergen van bepaalde instellingen voor accounts zonder nummer, waaronder:
- De herinnering voor de pincode.
- De instelling voor vindbaarheid via het telefoonnummer.
- Gebruik van nieuwe
zkgroup-credentials voor accounts zonder nummer.
- Toevoegen van een landcode zonder nummer voor lokale remote-configuraties.
- Instellen van
phoneNumberDiscoverability=false als standaard voor accounts zonder nummer.
Technische optimalisaties en Bugfixes
- Herstellen van de weergave van de instellingsnaam wanneer er geen telefoonnummer aanwezig is.
- Bijwerken van diverse assets voor accounts zonder nummer.
- Toestaan van volledige CDS-verversingen (CDS refreshes) voor accounts zonder nummer.
- Verbeteren van het onboarding-proces voor back-ups bij accounts zonder nummer.
- Toevoegen van end-to-end tests voor de registratieflows zonder nummer.
- Geldig verklaren van onoplosbare reglocks als ongeldig voor accounts zonder nummer.
- Oplossen van een crash tijdens de synchronisatie van contacten over meerdere apparaten voor accounts zonder nummer.
- Oplossen van een
e164 NPE (NullPointerException) voor accounts zonder nummer tijdens het herstelproces.
Discussie over het ontkoppelen van telefoonnummers
Er is discussie ontstaan over de vraag of gebruikers die al geregistreerd staan met een telefoonnummer, dit nummer kunnen "ontkoppelen" zonder opnieuw te hoeven registreren voor de dienst.
Zetabeta stelt dat Signal Org technische details over de privacy moet verduidelijken als deze functie wordt ingevoerd, met name over de volgende punten:
- Is het telefoonnummer volledig ontkoppeld van de gebruikersnaam?
- Welke resten blijven lokaal op het apparaat of op de server aanwezig?
Er wordt gesuggereerd dat volledig ontkoppelen wellicht niet mogelijk is, en dat het aanmaken van een nieuw account zonder telefoonnummer een betere optie zou zijn.
Ten aanzien van de kosten van het ontkoppelen merkt desert_nip op dat het onwaarschijnlijk is dat dit gratis kan. Als dit gratis zou zijn, zouden spammers één nummer kunnen gebruiken om zich te registreren, het nummer ontkoppelen en dit proces herhalen om oneindig veel gratis accounts aan te maken. Een mogelijke oplossing hiervoor zou een cooldown-periode zijn, hoewel zetabeta twijfelt of een cooldown (bijvoorbeeld van een maand) voldoende is om spammers en scammers tegen te houden.
Registratie zonder telefoonnummer
Technische discussie over Zero-Knowledge Proofs (ZKP)
Kevino merkt hierbij op dat Signal nog steeds gedwongen kan worden via een gerechtelijk bevel (subpoena) om metadata-informatie over bepaalde accounts te bewaren. De tegenwerping hierop is dat de Signal-client zodanig is ontworpen dat deze de server niet vertrouwt; de veiligheid van Signal is aantoonbaar, zelfs zonder de servercode te inspecteren.
Daarnaast wordt door Alex-signal aangegeven dat ZKP wordt gebruikt voor het verifiëren van zaken zoals de tekenset en de lengte van een gebruikersnaam, zonder de eigenlijke inhoud hiervan te onthullen.
Ontwikkelingen in de Signal-Android codebase
Uit diverse commits in de signalapp/Signal-Android repository blijkt dat er actief wordt gewerkt aan de implementatie van accounts zonder telefoonnummer. De volgende wijzigingen zijn doorgevoerd:
Registratie en Login
- Toevoegen van de basisstructuur (scaffolding) voor het Signal-inlogscherm.
- Mogelijkheid om een gebruikersnaam in te stellen binnen de registratiemodule.
- Toevoegen van nieuwe inlogteksten (login strings).
- Implementatie van de basisfunctionaliteit om een account zonder nummer te registreren.
- Toevoegen van de basisfunctionaliteit om in te loggen op een bestaand account zonder nummer.
- Toevoegen van ondersteuning voor wachtwoordbeheerders bij het inloggen zonder nummer.
- Toevoegen van de mogelijkheid om te betalen voor een Signal-login.
- Toevoegen van een bevestigingsdialoog wanneer een gebruikersnaam wordt overgeslagen tijdens de registratie zonder nummer.
Accountbeheer en Privacy
- Het verbergen van bepaalde instellingen voor accounts zonder nummer, waaronder:
- De herinnering voor de pincode.
- De instelling voor vindbaarheid via het telefoonnummer.
- Gebruik van nieuwe
zkgroup-credentials voor accounts zonder nummer.
- Toevoegen van een landcode zonder nummer voor lokale remote-configuraties.
- Instellen van
phoneNumberDiscoverability=false als standaard voor accounts zonder nummer.
Technische optimalisaties en Bugfixes
- Herstellen van de weergave van de instellingsnaam wanneer er geen telefoonnummer aanwezig is.
- Bijwerken van diverse assets voor accounts zonder nummer.
- Toestaan van volledige CDS-verversingen (CDS refreshes) voor accounts zonder nummer.
- Verbeteren van het onboarding-proces voor back-ups bij accounts zonder nummer.
- Toevoegen van end-to-end tests voor de registratieflows zonder nummer.
- Geldig verklaren van onoplosbare reglocks als ongeldig voor accounts zonder nummer.
- Oplossen van een crash tijdens de synchronisatie van contacten over meerdere apparaten voor accounts zonder nummer.
- Oplossen van een
e164 NPE (NullPointerException) voor accounts zonder nummer tijdens het herstelproces.
Discussie over het ontkoppelen van telefoonnummers
Er is discussie ontstaan over de vraag of gebruikers die al geregistreerd staan met een telefoonnummer, dit nummer kunnen "ontkoppelen" zonder opnieuw te hoeven registreren voor de dienst.
Zetabeta stelt dat Signal Org technische details over de privacy moet verduidelijken als deze functie wordt ingevoerd, met name over de volgende punten:
- Is het telefoonnummer volledig ontkoppeld van de gebruikersnaam?
- Welke resten blijven lokaal op het apparaat of op de server aanwezig?
Er wordt gesuggereerd dat volledig ontkoppelen wellicht niet mogelijk is, en dat het aanmaken van een nieuw account zonder telefoonnummer een betere optie zou zijn.
Ten aanzien van de kosten van het ontkoppelen merkt desert_nip op dat het onwaarschijnlijk is dat dit gratis kan. Als dit gratis zou zijn, zouden spammers één nummer kunnen gebruiken om zich te registreren, het nummer ontkoppelen en dit proces herhalen om oneindig veel gratis accounts aan te maken. Een mogelijke oplossing hiervoor zou een cooldown-periode zijn, hoewel zetabeta twijfelt of een cooldown (bijvoorbeeld van een maand) voldoende is om spammers en scammers tegen te houden.