User Tools

Site Tools


services:matrix:encryption

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
services:matrix:encryption [2021/08/10 13:53]
behrmj87 [I've lost all my keys! What now?] update to the option to reset all keys
services:matrix:encryption [2021/11/29 17:24] (current)
behrmj87 typo fix Sessin -> Session
Line 11: Line 11:
 ==== The somewhat short story ==== ==== The somewhat short story ====
  
-When using encryption in a room (or direct chat) all messages in that chat will be encrypted. Everyone of your clients (e.g. the webclient at meet.physik.fu-berlin.de or Element on your phone) will have a session with its own keys. This is mostly transparent to you as a user, but you must always hold either of the following to be true:+Some chats you encounter will be encrypted. Direct conversations are encrypted by default and encryption for rooms for multiple people can be switched on. When using encryption in a room (or direct chat) all messages in that chat will be encrypted. Each of your clients (e.g. the web client at meet.physik.fu-berlin.de or Element on your phone) will have a session with its own keys. This is mostly transparent to you as a user, but you must always hold either of the following to be true to keep access to your old encrypted messages:
  
     * Have one running session (in a browser on your computer, on your phone, wherever), so that new sessions can authenticate against the running session (cross-signing, described below), or     * Have one running session (in a browser on your computer, on your phone, wherever), so that new sessions can authenticate against the running session (cross-signing, described below), or
     * have access to your recovery passphrase (that you should create when you first log in) to recover your encryption keys when you log into a new session and have no other running sessions to authenticate against.     * have access to your recovery passphrase (that you should create when you first log in) to recover your encryption keys when you log into a new session and have no other running sessions to authenticate against.
  
-If either of this is the case, you will keep access to your old encrypted messages, so generate recovery passphrase and save it in your password safe.+This meansthat if you do have encrypted messages, e.g. in direct chat, and you were only logged into one session, e.g. only in the web client, and you don't have a Security Phrase or Security Key set up, i.e. you log out and decline to set one up, when asked, you will lose access to those messages.
  
-==== Upgrading encryption ====+This may sound difficult, but it's not. Read on for what you need to do.
  
-This step is necessary if you have used encryption in the past on your matrix.physik.fu-berlin.de account. If you have not used encryption previously, you can jump to the section [[services:matrix:start#setting_up_encryption_for_the_first_time | Setting up encryption for the first time ]]+==== Setting up encryption for the first time ====
  
-If you have used encryption before you will notice small popup on the left side of the screen, asking you to upgrade. Click on the "upgrade" button to start the upgrade. {{ :services:matrix:riot_e2e_upgrade_01.png?direct&800 |}} Next you will have to enter your ZEDAT-password… {{./riot-e2e-doku-pictures/riot_e2e_upgrade_02.png |}} and enter your recovery passphrase you set when you set up key backups for encryptionIf you can not remember your passphrase you can use the recovery key if you have still saved it somewhereAlternatively you can set up a new key recovery. Your previous encrypted messages will still be available if you are able to read them on the device you are using to perform the upgrade. {{./riot-e2e-doku-pictures/riot_e2e_upgrade_03.png |}}+When you haven't set up a //Security Phrase// or //Recovery Key// and are about to log out of your only session Element will ask you to set one up. You can also do this manuallyOpen the //Security & privacy// menu in the //Settings//.
  
-This concludes the upgrade. You can now on read how to verify users in //*Verify a user//, or use encrypted chats without verification.+Below the list of active sessions, you will find section //Secure Backup//, that will look like this, if you haven't set it up yet
  
-==== Setting up encryption for the first time ====+{{ :services:matrix:prefskeybackup.png |}} 
 + 
 +Click on **Set up** to start. You will be shown this menu 
 + 
 +{{ :services:matrix:setupsecurebackup.png |}} 
 + 
 +By default the upper point (//Generate a Security Key//) is selected, but it's better to choose //Enter a Security Phrase//. What's the difference? 
 + 
 +  * A //Security Key// is a long random key, that you probably won't be able to memorise. It's purpose is to be stored somewhere safe, e.g. in a password manager like KeePassXC. 
 +  * A //Security Phrase// is that: a phrase, something that you will (hopefully) be able to remember, because you choose it, e.g. by a [[https://xkcd.com/936|method like this]]. 
 + 
 +Also, when you generate a Security Phrase, you will be offered to generate a Security Key as well. So why not get both for the price of one? 
 + 
 +Once you click **Continue** you can enter your passphrase 
 + 
 +{{ :services:matrix:setupsecurebackup.png |}} 
 + 
 +which you then need to confirm 
 + 
 +{{ :services:matrix:setupsecurebackup2.png |}} 
 + 
 +Afterwards you will be offered to also get your Security Key
  
-When you log in to Element, it will ask you to set up encryption recovery. This step will make sure that you can share encrypted messages across all your devices and different sessions. If you do not wish to use encryption you can skip this step. However as encryption will be used by default we highly recommend setting up encryption.+{{ :services:matrix:saveyoursecuritykey.png |}}
  
-To setup encryption recovery you have to choose a secure passphrase.+And to finish the setupyou need to confirm everything with your //ZEDAT password//
  
-{{ :services:matrix:riot_e2e_setup_01.png |}}+{{ :services:matrix:settingupkeysconfirmation.png |}}
  
-**Optional** By default the server backs up your encryption keysso you can recover your encrypted messages if you loose access to all sessions that had access to them. You can choose for the keys not to be saved on the server. They can still be transmitted from one active session of yours to another.+After you're done with you can have a look at the settings againwhere it will look like this if you were successful.
  
-Additionally you can download a recovery key, which you can use if you forget or loose the passphrase.+{{ :services:matrix:prefskeybackupafter.png |}}
  
-{{ :services:matrix:riot_e2e_setup_03.png |}}+This is also where you can start over - via the **Reset** button - if you forget your Security Phrase and/or lose your Security Key, but still have access to your session, because you never log out.
 ==== Verifying a session ==== ==== Verifying a session ====
  
-To access your encryption history and for other users to verify you it is necessary to verify a new session. To verify a session you can either confirm a new session from an existing session or enter your recovery passphrase.+To access your messages from encrypted chats, e.g. direct conversations, it is necessary to verify a new session. To verify a session you can either confirm a new session from an existing session, which is the easiest way, or enter your recovery passphrase.
  
 When logging in with a new device you will get prompted to verify it. When logging in with a new device you will get prompted to verify it.
  
-{{ :services:matrix:riot_e2e_verify_session_01.png?direct&800 |}}+{{ :services:matrix:verifylogin.png |}} 
 + 
 +The three options: 
 +- **Use another login**, which will authenticate against a running session, e.g. on a phone or another computer. 
 +- **Use Security Key or Phrase**, which works without another session, i.e. without another device, but you will need the Security Phrase or Key that you set up earlier. 
 +- **Skip**, which skips authentication, but you won't be able to read encrypted messages that were sent to you earlier. 
 + 
 +=== Verifying a Session using a Security Phrase === 
 + 
 +This is conceptually the easiest so, we'll discuss it first. Click **Use Security Key or Phrase** and in the screen that opens enter either your //Security Phrase// or your //Security Key//. 
 + 
 +{{ :services:matrix:securitypassphrase.png |}} 
 + 
 +If you enter either correctly, you will be greeted by this happy screen 
 + 
 +{{ :services:matrix:sessionverified.png |}} 
 + 
 +=== Verifying a Session using a Security Phrase === 
 + 
 +If you are logged into another session, e.g. on your phone, it's easiest to click **Use another login**. There are multiple ways how this is handled, which depends on where the other session is running, e.g. Element on phones will allow you to do this via scanning a QR code. All methods do require, though, that you have the device where the other session is running on //at hand// otherwise the whole process will block waiting for you to do something on the other device, which is hard to do, if it's far away.
  
-If you are logged into another session there will be a popup asking you to verify the new session:+One method that is always available is comparing emoji shown on both devices. First you will be asked on the device with an already authenticated session whether the new session is you and whether you want to authenticate it.
  
 {{ :services:matrix:riot_e2e_verify_session_02.png?direct&800 |}} {{ :services:matrix:riot_e2e_verify_session_02.png?direct&800 |}}
Line 55: Line 95:
 {{ :services:matrix:riot_e2e_verify_session_03.png |}} {{ :services:matrix:riot_e2e_verify_session_03.png |}}
  
-Select to continue and you will be asked for a verification method. Currently the only option is to compare a sting of emojis.+Select to continue and you will be asked for a verification method. 
  
 {{ :services:matrix:riot_e2e_verify_session_04.png |}} {{ :services:matrix:riot_e2e_verify_session_04.png |}}
Line 65: Line 105:
 {{ :services:matrix:riot_e2e_verify_session_06.png |}} {{ :services:matrix:riot_e2e_verify_session_06.png |}}
  
-Confirm the emojis match on both devices to complete verifying the session.+Confirm the emojis match on both devices to complete verifying the session and you get the happy result of a verified session.
  
-Alternatively you can select to verify a session by using your recovery passphrase:+{{ :services:matrix:sessionverified.png |}}
  
-{{ :services:matrix:riot_e2e_verify_session_09.png?direct&800 |}} 
  
 ==== Deleting a session ==== ==== Deleting a session ====
Line 146: Line 185:
 {{ :services:matrix:verifylogin.png |}} {{ :services:matrix:verifylogin.png |}}
  
-on the verification dialog after login and instead of entering your security phrase or key, which you've lost, click the **Reset all** link on the bottom, next to *Forgotten or lost all recovery methods?*+on the verification dialog after login and instead of entering your security phrase or key, which you've lost, click the **Reset all** link on the bottom, next to //Forgotten or lost all recovery methods?//
  
 You will then be asked to confirm You will then be asked to confirm
Line 153: Line 192:
  
 And clicking **Reset** will sign out of all your old sessions and delete all keys, followed by guiding you through the procedure to generate new ones described above. And clicking **Reset** will sign out of all your old sessions and delete all keys, followed by guiding you through the procedure to generate new ones described above.
 +
 +==== I'm asked to authenticate every time I open my browser. What am I doing wrong? ====
 +
 +You will need to reauthenticate (that means: type in your recovery passphrase or use another session to authenticate your new one) whenever you log out of [[https://meet.physik.fu-berlin.de]] or your browser loses its cached data and cookies. That means, if you are especially privacy conscious and configure your browser to delete cookies and caches on exit, your running session will die as well.
 +
 +[[https://meet.physik.fu-berlin.de]] only sets first party cookies and uses the local browser cache for some of its data. Whereas third party cookies are definitely are a privacy problem (and Firefox' Enhanced Tracking Protection can really help you with that out of the box even without [[https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/|uBlock Origin]], which is something everybody should use), can deleting first party cookies be a tad overzealous, since the server you are contacting sees everything you do with it anyway. Deleting the cookie and cached data interferes with how the client at [[https://meet.physik.fu-berlin.de]] operates. You can resolve this problem by granting an exception to deleting this data in your browser's preferences.
 +
 +On Firefox you can do this on the //Privacy & Security// page of the settings in the section //Cookies and Site Data//. If you have checked //Delete cookies and site data when Firefox is closed//, this is the reason for needing to reauthenticate after every time you close Firefox. Click the //Manage Exceptions// button (//Manage Permissions// on older versions) and enter both [[https://meet.physik.fu-berlin.de]] and [[https://meet.physik.fu-berlin.de|http://meet.physik.fu-berlin.de]] and save your choice.
services/matrix/encryption.1628596389.txt.gz · Last modified: 2021/08/10 13:53 by behrmj87