Home > Signal Security & Privacy Guide

Signal Beveiligings- en privacygids

Why is Signal so secure? A complete guide to Signal’s encryption, metadata protection, and privacy features

Inleiding

Signal wordt algemeen beschouwd als de veiligste berichtendienst onder de meest gebruikte instantmessagingapps en wordt aanbevolen door beveiligingsexperts over de hele wereld. Signal wordt gebruikt in situaties waarin het hoogste niveau van beveiliging essentieel is, door burgerrechtenactivisten, onderzoeksjournalisten en overheidsfunctionarissen, maar ook door gewone gebruikers die simpelweg de privacy willen beschermen van de berichten die zij met vrienden en familie delen.

Vandaag willen we de vraag beantwoorden: waarom is Signal zo veilig en hoe werken de verschillende beveiligingsmechanismen die Signal biedt precies? Hoewel we op enkele technische details zullen ingaan, heb je geen technische expertise nodig om de belangrijkste punten van dit artikel te begrijpen.

 

TLDR;

  • De versleuteling van Signal is veilig en wordt algemeen beschouwd als de gouden standaard voor end-to-endversleuteling. Signal maakt gebruik van grondig geteste cryptografische technieken om ervoor te zorgen dat alleen de verzender en ontvanger een bericht kunnen lezen, en biedt daarnaast bescherming tegen mogelijke toekomstige aanvallen door kwantumcomputers.
  • Signal beschermt niet alleen de inhoud van berichten, maar versleutelt ook metadata zoals informatie over wie met wie communiceert, groepslidmaatschappen, groepsnamen en -beschrijvingen, profielnamen en profielfoto’s, en nog veel meer. Daardoor is het voor Signal onmogelijk om iets te weten over de communicatie die via het platform plaatsvindt.
  • Daarnaast biedt Signal een breed scala aan instellingen die je beveiliging en privacy verder vergroten en, indien nodig, een extra beveiligingslaag toevoegen.
  • Signal is een non-profitorganisatie. Alle technische innovaties die het heeft geïntroduceerd op het gebied van privacy en beveiliging zijn open source en worden ook gebruikt door vele andere diensten en apps, waardoor miljarden mensen wereldwijd hiervan profiteren. Als je ervoor wilt zorgen dat dit werk wordt voortgezet, kun je overwegen een donatie aan Signal te doen.

De versleuteling van Signal

Als het gaat om beveiliging is de meest opvallende eigenschap van Signal de versleuteling en het feit dat de app alles versleutelt wat via Signal wordt gecommuniceerd. In deze sectie bekijken we in detail hoe de versleuteling van Signal werkt en waarom deze zo veilig is.

Het is eerst belangrijk om te begrijpen wat versleuteling is. Versleuteling verwijst naar het proces waarbij een normale, leesbare boodschap wordt omgezet in een gecodeerde vorm, ook wel cijfertekst genoemd. Zo kan “Hallo” bijvoorbeeld veranderen in iets als “kV1237Be391gx1asd1PaMP3kdUrPQ==”. Zoals je kunt zien is een versleuteld bericht onleesbaar voor mensen en kan het alleen worden ontcijferd met behulp van wiskunde en een zogenaamde sleutel.

Signal gebruikt end-to-endversleuteling voor alle communicatie die via Signal plaatsvindt. Simpel gezegd betekent end-to-endversleuteling dat de communicatie veilig wordt versleuteld en alleen kan worden ontsleuteld door de verzender of de ontvanger van een bericht.

Bij end-to-endversleuteling vinden de versleuteling en ontsleuteling volledig plaats op jouw eigen apparaat en dat van de ontvanger. Alleen jij en de ontvanger beschikken over de sleutels. Niemand anders kan de inhoud van je berichten lezen, beluisteren of bekijken. Alles wat je via Signal uitwisselt, wordt versleuteld: tekstberichten, spraakberichten, verhalen, foto's, video's, stickers, documenten, spraakoproepen en videogesprekken.

In Signal worden al deze zaken die je verzendt of ontvangt standaard beschermd met end-to-endversleuteling. Maar ook andere elementen, zoals groepsnamen, groepsrechten, profielfoto’s en profielnamen, zijn end-to-end versleuteld en daardoor beschermd binnen Signal.

 

End-to-endversleuteling: het bericht blijft gedurende het hele proces versleuteld.

Andere softwareproducten beweren soms ook “versleuteling” aan te bieden, maar daarmee bedoelen ze vaak alleen “transportversleuteling” (of “client-serverversleuteling”). Daarbij wordt een bericht tijdens de verzending naar een server versleuteld, maar op die server weer ontsleuteld en vervolgens opnieuw versleuteld wanneer het naar de ontvanger wordt doorgestuurd.


Transportversleuteling: het bericht wordt op de server ontsleuteld en vervolgens opnieuw versleuteld.

Uiteraard kan degene die de server beheert (vaak het bedrijf dat de software of dienst aanbiedt) alle berichten lezen.

Bij end-to-endversleuteling is dat niet het geval. Alleen de verzender en de ontvanger kennen de geheime sleutel die nodig is om het bericht te ontsleutelen. Dit leidt tot de voor de hand liggende vraag: hoe kunnen zowel de verzender als de ontvanger dezelfde geheime sleutel kennen om hun berichten te versleutelen en ontsleutelen, terwijl die geheime sleutel verborgen blijft voor iedereen anders?

Gelukkig bestaat er een zeer elegante oplossing voor dat probleem. Deze heet de “Diffie-Hellman-sleuteluitwisseling” en wordt door Signal gebruikt om precies dat mogelijk te maken.

Sleutelgeneratie en sleuteluitwisseling in Signal

De “Diffie-Hellman-sleuteluitwisseling” lost een cruciaal probleem van versleutelde communicatie op. Hoe kunnen twee (of meer) partijen die veilig met elkaar willen communiceren een gedeelde sleutel of wachtwoord afspreken om hun communicatie te versleutelen, zonder dat iemand anders weet wat die versleutelingssleutel is? Natuurlijk, als ze in dezelfde stad wonen, kunnen ze elkaar op een afgelegen plek ontmoeten en de versleutelingssleutel in elkaars oor fluisteren zonder dat iemand meeluistert. Hoewel zo'n scenario niet erg realistisch of praktisch is, is het theoretisch gezien wel mogelijk.

Maar hoe kan hetzelfde worden bereikt wanneer jij en je communicatiepartner op verschillende locaties wonen en via het internet een gedeelde versleutelingssleutel moeten afspreken? Hier komt de Diffie-Hellman-sleuteluitwisseling om de hoek kijken. Het basisidee ervan is zowel eenvoudig als verbluffend:

Beide communicatiepartners maken een sleutelpaar aan dat wiskundig met elkaar verbonden is. Eén daarvan is de privésleutel, die geheim is en alleen bekend is bij de eigenaar (bij Signal wordt deze uitsluitend veilig opgeslagen op je eigen apparaat). De andere is de openbare sleutel, die je deelt met je communicatiepartner en die helemaal niet geheim is. In het geval van Signal wordt deze opgeslagen op de servers van Signal, zodat mensen die veilig contact met je willen opnemen deze kunnen downloaden, zelfs wanneer je niet online bent.

Nu komt het interessante gedeelte: als je communicatiepartner jouw openbare sleutel gebruikt om een bericht te versleutelen, dan kan dat bericht alleen weer worden ontsleuteld met jouw geheime privésleutel. Je communicatiepartner kan dus direct een versleuteld gesprek starten dat door niemand anders kan worden gelezen. En als jij wilt antwoorden, versleutel je jouw bericht met de openbare sleutel van je communicatiepartner. Dat bericht kan vervolgens alleen worden ontsleuteld met diens privésleutel.

