Cloudflare and Trail of Bits Audit Signal’s End-to-End Encryption
News
Signal has introduced automatic key verification, addressing a significant gap in its end-to-end encryption system, as described by software engineer Katherine Yen in a recent post. This feature ensures the global consistency between phone numbers/usernames and public keys, leveraging a tamper-evident ledger and independent auditors for each entry.
The Challenge: Verifying Identity
The problem lies in verifying that you are talking to the right person, even with encryption. Prior to this update, users relied on manual safety number comparisons in coffee shops or other secure channels.
Signal’s Solution
Signal’s solution involves two independent auditors, Cloudflare and Trail of Bits, who each sign the ledger separately. This ensures no single party can manipulate the log for different users, maintaining trust and transparency.
How It Works:
- Audit Process: Cloudflare audits batches of updates from Signal’s log, verifying their consistency with previous records through cryptographic checks.
- Signature: After verification, Cloudflare signs the update, which is then passed to Signal users.
- User Confirmation: Users can confirm that they are seeing the same log as everyone else and verify keys for themselves and contacts.
Key Points:
- Privacy: Auditors only work with cryptographic proofs, never accessing personal data like phone numbers or message contents.
- Transparency: The system ensures no single point of control over the audit process.
- Rust and Workers: Cloudflare built this system in Rust on its Workers platform, utilizing Meta’s open-source key directory library for append-only verification.