Moin Siri,
Es gibt da überlicherweise zwei Ansätze. Entweder, der Schlüssel ist ein Passwort oder eine Passphrase, die der User eingeben muss oder der Schlüssel wird verschlüsselt mit einem Passwort oder einer Passphrase des Users gespeichert in einer Datenbank abgelegt.
Wenn ich das richtig verstanden habe, ist das einer der Kritikansätze an Mega. Vergisst man das Passwort, sind die Daten nicht mehr zugänglich […]
Naja, kommt drauf an. Wenn das bedeutet, dass der Schlüssel bei dir lokal liegt, wäre das ja das richtige und gute Vorgehen. Sicherheit ist halt nicht unbedingt bequem ;)
[…] oder es wird beides in einer DB abgelegt, dann hat derjenige Zugriff, der die DB knackt, richtig?
Naja, bei Mega läuft das etwas anders. Wenn wir die technischen Schwächen und den Idioten Kim mal beiseite lassen, haben sie das gar nicht so schlecht gemacht. Der Schlüssel mit deinem Passwort verschlüsselt bei denen abgelegt. Das ist nicht optimal, aber ich kann nachvollziehen, warum sie das machen: es muss ja auch für den DAU benutzbar bleiben. Zusätzlich zu deinem symmetrischen Schlüssel gibt es noch ein je 2048 Bit grosses RSA Schlüsselpaar für exakt das Verfahren, dass ich unten beschrieben habe. Der private Schlüssel wird scheinbar (so richtig weiss man es nicht, weil die Doku unklar ist) mit deinem symmetrischen Schlüssel verschlüsselt gespeichert.
Der reine Datenbank-Zugriff nützt dir also nichts, du benötigst immer noch das Passwort des Users.
Allerdings kommen hier zwei Sachen zum tragen:
- Die Privacy Terms von Mega:
Your information we collect
[...]
- Any personal information included in data uploaded to our system including but not limited to registration information.
Das legt nahe, dass sie lügen.
- Technische Schwächen in der Implementation. Schlechter Zufall, kaputtes Hashing, Unicode-Bugs, etc
Das legt nahe, dass die Verschlüsselung angreifbar ist.
Man sollte Mega also nicht trauen.
[… asymmetrische Verschlüsselung …]
Interessant! Das bedeuted aber auch, das beide -Sender und Empfänger- im gleichen Kontext stehen müssen (also z.B. Mega) oder anders ausgedrückt: Der Empfänger benötigt einen Mega_Account für seinen private key. Einfach einen Key generieren, den Link in eine Standard-Mail kopieren reichtdann wohl nicht...
Das ist so, ja.
LG,
CK