Est-il sûr de stocker des mots de passe (cryptés) sur GitHub?

21

J'utilise pass pour gérer tous mes mots de passe. Ils sont chiffrés en utilisant GPG avec une clé de 4096 bits, en utilisant l'algorithme SHA256. J'utilise un mot de passe différent pour chaque connexion dans mon magasin de mots de passe.

L'une des fonctionnalités intéressantes de pass est que tout se trouve dans un dossier avec une belle hiérarchie, ce qui est parfait pour configurer un dépôt git (pass fournit même cette capacité). Je souhaite que mon magasin de mots de passe soit à jour sur tous mes ordinateurs.

Est-il alors sûr de pousser le référentiel pass git vers un référentiel GitHub privé? Sinon, quel est le maillon faible?

Nicolas Mattia
la source
Je ne recommanderais pas cela. L'une des raisons serait que vous laissez votre mot de passe crypté soumis à une attaque par force brute hors ligne.
2015
Étant donné qu'il s'agit d'un dépôt privé, je suppose (comme le font les clients de GitHub) que personne à part GitHub lui-même n'aura accès au dépôt. Sauf, bien sûr, je m'engage en quelque sorte à un mauvais repo un jour.
Nicolas Mattia
1
De plus, personne n'aurait accès à la clé GPG, donc quelqu'un devrait casser le cryptage de 4096 bits, ce qui est peu probable même pour une attaque par force brute hors ligne
Nicolas Mattia
1
À moins qu'ils aient foiré et que le mot de passe de la clé privée soit Password1;) juste parce que je l'ai mentionné une fois déjà aujourd'hui, je pense toujours à superfish en utilisant le nom de sa société comme mot de passe (komodia). Cela le rend plus facile à craquer, mais quand même. Des erreurs stupides facilitent le déchiffrement des mots de passe.
dakre18
Le niveau @ dakre18 passe de "peu probable" à "décryptage amusant"
m3nda

Réponses:

13

Réponse concise

C'est ok de mettre un github pass repo.

Réponse détaillée

Votre dépôt de passe est crypté en GPG à l'aide de la clé privée que vous avez sélectionnée, il est donc aussi à l'épreuve des balles que la clé que vous avez choisie. De plus, votre clé privée n'est pas stockée dans votre repo pass. Cela signifie que l'emplacement privé ou public de vos fichiers de mot de passe cryptés n'est pas le maillon faible de la sécurité de votre gestionnaire de mots de passe. C'est plutôt la clé privée avec laquelle vous les avez chiffrés que vous devez vous soucier.

Assurez-vous que c'est une bonne clé (comme celle que vous avez mentionnée) et ne l'exposez à personne car ils n'auront pas à casser cette grosse clé pour l'utiliser. Ils n'auront qu'à bork votre mot de passe, et, avouons-le, il est vraiment difficile d'être certain que votre mot de passe est assez bon pour arrêter tout le monde .

Alors ne laissez personne voir votre clé. Si vous déplacez votre clé privée sur chacun de vos ordinateurs qui utilisent pass, vous pouvez simplement extraire votre dépôt pass de github et utiliser la clé privée stockée sur ces ordinateurs individuellement. Maintenant, ils resteront tous synchronisés et en sécurité.

Deux autres choses à considérer

Le point de passage est de garder vos mots de passe cryptés. Si vous n'êtes pas d'accord avec eux sur github.com, alors ce sur quoi vous comptez vraiment, c'est leur emplacement privé et non leur état crypté. Si tel est le cas, pourquoi les chiffrer? Vous pouvez simplement utiliser les mêmes fichiers plats que ceux utilisés, et ne pas prendre la peine de les chiffrer. Ce serait assez pratique!

Gardez également à l'esprit que le fait de rendre votre gestionnaire de mots de passe plus facile à utiliser signifie que vous êtes moins susceptible de vouloir / devoir le subvertir. Chaque fois que vous devez réussir le travail (par exemple, réinitialiser un mot de passe sur un compte parce que le bon et sécurisé a été généré sur un autre ordinateur et que vous n'avez pas encore synchronisé manuellement, mais vous devez vous connecter maintenant) vous êtes va réduire la sécurité qu'il offre.

