Master Password, Keys und anderes

  • Allgemein

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von KidRick.

    Master Password, Keys und anderes

    Hallo zusammen,

    aktuell setze ich mich ein bisschen mit der Verschlüsselung auseinander und habe mich bspw. mal in das Whitepaper von 1Password (Password Manager) und weiteren Tools eingelesen. Ich würde gerne eine kleine Anwendung schreiben die sowas ähnliches kann, nur zu Testzwecken um das ganze besser zu verstehen. Mein Ansatz wäre folgender:

    Master Password - kennt nur der User, ist weder auf dem System noch sonst irgendwo gespeichert, muss manuell eingetippt werden
    Security Key - ein 26-stelliger randomly-generated Key, der im Windows Credential Manager / macOS Keychain hinterlegt ist, nur auf dem System des Nutzers

    Nutzer gibt Master Password ein, Security-Key wird generiert (bei erstem Start) / abgerufen. Der Security Key (auch wenn dieser indirekt bekannt ist, da auf System des Nutzers) wird mit dem Master-Password kombiniert und gehasht (SHA-512) und dann als Key beim verschlüsseln / entschlüsseln der Datenbank verwendet (AES-256-CBC).

    Jetzt stellen sich hier vier Fragen:
    1. Ist es schlimm wenn der IV-Vector bekannt ist? Der soll random generiert werden, allerdings muss dieser ja irgendwo hinterlegt werden damit dieser immer abrufbar ist.
    2. Sehe ich das richtig, dass wenn eine Komponente (Master Password oder Security Key) fehlt, kein Zugriff möglich ist? Ergo Master Password vergessen -> Daten futsch, Key gelöscht und nichtmehr bekannt -> Daten futsch?
    3. Dementsprechend, Angreifer muss Master Password UND Key kennen, um Zugriff zu erlangen? Hat er den Key, muss er das Master Password erraten, hat er das Master Password, muss er an den Key gelangen. Richtig verstanden?
    4. Allgemeine Meinung zu meinem Ansatz?

    Danke schonmal!

    Grüße
    Jan
    Software being "Done" is like lawn being "Mowed". (Jim Benson)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „KidRick“ ()

    Ob deine Daten bei Verlust des Masterpasswortes futsch sind, liegt denke ich vor allem bei dir bzw. wie du es programmierst.

    Ich habe eine App in Verwendung, welche ein Masterpasswort hat. Wenn dieses verloren geht oder vergessen wird, dann gibt es keinen Zugriff mehr.
    Da es aber eine App ist und ich keine Zugriff auf die Dateistruktur der App habe, kann ich aber nicht sagen, ob man trotzdem irgendwie an die Daten kommen kann.

    Aber der Sinn ist ja, dass man ohne Masterpw keinen Zugriff hat. Sofern sollten die Daten auf jeden Fall vor dem Zugriff geblockt sein bei Verlust.
    Da sollte dann nur noch die Entschlüsselung helfen um wieder an die Daten kommen. Was bei guter Verschlüsselung quasi unmöglich oder extrem aufwändig sein dürfte
    @Runshak

    Hey! Danke schonmal für die Antwort. Bei 1Password ists ja genauso, fehlt eine der Komponenten, ists vorbei.

    Und theoretisch sollte das in meinem Ansatz doch auch so sein? Wenn ich das Passwort mit dem Security-Key on-the-fly (während die App läuft) kombiniere und daraus einen Hash erzeugen lasse (SHA-512) und den zum verschlüsseln der Datenbank benutze, muss ja beim nächsten Mal Passwort und Key genau gleich sein, damit derselbe Hash wieder dabei rauskommt. Der Hash selbst wird ja nirgendswo gespeichert und generiert nachdem der Nutzer sein Passwort eingegeben hat. Falsches Passwort, falscher Hash. Richtiges Passwort, gleicher Hash wie bei Verschlüsselung der Datenbank daher Entschlüsselung möglich.
    Software being "Done" is like lawn being "Mowed". (Jim Benson)