Sichere Weise zu speichern, Passwort in Windows

Ich versuche zu schützen, lokalen Datenbank enthält sensible Informationen (ähnlich diese Frage, nur für delphi 2010)

Ich bin mit DISQLite Komponente, die Unterstützung für AES-Verschlüsselung, aber ich muss immer noch den Schutz dieses Passwort ich verwenden, um zu entschlüsseln & Lesen der Datenbank.

Meine ursprüngliche Idee war es, ein zufälliges Passwort generieren, speichern Sie es mit etwas wie DPAPI (CryptProtectData und CryptUnprotectData Funktionen, die in Crypt32.dll), aber ich konnte keine Beispiel für Delphi

Meine Frage ist: wie kann ich sicher zu speichern eine zufällig generierte Passwort? Oder, vorausgesetzt die DPAPI Straße sicher ist, wie kann ich dies umsetzen DPAPI in Delphi?

  • Als Regel, die JEDI-Bibliothek hat-Wrapper für die Windows-Kryptografie-API-Schnittstelle JwaWinCrypt.pas Einheit.
  • Sie können versuchen, LockBox, kostenlos und einfach zu bedienen: sourceforge.net/projects/tplockbox
  • Danke, ja ich habe gerade gefunden hier, beenden Sie eine schwere Einheit mit kein Beispiel...keine leichtere Lösung?
  • Danke, aber es ist nicht klar, wie funktioniert LockBox Hilfe bei der Implementierung sicherer Passwort-Speicher, ein Zeiger wäre mehr als willkommen!
  • Versuchen Sie zuerst stackoverflow.com/questions/9449613/... es ist wirklich ganz einfach!
  • Vielen Dank, aber ich kann nicht/wird sich nicht die Mühe den Benutzer zur Eingabe des Datenbank-Kennworts, das ist, warum ich bin auf der Suche nach einem sicheren Weg, um es irgendwo (lokal), dann Lesen Sie es zur Laufzeit
  • Wie wird die Verschlüsselung der Passwort schützen, was? Sicherlich kann ein Angreifer nur gelesen das entschlüsselte Kennwort aus dem Speicher?
  • So hat es keinen Sinn zu entschlüsseln, die nichts von der Bewerbung? 🙁
  • Ich verstehe, aber ich kann nicht einfach nur speichern Sie das Kennwort im Klartext in einer ini-Datei! Ich bin zu versuchen, die Dinge so schwer wie möglich für Angreifer.
  • Ja, diese dummen script kiddies das Leben schwer! 😀
  • Frage: ich möchte lösen die Passwort-Speicher-Problem, indem Sie ein hash-Wert und die Speicherung der hash auf der Festplatte. Dann, wenn es Zeit für die Validierung, Hash des eingegebenen Passworts und dann die überprüfung der hash gegen den gespeicherten Wert. Da die Menschen suchen in regelmäßigen Verschlüsselung (code/decode), ist es ein Nachteil, was ich Vorschlage oder gibt es eine andere Anforderung, die hinter den meisten dieser Fragen?
  • Leider habe ich muss die echte Passwort, um die Datenbank zu öffnen! Ein hash wird nicht geschnitten 🙁
  • Sie haben das echte Passwort - der Benutzer gerade eingegeben!

InformationsquelleAutor TheDude | 2012-10-30
Schreibe einen Kommentar