Kleines passwort tool in Phyton geschrieben. zusätzliche Ideen?

Du scheinst nicht genügend Wissen zu hanen, um einen sicheren PW Manager zu schreiben.
Tipp: KeePass
 
Zuletzt bearbeitet:
Die Passwort-Tafel sollte man auf jeden Fall verschlüsseln, wenn man die Auslese-Anleitung für Passwörter unverschlüsselt herum liegen lässt.
https://pycryptodome.readthedocs.io/en/latest/src/cipher/modern.html#eax-mode
Also runtime entschlüsseln, Passwort ausgeben, und dann vergessen.
Das ausgegebene Passwort könnte man am Bildschirm auch wieder überschreiben.
Vielleicht in der Art, für den Anfang:
Python:
import time
print("asdfghxyz?#!",end='',flush=True)
time.sleep(2)
print("\b\b\b\b\b\b\b\b\b\b\b\bxXxXxXxXxXxX")
 
Ich finds ehrlich gesagt witzig, dass du der Meinung bist, dir für dich ein sichereres Verschlüsselungsverfahren auszudenken, als es Mathematiker und Kryptographieexperten in Jahrzehnten geschafft haben.

Ich verstehe den Gedanken, aber wenn du das weiter ausbauen würdest, würdest du irgendwann genau da landen, wo KeePass und co jetzt sind. Und solange du nicht da angelangt bist, bist du unsicherer unterwegs.
 
  • Gefällt mir
Reaktionen: Oli_P
Mickey Mouse schrieb:
mir wurde als Werkstudent von meinem Chef vor über 30 Jahren eingebläut, dass ich keine einzige Zeile Code schreibe, solange das Pflichtenheft (so hat man das damals genannt) nicht abgesegnet ist. Maximal Struktogramme um das Konzept mit dem Kunden zu besprechen sind erlaubt.
Was vor 30 Jahren irgendwann mal eingebleut wurde, muss auch zwingend heute noch seine Gültigkeit haben. :-)

Das man keinen Code schreiben "darf" ist natürlich Blödsinn. Inbesondere da Du ja auf der anderen Seite Strukturgramme "erlaubst". Der Vorteil bei Quelltext ist, das man ihn ausprobieren kann. Der lässt sich auch leichter editieren. Und gerade um so explorativ in etwas einzusteigen ist es gar nicht verkehrt.

Klar entbindet das nicht davon sich Gedanken zu machen. Und ist auch kein Freibrief dafür sein Programm einfach drauf loszuprogrammieren.
Aber das man das nicht machen darf halte ich für überzogen bis kontraproduktiv.
Vor allem da es hier um ein Lernprojekt geht.

Die Frage ist eher, wieviel Sinn es macht da irgendwie von Chat-GPT sich Code schreiben zu lassen und darin ein bissl rumzustochern. Und das dann mit dem (offenbar ernsthaft gemeinten) Versuch zu unternehmen einen besseren Passwortmanager zu erstellen. Zumal hier an allen Ecken&Enden Know-How zu fehlen scheint.
Das Problem ist hier die totale Fehleinschätzung und nicht, das derjenige Quelltext "schreibt".
 
  • Gefällt mir
Reaktionen: alphatau, TomH22, KitKat::new() und eine weitere Person
So ich habe die datei ein wenig abgeändert
Um sie ein wenig sicherer zu machen, habe ich ein paar sicherheitsmechaniken hinzugefügt.

1) Die ursprüngliche random.txt ist jetzt eine random.py.
2)zusätzlich habe ich sie mit cryptography.fernet verschlüsselt.
3) Der key hat ein 150 Zeichen langes password.
3) Ich habe zusätzlich, in die erzeugte random.py eingefügt, das es USB so wie systeminformationen beim erstellen, der random.py ausliest. Und diese dann in der verschlüsselten Datei speichert.

Das ziel und der sinn ist, das die auslese datei, Einen abgleich, der in der random.py hinterlegten und der aktiven system/USBinformationen macht. Wenn diese Informationen nicht übereinstimmen, wird sich die Datei wieder schließen.

Das nächste, was ich einfügen werde, ist das die Datei nur über den "Localhost" gestartet werden kann.


Key Hier, der Github link
 
