Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

InvisibleCrypto | Share Room Keys: Expose a new global crypto sdk setting to allow to enable the new distribution mode (invisible crypto) #3566

Closed
BillCarsonFr opened this issue Jun 17, 2024 · 3 comments
Assignees

Comments

@BillCarsonFr
Copy link
Member

BillCarsonFr commented Jun 17, 2024

Part of MSC4153 (Invisible Crypto).

Follow up of #3565

Expose a new SDK setting, dynamic that can for example be enabled in app via a toggle to allow to use the new invisible crypto distribution mode.

Also update FFI (and wasm?) bindings.

Detailed description

We need a new global setting to enable Invisible crypto. This setting will affect all rooms.
This setting can be toggle on/off on the BaseClient.

For context, when enabled, the invisible crypto mode will impact:

  • Sending encrypted messages (see CollectStrategy): Message keys will only be distributed to devices signed by their owners. There will be new errors when encrypting messages (cross signing not setup, own identity not verified, a recipient previously verified is not anymore). The base UX work to support these new sending errors should be covered by https://github.com/element-hq/element-internal/issues/614.

  • Receiving encrypted message (see Decryption trust checking) :

    • There will be new decryption errors, messages sent by devices not verified by their owner will fail to decrypt and should not be displayed in the timeline, and should not be displayed in notifications
@richvdh richvdh changed the title Share Room Keys | InvisibleCrypto: Expose a new global crypto sdk setting to allow to enable the new distribution mode (invisible crypto) InvisibleCrypto | Share Room Keys: Expose a new global crypto sdk setting to allow to enable the new distribution mode (invisible crypto) Jun 27, 2024
@richvdh
Copy link
Member

richvdh commented Aug 12, 2024

For element-web, we want a setting in config.json to enable the new distribution mode. For EX, some sort of compile-time setting?

@BillCarsonFr BillCarsonFr self-assigned this Sep 6, 2024
@BillCarsonFr
Copy link
Member Author

I think there is nothing to be done actually for EX, there is already this settings on the ClientBuilder:

/// Set the strategy to be used for picking recipient devices, when sending
/// an encrypted message.
#[cfg(feature = "e2e-encryption")]
pub fn with_room_key_recipient_strategy(mut self, strategy: CollectStrategy) -> Self {

Maybe some work for webR?

@BillCarsonFr
Copy link
Member Author

Closing for now as it is not needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants