Skip to content

E2E: key backup should not accept empty password #8814

Closed

Description

@niki-sp

Completing key backup setup with empty password should be impossible.

Steps to reproduce

I started key backup setup process and looked at possibilities. After downloading recovery-key.txt the key backup setup process finished without password.

Version information

  • Platform: desktop
  • OS: Ubuntu, 18.10 amd64
  • Version: revolt (0.0+git20170627.3f5112b-3build1) cosmic
    riot-web: 1.0.1
    olm: 3.0.0

Activity

  1. lampholder commented on Feb 20, 2019

    @lampholder
    Member

    If I understand you correctly this is a supported operation - if you set a passphrase you are essentially encrypting that recovery key and storing it on our server, but if you just download it they key lives only on your hard drive (and never touches our servers, encrypted or otherwise).

    If this is what happened (and everything worked as it should) then we should review the UX to see if we can make this clearer.

  2. matthijskooijman commented on Feb 22, 2019

    @matthijskooijman

    I also ran into this. I:

    • Opened the interface for setting up key backup
    • Did not enter a passphrase yet
    • Clicked the "Recovery key" button (or somesuch, I can't look it up anymore)
    • It showed a recovery key, offering to copy it to the clipboard or downloading it.
    • I clicked "Download" and then (IIRC) "OK".

    After this, IIRC the key backup interface was closed. Looking at my settings, key backup is setup, but I have no clue about the passphrase. It could be that it's empty, as @niki-sp suggests, but when I click "Restore from backup" (or "Use key backup" in another browser), I get asked for the recovery key (though I expected to be asked for a passphrase, so it took me a few times to notice that it asked for the recovery key instead).

    In any case, the recovery key is advertised to be use "when you forget your passphrase", so I had expected to be able to set a passphrase as well as download the recovery key, but I suspect I should have set a passphrase and only afterwards download the recovery key (which I later noticed is offered). Perhaps the recovery key thing before setting a passphrase should be advertised as allowing to use a recovery key instead of a passphrase?

  3. matthijskooijman commented on Feb 22, 2019

    @matthijskooijman

    A slightly related remark is that currently the Riot UI uses the terms "Recovery passphrase" and "Recovery key". In normal usage, you would probably set and use a passphrase (e.g. whenever you log in) and only use the recovery key to recover if you forgot the passphrase. It seems weird to call the passphrase "recovery passphrase", since I'm using it under normal circumstances. Also, it's called just "passphrase" when you set it, and "recovery passphrase" when you need to enter it later I believe. Perhaps this should be a separate issue?

  4. aaronraimist commented on May 16, 2019

    @aaronraimist
    Collaborator

    If this is what happened (and everything worked as it should) then we should review the UX to see if we can make this clearer.

    Yeah it certainly doesn't seem like good UX at the moment.

    Steps to reproduce:

    1. Click Start using Key Backup
    2. Click Advanced
    3. Click Setup Recovery Key
    4. There is no way to exit this screen and cancel setting up key backup. You have to either click copy to clipboard or download the recovery key and then the key backup starts without asking you for a password.
  5. kittykat commented on Nov 30, 2021

    @kittykat
    Contributor

    The UI has changed significantly and I cannot reproduce the issue any more. I'm going to close it for now. Please comment with @kittykat if you are still experiencing the problem and I can reopen the issue for you.

  6. added a commit that references this issue on Jul 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions