How Trail of Bits helps verify... Note

How Trail of Bits helps verify the integrity of your Signal chats

Signal's new Automatic Key Verification feature enhances chat security by making it harder for compromised servers to deceive users. Previously, users had to manually verify safety numbers with contacts to ensure they had the correct public key. This new system offers an alternative, validating chat security without direct comparison. It functions as a form of key transparency, creating a unified view of public keys linked to phone numbers. The Signal app periodically checks if its stored keys match the global map. If discrepancies are found, a warning appears to the user. External auditors are crucial for this system's trustworthiness. Trail of Bits operates one such auditor, independently verifying the global consistency of the user-to-public-key mapping. Their auditor builds a Merkle tree of this map and periodically signs its head. Clients require signatures from multiple auditors, including Signal's, Cloudflare's, and Trail of Bits', to trust the presented keys. When enabled, Signal clients fetch Merkle tree heads and check for valid auditor signatures within a seven-day window. A malicious server can only maintain a false view for up to a week before warnings are displayed. Trail of Bits developed its auditor from scratch for independent verification, and its code is open source. Users can enable Automatic Key Verification in Signal settings and use it to verify counterparties in supported chats. If automatic verification fails, users are advised to revert to manual safety number comparison. This initiative is presented as a contribution to free and private communication by Trail of Bits.