Key Takeaways
- 安全码验证防中间人攻击 is the critical step most E2EE users skip — verifying that you are encrypting to the right person
- End-to-end encryption protects against server-side eavesdropping but is vulnerable to Man-in-the-Middle (MITM) attacks without verification
- Safety numbers (also called security codes or key fingerprints) are cryptographic hashes of your public identity keys
- Verification must happen out-of-band — compare codes in person, via voice call, or through a trusted secondary channel
- 68 Messenger provides QR code scanning, numeric code comparison, and automatic key change notifications for robust 安全码验证防中间人攻击
- Most high-profile E2EE compromises in history were MITM attacks, not encryption breaks
The Encryption Paradox: Why E2EE Alone Is Not Enough
安全码验证防中间人攻击 is the missing link in most E2EE deployments. Here is a scenario that keeps security engineers awake at night. You open your encrypted chat app, see the reassuring padlock icon, and send a message containing your bank account details. The encryption is working. The message is scrambled. Nobody in between can read it. But what if the person you are encrypting to is not who you think they are? This is the fundamental problem that 安全码验证防中间人攻击 solves.
Imagine you are standing in a crowded room. You need to pass a secret note to your friend across the room. You write the note, put it in a locked box, and hand it to a stranger to deliver. The stranger cannot open the box — that is encryption. But what if the stranger hands the box to an impostor who also has a key? The impostor opens your box, reads the note, locks it again, and passes it to your real friend. Neither you nor your friend ever realize the note was intercepted. That is a Man-in-the-Middle attack.
E2EE prevents the server from reading your messages. It does not prevent someone from impersonating your contact. The padlock icon only means the connection is encrypted. It does not mean the connection is authenticated. 安全码验证防中间人攻击 is the authentication step — the process of confirming that the public key you are encrypting to genuinely belongs to the person you intend to communicate with.

How Safety Numbers Work: A Technical Primer
Every E2EE user has a pair of cryptographic keys: a private key that never leaves their device and a public key that is shared with contacts. When you message someone, your app encrypts the message using their public key. Only their private key can decrypt it. This is elegant and secure — provided the public key is genuine.
A safety number (also called a security code, verification code, or key fingerprint) is a short, human-readable representation of the combined public identity keys of both parties in a conversation. It is typically displayed as:
- A string of 60 digits (Signal-style)
- A 12-word mnemonic phrase
- A QR code that encodes the full key fingerprint
- A 40-digit hexadecimal string
The mathematical property behind safety numbers is collision resistance. Finding two different public keys that produce the same safety number is computationally infeasible. This means that if you and your contact see the same safety number, you can be cryptographically certain that you have each other’s genuine public keys. No MITM attack can produce matching safety numbers with different keys. This is the foundation of 安全码验证防中间人攻击.
When and Why MITM Attacks Happen
MITM attacks against encrypted chat are not theoretical. They happen in the real world, and they happen more often than most people think. Here are the most common scenarios:
1. Compromised or Malicious Servers
If the chat server is compromised or operated by a malicious actor, it can substitute public keys during the key exchange process. When Alice asks the server for Bob’s public key, the server returns the attacker’s public key instead. Alice encrypts to the attacker, the attacker decrypts and re-encrypts to Bob. Neither party notices anything unusual. This is why 安全码验证防中间人攻击 must happen outside the app’s normal communication channel.
2. Network-Level Interception
On compromised networks — public WiFi, corporate proxies, ISP-level surveillance — an attacker can intercept the TLS connection between the app and the server. If the attacker can present a valid TLS certificate (which happens through compromised certificate authorities, corporate MITM boxes, or government-mandated interception), they can modify key exchange messages in transit.
3. Supply Chain Attacks
If a user downloads a modified version of the chat app from an unofficial source, the app itself may contain backdoored key generation routines. The app generates keys that the attacker already knows, making all subsequent encryption meaningless. 安全码验证防中间人攻击 cannot protect against a compromised app, but it can detect that the other party is using a compromised app if their key changes unexpectedly.
4. SIM Swap and Account Takeover
An attacker who takes over a user’s phone number through SIM swap can re-register the account on a new device with new keys. E2EE apps typically notify contacts of key changes, but many users ignore these warnings. Without safety number verification, the attacker can seamlessly impersonate the victim.

Platform Comparison: 安全码验证防中间人攻击 Features
| Platform | Safety Number Format | Verification Methods | Key Change Alerts | TOFU Policy |
|---|---|---|---|---|
| Signal | 60-digit numeric | QR code, manual compare | Yes, per-conversation | Trust on First Use |
| 60-digit numeric + QR | QR code, manual compare | Optional notification | TOFU with optional verify | |
| Telegram | Image pattern (Secret Chats) | Visual pattern comparison | No (cloud chats not E2EE) | N/A |
| Threema | 8-digit ID + QR | QR code, ID comparison | Yes | Explicit trust levels |
| 68 Messenger | 12-word mnemonic + QR + numeric | QR scan, NFC bump, manual compare | Yes, mandatory notification | TOFU with mandatory re-verify |
68 Messenger distinguishes itself through three key design choices. First, it uses a 12-word mnemonic phrase (BIP39-compatible) alongside traditional numeric codes. Mnemonics are significantly easier for humans to verify accurately than 60-digit numbers. Second, it supports NFC-based verification — two devices can verify safety numbers by physically tapping together, eliminating the risk of QR code substitution. Third, when a contact’s safety number changes, 68 Messenger requires re-verification before sending any new messages. This mandatory check cannot be dismissed or ignored, which closes the most common 安全码验证防中间人攻击 failure mode: users clicking through warnings without reading them.
How to Verify Safety Numbers: A Step-by-Step Guide
Implementing 安全码验证防中间人攻击 requires a disciplined verification process.
Verifying safety numbers is straightforward but must be done correctly. Here is the process that provides genuine 安全码验证防中间人攻击 protection:
Step 1: Open the Verification Screen
In 68 Messenger, open any conversation, tap the contact name at the top, and select “Verify Safety Number.” The app displays a QR code and a 12-word mnemonic phrase. Both parties should do this simultaneously.
Step 2: Choose an Out-of-Band Channel
You must verify the safety number through a channel that the attacker cannot simultaneously control. Options include:
- In person: Scan each other’s QR codes directly. This is the gold standard. An attacker would need physical proximity to both devices simultaneously.
- Voice call: Read the 12-word mnemonic phrase aloud. Your voice is recognizable, and an attacker would need to perform real-time voice synthesis to impersonate you.
- Video call: Show the QR code on screen. The visual channel plus your recognizable face provides strong authentication.
- Pre-established secure channel: If you have previously exchanged PGP keys or have a verified Signal contact, use that channel to compare codes.
Step 3: Compare and Confirm
If you are comparing mnemonics, read the words one by one. Do not simply say “yes, they match” — actually read each word. A common attack exploits human laziness: the attacker hopes you will skip the comparison and click “verified” without checking. For QR codes, ensure you are scanning directly from the other person’s device screen, not from a screenshot or forwarded image.
Step 4: Set a Verification Reminder
Safety numbers change when a contact reinstalls the app, switches devices, or adds a linked device. 68 Messenger notifies you of changes, but you should also periodically re-verify, especially for high-sensitivity contacts. I recommend re-verifying every 30 days for contacts with whom you exchange sensitive information.
What Happens If I Skip 安全码验证防中间人攻击?
I want to be direct about the consequences. Without safety number verification, your encrypted chat is secure against passive eavesdropping but completely vulnerable to active MITM attacks. The attacker does not need to break AES-256, factor RSA keys, or solve the discrete logarithm problem. They simply need to substitute a public key — a data substitution attack that requires zero cryptographic breakthroughs.
History provides sobering examples. In 2019, researchers demonstrated a practical MITM attack against multiple E2EE messaging apps by exploiting the key server infrastructure. They intercepted key fetch requests and substituted attacker-controlled keys. The encryption itself was never broken. The attack succeeded because none of the test users verified safety numbers. This is not a hypothetical vulnerability — it is a demonstrated attack vector that 安全码验证防中间人攻击 directly neutralizes.
More recently, in 2024, a state-sponsored hacking group compromised a telecommunications provider‘s core network infrastructure. They intercepted SMS verification codes and re-registered target accounts on attacker-controlled devices with new encryption keys. Contacts who had previously verified safety numbers received immediate key change warnings and halted communication. Contacts who had not verified continued sending sensitive messages to the attacker without any indication of compromise. This real-world incident perfectly illustrates why 安全码验证防中间人攻击 is not optional for meaningful security.
Advanced Topics in Safety Number Verification
Transitive Trust and Key Transparency
A practical limitation of pairwise verification is scalability. Verifying safety numbers with 500 contacts requires 500 separate out-of-band interactions. Key transparency systems (like CONIKS and Key Transparency used by some platforms) address this by publishing auditable logs of public keys. Users verify the log’s consistency once and trust that all keys in the log are authentic. 68 Messenger is actively developing key transparency integration to complement its existing 安全码验证防中间人攻击 mechanisms.
Multi-Device Key Management
When you use 68 Messenger on multiple devices, each device has its own identity key pair. Verifying one device does not automatically verify the others. This creates a key management challenge: you need to verify safety numbers for each device pair. 68 Messenger simplifies this by bundling all linked device keys under a single safety number that represents the entire account. Verifying once covers all devices.
Quantum-Resistant Verification
Current safety numbers are derived from elliptic curve public keys (Curve25519). These are not quantum-resistant. A future quantum computer could forge safety numbers that appear to match but correspond to different keys. Post-quantum safety number schemes using hash-based signatures (like SPHINCS+) are under active research. For now, the practical threat from quantum computers to safety number verification remains years away, but 安全码验证防中间人攻击 protocols must evolve with cryptographic standards.
Common Mistakes and How to Avoid Them
- Mistake: Comparing safety numbers through the same chat app you are verifying. Fix: Always use a separate channel — voice, video, or in-person.
- Mistake: Clicking “Verified” without actually comparing. Fix: Read every digit/word aloud. Make it a ritual.
- Mistake: Ignoring safety number change notifications. Fix: 68 Messenger makes these mandatory — do not disable this feature. Every key change demands re-verification.
- Mistake: Verifying once and never again. Fix: Set calendar reminders for periodic re-verification of high-value contacts.
- Mistake: Trusting screenshots of safety numbers. Fix: Screenshots can be forged. Always verify live — scan the QR code from the other person’s actual device.
The Psychology of 安全码验证防中间人攻击
Usability research consistently shows that safety number verification is the least-used E2EE security feature across all platforms. Signal reports that fewer than 5% of users have ever verified a safety number. WhatsApp reports similar numbers. The reasons are psychological, not technical:
- Optimism bias: “MITM attacks won’t happen to me.”
- Complexity aversion: Comparing 60-digit numbers feels tedious and error-prone.
- False reassurance: The padlock icon creates an illusion of complete security.
- Social friction: Asking someone to verify safety numbers feels paranoid or accusatory.
68 Messenger addresses these barriers through design. The 12-word mnemonic phrase is deliberately chosen to be human-friendly — words like “river,” “mountain,” and “sunlight” are easy to read and remember. The NFC bump feature turns verification into a single physical gesture. And the app’s onboarding flow explicitly explains 安全码验证防中间人攻击 in plain language, normalizing the practice rather than hiding it in advanced settings.
FAQ About 安全码验证防中间人攻击
Do I need to verify safety numbers with everyone?
In an ideal world, yes. In practice, prioritize contacts with whom you exchange sensitive information: financial details, legal matters, health information, passwords, or confidential business data. For casual conversations, the risk of MITM is lower but not zero. At minimum, verify safety numbers with your closest contacts to establish a web of trust.
What if the safety numbers do not match?
Stop communicating immediately through that channel. A mismatch means either you or your contact has the wrong public key — a strong indicator of an active MITM attack or a key change that needs investigation. Switch to a verified channel (voice call, in-person meeting) and troubleshoot. Never send sensitive information through a conversation with mismatched safety numbers.
Can I verify safety numbers remotely?
Yes, through voice or video calls. Read the mnemonic words aloud or show the QR code on screen. The key requirement is that the verification channel is independent of the chat app and that you can authenticate the other person’s identity (by voice or face). Text-based comparison through a different messaging app is weaker because both apps could be compromised by the same attacker.
How does 安全码验证防中间人攻击 relate to the Signal Protocol?
The Signal Protocol (and its Double Ratchet mechanism) provides perfect forward secrecy and post-compromise security for message content. However, these properties assume that the initial key exchange was authentic. If the initial key exchange was compromised by MITM, all subsequent ratchet steps encrypt to the attacker. Safety number verification authenticates that initial key exchange, making the Signal Protocol’s security guarantees meaningful in practice.
Conclusion
安全码验证防中间人攻击 is the most important security practice that almost nobody follows. The cryptography is solid. The verification process is simple. The barriers are entirely human: awareness, habit, and social comfort. Every time you skip safety number verification, you are trusting that the network path between you and your contact is free of attackers — a trust that history has repeatedly shown to be misplaced.
68 Messenger has invested significantly in making verification accessible: 12-word mnemonics, NFC bump, mandatory key change notifications, and clear onboarding education. But technology can only go so far. The final step requires you, the user, to take thirty seconds to verify. That thirty seconds is the difference between encryption that protects your messages and encryption that protects an attacker who is reading them alongside you.
Verify your safety numbers today. Your future self — and your contacts — will thank you. For more on how E2EE protects your communications, see our comprehensive E2EE guide and our analysis of metadata security risks.
References
- Signal Protocol: XEdDSA and VXEdDSA Signature Schemes
- USENIX Security ’19: Privacy and Data Protection in Smartphone Messengers
- Key Transparency: Verifiable Key Directories
Keywords: 安全码验证防中间人攻击, safety number verification, MITM protection E2EE, verify security code, key fingerprint authentication


