Hallo,
Folgendes Szenario: Ein benutzer besitzt einen passwort P für den login auf einem server, auf dem seine daten verschlüsselt abgelegt sind.
Dabei wird folgend vorgegangen:
Login : H = hash(P)
En/Decrypt : K = H xor P
H wird also zur authentifizierung des logins und K als schlüssel für die Ver/Entschlüsselung benutzt.
Grund für diese aktion (MEINER MEINUNG NACH!): Die sicherheit der verschlüsselten daten hängt nicht mehr von der Hash-Funtkion ab.
Findet ein angreifer beispielsweise eine kollision in der Hash-funktion für die gilt H' = hash(C) unt H = H' , dann kann er sich als gültiger benutzer authentifizieren.
Aber er kann die verschlüsselten dateien nicht entschlüsseln, da H' xor C != H xor P
Das könnte dem server auffallen und eine warnung an die admins rausgegeben etc.
So jetzt meine frage:
Sieht oder kennt jemand eine schwachstelle in dieser art der trennung für login un ver/entschlüsselung?
Oder ist meine meine vermutung, dass die sicherheit der hash-funktion auf den schlüssel k keinen einfluss hat falsch?
Vielen dank schon mal!
Login key spliting
-
nico
- Vereinsmitglied

- Beiträge: 2211
- Registriert: 22.12.2002 13:22
- Wohnort: C-Town
Re: Login key spliting
Ich sehe keine Schwachstelle. Aber das wird die Sicherheit eher nicht wesentlich erhöhen, da der Rechenaufwand bei aktuellen Hashverfahren (SHA2-512), eine Kollision zu finden, ähnlich hoch ist wie der, das Passwort zu finden. Zumal der Angreifer den (unbedingt zu verwendenden) Salt nicht wissen kann - es sei denn er hat sich vorher auf dem Server eingehakt. Dann kann er aber auch gleich das Passwort mitlesen.

