Closed Bug 1853674 Opened 2 years ago Closed 2 years ago

Support the Autocrypt Gossip key distribution mechanism

Categories

(MailNews Core :: Security: OpenPGP, enhancement)

enhancement

Tracking

(thunderbird_esr115? fixed, thunderbird120 fixed)

RESOLVED FIXED
121 Branch
Tracking Status
thunderbird_esr115 ? fixed
thunderbird120 --- fixed

People

(Reporter: KaiE, Assigned: KaiE)

Details

Attachments

(3 files)

If Alice sends an encrypted email to Bob and Charlie, then Bob might want to send an encrypted reply to everyone.

Bob might night have Charlie's key yet.

To enable all participants of an email conversation to reply to everyone else, it's helpful to distribute the public keys of all participants as part of the encrypted message.

The Autocrypt specification defines a mechanism to do so, called Gossip.

I suggest we should implement that mechanism. It requires sending additional headers, and they should be contained in the protected-headers area.

The attached patch implements the sending part (adding headers to outgoing messages).

TODO: We should also implement the receiver side.
Whenever we detect an Autocrypt-Gossip header in a message, we should add that key to CollectedKeysDB.

I was able to reuse existing code, and it was mostly a matter of finding the right places to hook up and restore the processing.
The attached phab revision seems to work already.

Assignee: nobody → kaie
Attachment #9353687 - Attachment description: WIP: Bug 1853674 - Add the Autocrypt Gossip key distribution mechanism. → Bug 1853674 - Add the Autocrypt Gossip key distribution mechanism. r=mkmelin
Status: NEW → ASSIGNED

The patch applies cleanly to esr115, and doesn't require any new UI.
We could consider to uplift to 115, after sufficient beta exposure.

backport to esr115
(I'm using a local build of 115 with this patch.)

Pushed by brendan@thunderbird.net:
https://hg.mozilla.org/comm-central/rev/edf9b804e9a8
Add the Autocrypt Gossip key distribution mechanism. r=mkmelin

Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 121 Branch

comm/mail/base/test/performance/browser_startup.js is failing

Pushed by brendan@thunderbird.net:
https://hg.mozilla.org/comm-central/rev/b5958ea9e0cc
Follow-up: lazy-load mimeParser. r=kaie

Comment on attachment 9353687 [details]
Bug 1853674 - Add the Autocrypt Gossip key distribution mechanism. r=mkmelin

Would be nice to get this feature improvement tested early.

[Approval Request Comment]
Regression caused by (bug #): no
User impact if declined: less convenience
Testing completed (on c-c, etc.): works on c-c
Risk to taking this patch (and alternatives if risky): low

Attachment #9353687 - Flags: approval-comm-beta?

Comment on attachment 9353687 [details]
Bug 1853674 - Add the Autocrypt Gossip key distribution mechanism. r=mkmelin

[Triage Comment]
Approved for beta

Attachment #9353687 - Flags: approval-comm-beta? → approval-comm-beta+

Comment on attachment 9360390 [details]
Bug 1853674 - Follow-up: lazy-load mimeParser. r=kaie

[Triage Comment]
Approved for beta

Attachment #9360390 - Flags: approval-comm-beta+

Comment on attachment 9360370 [details] [diff] [review]
1853674-esr115.patch

[Approval Request Comment]
Regression caused by (bug #): none
User impact if declined:
Testing completed (on c-c, etc.): yes
Risk to taking this patch (and alternatives if risky): low

I suggest to uplift this feature to the stable 115 branch.

The added functionality happens completely behind the scenes, no UI necessary (and it can be enabled by an already existing pref).
The feature can help improve encrypted group conversations.

Attachment #9360370 - Flags: approval-comm-esr115?

Comment on attachment 9360370 [details] [diff] [review]
1853674-esr115.patch

[Triage Comment]
Approved for esr115

This seems quite large. What steps may be used to test the release candidate?

Flags: needinfo?(kaie)
Attachment #9360370 - Flags: approval-comm-esr115? → approval-comm-esr115+

(In reply to Wayne Mery (:wsmwk) from comment #14)

This seems quite large. What steps may be used to test the release candidate?

I think the new automated tests sufficiently test that we do produce and consume the additional information.

The new code is reached only when a user has OpenPGP configured, so it should be sufficient to test that with OpenPGP enabled, the basic functionality of sending/receiving signed messages still works.

But again, this should be sufficiently covered by automated tests.

Flags: needinfo?(kaie)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: