La mission de Proton est de créer un meilleur internet, respectueux de la vie privée. Pour y parvenir, nous avons conçu tous nos services autour du chiffrement de bout en bout. Avec ce type de chiffrement, vos informations ne sont accessibles à personne d’autre que vous et les personnes avec lesquelles vous les partagez. Que vous utilisiez Proton Mail (notre boite mail chiffrée), Proton Drive (notre service de stockage de fichiers chiffré) ou l’un de nos autres services, vos données sont chiffrées sur votre appareil avant d’atteindre nos serveurs : nous-mêmes ne pouvons donc pas accéder à vos données.
C’est une bonne chose pour votre vie privée, mais cela peut compliquer la récupération des données si vous oubliez votre mot de passe. La plupart des autres services peuvent restaurer vos données sur votre compte parce qu’ils peuvent facilement y accéder quand ils le souhaitent. Ce n’est pas le cas chez Proton. Tout mécanisme de récupération que nous utilisons doit respecter votre vie privée, ce qui signifie que nous devons mettre au point des méthodes de récupération compatibles avec le chiffrement de bout en bout et empêcher nos serveurs d’avoir accès à vos informations. Cela représente une difficulté supplémentaire par rapport à la plupart des autres services en ligne, mais nous considérons que cela fait partie intégrante de la création d’un internet qui respecte la vie privée.
Permettre la récupération des données en cas d’oubli du mot de passe est l’un des défis techniques les plus difficiles à relever du fait de notre utilisation du chiffrement de bout en bout et nous avons dû mettre au point plusieurs solutions innovantes. Nous avons adopté ces technologies il y a quelque temps, mais de nombreuses personnes nous ont demandé comment elles fonctionnaient. C’est la raison pour laquelle nous expliquons aujourd’hui comment nous rendons possible la récupération des données avec le chiffrement de bout en bout.
Pourquoi la récupération des données est-elle un défi technique ?
Proton utilise plusieurs niveaux de chiffrement pour protéger votre vie privée. Chez Proton, la sécurité commence par l’authentification du compte. Nous utilisons un protocole connu sous le nom de Secure Remote Password (SRP), qui authentifie mutuellement l’utilisateur et le serveur, sans jamais envoyer de données équivalentes au mot de passe sur le réseau. Les tentatives d’authentification ne peuvent pas être reproduites et le protocole reste sécurisé même si un tiers tente de l’altérer. Proton a été l’une des premières entreprises à adopter le protocole SRP à grande échelle et nous avons apporté un certain nombre d’améliorations à son application pour le rendre encore plus sécurisé.
Ce système empêche quiconque, y compris Proton, de pouvoir déchiffrer ou accéder à vos clés de chiffrement (et donc à vos données) sans votre mot de passe. Cependant, en utilisant SRP, les réinitialisations de mot de passe réinitialisent aussi vos clés de chiffrement. Quand vous générez un nouveau mot de passe, vous générez de nouvelles clés de chiffrement qui sont chiffrées à l’aide d’un secret dérivé de votre nouveau mot de passe. Votre ou vos clés de chiffrement d’origine étant toujours chiffrées en utilisant votre mot de passe d’origine, elles ne peuvent pas être déchiffrées sans votre ancien mot de passe. Si votre ou vos clés de chiffrement originales ne peuvent pas être déchiffrées, elles ne peuvent pas être utilisées et toutes les données qui ont été chiffrées avec ces clés ne peuvent pas non plus être déchiffrées.
Nous avons besoin de l’un des deux éléments suivants pour récupérer vos données :
- Votre mot de passe d’origine qui a été utilisé pour chiffrer la clé de votre compte d’origine
- Une copie de sauvegarde de votre clé de compte d’origine
Puisque nous ne pouvons pas conserver votre mot de passe sans aller à l’encontre de nos mesures de protection de la vie privée (et puisqu’il est peu probable que quelqu’un se souvienne d’un mot de passe une fois qu’il l’a oublié), une autre solution s’impose.
Récupérer des données chiffrées de bout en bout après une réinitialisation du mot de passe
Le système innovant de récupération de données de Proton évite le problème que nous venons de décrire en vous permettant de créer facilement deux types de sauvegardes de vos clés de chiffrement :
- Phrase de récupération
- Fichier de récupération
Nous allons expliquer plus en détail chacune de ces méthodes.
Ces méthodes garantissent que vos clés de chiffrement sont protégées pour que vous soyez la seule personne à pouvoir les utiliser et que les serveurs de Proton n’y aient jamais accès. Grâce à cela, nous sommes fidèles à notre promesse de chiffrement de bout en bout sur tous nos services.
Phrase de récupération
Quand vous créez un compte Proton, nous générons automatiquement une phrase de récupération qui permet de récupérer vos données chiffrées si jamais vous perdez votre mot de passe. Votre phrase de récupération est en quelque sorte un second mot de passe utilisé pour chiffrer une copie de votre clé de chiffrement. En réinitialisant le mot de passe de votre compte à l’aide de votre phrase de récupération, vous ne perdez aucune donnée puisque vous déchiffrez une copie de sauvegarde de votre clé de chiffrement.
Comme les phrases de récupération font office de mot de passe secondaire (et qu’elles vous permettent de contourner l’authentification à deux facteurs pour modifier votre mot de passe et accéder à votre compte), vous devez conserver votre phrase de récupération en lieu sûr et la garder secrète.
Génération de la phrase de récupération
Proton utilise le procédé suivant pour générer une nouvelle phrase de récupération :
- Le client Proton sur votre appareil génère des octets aléatoires à l’aide d’un générateur de nombres pseudo-aléatoires sécurisé par cryptographie.
- Le client Proton utilise les octets aléatoires pour chiffrer les clés de compte.
- Le client Proton envoie les clés de compte chiffrées au serveur Proton.
- Le client Proton utilise une implémentation simplifiée de Bip39(nouvelle fenêtre) pour générer une phrase de récupération composée de mots anglais à partir des octets aléatoires.
La phrase de récupération est entièrement générée par le client Proton sur votre appareil et n’est jamais conservée sur le serveur. Pour permettre à la phrase de récupération d’accéder à votre compte, nous conservons sur le serveur un vérificateur de la phrase de récupération qui nous permet de la valider sans en connaître le contenu.
Récupération des données à l’aide de la phrase de récupération
Une fois que vous avez créé et enregistré votre phrase de récupération, vous pouvez récupérer toutes vos données si vous perdez votre mot de passe. Voici ce qui se passe lorsque vous saisissez votre phrase de récupération :
- Le serveur Proton valide la phrase de récupération à l’aide d’un vérificateur SRP 6a. La phrase de récupération n’est pas révélée au serveur. Si la vérification réussit, le serveur renvoie la clé du compte de sauvegarde qui a été chiffrée à l’aide de la phrase de récupération.
- Le client Proton sur votre appareil utilise Bip39 pour obtenir les octets aléatoires de la phrase de récupération.
- Le client Proton déchiffre la copie de la clé du compte de sauvegarde à l’aide des octets aléatoires.
- Dès que vous définissez un nouveau mot de passe, le client Proton chiffre à nouveau la clé du compte à l’aide de votre nouveau mot de passe et l’importe sur le serveur.
Comme nous ne générons pas de nouvelles clés de chiffrement au cours de ce processus, toutes les méthodes de récupération des données mises en œuvre avant la réinitialisation du mot de passe restent utilisables. Vous pouvez utiliser cette méthode avec toutes les applications Proton (Proton Mail, Proton Drive…) grâce à la fonctionnalité de réinitialisation du mot de passe/récupération du compte.
Fichier de récupération
Vous pouvez aussi demander à Proton de générer un fichier de récupération que vous téléchargez. Ce fichier de récupération est une sauvegarde locale chiffrée de votre clé de chiffrement. Il peut être utilisé pour récupérer toutes les données chiffrées avec votre clé de chiffrement d’origine. La meilleure façon d’illustrer le fonctionnement du fichier de récupération est de le comparer au mot de passe du compte.
Le mot de passe du compte est le « secret client » utilisé pour chiffrer votre clé de chiffrement. La clé de chiffrement est alors conservée sur le serveur Proton.
Pour le fichier de récupération, cette situation est inversée.
Le serveur Proton conserve le secret utilisé pour chiffrer votre fichier de récupération. Le fichier de récupération est alors conservé sur votre appareil et nos serveurs ne le voient jamais.
Le serveur Proton ne peut pas obtenir votre clé de chiffrement sans le fichier de récupération. De plus, le fichier de récupération étant lui-même chiffré, même si un pirate parvient à obtenir votre fichier de récupération, il ne pourra pas l’utiliser pour accéder à vos clés de chiffrement. Enfin, comme le fichier de récupération chiffré n’a pas d’identifiant, l’attaquant ne peut pas trouver automatiquement à quel compte il appartient.
Génération du fichier de récupération
Voici ce qui se passe lorsque Proton génère un fichier de récupération :
- Le client Proton sur votre appareil génère des octets aléatoires à l’aide d’un générateur de nombres pseudo-aléatoires sécurisé par cryptographie. Ces octets aléatoires servent de secret.
- Le client Proton signe le secret à l’aide de votre clé de chiffrement.
- Le client Proton utilise le secret pour chiffrer une copie de sauvegarde de votre clé de chiffrement.
- Le secret accompagné de la signature est importé sur le serveur Proton. La signature garantit que le secret généré par le client n’est pas altéré et que le serveur ne le modifie jamais.
- Le client Proton exporte la copie de sauvegarde chiffrée de votre clé de chiffrement sous la forme d’un fichier ASC. Il s’agit de votre fichier de récupération.
La récupération des données à l’aide du fichier de récupération
Si vous prévoyez d’utiliser cette méthode, vous devez générer un fichier de récupération dès que possible pour vous assurer de pouvoir récupérer toutes vos données. Voici ce qui se passe lorsque vous utilisez un fichier de récupération pour récupérer vos données :
- Vous importez votre fichier de récupération dans le client Proton sur votre appareil.
- Le client Proton tente de déchiffrer le fichier en utilisant le secret signé du serveur Proton. Une fois le fichier déchiffré, le client Proton aura accès à une copie de sauvegarde de votre clé de chiffrement, qu’il pourra utiliser pour récupérer vos données.
Faciliter la protection de la vie privée
Notre objectif est de rendre les services Proton aussi faciles à utiliser que les services concurrents des grandes entreprises technologiques. Nous pensons que tout le monde a droit au respect de sa vie privée et que les services qui protègent votre vie privée doivent être faciles à utiliser et dotés de fonctionnalités utiles. C’est la philosophie de Proton depuis le début.
Nos méthodes de récupération innovantes vous offrent les mêmes possibilités de récupération de données que les services des géants de la tech, mais contrairement à eux, nous protégeons vos données grâce au chiffrement de bout en bout de Proton qui garantit que personne d’autre que vous ne peut y accéder. Comme toujours, n’hésitez pas à nous faire part de vos réflexions ou de vos commentaires, notre mission est de vous servir et de mettre en place les services dont vous avez besoin.
—
Traduit et adapté par Elodie Mévil-Blanche.