Speichern von Passwörtern mit Python-Schlüsselring

12

Ich verwende die Schlüsselbundbibliothek , um Kennwörter in meiner Python-App zu speichern.

import keyring
keyring.set_password('My namespace', username, password)
keyring.get_password('My namespace', username)

Und das funktioniert sehr gut.

Ich gehe davon aus, dass Passwörter im Schlüsselbund sicher sind, sie sind verschlüsselt. Aber, da ich sie nach Nutzernamen bekommen kann, was verhindert, dass andere Apps dasselbe tun?

Ist das nicht ein Sicherheitsrisiko, oder fehlt mir etwas?

    
umpirsky 19.12.2011, 22:31
quelle

1 Antwort

10

Die Schlüsselbundbibliothek verwendet den Standardschlüsselring Ihrer Desktopumgebung, z. der GNOME-Schlüsselbund . Dieser Schlüsselring ist sofort nach der Anmeldung freigeschaltet, dh: Jede andere Anwendung, die von Ihnen ausgeführt wird, hat Zugriff auf das Kennwort, das Sie mit Ihrer Anwendung gespeichert haben, aber - und das ist die Idee eines Schlüsselrings - andere Benutzer und ihre Anwendungen habe nicht.

Zitieren gnome-keyring Sicherheitsphilosophie ":

  

Ein Beispiel für Sicherheitstheater gibt die Illusion, dass irgendwie eins   Anwendung, die in einem Sicherheitskontext ausgeführt wird (z. B. Ihre Benutzersitzung)   kann Informationen aus einer anderen Anwendung beibehalten, die in derselben ausgeführt wird   Sicherheitskontext.

Beachten Sie, dass das username in den Funktionen set_password / get_password nicht mit dem Namen des Benutzers verbunden ist, der die Anwendung ausführt (dh der Benutzer, dessen Schlüsselring verwendet wird), sondern beispielsweise eine E-Mail-Adresse Datenbankbenutzername, etc.

    
Marcel Stimberg 19.12.2011, 23:53
quelle