Signal has introduced a feature called automatic key verification, giving users a new way to confirm that nobody has secretly interfered with their encrypted chats.
“Signal is always end-to-end encrypted, and automatic key verification provides an additional, streamlined way to confirm that there’s no unexpected party between you and the other ‘end’ of an end-to-end encrypted session,” Signal engineer Katherine Yen wrote in a blog post.
“It works through a system of verifications performed by you, your Signal connections, and third-party auditors that together provide the same assurance as manually verifying safety numbers. Unlike safety numbers, these verifications are done independently and do not require an in-person meeting or a secondary communication channel,” Yen added.
Yen explained that the system helps ensure a phone number or username remains associated with a consistent encryption key across Signal’s network, guarding against a scenario in which an attacker manipulates Signal’s key directory and substitutes a different key without the account owner’s knowledge.
How it works
To automatically verify a contact, users can open the person’s profile, tap “View Safety Number,” and then select “Verify automatically.” If verification succeeds, Signal displays a green checkmark alongside the message “Encryption verified.”
The feature is based on a cryptographic system known as key transparency. When someone registers, changes their phone number or username, or re-creates their account, the resulting changes are incorporated into Signal’s key-transparency system.
Two outside organizations, Cloudflare and Trail of Bits, independently audit the system. Their involvement is designed to make attempts to present inconsistent versions of the key records to different users detectable.
The information available to the auditors is cryptographically protected, meaning they do not receive users’ phone numbers or usernames in plaintext.
Key transparency helps establish that Signal users are seeing a consistent record of which encryption keys belong to which accounts. It does not, however, establish the real-world identity of the person controlling an account or protect against someone who has completely taken over a legitimate account.
Automatic verification also currently depends on Signal having the contact’s phone number. It may therefore be unavailable when a conversation was started using only a username. Users can still manually verify Safety Numbers when automatic verification is unavailable.
Those who do not want to extend trust to Signal and the independent auditors can disable automatic key verification under Signal’s Privacy > Advanced settings and continue relying on manual Safety Number verification.
The risk it addresses
Signal’s end-to-end encryption depends on the app obtaining the recipient’s public key material from Signal’s servers, which act as a directory for the network.
If an attacker gained control of that directory, or a privileged insider abused their access, they could swap in a different key for a target’s account and potentially insert themselves into the conversation unnoticed.
Signal frames this as an unlikely scenario, one that would require either breaking into major cloud infrastructure or a privileged insider deliberately going after a specific account.
Signal has been tightening security around its app lately. In May, it added new protections for users after Russian state-sponsored hackers targeted high-profile accounts with fake “Signal Support” alerts.