Tyler Abair
la source
Je pense que vous faites trois très bons points: 1) la clé de cryptage n'est pas présente sur le serveur 2) demandez à quelqu'un de voir mon mot de passe est la raison pour laquelle il est crypté en premier lieu 3) mes doigts maladroits sont pour la plupart retirés du boucle. Mais comme l'a dit @Jens, je dois faire confiance au logiciel.
Nicolas Mattia
1
Pass est assez simple pour que vous ne fassiez pas vraiment confiance à Pass, vous faites confiance à PGP. Cela étant dit, oui, vous devez toujours faire confiance à PGP. Mes réflexions à ce sujet sont, pourquoi utiliser PGP pour quoi que ce soit si vous ne croyez pas qu'il crypte les choses?
Tyler Abair du
7

Ce sera sûr, mais vous expose à des risques supplémentaires par rapport à ne pas mettre votre magasin de mots de passe dans un lieu public.

  • Téléchargement accidentel de mots de passe non cryptés (vous ne le ferez pas exprès, mais vous risquez de ne pas le faire par accident ou à cause d'un bogue logiciel?)
  • Faiblesses inconnues dans RSA ou cryptage symétrique utilisé
  • Modèles d'utilisation révélés (les statistiques sont puissantes)
  • La libération accidentelle de votre jeton d'accès se traduit par des données publiques; si vous aviez également gardé cela privé, vous êtes beaucoup plus sûr
  • Le pire des cas est que tout l' historique de votre magasin de mots de passe soit révélé, comparé à l'actuel

En d'autres termes: si vous ne faites pas d'erreurs, faites confiance au logiciel et les mathématiques derrière l'algorithme de cryptage restent sécurisées. Le stockage public du magasin de mots de passe crypté est correct. Si vous avez un doute sur l'un d'entre eux (et personnellement, ma confiance serait exactement dans cet ordre, avec une perte de confiance en moi en tant qu'utilisateur avec une grande confidentialité dans les calculs), gardez le magasin privé.

Avez-vous déjà publié une phrase secrète privée dans une fenêtre de discussion par accident qui est apparue? Je connais un tas de gens qui l'ont fait, moi y compris.

Jens Erat
la source
3

C'est une bonne question, car cela a été un problème dans le passé lorsque quelqu'un a mis un mot de passe privé dans un référentiel public.

Pensez-y de cette façon, il est recommandé de ne pas stocker ce fichier (ainsi que tout autre fichier sensible) dans un référentiel public, même s'il est privé. Il est bon de le sauvegarder quelque part, mais si disons que votre mot de passe a été récupéré d'une manière ou d'une autre (site tiers par exemple), ils pourraient accéder à votre github et toujours récupérer le mot de passe. Pire cas, mais c'est toujours possible. Je suggère généralement d'avoir une sorte de fichier stocké sur un disque dur externe, et éventuellement de stocker le disque dur quelque part en cas d'incendie.

Si vous voulez vraiment utiliser un référentiel ou un cloud pour le stocker, faites tout ce que vous pouvez pour le garder en sécurité.

Dans l'ensemble, ce n'est pas la meilleure idée. Ce n'est pas le pire, mais il vaut mieux penser au "que se passerait-il si?" scénarios. Cela ne vous arrivera peut-être jamais, mais si c'est le cas, vaut-il la peine?

Edit: je pensais à des programmes dans certains de mes messages, donc je l'ai coupé pour que vous puissiez mieux répondre à votre question.

dakre18
la source
0

L'une des fonctionnalités intéressantes de pass est que tout se trouve dans un dossier avec une belle hiérarchie, ce qui est parfait pour configurer un dépôt git

Je pense que ce n'est pas sûr. Pour tout votre compte (structure de répertoire) n'est pas crypté. Seul le mot de passe avait été protégé par gpg.

(passer fournit même cette capacité)

Si vous le faites en utilisant la capacité du pass. C'est peut-être plus sûr. Mais vous devez reconstruire votre magasin en utilisant "pass git init".

eexpress utopique
la source