Hoe dat mogelijk is, vraag je je misschien af? De wiskundige achtergrond is behoorlijk complex en maakt gebruik van wat bekendstaat als “Eenrichtingsfuncties.". Dit zijn wiskundige berekeningen die in de ene richting heel eenvoudig uit te voeren zijn, maar bijzonder moeilijk wanneer je de omgekeerde richting wilt bepalen (of de berekening wilt terugdraaien). Vermenigvuldigingen zijn daar bijvoorbeeld een voorbeeld van: in de ene richting zijn ze eenvoudig (13 × 27 = 351), maar het omgekeerde is veel lastiger. Als ik je vraag alle factoren van 351 te vinden, kost dat aanzienlijk meer tijd dan de vermenigvuldiging zelf, omdat je ook combinaties zoals 3 × 117 = 351 of 9 × 39 = 351 moet vinden.

Publieke en privésleutels maken gebruik van dergelijke wiskundige problemen, maar dan met veel en veel grotere getallen (meer specifiek gebruikt Signal enorme elliptische krommen). Daardoor zijn deze sleutels in de praktijk vrijwel onmogelijk te kraken.

Signal maakt gebruik van de genialiteit van de Diffie-Hellman-sleuteluitwisseling om een versleuteld en veilig communicatiekanaal tussen twee of meer gebruikers tot stand te brengen. De methode die Signal hiervoor gebruikt heet het “X3DH Key Agreement Protocol”, waarbij X3DH staat voor “Extended Triple Diffie-Hellman”, en je kunt hier meer details lezen. Het wordt “Extended” en “Triple” genoemd omdat Signal meerdere Diffie-Hellman-bewerkingen uitvoert met verschillende paren van publieke en privésleutels (zie de technische details hieronder), maar de onderliggende principes zijn hetzelfde als bij een eenvoudige, enkele sleuteluitwisseling.

Hoe het werkt

Laten we eens kijken hoe dit in de praktijk werkt. Wanneer je je registreert bij Signal, maakt de Signal-app op je telefoon een reeks verschillende publieke en privésleutels aan. Terwijl de privésleutels veilig op je telefoon worden opgeslagen, worden de publieke sleutels geüpload naar de servers van Signal. Stel dat een van je vrienden je nu een bericht wil sturen. Zijn Signal-app neemt dan simpelweg contact op met de server van Signal en downloadt automatisch de publieke sleutels die aan jouw account zijn gekoppeld (waarbij je wordt gevonden via je telefoonnummer of gebruikersnaam). Met deze publieke sleutels en zijn eigen privésleutels creëert de Signal-app van je vriend een geheime sleutel die wiskundig gebaseerd is op de sleutels van jullie beiden, maar die verder aan niemand bekend is. Zijn Signal-app versleutelt het eerste bericht aan jou met deze geheime sleutel en verstuurt het naar jou, samen met zijn eigen publieke sleutels en enige informatie om zijn identiteit te verifiëren (zie de sectie over Signal's beveiligingsnummer).

Wanneer jouw Signal-app dit bericht ontvangt, heeft deze alles wat nodig is om het te ontsleutelen. Je app beschikt al over jouw privésleutels en heeft nu ook de publieke sleutels van je vriend ontvangen. Met deze gegevens berekent de app de geheime sleutel en kan het bericht worden ontsleuteld.

Maar dezelfde geheime sleutel gebruiken om alle berichten tussen jou en je vriend te versleutelen zou geen goed idee zijn. Zelfs als deze geheime sleutel ontzettend moeilijk te kraken is, wil Signal dat risico niet nemen en daarom wordt deze sleutel voortdurend gewijzigd. Dit gebeurt met behulp van een “double ratchet-algoritme”, zoals in de volgende sectie zal worden uitgelegd.

Het is belangrijk om op te merken dat de servers van Signal zich niet kunnen bemoeien met dit proces en deze versleuteling niet kunnen breken of verzwakken. Zoals beschreven in het gedeelte over end-to-endversleuteling vinden de versleuteling en ontsleuteling plaats op de telefoons van jou en je vriend. De server fungeert slechts als verbindende schakel die ervoor zorgt dat alles werkt, zelfs wanneer jij of je vriend tijdelijk offline zijn. In dat geval slaat de server de versleutelde berichten voor je op en levert deze af zodra je weer online bent.

Technical details

Those of you interested in the technical details of the X3DH Key Agreement Protocol protocol can find the full specification at https://signal.org/docs/specifications/x3dh/ If you want to look at the code then check out https://github.com/signalapp/libsignal

Here’s a brief overview of how it exactly works.

When you install Signal your app creates the following Diffie-Hellman keypairs for you, using the elliptic curve Curve25519. 

  • An identity key IKB
  • A signed prekey SPKB
  • A prekey signature Sig(IKB, Encode(SPKB))
  • A set of one-time prekeys (OPKB1, OPKB2, OPKB3, …)

If your friend wants to get in touch with you he downloads these public keys from Signal’s server and verifies the prekey signature. Afterwards he uses two of his own keys, namely his own identity key IKA and an ephemeral key EKA and performs four Diffie-Hellman calculations with these keys, as shown in the graphic below (the fourth calculation is optional, in case there are no one-time prekeys available at that time).

 

The output of these four Diffie-Hellman calculations is run through a Key Derivation Function (KDF) to generate the secret key SK:

SK = KDF(DH1 || DH2 || DH3 || DH4)

Your friend also calculates an “associated data” AD based on your two identity keys that is used for safety numbers:

AD = Encode(IKA) || Encode(IKB)

Your friend then encrypts a first message with the secret key SK and sends it to you together with his public identity key IKA, the public ephemeral key EKA and with identifiers stating which of your prekeys were used. When you receive that bundle your Signal app has all it needs to decrypt the first message and starts a secure communication with your friend. After that the “double ratchet algorithm” steps in and constantly changes the involved keys (except for the identity keys which are stable) and deletes old keys that are not used anymore to provide “forward secrecy”.

Versleutelde berichtenuitwisseling in Signal met behulp van het ‘Double Ratchet-algoritme’

Je hebt misschien wel eens de term “double ratchet” gehoord in verband met de versleuteling die door Signal is ontwikkeld en gebruikt. In wezen is dit double-ratchetmechanisme de echte innovatie achter de versleuteling van Signal en de reden waarom deze wordt beschouwd als de gouden standaard voor end-to-endversleuteling.

Wat het aan de versleuteling van Signal toevoegt, zijn twee belangrijke eigenschappen:

  • Forward secrecy: zelfs als een aanvaller de sleutel kan stelen of kraken om één bericht te lezen, kan die persoon de eerdere berichten niet ontsleutelen met diezelfde sleutel.
  • Post-compromisbeveiliging (ook bekend als break-in recovery of future secrecy): als een aanvaller erin slaagt de sleutel te stelen of te kraken om één bericht te lezen, kan die persoon geen toekomstige berichten meer ontsleutelen met die sleutel.

Signal gebruikt geavanceerde versleutelingstechnieken (zoals Elliptic Curve Diffie-Hellman, AES, post-quantum cryptografie, …) die het vrijwel onmogelijk maken om zelfs de sleutel van één enkel bericht te kraken. Maar door twee “ratchetmechanismen” te introduceren heeft Signal elke poging om zo’n sleutel te breken feitelijk nutteloos gemaakt, omdat de gebruikte sleutels voortdurend veranderen bij elk bericht. En zoals een “ratel” die wel vooruit kan bewegen maar niet kan terugdraaien, is het onmogelijk om eerdere of toekomstige encryptiesleutels te achterhalen. Laten we deze twee ratchets in meer detail bekijken.

We hebben gezien dat wanneer je je registreert bij Signal er automatisch een set encryptiesleutelpaaren voor je wordt aangemaakt. Elk van deze sleutelpaaren bestaat uit een privé- en een publieke sleutel. Terwijl de privésleutel geheim blijft en veilig op je telefoon wordt opgeslagen (en alleen daar), wordt de publieke sleutel gedeeld met je communicatiepartners om berichten naar jou te versleutelen en je identiteit te bevestigen.

Wanneer iemand begint te communiceren met jou op Signal, is het eerste wat automatisch gebeurt dat de Signal-client van die persoon een key bundle met jouw publieke sleutels downloadt van de servers van Signal. Met jouw publieke sleutels en zijn of haar eigen privésleutel genereert je communicatiepartner een geheime encryptiesleutel die gebaseerd is op beide sleutels. Vervolgens versleutelt die persoon het eerste bericht met deze sleutel en verstuurt het versleutelde bericht naar jou, samen met zijn of haar eigen publieke sleutels.

Je Signal-client ontvangt het bericht en kan op basis van de publieke sleutels van je communicatiepartner en jouw eigen geheime privésleutel dezelfde gedeelde encryptiesleutel afleiden, waarmee het bericht kan worden ontsleuteld.

Voor het volgende bericht maakt je Signal-app automatisch een nieuwe set publieke sleutels aan, versleutelt het nieuwe bericht met die sleutels en verstuurt het bericht samen met de nieuwe publieke sleutels naar je communicatiepartner. Tegelijkertijd worden oude sleutels direct verwijderd, zodat ze niet door aanvallers kunnen worden onderschept.

 

Het double-ratchetalgoritme van Signal

 

Terwijl jij en je communicatiepartner nu berichten heen en weer sturen (dit kan ook mediabestanden omvatten), worden twee ratchets voortdurend verschoven zodat de sleutels die voor versleuteling worden gebruikt steeds veranderen en niet kunnen worden hersteld door een aanvaller.

Daarom werd het Signal-protocol in eerste instantie het Axolotl-protocol genoemd. De axolotl is een salamander die bekendstaat om zijn zelfherstellende eigenschappen en, net als een axolotl, heeft het Signal-protocol indrukwekkende zelfherstellende capaciteiten. Zelfs als een aanvaller de sleutel van één bericht zou kraken (wat op zichzelf al vrijwel onmogelijk is), kan hij met die sleutel slechts één bericht lezen; alle andere berichten blijven beschermd door de verschillende sleutels en de voortdurend bewegende ratchets van het algoritme.

Technical details

The description above is a bit of a simplication to get a better understanding of the general principles. The technical details of the double ratchet algorithm are more complex and you can read them in full length at https://signal.org/docs/specifications/doubleratchet/ If you want to look at the code then check out https://github.com/signalapp/libsignal

Here’s a brief summary of the technical key aspects:

The double ratchet algorithm of the Signal protocol uses Key Derivative Functions (KDF) at its core. Basically a KDF takes a secret and random input key and produces a different secret key based on this input.

 

Symmetric-key ratchet

The symmetric-key ratchet uses a chain of these KDFs that creates a new message key for each message and moves one step forward in this chain/ratchet for each message (see graphic below).

 

This ratchet alone provides forward secrecy as an attacker can’t go back in time and derive chain keys and message keys from previous steps. It does not provide post-compromise security though since an attacker could derive any keys in the future from a key they break.

 

Diffie-Hellman Ratchet

This is were the second ratchet, the Diffie-Hellman ratchet, enters the picture. This Diffie-Hellman ratchet puts variation on the orange element labeled as “Constant” in the graphic above and changes it for each step by creating new pairs of private and public keys and performs Diffie-Hellman calculations with these new pairs of keys.

Taken together these two ratchets organize three different chains on each Signal client.
(1) A root chain from which keys for the sending and receiving chains are created.
(2) A sending chain for encrypting and sending messages to another user.
(3) A receiving chain for receiving and decrypting messages from another user.

These chains have to be synchronized among two (or more) users in order to enable the correct encryption and decryption on both sides. In other words: If the users Bob and Alice want to communicate, the sending chain of Bob has to be at the same position as the receiving chain of Alice and the sending chain of Alice has to be synchronized with Bob’s receiving chain.

The whole process of both ratchets at work on one Signal client looks as the graphic below. The Diffie-Hellman ratchet moves constantly and renews Diffie-Hellman keys that provide the input for the ever-moving symmetric-key ratchet that creates new message keys via a Key Derivation Function.

​ 

While the process itself can become quite complex with many messages being sent back and forth it is crucial that the different keys are the same state at both devices and are matched to the correct message in order to decrypt it. The beauty of this design is that it even works if messages are being delivered late or not in the correct order. Since every message key is linked to a certain message even out-of-order messages will be handled correctly since the Signal protocol keeps track of the different keys and only deletes keys if they have been used.

Post-quantumcryptografie

In de sectie over "Sleutelgeneratie en sleuteluitwisselinghebben we besproken hoe eenrichtingsfuncties of andere wiskundige problemen eenvoudig op te lossen zijn in één richting, maar moeilijk in de omgekeerde richting. Het gebruik van deze problemen om veilige sleutels te berekenen vormt een hoeksteen van publieke-sleutelcryptografie, zoals die wordt gebruikt door Signal en veel andere software.

Er is echter één uitdaging. Hoewel zulke eenrichtingsfuncties voor onze traditionele computers moeilijk of vrijwel onmogelijk om te keren zijn, zouden ze voor een nieuw type computer, de quantumcomputer, mogelijk veel eenvoudiger en sneller op te lossen zijn. Quantumcomputers werken fundamenteel anders dan de computers die we nu hebben, en dat zou hen in staat kunnen stellen om de wiskundige problemen waarop publieke-sleutelcryptografie is gebaseerd veel sneller op te lossen. Hoewel zulke quantumcomputers nog niet bestaan, zouden ze in de nabije toekomst wel kunnen ontstaan, waardoor aanvallers mogelijk grote hoeveelheden data kunnen ontsleutelen die met traditionele cryptografie zijn versleuteld.

Signal heeft dit risico zeer serieus genomen en was de eerste grote messenger die al in in September 2023“post-quantum cryptografie” introduceerde in zijn versleutelingstechnologieën. Post-quantum cryptografie bestaat uit algoritmen en technieken die in grote mate bestand worden geacht tegen mogelijke aanvallen door quantumcomputers. Met andere woorden: wat Signal heeft gedaan, is een extra beveiligingslaag toevoegen aan zijn versleuteling die het voor mogelijke quantumcomputers onmogelijk zou maken om Signal’s encryptie te breken. Deze functie is in 2023 snel uitgerold naar alle Signal-clients en in het najaar van 2025 is nieuwe post-quantum cryptografie geïntroduceerd om aanvullende dreigingen af te dekken.

Het is belangrijk om op te merken dat Signal zijn robuuste en goed geteste traditionele encryptie niet heeft vervangen door post-quantum cryptografie. In plaats daarvan heeft het simpelweg een extra quantumveilige encryptielaag bovenop de bestaande beveiliging toegevoegd, waardoor er ook bescherming is als één van de lagen zou falen.

Technical details

If you want to learn more about Signal’s Post Quantum cryptography check out the specifications and the blog post on this topic (https://signal.org/blog/pqxdh/ en https://signal.org/docs/specifications/pqxdh/). Here is a brief technical summary:

To harden the Signal protocol against quantum computer attacks Signal replaced the X3DH key agreement protocol with a post-quantum version called PQXDH („Post-Quantum Extended Diffie-Hellman”). It works very similar to the traditional X3DH approach and still relies on elliptic curves for its calculations. But on top of this PQXDH adds Crystals-Kyber (now known as ML-KEM) as a key encapsulation mechanism (KEM).

What PQXDH protects against is what has been called “harvest now decrypt later” attacks where attackers store encrypted data now and hope to be able to decrypt it in the future with quantum computers.

In October 2025 Signal announced the next step of making its encryption quantum secure by introducing the Sparse Post Quantum Ratchet (SPQR). SPQR upgraded the existing Double Ratchet mechanism into a new Triple Ratchet that included an additional quantum safe approach to guarantee Forward Secrecy and Post-Compromise Security as well.

Signal continues to work in this area and will improve the Signal protocol against future challenges as the field of post quantum cryptography further progresses. You can find two relevant papers to which Signal has contributed hier en hier. We have also reported on the latest developments from the Real World Crypto Symposium 2026 and will continue to post about this topic in our nieuwssectie.

Bescherming van metadata

Tot nu toe hebben we het vooral gehad over de versleuteling van berichten die jij en je vrienden of collega's via Signal naar elkaar sturen. Maar wat Signal op het gebied van privacy en beveiliging echt onderscheidt, is dat het daarnaast ook allerlei metadata versleutelt.

Signal versleutelt niet alleen de inhoud van al je communicatie, zoals berichten, bestanden, spraakberichten en spraak- en videogesprekken. Signal versleutelt ook de volgende informatie die ontstaat wanneer je met anderen communiceert:

  • Informatie over wie met wie communiceert
  • Groepsinformatie, zoals namen en beschrijvingen
  • Informatie over van welke groepen je lid bent
  • Profielnamen en profielfoto's
  • Je contactenlijst
  • Stickers
  • Verhalen (Stories)
  • Reacties

Voor een uitgebreid overzicht van deze bescherming en waarom Signal veiliger is dan welke andere populaire berichtendienst dan ook, bekijk onze vergelijkingstabel.

Uiteindelijk weet Signal slechts twee dingen over zijn gebruikers: of een telefoonnummer bij Signal is geregistreerd (en wanneer dat is gebeurd) en op welke dag dat account voor het laatst verbinding heeft gemaakt met de servers van Signal. Dat is alles. Signal weet niet en kan ook niet weten wie je bent, wat je verzendt en ontvangt of met wie je communiceert. In de volgende secties gaan we dieper in op een aantal van deze onderwerpen en leggen we de technische achtergrond uit.

Privacy van telefoonnummers en gebruikersnamen

Privacy van je telefoonnummer is een belangrijke functie die Signal in februari 2024 heeft geïntroduceerd. Sindsdien verbergt Signal standaard je telefoonnummer voor andere Signal-gebruikers. De enige uitzondering zijn mensen die je telefoonnummer al in de contactenlijst van hun telefoon hebben opgeslagen. Zij blijven je telefoonnummer zien, omdat ze het toch al kennen.

Deze functie is vooral waardevol in groepen, omdat anders alle andere groepsleden je telefoonnummer zouden kunnen zien en dit voor kwaadaardige doeleinden zouden kunnen misbruiken, zoals phishingaanvallen. Als je deze bescherming niet wilt, kun je in de privacy-instellingen van de Signal-app aangeven dat je telefoonnummer weer zichtbaar is voor al je Signal-contacten. Meer informatie hierover vind je op de ondersteuningspagina van Signal.

Contacten je laten bereiken via een gebruikersnaam

Signal heeft gebruikersnamen geïntroduceerd als onderdeel van de functie voor privacy van telefoonnummers, zodat gebruikers op een nieuwe manier met elkaar in contact kunnen komen. Als je anderen de mogelijkheid wilt geven je te bereiken zonder je telefoonnummer te delen, kun je in Signal eenvoudig een gebruikersnaam aanmaken. Die bestaat uit een naam en een nummer en kan er bijvoorbeeld uitzien als `signaluser.03`.Omdat Signal geen doorzoekbare lijst met gebruikersnamen aanbiedt, kunnen alleen mensen die jouw exacte, unieke gebruikersnaam kennen een gesprek met je beginnen. Je kunt je gebruikersnaam rechtstreeks delen of een QR-code maken die anderen kunnen scannen om via je gebruikersnaam contact met je op te nemen.

Het is belangrijk om te weten dat gebruikersnamen in Signal anders werken dan op veel sociale netwerken. In Signal wordt je gebruikersnaam niet in je profiel weergegeven en kunnen mensen met wie je berichten uitwisselt je gebruikersnaam niet zien of vinden, tenzij je die zelf met hen deelt.

Gebruikersnamen zijn daarom eerder een soort korte link waarmee mensen contact met je kunnen opnemen zonder dat je je telefoonnummer hoeft prijs te geven. Je kunt je gebruikersnaam op elk moment wijzigen. Je oude gebruikersnaam wordt dan automatisch verwijderd en losgekoppeld van je profiel.

Technical Note on the Security of Usernames

Zoals Signal heeft aangegeven: “Gebruikersnamen in Signal worden beschermd met een aangepaste Ristretto 25519-hashfunctie en zero-knowledge proofs. Signal kan niet eenvoudig de gebruikersnaam achterhalen of genereren op basis van het telefoonnummer van een Signal-account. Als Signal echter de platte tekst van een gebruikersnaam krijgt waarvan bekend is dat deze in gebruik is, kan het die gebruikersnaam koppelen aan het Signal-account waaraan deze op dat moment is gekoppeld. Zodra een gebruikersnaam is gewijzigd of verwijderd, kan deze echter niet langer aan een Signal-account worden gekoppeld.” (https://signal.org/blog/phone-number-privacy-usernames/)

Bepaal wie je via je telefoonnummer op Signal kan vinden

Met Signal kun je niet alleen je telefoonnummer verbergen in gesprekken. Signal heeft ook een instelling toegevoegd waarmee je kunt bepalen hoe anderen je op Signal kunnen vinden. Ga je naar de privacy-instellingen van Signal, dan kun je instellen dat niemand je op basis van je telefoonnummer op Signal kan vinden. Als je deze optionele privacy-instelling inschakelt, betekent dit dat mensen alleen een gesprek met je kunnen starten als ze jouw exacte, unieke gebruikersnaam kennen. Ze kunnen dan ook niet zien dat je een Signal-account hebt, zelfs niet als ze je telefoonnummer hebben. Mensen met wie je op Signal chat, zien je telefoonnummer bovendien niet op je profielpagina, ook niet als ze je nummer in hun contactenlijst hebben opgeslagen.

Hoe Signal ervoor zorgt dat het je contacten niet kent

Een uitstekend voorbeeld van hoe sterk Signal zich inzet voor de privacy en beveiliging van zijn gebruikers, terwijl het tegelijkertijd de best mogelijke en eenvoudigste gebruikerservaring wil bieden, is de manier waarop Signal met je contacten omgaat. Het belangrijkste is dit: Signal weet niet wie je contacten zijn. Met andere woorden, Signal weet niet wie er in je contactenlijst staan en heeft geen idee met wie je communiceert.

Toch maakt Signal het mogelijk om eenvoudig je vrienden op Signal te vinden en zelfs je contactenlijst te herstellen wanneer je de app opnieuw installeert. Hoe is dat mogelijk als je contactenlijst volledig verborgen blijft voor Signal? Signal maakt dit mogelijk met twee beveiligingsinnovaties: Private Contact Discovery en Secure Value Recovery. Hieronder bespreken we deze twee technieken, leggen we uit hoe ze werken en gaan we kort in op enkele technische details.

Contacten privé vinden – 'Private Contact Discovery'

Wanneer je Signal installeert, wil je waarschijnlijk weten welke van je contacten ook Signal gebruiken, zodat je hen direct via Signal een bericht kunt sturen. Signal maakt dit mogelijk met een zeer innovatieve functie: Private Contact Discovery. Deze functie is speciaal door Signal ontwikkeld en beschikt over twee beveiligingslagen die voorkomen dat Signal informatie over je contacten te weten komt.

Eerst worden de telefoonnummers van je contacten versleuteld als zogenaamde “hashes”. Deze versleuteling alleen biedt echter niet voldoende bescherming, omdat het aantal mogelijke telefoonnummers zeer beperkt is en een aanvaller een hash daardoor relatief eenvoudig zou kunnen kraken. Daarom verwerkt Signal deze versleutelde gegevens uitsluitend in een aparte en speciaal beveiligde omgeving van Intel-processors (een zogenaamde SGX enclaveom te controleren of je contacten ook Signal gebruiken.

De servers van Signal kunnen niet zien wat er binnen deze enclaves gebeurt. Signal heeft bovendien veel moeite gedaan om zich te beschermen tegen mogelijke side-channelaanvallen, onder andere door geheugentoegangspatronen te verbergen.

Signal heeft een gedetailleerde blogpost die dit proces op transparante wijze beschrijft. Hieronder volgt een samenvatting van het essentiële proces uit deze blogpost:

  1. Er wordt een contact discovery-service uitgevoerd in een beveiligde SGX enclave.
  2. Clients die contactdetectie willen uitvoeren, onderhandelen via het netwerk een beveiligde verbinding die helemaal door het externe besturingssysteem heen tot aan de enclave loopt.
  3. Clients voeren remote attestation uit om te controleren dat de code die in de enclave draait dezelfde is als de verwachte, gepubliceerde opensourcecode.
  4. Clients sturen de versleutelde identificatiegegevens uit hun adresboek naar de enclave.
  5. De enclave zoekt de contacten van een client op in de verzameling van alle geregistreerde gebruikers en versleutelt de resultaten vervolgens terug naar de client.
    Omdat de enclave bevestigt welke software er draait en omdat de externe server en het besturingssysteem geen zicht hebben op de enclave, komt de dienst niets te weten over de inhoud van de aanvraag van de client. Het is bijna alsof de client de query lokaal op het eigen apparaat uitvoert.

Met andere woorden: je contactenlijst wordt versleuteld verwerkt in een geïsoleerd en beveiligd onderdeel van de server van Signal, dat zelfs niet toegankelijk is voor mensen met fysieke toegang tot de servers. Hierdoor kun je snel ontdekken welke van je telefooncontacten Signal al gebruiken, zonder dat dit ten koste gaat van beveiliging en privacy. En als dat nog niet genoeg voor je is, kun je Signal ook gebruiken zonder de app überhaupt toegang te geven tot je contacten.

Je Signal-contacten herstellen met “Secure Value Recovery”

Lange tijd had Signal geen interesse in het maken van back-ups van je contactenlijst. Signal vertrouwde in het verleden immers uitsluitend op telefoonnummers als contactmethode, waardoor je contacten altijd in het adresboek van je smartphone waren opgeslagen. Dit leidde echter tot de kritiek dat je telefoonnummer werd blootgesteld aan andere gebruikers.

Zoals we hebben gezien, reageerde Signal hierop door in 2023 privacy voor telefoonnummers en gebruikersnamen te introduceren . Hierdoor kun je contact opnemen met gebruikers op basis van hun gebruikersnaam, terwijl telefoonnummers verborgen blijven. Dit creëert echter een probleem: deze contacten op basis van gebruikersnamen worden niet opgeslagen in het adresboek van je telefoon. Signal moet daarom nu zelf zorgen voor een back-up van deze contacten (bijvoorbeeld als je telefoon per ongeluk wordt vernietigd en je je contacten wilt herstellen

Hiervoor introduceerde Signal het principe van Secure Value Recovery. Zoals Signal-oprichter Moxie Marlinspike uitlegde:

Het doel van dit werk [aan Secure Value Recovery] is om adressering mogelijk te maken die niet gebaseerd is op telefoonnummers. Op dat moment zal Signal je contacten moeten beheren in plaats van je adresboek.

Zo werkt het: als ik dit toestaan, maakt Signal een back-up van mijn contacten met behulp van Secure Value Recovery en gebruikt het twee beveiligingslagen zodat Signal geen toegang heeft tot mijn contactgegevens. Ten eerste worden de gegevens versleuteld met een pincode die de Signal-gebruiker zelf kan kiezen (minimaal vier cijfers, maar deze kan ook langer zijn en letters en speciale tekens bevatten om de beveiliging te verbeteren). Ten tweede vindt de versleuteling plaats in een beveiligde SGX-enclave die we al zijn tegengekomen bij Private Contact Discovery.

Dit uitstekende Duitse artikel op Golem beschrijft dit proces in detail:

Bij SVR [Secure Value Recovery] wordt de SGX enclave gebruikt om de sleutels te beheren die worden gebruikt om contactenlijsten te versleutelen. Voor elke Signal-installatie wordt een willekeurige 256-bit sleutel opgeslagen samen met een hash van de Signal-pincode. De sleutel kan uit de SGX enclave worden opgehaald door de hash van de Signal-pincode te presenteren. Samen met de Signal-pincode wordt vervolgens de sleutel gegenereerd die wordt gebruikt om de contactenlijst te versleutelen. Op deze manier blijven contacten behouden, zelfs als de smartphone verloren gaat, mits de juiste Signal-pincode wordt ingevoerd.

Tegelijkertijd biedt deze technologie bescherming tegen brute-force aanvallen, omdat de sleutel niet alleen uit de Signal-pincode kan worden afgeleid, aangezien het sleutelgedeelte uit de SGX enclave ontbreekt.

Samenvatting

Beide mogelijke scenario's waarin Signal toegang tot je contactenlijst nodig heeft, zijn zeer goed beveiligd, waardoor Signal je contacten nooit ziet. In scenario 1 (Signal-contacten vinden) gebeurt dit via Private Contact Discovery met hashes en SGX. In scenario 2 (Signal-contacten herstellen, inclusief gebruikersnamen) gebeurt dit via Secure Value Recovery, beveiligd met je pincode en SGX. Signal heeft dus nooit toegang tot je contacten..

Als je deze beveiligde processen niet wilt toestaan, heb je ook de mogelijkheid om ze in Signal uit te schakelen. Voor scenario 1 kun je de Signal-app op besturingssysteemniveau de toegang tot je contacten ontzeggen. Voor scenario 2 kun je de Signal-pincode uitschakelen via: Signal-instellingen – Account – Geavanceerde pincode-instellingen – Pincode uitschakelen.

Het uitschakelen hiervan leidt echter, zoals eerder genoemd, ook tot minder gebruiksgemak. Je zult niet weten welke van je contacten via Signal bereikbaar zijn en je zult deze contacten niet kunnen herstellen als je telefoon beschadigd raakt. Daarnaast kun je geen gebruikmaken van de extra beveiliging van Signal's registratieslot.

Sealed Sender

We hebben al geleerd dat Signal niet alleen de inhoud van je berichten beschermt met end-to-endversleuteling, maar ook zoveel mogelijk aanvullende gegevens (zogenaamde “metadata”), zoals informatie over wie met wie communiceert, groepen en groepslidmaatschappen, profielnamen en profielfoto's en nog veel meer. In deze sectie bekijken we van dichterbij hoe Signal de informatie over “wie met wie communiceert” daadwerkelijk beschermt.

Op het eerste gezicht klinkt dit bijna tegenstrijdig, want als je via Signal een bericht naar een vriend stuurt, moet de Signal-dienst op de een of andere manier weten aan welke gebruiker het bericht moet worden afgeleverd. Dat klopt inderdaad. Net zoals wanneer je een brief naar een vriend verstuurt via de gewone post, je het adres van de ontvanger op de envelop moet schrijven zodat de post weet waar de brief moet worden bezorgd. Maar je hoeft niet je eigen adres en naam op de buitenkant van de envelop te schrijven. Die informatie is niet nodig om een brief af te leveren. Het is voldoende om je naam in de brief zelf te zetten, binnen in de envelop, zodat je vriend weet wie de brief heeft geschreven.

De “sealed sender”-functie van Signal, die in 2018 werd geïntroduceerd, werkt op precies dezelfde manier.

Zo ziet het proces eruit:

  1. Versleutel het bericht zoals gebruikelijk met het Signal Protocol.
  2. Voeg een afzendercertificaat toe (bewijs voor de ontvanger dat jij de afzender bent) in de envelop.
  3. Versleutel de envelop voor de ontvanger.
  4. Overhandig de versleutelde envelop aan de Signal-dienst.

Achter de schermen spelen nog enkele technische details een rol. Een daarvan is dat je, om een bericht via “sealed sender” naar een ontvanger te kunnen sturen, de 96-bits delivery token van die persoon moet kennen. Deze delivery token wordt alleen gedeeld met contacten waarmee een gebruiker eerder al heeft gechat. Dit helpt spam te voorkomen, omdat het alleen “sealed sender”-berichten toestaat van bestaande contacten. In de instellingen van Signal is er echter een optie waarmee je ook “sealed sender”-berichten van iedereen kunt ontvangen. Wees voorzichtig met deze instelling, omdat dit het aantal spamberichten kan verhogen. Je kunt de andere optie om veilig in te schakelen wel gebruiken: deze toont een statuspictogram dat aangeeft dat een bericht via “sealed sender” is verzonden (zichtbaar wanneer je op een bericht klikt en “Info” selecteert).

Je kunt meer lezen over de “sealed sender”-functie van Signal in de officiële blogpost..

Technische details

Als je geïnteresseerd bent in de technische diepgang hiervan: er bestaat een randgeval waarbij een kwaadwillende Signal-server zou kunnen voorkomen dat je een “sealed sender”-bericht verstuurt door een 401-foutmelding terug te geven op je verzoek. Hierdoor zou je bericht op de traditionele manier worden verzonden, waarbij de afzender zichtbaar wordt. Je kunt de discussie over deze situatie op GitHub lezen, waar de ontwikkelaars van Signal hun redenering erachter uitleggen. Het risico wordt verder beperkt door de sealed sender-indicatoren waarmee gebruikers kunnen controleren of de functie is gebruikt.

Deel je weleens een link met je vrienden, familie of collega's? Bijvoorbeeld naar een website, online document, fotoalbum of online vergadering? Wees dan voorzichtig wanneer je dit via een andere app dan Signal doet. Sommige apps kunnen namelijk zien en bijhouden welke links je deelt en wanneer je ze deelt, alleen al via linkvoorvertoningen.

Eerst een korte uitleg: wat zijn linkvoorvertoningen? Linkvoorvertoningen zijn kleine previews van websites die je ziet wanneer je een link met iemand deelt. In plaats van alleen de URL te zien, krijgen jij en de ontvanger ook een miniatuurafbeelding, de titel en een samenvatting van de website te zien. Zulke linkvoorvertoningen maken links informatiever en visueel aantrekkelijker.

Linkvoorvertoningen in Signal

Wat veel mensen niet beseffen, is dat sommige apps kunnen zien welke links worden gedeeld, wie ze deelt en wanneer dit gebeurt — allemaal via linkvoorvertoningen. Dit is zelfs mogelijk als de app end-to-endversleuteling gebruikt. Eerst het goede nieuws: Signal kan niets zien.

In Signal worden linkvoorvertoningen volledig lokaal op je apparaat gegenereerd (je telefoon, computer, enzovoort). De app detecteert een URL in het tekstveld van het bericht via “https://” in de tekst en haalt de HTML van de website op vanaf je eigen apparaat. Met behulp van metatags zoals titel, beschrijving en afbeeldingsbestand genereert de app een linkvoorvertoning. Deze wordt vervolgens end-to-endversleuteld en samen met je bericht naar de ontvanger gestuurd. Hierdoor kan Signal niet zien of bijhouden welke links je deelt.

De website die je deelt, kan wel zien dat er een verzoek wordt gedaan om de HTML en afbeeldingsbestanden te downloaden. Maar omdat je de website waarschijnlijk al hebt bezocht en vertrouwt, zijn de privacy- en beveiligingsrisico’s relatief laag. Toch was dit voldoende reden voor Signal om linkvoorvertoningen optioneel te maken. Je kunt linkvoorvertoningen in de instellingen van Signal in- of uitschakelen. Als je ze uitschakelt, verstuur je alleen de URL als gewone tekst.

GIF search in Signal

Vaak zegt een afbeelding meer dan duizend woorden, en dat is waarschijnlijk een van de redenen waarom mensen graag kleine afbeeldingen en GIF's versturen in plaats van alleen tekstberichten. Signal begrijpt dit en heeft vaak aangegeven dat privacy niet betekent dat communicatie beperkt of saai moet zijn. Communicatie moet expressief en leuk zijn, daarom biedt Signal alle leuke functies die mensen kennen van moderne berichtenapps, zoals emoji's, stickers en bewegende GIF's. Maar er is één groot verschil: zoals alles binnen Signal zijn ook deze kleine functies ontwikkeld met het hoogste niveau van beveiliging en privacy in gedachten.

Voor een veilig en privé GIF-zoeken heeft Signal een slimme oplossing bedacht. Stel dat je je vriend wilt laten zien hoe blij je bent en hem een GIF van een vrolijk gezicht wilt sturen. Je opent de GIF-zoekfunctie in het berichtenvenster van Signal en zoekt naar “happy”. In veel andere onveilige berichtenapps wordt je zoekopdracht gezien door de GIF-aanbieder (zoals GIPHY) en ook door de berichtenapp zelf. Signal voorkomt dit privacyprobleem door deze belangrijke metadata te verbergen. Wanneer je in Signal naar een GIF zoekt, weet de Signal-dienst dat je naar een GIF zoekt, maar niet waarnaar je zoekt of welke GIF je selecteert. De GIF-aanbieder ziet de zoekterm, maar weet niet wie je bent.

De technische details hierachter zijn vrij eenvoudig. Zo werkt het proces:

  1. De Signal-app opent een netwerkverbinding met de Signal-dienst.
  2. De Signal-dienst opent een netwerkverbinding met de GIF-aanbieder en stuurt het verkeer alleen door tussen de app en GIPHY.
  3. De Signal-app voert een versleutelde TLS-verbinding uit via deze bestaande netwerkverbinding, helemaal tot aan het eindpunt van de GIF-aanbieder.
  4. De GIF die je hebt gedownload, wordt vervolgens end-to-endversleuteld verzonden, net zoals een normaal bericht naar je Signal-contact.

Omdat de servers van Signal als tussenpersoon fungeren voor de GIF-zoekopdrachten en al het verkeer versleuteld is, kunnen noch Signal noch de GIF-aanbieder privégegevens verzamelen. Signal gaat zelfs nog een stap verder door het netwerkverkeer te verhullen met een proces dat “padding” wordt genoemd. Dit voorkomt mogelijke aanvallen waarbij iemand naar de grootte van de verzonden bestanden kijkt. Als je geïnteresseerd bent, bekijk dan de technische details hieronder of lees de blogpost.

Technische details over padding

Technische details over padding

Padding is a common technique in cryptography that adds random data to the message that needs to be transferred in order to make it harder for attackers to break the encryption. For the GIF search Signal uses this technique slightly different.

Consider that a malicious actor at the Signal server could watch the encrypted traffic between you and GIPHY. He couldn’t say directly what you are searching for or which GIF you’re downloading because the traffic is encrypted. But still they could see how much data you’re downloading from GIPHY and since all GIFs have different file sizes he might get a very good understanding of what GIF you have actually downloaded. Put very simply: Let’s say the attacker sees that you’re downloading some encrypted data that has the exact size of 1.46829 megabytes from GIPHY. They could then search the database of GIPHY and if they find just one file with that exact filesize they would know that this GIF was downloaded and sent by you.

To obsufcate the exact file size your Signal app will download the GIF file in separate blocks which are overlapping. In other words, your Signal client will download parts of the GIF file multiple times and will keep track which parts are which and which ones have been downloaded already.

From these separate blocks your local Signal app will then generate the GIF file again, encrypt it and send it to your friend. But for an attacker observing the traffic and looking for file sizes this process will make it very very hard to guess which GIF you’ve downloaded. Because while the filesize of the GIF would still be 1.46829 megabytes your Signal app has actually downloaded 1.87421 megabytes and just dropped the unnecessary duplicate bytes.

This is a very good demonstration of how much Signal cares about privacy and security and implements even the smallest features in the best-protected way so they are hardened against all possible attacks.

Andere beveiligingsfuncties

Signal Back-ups

Signal offers two ways to store and backup your data.

  1. You can either use Signal Secure Backups where your data is stored end-to-end encrypted on a remote cloud storage.
  2. You can create an encrypted local backup on your phone and store it wherever you want. At the moment this option is only available on Signal Android but Signal is working on this feature for Signal iOS and Signal Desktop as well.

These backups are encrypted and secured with a 64 character recovery key that is needed in order to decrypt and restore a backup (earlier local backups in Signal Android had a different key but in 2026 Signal has begun to move to one unified key both for local and remote backups).

The key is only stored on your device so it is important to keep it safe. Since Signal doesn’t know your key and has no access to your backups you won’t be able to restore your data if you loose your recovery key. You can view and change this recovery key in your Signal settings.

Veiligheidsnummers

Zoals ondersteuningspagina van Signal puts it: “Each Signal one-to-one chat has a unique safety number that allows you to verify the security of your messages and calls with specific contacts.” In other words, by using and verifying a safety number you can make sure that you are actually chatting with the person you think you’re chatting with and that no one is eavesdropping on this connection.

The safety number itself is a 60-digit number that is derived from the encryption keys that you and your contact are using. To verify the safety number securely you have to use a different channel. The easiest way is to compare the safety number by scanning your contact’s QR code (ideally in person).

You can also visually or audibly compare the numeric code, or use the share icon to copy it to your clipboard to use on another channel. If the safety number is identical then you can be sure that you are communicating with the right person.

Once you are sure that you are actually talking to the right person you can mark the safety number as verified in Signal, by clicking on the contact, then “View safety number” and then “Mark as verified”. A checkmark will appear in the chat header next to your contact’s name when the safety number is marked as verified.

Signal lets you know in the chat window when a safety number with a contact has changed. This allows you to check the privacy of your communication with your contact.

The most common scenarios where a safety number notice is displayed are when a contact switches to a new phone or re-installs Signal (note that these actions don’t always result in a safety number change, for details see this article). However, if a safety number changes frequently or unexpectedly it may be a sign that something is wrong and you should check with your contact on another trusted channel if everything is correct.

Technical details

Technical details on the safety number

The safety number of a conversation is essentially a nicely formated hash of the identity keys of the two communications partners. Or as the specification for Signal’s X3DH Key Agreement Protocol defines it (where AD means “associated data” that contains identity information for both parties).

AD = Encode(IKA) || Encode(IKB)

As you can see the safety number is a function that creates a combined and easy-to-read hash of the two identity keys of the communication partners. Since these identity keys change every time a Signal user gets a new phone or reinstalls the app (depending on how this is done, see this article) the safety number also changes. You can learn more about the technical details in Signal’s official blog post on safety numbers.

Signal PIN

The Signal PIN is an important security feature of Signal that many users know from the small message that regularly pops up in the app to remind users of their PIN. The first important thing to know here is that the Signal PIN is not the same as your phone’s PIN that you use to unlock your phone. Instead the Signal PIN is a numeric or alphanumeric code used to help you recover your profile, settings, contacts, and block list if you ever lose or switch devices. But it also is a part of other security features as well.

First and foremost the Signal PIN was introduced for Secure Value Recovery which keeps your contacts unknown to Signal servers. As we have seen the PIN is used in a two-layer security scheme: Firstly, your contact list is encrypted with a PIN that you can choose and that remains unknown to Signal. Secondly, your contact list is encrypted with an additional key in a secure SGX enclave.

Additionally your Signal PIN is also used for enabling a registration lock as discussed in the next section.

The Signal PIN must be at least 4 digits long but for a higher level of security a longer PIN (that also includes letters and special characters) is recommended. It is also vital that you don’t share your Signal PIN with anybody, especially if you receive fake phishing messages in Signal that might ask for it.

If you don’t want to use the Signal PIN you can deactivate this feature in: Signal-instellingen – Account – Geavanceerde pincode-instellingen – Pincode uitschakelen. However, disabling this also leads to less convenience as mentioned before and you won’t be able to restore your contact list if your phone is damaged or use the registration lock. You can also disable the PIN reminders in Signal if you’re sure that you won’t forget your PIN (ideally you store it in a secure password manager) in Signal Settings – Account – PIN reminders.

You can also find more information about Signal PIN at this officiële ondersteuningspagina.

Registratievergrendeling

Registration lock is a very useful security feature in Signal that builds on Signal PIN. It protects your account from being taken over by an attacker if the attackers gains access to your phone number.

If you’ve set a Signal PIN you can activate this feature in Signal Settings – Account. If you have the registration lock enabled you will need to enter your Signal PIN if you want to register a new Signal account with your phone number again.

If you forget your PIN you will need to wait 7 days until you can re-register with your phone number again. After 7 days a new PIN can be created and you can register again. The old PIN and information associated with it (your contact list and profile) are no longer available.

Let’s look at the feature more closely by going through a quick example: Imagine that you’ve lost your phone and need to re-register at Signal with your old phone number. To do so you can either provide your Signal PIN to prove that you actually have been the owner of the Signal account associated with your phone number. Or if you don’t know your Signal PIN anymore you still can re-register. But in that case you will have to wait for 7 days and you will have to create a new account from scratch (without your old contact list and profile information).

Now imagine the same example from an attacker’s perspective. Imagine an attacker tries to register a Signal account with your phone number to take over your Signal account. Imagine they’ve tricked you to send them the SMS verification code (via a phishing message) and now they try to register with your phone number. If registration lock is activated Signal will ask the attacker for your Signal PIN. Since the attacker doesn’t have that information they can’t register your number.

But since they had the correct verification code you will be un-registered as well and now you have 7 days to register again. Only if you don’t re-register in these 7 days (which you normally would, because you would instantly see in the app that you’ve been de-registered) the attacker could take over your account as a fresh and empty account (with a new verification code that will be sent to the phone number).You can find more details on how the registration lock works to protect against such phishing attempts in our article on phishing attempts on Signal.

The usefulness of this feature became apparent in summer 2022 after Twilio, the external service providers that sends Signal’s SMS verification messages, got hacked and the attackers tried to gain access to Signal accounts by accessing these verification messages. As Signal stated in the report after this attack on Twilio, all users with enable registration locks were protected against these attacks. And Signal advised its users: “To best protect your account, we strongly recommend that you enable registration lock in the app’s Settings. We created this feature to protect users against threats like the Twilio attack.

Note that the registration lock feature is not available when you have disabled Signal’s PIN feature. You can find more details about the registration lock feature in our article on phishing attacks, on ondersteuningspagina van Signal en deze officiële blogpost..

Omzeiling van censuur

Signal is censored in some countries because the messenger enables secure and private communication through its strong end-to-end encryption. Authoritarian governments see this as a threat since they cannot monitor or control the data traffic. This censorship is not aimed at illegal content but rather at the very principle of free and protected communication.

Censorship circumvention is a technique that allows users to bypass these restrictions. Specifically, when Signal is blocked in a country, the app can use alternative routes to still connect to the Signal servers. You can then activate censorship circumvention in Signal settings – Privacy.

If the app finds a successful unblocked alternative route, Signal will function as usual. If not, a proxy server can be set manually. You can find out more information on Signal’s official support page or in this blog post. If you want to help people in authoritarian states you can learn more about how to set up and share a Signal proxy on this github page.

You can also find out more in this article.

Doorgeschakelde gesprekken

If you are having an audio or video call with a communication partner and you want to hide your IP address from them you can activate the option “Always relay calls” in Signal settings – Privacy – Advanced. This will relay the call through Signal servers so your communication partner will only see the IP address of Signal’s servers. Note that this can significantly decrease the audio or video quality of your calls and you should enable this feature only if needed.

Schermvergrendeling en schermbeveiliging

“Screen lock” and “screen security” are two small security features of Signal that have a similar name but do different things. Screen lock adds another security layer to Signal by requiring the authentication mechanism that you use to unlock your phone (such as you phone’s pin, fingerprint, FaceID, …) when opening Signal.

You can enable the feature in Signal Settings – Privacy. You can also set a screen lock timer that indicates when the screen lock will be activated. Android users can also manually activate the screen lock by swiping down from the top of their screen.

You can find out more about this feature on Signal’s official support page.

Meekijkpreventie prevents Signal previews from appearing in the app switcher on your phone and protects against screenshots as far as possible. The feature looks differently on all three platforms that Signal supports (Android, iOS, Desktop). In Android you can activate the feature in Signal Settings – Privacy and will also prevent screenshots of Signal on your own Android device. In iOS the setting can be found in Signal Settings – Hide Screen in App Switcher and will hide the Signal window content in the app switcher.

For Windows Signal has introduced a dedicated screen security feature in 2025 to protect against automatic screenshots by Microsoft Recall as described in this blog post. You can find this setting in Signal Settings – Privacy (Windows only).

More general information on screen security can be found on Signal’s official support page.

Verdwijnende berichten

Disappearing messages is a very straightforward feature of Signal and does what you would expect: You can set a default timer for all you chats or separate timers for single chats. If a message is older than the timer you have set the message will disappear from your devices and that of your communication partners after the timer has elapsed.

Note that this feature is not intended for situations where your contact is your adversary. After all, if someone who receives a disappearing message and really wants a record of it, they can always use another camera to take a photo of the screen before the message disappears or copy the message manually.

You can set a default timer for all your chats in Signal Settings – Privacy – Disappearing Messages or for single or group chat (and also the Note to Self chat) in the chat settings. The timer can range from anything between 1 second to 4 weeks.

There are three specifics about disappearing messages that you should know and that are also stated on Signal’s official support page:

  • Disappearing messages can be managed by anyone in the chat.
  • The setting applies to any new messaging after the timer has been set or modified.
  • Changes to the timer will sync with your linked devices.

For a disappearing message that you send the timer starts right after you’ve sent it. For a disappearing message that you receive, the timer starts after you’ve read it. More information on disappearing messages and how to manage them can be found on Signal’s official support page. You can also read Signal’s announcement of the feature from 2021.

Media voor eenmalige weergave

Note that this feature, similar to disappearing messages, is not a “real” security feature that cannot protect you from an malicious recipient that wants to record the view-once image or video nevertheless by making a screenshot or using an external camera.

If you send a view-once image/video you won’t be able to open the message anymore after it’s been sent. Instead the message will be replaced with a view-once media icon. The photo or video also won’t be stored in your Signal conversation history.

If you receive a view-once image/video you will only be able to view the media item once. And if you don’t open the message for 45 days it will be deleted automatically as well.
You can find more information about Signal’s view-once media feature on the officiële ondersteuningspagina or in this officiële blogpost..

Incognito toetsenbord

When you type in messages Signal uses the existing keyboard of your OS. On some Android devices, you can turn on a security feature called “Incognito Keyboard” to enable an optional keyboard privacy flag that is provided by the Android operating system. After applying this setting everything you’re typing in Signal should not become part of your typing history and personalized language model (used for autocomplete or suggestions).

Please note that this setting is a best effort and not a guarantee and that neither Signal nor Android can fully guarantee that this setting will be respected by your Input Method Editor (IME).

You can activate this feature in Signal Settings – Privacy.

Conclusie

As this long list has shown security and privacy are really at the core of everything that Signal does. Whether it’s high-level protection through secure end-to-end encryption and post-quantum cryptography, hiding and securing all kinds of sensible meta data or fine-grained and thought-through security features that let you choose your own personal level of security. On each of these levels Signal goes to great lengths to collect as little data as necessary and to make the app as secure as possible. Of course this is a process that never ends so we can expect additional features and updates in the future as the challenges to free communication and privacy constantly evolve.

If you want to support Signal’s pioneering work on digital security and privacy consider donating to the non-profit foundation that builds and runs Signal. You can donate directly in your Signal app by going to Signal Settings – Donate or you can visit https://signal.org/donate/ 

Further Resources

If you’re interested in how Signal’s cryptography works you might also be interested in the following resources:

How Signal Instant Messaging Protocol Works – Computerphile

Double Ratchet Messaging Encryption – Computerphile

Reviewing the Cryptography Used by Signal – Dhole Moments 

Signal App Logo

Deel privé via Signal:

of deel met minder privacy:

Laatste nieuws.