# Chiffrement
Le chiffrement (et donc, la confidentialité des données) sur Matrix+Riot existe à plusieurs niveaux.
# HTTPS: chiffrement des communications
C'est peut-être le plus essentiel des modes de chiffrement. Le serveur est exposé sur internet via [[https://en.wikipedia.org/wiki/HTTPS|HTTPS]], qui garantit que toutes les communications entre les clients et le serveur (dans les deux sens) sont chiffrées, et virtuellement impossibles à espionner ou modifier sur le réseau.
Ce chiffrement est automatique et ne requiert aucune action de la part des utilisateurs.
À noter que les messages sont tout de même contenus en "texte clair" dans la base de données. Bien que la communication elle-même est chiffrée, les données sont déchiffrées sur le serveur et stockées ainsi, si bien qu'une personne ayant accès à la base de données pourra lire le contenu des messages.
# Chiffrement de bout-en-bout ("End-to-end", ou "E2E")
Un autre niveau de chiffrement est appelé "de bout-en-bout". Il s'agit d'un niveau de confidentialité supérieur, selon lequel le serveur lui-même n'a pas la possibilité de déchiffrer le contenu des messages, éliminant le risque qu'un intrus ou admin indélicat ne s'empare de la base de données -- les messages y restent chiffrés et la clé de chiffrement n'est simplement jamais communiquée au serveur. Ainsi, le chiffrement/déchiffrement se fait directement sur les appareils clients (applications ou web).
Les clients Riot, par exemple, implémentent ce mode de chiffrement.
Malheureusement, cette sécurité accrue implique une complexité additionnelle.
# Appareils et comptes utilisateur
Une distinction notable est la notion d'//appareils//. Chaque compte utilisateur possèdera un certain nombre d'appareils au fur et à mesure qu'il se connecte depuis des clients divers, par exemple:
- Un smartphone avec le client Riot
- Un navigateur sur le PC personnel avec le client Web
- Un navigateur sur le PC du boulot avec le client Web
- etc...
À chaque connexion avec un nouvel appareil, celui-ci est enregistré dans le compte utilisateur et son identité (automatiquement générée) est une information disponible aux autres utilisateurs.
Lors d'une discussion chiffrée de bout-en-bout, l'appareil émetteur chiffrera le message de sorte à ce que chaque appareil de chaque participant présent dans le salon au moment de l'émission puisse le déchiffrer.
# Activer le chiffrement de bout-en-bout dans un salon
Le mode de chiffrement de bout-en-bout est un réglage de salon. Seul un utilisateur avec les droits d'administration sur le salon (par exemple, le créateur du salon, ou un utilisateur ayant été offert les pouvoirs admin sur le salon) peut activer cette option.
Pour l'activer, accéder aux réglages du salon (une roue dentée près du nom du salon sur le client web) et trouver l'option ''Activer le chiffrement'' (''Enable encryption''). Noter l'avertissement qu'une fois activée, l'option ne peut plus être désactivée pour le salon.
# Converser en mode chiffré de bout-en-bout
Lorsqu'un salon est en mode ''Chiffrement de bout-en-bout'', chaque message envoyé est automatiquement déchiffrable par les appareils des utilisateurs présents dans le salon au moment de l'émission du message.
Le corollaire est que, si un utilisateur rejoint un salon chiffré de bout-en-bout alors que des messages ont déjà été échangés, il ne pourra pas lire l'historique de la conversation (et à la place, verra un message signifiant qu'il est impossible de déchiffrer le message). C'est une limitation du logiciel en l'état actuel.
# Ajouter un nouvel appareil et partage des clés
Similairement, même si un utilisateur était présent dans un salon chiffré de bout-en-bout et a pu jusqu'alors déchiffrer chaque message émis sur ses appareils, après avoir ajouter un nouvel appareil (par exemple, se connecter depuis un nouvel endroit ou un nouveau téléphone...), les messages seront indéchiffrables sur le nouvel appareil.
Les clients Riot possèdent une fonctionnalité de partage des clés de chiffrement. Si un appareil se trouve dans l'impossibilité de déchiffrer les messages d'un salon, il peut requérir les clés des autres appareils du même compte utilisateur. Ce processus est automatique.
- Utilisateur A participe à un salon chiffré de bout-en-bout avec son smartphone et le client mobile Riot
- Utilisateur A se connecte depuis un navigateur pour la première fois avec le client web Riot
- Utilisateur A voit ''Déchiffrement impossible'' sur chaque message du salon chiffré de bout-en-bout, depuis son navigateur
- Utilisateur A ouvre Riot sur son smartphone et voit un message disant que son nouvel appareil (navigateur web) requiert les clés de chiffrement
- Utilisateur A accepte la requête (après s'être assuré qu'il s'agissait bien de son nouvel appareil)
- Les messages deviennent déchiffrables sur le navigateur web.
Un message "indéchiffrable" possède aussi la fonction de "Redemander les clés". Cette action renouvelle la requête de clés sur les appareils du même compte utilisateur.
Il n'est pas possible pour deux utilisateurs de partager leurs clés entre eux.
# Plus d'infos
Sur le site de Riot.im : [[https://about.riot.im/security/]]