Ist es sicher (verschlüsselte) Passwörter auf GitHub zu speichern?

21

Ich benutze Pass , um alle meine Passwörter zu behandeln. Sie werden mit GPG mit einem 4096-Bit-Schlüssel unter Verwendung des SHA256-Algorithmus verschlüsselt. Ich verwende für jedes Login in meinem Passwortspeicher ein anderes Passwort.

Eines der coolen Features von pass ist, dass sich alles in einem Ordner mit einer netten Hierarchie befindet, der sich perfekt zum Einrichten eines Git-Repos eignet (pass bietet sogar diese Fähigkeit). Ich möchte, dass mein Passwort auf allen meinen Computern auf dem neuesten Stand ist.

Ist es dann sicher, das pass git-Repository in ein privates GitHub-Repository zu verschieben? Wenn nicht, was ist das schwache Glied?

Nicolas Mattia
quelle
Ich würde dies nicht empfehlen. Ein Grund wäre, dass Sie Ihr verschlüsseltes Passwort verlassen, was einem Offline-Brute-Force-Angriff ausgesetzt wäre.
Heavyd
In Anbetracht der Tatsache, dass es sich um ein privates Repo handelt, würde ich (wie auch die Kunden von GitHub) davon ausgehen, dass niemand außer GitHub selbst Zugriff auf das Repo haben wird. Es sei denn natürlich, ich begebe mich eines Tages irgendwie zu einem falschen Repo.
Nicolas Mattia
1
Außerdem hätte niemand Zugriff auf den GPG-Schlüssel, sodass jemand die 4096-Bit-Verschlüsselung aufheben müsste, was selbst für einen Offline-Brute-Force-Angriff
Nicolas Mattia,
1
Es sei denn, sie haben es vermasselt und das Passwort für den privaten Schlüssel ist Password1;). Nur weil ich es schon heute einmal erwähnt habe, denke ich immer noch, dass Superfish den Namen seiner Firma als Passwort verwendet (komodia). Es macht es einfacher zu knacken, aber trotzdem. Dumme Fehler machen das Entschlüsseln von Passwörtern einfacher.
dakre18
@ dakre18 Ebene geht von "unwahrscheinlich" bis "lustige Entschlüsselung"
m3nda

Antworten:

13

Knappe Antwort

Es ist in Ordnung, einen Pass-Repo-Github zu setzen.

Ausführliche Antwort

Ihr Pass-Repo ist GPG-verschlüsselt, wobei der von Ihnen ausgewählte private Schlüssel verwendet wird. Daher ist er ebenso kugelsicher wie der von Ihnen ausgewählte Schlüssel. Außerdem wird Ihr privater Schlüssel nicht in Ihrem Pass-Repo gespeichert. Dies bedeutet, dass der private und der öffentliche Speicherort Ihrer verschlüsselten Kennwortdateien nicht das schwache Glied für die Sicherheit Ihres Kennwortmanagers sind. Es ist vielmehr der private Schlüssel, mit dem Sie sie verschlüsselt haben, über den Sie sich Gedanken machen müssen.

Stellen Sie sicher, dass es ein guter Schlüssel ist (wie der, den Sie erwähnt haben), und setzen Sie ihn niemandem aus, da er diesen großen alten Schlüssel nicht knacken muss, um ihn zu verwenden. Sie müssen nur Ihr Passwort verfälschen, und, seien wir ehrlich, es ist wirklich schwierig, sicherzugehen, dass Ihr Passwort gut genug ist, um alle zu stoppen .

Lassen Sie also niemanden Ihren Schlüssel sehen. Wenn Sie Ihren privaten Schlüssel auf jeden Computer verschieben, der Pass verwendet, können Sie einfach Ihr Pass-Repo von Github abrufen und den auf diesen Computern gespeicherten privaten Schlüssel einzeln verwenden. Jetzt bleiben sie alle synchron und sicher.

Zwei weitere zu berücksichtigende Punkte

Der springende Punkt ist, Ihre Passwörter verschlüsselt zu halten. Wenn Sie nicht damit einverstanden sind, dass sie auf github.com sind, dann verlassen Sie sich wirklich auf ihren privaten Standort und nicht auf ihren verschlüsselten Status. Wenn dies der Fall ist, warum sollten sie dann überhaupt verschlüsselt werden? Sie könnten einfach dieselben Flatfiles verwenden, die Pass verwendet, und sich nicht darum kümmern, sie zu verschlüsseln. Das wäre ziemlich praktisch!

Bedenken Sie auch, dass die einfachere Verwendung Ihres Passwort-Managers weniger dazu führt, dass Sie es untergraben möchten / müssen. Jedes Mal, wenn Sie Pass's Job dafür erledigen müssen (z. B. das Zurücksetzen eines Passworts für ein Konto, weil das nette sichere Passwort auf einem anderen Computer generiert wurde und Sie noch nicht manuell synchronisiert haben, aber jetzt sofort einsteigen müssen), haben Sie es wird die Sicherheit verringern, die es bietet.

