PGP a la réputation d'être difficile, et cette réputation tient surtout à l'installation, pas à la cryptographie. Vous pouvez utiliser le même standard et le même chiffrement depuis un onglet de navigateur, sans installation et sans trousseau. Voici comment cela fonctionne, ce que vous y perdez, et quand il vaut mieux se tourner vers les outils de bureau.
Ce qui change sans installation
Rien au format. Un message chiffré dans un navigateur avec OpenPGP.js est un message OpenPGP ordinaire : il s'ouvre dans GnuPG en ligne de commande, dans Kleopatra sous Windows, dans ce que votre correspondant utilise déjà. L'interopérabilité est la même parce que le standard est le même.
Ce qui change, c'est l'endroit où le code s'exécute et ce à quoi il a accès. GnuPG sur le bureau tourne comme un processus natif avec un trousseau sur le disque. Un outil de navigateur tourne comme du JavaScript dans un onglet, sans aucun stockage de clés persistant.
Deux façons de chiffrer sans clés
Par mot de passe (symétrique)
Vous choisissez un mot de passe, le message est chiffré avec, et quiconque possède ce mot de passe peut le déchiffrer. Pas de paires de clés, pas d'échange de clés, rien à préparer à l'avance. C'est ce que veulent la plupart des gens pour un envoi ponctuel : transmettre des identifiants à un collègue, une adresse à un ami.
Le hic, c'est que le mot de passe doit parvenir au destinataire d'une manière ou d'une autre, et qu'il ne doit pas voyager avec le message. C'est précisément sur cette exigence que se produisent la plupart des erreurs réelles — nous la traitons en détail ici.
Clé publique
Si votre destinataire possède déjà une clé publique PGP, vous pouvez chiffrer directement pour elle et éviter entièrement le problème du mot de passe partagé. Seul le détenteur de la clé privée correspondante peut déchiffrer le résultat, il n'y a donc aucun secret à transmettre. CrypClip le permet dans les Options avancées.
C'est strictement mieux quand c'est possible. C'est simplement rarement possible, parce que cela suppose que l'autre personne ait déjà une paire de clés.
Les limites, honnêtement
Un outil de navigateur ne remplace pas à l'identique une installation PGP de bureau, et il vaut mieux dire clairement où sont les manques.
Pas de gestion des clés
Il n'y a ni trousseau, ni génération de clés, ni modèle de confiance, ni gestion de l'expiration. Si vous devez gérer des identités dans la durée — ce pour quoi PGP a réellement été conçu — c'est GnuPG qu'il vous faut.
Pas de signature
Le chiffrement prouve que personne d'autre ne peut lire le message. Il ne prouve pas qui l'a envoyé. La signature le fait, et les outils de navigateur ne la proposent généralement pas. Si l'authenticité compte autant que le secret, ce manque est important.
Une surface d'attaque plus grande
Du code livré par le réseau au chargement de la page peut, en principe, être altéré — par un serveur compromis, ou par une extension de navigateur malveillante ayant accès à la page. Un logiciel de bureau installé et vérifié une fois n'a pas cette propriété. C'est le véritable compromis, et il n'est pas nul.
Le chiffrement par mot de passe vaut ce que vaut le mot de passe
AES-256 n'est pas le point faible. Un mot de passe de huit caractères, si. Le PGP symétrique dérive sa clé de votre phrase secrète, si bien qu'une phrase devinable peut être attaquée hors ligne par quiconque détient le texte chiffré, quelle que soit la solidité du chiffrement sous-jacent.
Comment vérifier les affirmations plutôt que les croire
N'importe quel outil peut affirmer qu'il n'envoie vos données nulle part. La question utile est de savoir si vous pouvez le confirmer.
Avec un outil de navigateur, vous le pouvez, et cela prend une minute : ouvrez l'onglet Réseau de votre navigateur et chiffrez quelque chose — les seules requêtes que vous verrez concernent les propres fichiers de script du site, et aucune ne contient votre texte. Ou laissez la page finir de se charger, coupez entièrement le réseau et chiffrez quand même ; si cela fonctionne encore, rien n'était envoyé. CrypClip est en outre livré non minifié, précisément pour que le JavaScript puisse être lu, et la page sur son fonctionnement détaille chaque vérification.
Cette vérifiabilité est la contrepartie de la surface d'attaque plus grande. Vous ne pouvez pas auditer aussi facilement un binaire de bureau — mais vous ne le retéléchargez pas non plus à chaque utilisation.
Alors, lequel utiliser ?
Utilisez un outil de navigateur quand vous devez envoyer un message à une personne et que l'alternative est de l'envoyer en clair. C'est une véritable amélioration, et c'est le cas courant.
Utilisez GnuPG quand vous gérez des clés dans la durée, quand vous avez besoin de signatures, ou quand votre modèle de menace inclut un adversaire bien équipé susceptible de s'en prendre à la livraison même de la page. Nous détaillons cette comparaison dans CrypClip face à la ligne de commande GPG.