Passwortmanager nehmen einfach ein Master-Passwort, davon kannst einen hash im Programm speichern, und dann den Hashwert der Eingabe vergleichen. Dann mit dem Passwort die Passwort-Tafel entschlüsseln.
 
Ein Passwortmanager macht keine Zugriffssteuerung, da wird nirgends ein Passwort-Hash abgeglichen.
Das hätte auch keinen Vorteil bei der Sicherheit.
Die Passwortdatenbank hat i.d.R. an einer definierten Stelle einen definierten Wert/String oder transparent berechenbaren Hash zur Authentifizierung (üblicher Weise einen "Header").
Gibst du das Masterpasswort ein, wird dieser definierte Part (Header) der Datenbank mit dem errechneten Key entschlüsselt.
Steht an der defninierten Stelle dann der erwartete Wert, wird davon ausgegangen, dass das Passwort das richtige war und der Passwort-Manager präsentiert dir dann die entschlüsselte Datenbank.
Ergänzung ()

deydi schrieb:
So kann man wie in diesem Beispiel dann die Nummern
200712
Überall rumliegen lassen, keiner weiß, was es damit auf sich hat.
Doch ich weiß das und jeder andere hier auch.
Aber lassen wir das.

Ich verstehe deine Beweggründe hierfür noch nicht ganz.
Wovor genau hast du Angst?
  • Vor unverschlüsselten Passwörtern auf deiner Platte, da deine Mutter/Schwester/Freundin/etc. dir nachspionieren könnten, wenn du mal nicht am PC sitzt?
  • Vor Angreifern, die remote Zugriff auf deinen Rechner bekommen und deine Accounts übernehmen könnten?
  • Vor dem Staat, der dich verfolgen könnte?
  • Irgendwas anderes?
Bevor man sich eine Lösung ausdenkt, ist es enorm wichtig erstmal das Threat-Model zu kennen, um danach anhand dessen sinnvolle Entscheidungen treffen zu können.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: mental.dIseASe, DefconDev, TomH22 und 2 andere
Mimir schrieb:
Ich finds ehrlich gesagt witzig, dass du der Meinung bist, dir für dich ein sichereres Verschlüsselungsverfahren auszudenken, als es Mathematiker und Kryptographieexperten in Jahrzehnten geschafft haben.

Ich verstehe den Gedanken, aber wenn du das weiter ausbauen würdest, würdest du irgendwann genau da landen, wo KeePass und co jetzt sind. Und solange du nicht da angelangt bist, bist du unsicherer unterwegs.
Ja und damals hatten die Macher von Keepass und co genau den Gedanken und jetzt nutzen viele ihre Programme. Finds eigentlich gut, wenn Leute sowas nachbauen wollen und dadurch wohl viel lernen können. Wenn ich Keepass nutze, dann mach ich das mit blindem Vertrauen. Ich kann nicht programmieren und bin nicht fähig den Quellcode zu analysieren. Mir reichts erstmal, dass ich halbwegs mit der Bedienung zurecht komme und das Programm meinen Bedürfnissen anpassen kann :)
 
Nun das ganz grundlegende Problem ist halt, dass modernen System vermutlich 10.000 oder sogar 100.000 Passwörter die Sekunde durchtesten können - falls man weiss womit verschlüsselt ist und eine so stark beschränkte Ausgangsmenge hat.

Aber es kommt immer doch einfach auf den Anwendungszweck an.

Ich habe hier lokal auch einen Passwortserver gebastelt, weil das einfach für die Nutzung praktisch ist, der aber natürlich auch Schwächen hat, die mir aber egal sind :D weil die Schwächen für mich überschaubar sind.

Man muss IMMER einen Kompromiss eingehen zwischen Automatisierung und Sicherheit. Ich finde das nicht verkehrt mit sowas anzufangen das sicher auch schon ein Plus an Sicherheit ist und dann verbessert man sich doch eh von selber.

Ich habe auch mit OneTimePads und NFC-Tags angefangen - einfach und schon ein dickes Plus an Sicherheit. Und heute bin ich bei AES-256bit über https getunnelt per LoRa mit OTP rolling codes.

Einfach dranbleiben denn sobald man angefangen hat will man das doch eh meist optimieren und verbessert sich von alleine.
 
Zuletzt bearbeitet:
Zurück
Oben