Je commence à utiliser GnuPG et à essayer de comprendre comment l'utiliser au mieux. J'ai examiné l' explication courte, facile à comprendre de GPG / PGP pour les personnes non techniques? , mais la plupart des guides expliquent PGP avec une perspective mono-machine.
Je souhaite utiliser GnuPG sur trois périphériques informatiques: un PC Linux, un ordinateur portable Linux et un téléphone Android.
Le cas d'utilisation fondamental est le cryptage / décryptage des e-mails gérés par un service IMAP. Tous les appareils ont donc besoin de la même clé privée pour le décryptage.
Je suppose que mes choix sont:
Il suffit de copier toutes mes clés dans le trousseau de chaque appareil et de s’appuyer principalement sur le mot de passe de clé privée pour la protection.
Créez une clé principale (avec --gen-key) pour représenter mon identité, puis créez une clé jetable distincte (à nouveau avec --gen-key) pour chiffrer / déchiffrer les e-mails et signer avec la clé principale. Le premier réside uniquement sur mon PC, le dernier est distribué à chaque appareil. Tant que mes appareils mobiles ne sont pas compromis, la clé jetable reste valide.
Je suis peut-être trop paranoïaque et je complique les choses, mais amusez-moi, s'il vous plaît. Je crois en ne mettant pas tous vos œufs dans le même panier.
La clé principale est censée être mon identité numérique. Beaucoup d’efforts seront consacrés à l’instauration d’un climat de confiance autour de cette identité, et je préférerais subir les inconvénients de ma paranoïa plutôt que de perdre ma clé par négligence et d’instaurer la confiance autour d’une nouvelle clé principale (peut-être que ce n’est pas aussi grave que moi). pense, mais je suis nouveau à cela) .
Je suis plus susceptible de perdre mon ordinateur portable ou mon téléphone que mon PC. En cas de perte == compromis, je préfère perdre une paire de clés jetable (que je peux révoquer) que ma paire de clés principale. Je peux toujours accorder la confiance de ma clé principale à une nouvelle clé jetable.
Désolé pour la très longue question. :-)
TL; DR
Un mot de passe une protection suffisante pour stocker mon maître clé privée sur plusieurs périphériques?
Mon plan pour l'option n ° 2 est-il réalisable? Ai-je quelque chose de mal ou peut-il être amélioré?
Si l'option 2 est une mauvaise idée, quelles sont les meilleures pratiques lors de l'utilisation de GnuPG pour un seul utilisateur sur plusieurs périphériques?
En tant que personne qui n'aime pas les points de défaillance uniques (y compris les clés principales et surtout les mots de passe), c'est ce que je ferais. Il permet aux appareils de fonctionner via un réseau de confiance, tout en permettant une identité décentralisée.
Je ne sais pas s'il existe déjà un système pour cela, mais je pense qu'il pourrait probablement être scanné avec un travail cron et quelques lignes de Bash.
Dans ce système, vous avez deux classes de paires de clés: les paires de clés de périphérique et les paires de clés de calendrier . Une paire de clés de périphérique est générée pour l'utilisateur sur chaque périphérique et reste sur ce périphérique pendant toute sa durée de vie. Une paire de clés de temps est générée par un serveur central à intervalles réguliers (mensuel, quotidien, horaire - dépend de la paranoïa que vous souhaitez être). La clé publique est annoncée publiquement (le serveur lui-même disposant de sa propre paire de clés de périphérique avec laquelle signer), et la clé privée est distribuée cryptée avec la clé publique de chaque périphérique censé avoir accès à cette clé. (Cette distribution doit être aussi privée que possible, par exemple en faisant en sorte que les périphériques se connectent directement au serveur.)
Pour signer des messages, vous utiliseriez la clé de l’appareil depuis lequel vous envoyez le message. Si quelqu'un veut vous envoyer un message, il peut le signer avec votre clé de calendrier public actuelle. (Ils devraient avoir un système automatisé pour suivre les annonces.) Vous pouvez ensuite lire leur message à partir de n’importe quel appareil.
Pour lire des messages cryptés plus anciens, les paires de clés anciennes sont sauvegardées sur chaque appareil conformément à une stratégie appropriée (y compris le serveur générateur de clés, si vous le souhaitez - encore une fois, en fonction de votre niveau de paranoïa), des paires de clés protégées par mot de passe protégeant les anciennes clés (avec le nombre de mots de passe que vous gardez au fil du temps)
Si un appareil est volé ou autrement compromis, vous pouvez utiliser un autre de vos appareils de confiance publique pour créer un message signé publiquement, vérifiant votre identité (par quelque moyen que ce soit, par exemple, en notant que vous serez à une réunion publique et / ou demander à un ami de confiance de vous vérifier en personne) et révoquer la clé de périphérique compromise ainsi que toutes les clés de délai auxquelles il avait accès. Lors de la révocation de la clé, vous supprimez également le périphérique volé de la liste des périphériques de confiance du serveur (avec un mot de passe et votre clé de périphérique de confiance).
La stratégie de confiance des clés de périphérique récemment annoncées doit suivre les mêmes règles de confiance actuelles. Je pense qu'une stratégie appropriée consiste à faire confiance au serveur générateur, à un périphérique mobile et à un périphérique volumineux et lourd, car il est difficile de voler / infiltrer le téléphone d’un utilisateur, un ordinateur de bureau et un serveur VPS dans un hold-up concerté avant que l’utilisateur ne le remarque.
Si votre serveur est compromis, vous le révoquez simplement en suivant la procédure décrite pour tout autre périphérique compromis (éventuellement avec une stratégie plus stricte similaire à celle permettant d'ajouter un nouveau périphérique), et utilisez un serveur entièrement sécurisé à nouveau ou totalement (avec nouvelle clé de l’appareil).
la source