Tyler Abair
quelle
Ich denke, Sie machen drei wirklich gute Punkte: 1) Der Verschlüsselungsschlüssel ist auf dem Server nicht vorhanden. 2) Lassen Sie jemanden sehen, dass mein Kennwort der Grund ist, warum es an erster Stelle verschlüsselt wird Schleife. Aber wie @Jens sagte, dann muss ich der Software vertrauen.
Nicolas Mattia
1
Pass ist so einfach, dass Sie Pass nicht wirklich vertrauen, Sie vertrauen PGP. Trotzdem müssen Sie PGP vertrauen. Meine Gedanken dazu sind, warum PGP überhaupt für irgendetwas verwenden, wenn Sie nicht vertrauen, dass es Sachen verschlüsselt?
Tyler Abair
7

Dies ist sicher, birgt jedoch ein zusätzliches Risiko im Vergleich dazu, dass Sie Ihren Passwortspeicher nicht an einem öffentlichen Ort ablegen.

  • Versehentliches Hochladen von unverschlüsselten Passwörtern (Sie tun dies nicht absichtlich, aber sicher, dass es nicht versehentlich passiert, oder aufgrund eines Softwarefehlers?)
  • Unbekannte Schwachstellen in RSA oder der verwendeten symmetrischen Verschlüsselung
  • Verwendungsmuster aufgedeckt (Statistik ist mächtig)
  • Die versehentliche Freigabe Ihres Zugriffstokens führt zu öffentlichen Daten. Wenn Sie dies zusätzlich für sich behalten würden, wären Sie viel sicherer
  • Im schlimmsten Fall ist Ihre ganze Passwort speichert Geschichte enthüllt wird, im Vergleich zu nur der aktuellen

Mit anderen Worten: Wenn Sie keine Fehler machen, vertrauen Sie der Software und die Mathematik hinter dem Verschlüsselungsalgorithmus bleibt sicher. Das öffentliche Speichern des verschlüsselten Passwortspeichers ist in Ordnung. Wenn Sie Zweifel an einem dieser Punkte haben (und persönlich würde ich genau in dieser Reihenfolge vertrauen, da ich das Vertrauen in mich selbst als Benutzer mit hoher Vertraulichkeit in der Mathematik verloren habe), halten Sie den Shop privat.

Hast du jemals aus Versehen eine private Passphrase in einem Chatfenster gepostet, die aufgetaucht ist? Ich kenne eine Menge Leute, die das taten, auch mich.

Jens Erat
quelle
3

Dies ist eine gute Frage, da es in der Vergangenheit ein Problem gab, bei dem jemand ein privates Kennwort in ein öffentliches Repository gestellt hat.

Betrachten Sie es so, es ist eine gute Praxis, diese Datei (zusammen mit anderen vertraulichen Dateien) nicht in einem öffentlichen Repository zu speichern, selbst wenn es privat ist. Es ist gut, es irgendwo zu sichern, aber wenn wir sagen, dass Ihr Passwort irgendwie abgerufen wurde (zum Beispiel von Seiten Dritter), könnten sie auf Ihren Github zugreifen und trotzdem das Passwort abrufen. Der schlimmste Fall, aber es ist immer noch möglich. Normalerweise würde ich vorschlagen, dass eine Art Datei auf einer externen Festplatte gespeichert wird, und die Festplatte möglicherweise irgendwo aufbewahren, falls ein Feuer ausbricht.

Wenn Sie wirklich ein Repository oder eine Cloud zum Speichern verwenden möchten, tun Sie einfach alles, um die Sicherheit zu gewährleisten.

Insgesamt ist es nicht die beste Idee. Es ist nicht das Schlimmste, aber es ist das Beste, sich vorzustellen, was passieren würde, wenn? Szenarien. Es kann Ihnen nie passieren, aber wenn ja, ist es die Mühe wert?

Bearbeiten: Ich habe in einigen Beiträgen über Programme nachgedacht, daher habe ich es so angepasst, dass Sie Ihre Frage besser beantworten können.

dakre18
quelle
0

Eines der coolen Features von pass ist, dass sich alles in einem Ordner mit einer netten Hierarchie befindet, der sich perfekt zum Einrichten eines Git-Repos eignet

Ich denke es ist kein Safe. Ihr gesamtes Konto (Verzeichnisstruktur) ist nicht verschlüsselt. Nur das Passwort wurde von gpg geschützt.

(Pass bietet sogar diese Fähigkeit)

Wenn du es mit der Fähigkeit von pass machst. Vielleicht ist es sicherer. Sie müssen Ihren Shop jedoch mit "pass git init" neu erstellen.

utopischer Ausdruck
quelle