element-hq / element-hq/element-ios

E2EE corrupts when a user restores their phone from backup

Open
#2,814 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Swift
Stars
1.8k
Forks
544
PR merge metrics
PR metrics pending

Description

as the olm ratchets in the backup will no longer be in sync with the other participants in the ratchets. it doesn't look as if olm ratchet unwedging is sufficient to catch this, so either we need to improve the unwedging behaviour somehow or we need to store something in secure storage which deliberately isn't restored alongside a backup (just as Google Authenticator doesn't restore secrets across backups), which we can use to detect when we've been restored from backup and force the user to log back in to restore their E2E state

Contributor guide

Open the contributing guide

Research direction

Start by investigating how iOS backup restoration affects the Olm ratchets and secure storage. Compare whether unwedging can recover synchronization or whether restored state must be detected and E2E state reset; done means restored devices no longer corrupt E2EE and users can recover by logging in again.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
cryptography, mobile, security
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.