If I understand correctly when user can’t use chatmail servers (e.g. IP whitelist like in mobile networks in Russia, possibly Iran and other countries with heavy censorship) and bound to use classic email there is a lot of information being collected by email provider.
While classic email mode in such circumstances is the only way of secure communication it possess a security risks. Even if chatmail servers will relay every message and hide real emails from classic email providers that won’t stop providers to compare files of encrypted messages and companies (and states) still be able to connect accounts to each other.
Bear in mind that whitelisted email providers in Russia require phone number for registration so basically can identify all classic email Delta Chat users before their first message even sent.
Classic email is a great censorship circumvention tool but it is vulnerable. Apart from individual chat privacy with introduction of channels in Delta Chat classic email providers will be able to track peoples subscriptions and therefore states will be able to track and prosecute dissenters.
I don’t have enough knowledge to fix such vulnerability myself but I have some thoughts:
Proposed behavior
- User sends a message to another user
- User message locally encrypted as usual - with recipients public key (all metadata is unencrypted)
- Metadata (sender and recipient addresses) encrypted locally with chatmail server public key
- Encrypted message AND encrypted metadata sent to GENERIC address of chatmail relay
- Chatmail relay receives message and decrypts metadata to relay a message
- Chatmail relay (with random delay) adds senders address and garbage data beside message and encrypts it with recipients public key again to alter filesize and timestamp of the original files in email
- Chatmail relay sends altered encrypted message to recipient from GENERIC address
- Recipient receives message then identifies sender with first decryption (chatmail relays) and displays message in correct chat with second decryption (senders)
Maybe message bundling by relay also can help with data obfuscation and optimization.