Skip to content

Broadcast messages trigger ProtectionStatus::ProtectionBroken state #4597

@link2xt

Description

@link2xt

Broadcast list messages are always sent unencrypted. If Alice has a verified 1:1 chat with Bob and Bob sends a message to a broadcast list with Alice, Alice receives unencrypted message, gets a warning info message "Bob sent a message from another device. Tap to learn more." and 1:1 chat with Bob on Alice device is switched to "protection broken" state with a banner "Bob sent a message from another device" replaces the message input field.

Autocrypt header that Bob sends still contains the verified key, so Alice can detect that Bob is still sending from an old device that has the key rather than "another device" with a new key. On the other hand, we can still interpret this as Bob setting up another device which does not have Alice's key, but transferred the old key, e.g. via Autocrypt Setup Message, but this is unlikely.

This can also be triggered by using K-9 mail and manually switching off the encryption for a single mail without changing the encryption preference.

A receiver-side solution to this issue is to avoid triggering ProtectionBroken in the case when Autocrypt key has not changed, because 1:1 chat protection is about guaranteeing that outgoing messages are encrypted with a verified key, and this is not changed by incoming message that contains a verified key in the Autocrypt header and enabled encryption preference. Once there is a test that encryption is protection status of 1:1 chat is not degraded in this particular scenario, the issue can be closed.

There is a related bugreport about broadcast list messages resetting the ephemeral timer: #2775

There have also been discussions of enabling encryption for broadcast lists on the sender side and possible metadata leaks (OpenPGP key IDs or number of encrypted message recipients leaked) with several proposed ways to do it, e.g. sending one message for all unencrypted recipients and one message for all recipients that support encryption or sending a single message to each member to avoid leaking the number of recipients. These discussions are outside of the scope of this issue.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions