En réalité, vu que le code Javascript qui réalise les opérations cryptographiques dans le navigateur du client vient des serveurs de ProtonMail, il faut tout de même leur faire confiance pour ne pas t’envoyer une version qui exfiltre ta phrase de passe...
C'est un problème que rencontrent toutes les solutions avec du chiffrement de bout en bout qui offrent une appli web (protonmail, matrix, bitwarden, etc.) : si un pirate prend le contrôle d'un serveur qui te sert l'app (ou se place en homme du milieu entre le client et le serveur), il peut servir un JS vérolé et récupéré les secrets.
Sais-tu si des gens commencent à travailler à traiter correctement cette difficulté ?
A priori, il serait assez simple de signer le code JS avec GPG, puis de "pinner" une association clé GPG / site distant pour indiquer aux les navigateurs de n'exécuter du code depuis ce site X que s'il est correctement signé, mais je n'ai pas connaissance de réflexion ou de début de mise en œuvre.
(Se pose bien évidemment la question de la distribution de l'info "tel site requiert telle clé publique", et on retombe soit sur la PKI du web avec tous ses défauts, soit sur du TOFU, soit sur des listes préchargées, soit une autre solution à inventer).
[^] # Re: Bref résumé
Posté par Samuel (site web personnel) . En réponse au lien Attaque sur le format d’échange des clefs privées OpenPGP. Évalué à 2.
C'est un problème que rencontrent toutes les solutions avec du chiffrement de bout en bout qui offrent une appli web (protonmail, matrix, bitwarden, etc.) : si un pirate prend le contrôle d'un serveur qui te sert l'app (ou se place en homme du milieu entre le client et le serveur), il peut servir un JS vérolé et récupéré les secrets.
Sais-tu si des gens commencent à travailler à traiter correctement cette difficulté ?
A priori, il serait assez simple de signer le code JS avec GPG, puis de "pinner" une association clé GPG / site distant pour indiquer aux les navigateurs de n'exécuter du code depuis ce site X que s'il est correctement signé, mais je n'ai pas connaissance de réflexion ou de début de mise en œuvre.
(Se pose bien évidemment la question de la distribution de l'info "tel site requiert telle clé publique", et on retombe soit sur la PKI du web avec tous ses défauts, soit sur du TOFU, soit sur des listes préchargées, soit une autre solution à inventer).