Sicherheit bei Passworteingabe mit QLineEdit

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Shaldy
User
Beiträge: 123
Registriert: Sonntag 2. März 2008, 22:49

Hallo zusammen,

bei meinem momentanen Projekt wird vom Benutzer zu einer bestimmten Zeit ein Passwort eingegeben. Dieser Vorgang erfolgt in der GUI über QLineEdit im Echomode "Password".
Meine Frage ist einfach, wie sicher das Ganze ist, weil ich mich nicht besonders gut damit auskenne. Werden die Eingaben vom OS irgendwie selber direkt verschlüsselt, oder lassen die sich mit einem anderen Programm einfach auslesen?
Dies ist keine Signatur!
BlackJack

@Shaldy: Die Eingabe landet im Arbeitsspeicher. Eventuell auch auf der Festplatte in der Auslagerungsdatei beziehungsweise der Swap-Partition. Mit den entsprechenden Rechten kann man es auslesen.
Shaldy
User
Beiträge: 123
Registriert: Sonntag 2. März 2008, 22:49

Mein Problem ist, dass ich Daten auf einer Chipkarte möglichst sicher speichern will. Da mir eine Prozessorchipkarte mit eigenem Betriebssystem etc. zu aufwändig erscheint, habe ich mir überlegt eine normale Speicherchipkarte zu nutzen (schreib- aber nicht lesegeschützt). Da die Daten von jedem ausgelesen werden können müssen sie verschlüsselt werden.
Letzendlich soll die Karte nur zwei IDs speichern, die durch eine PIN geschützt werden.
Meine Idee ist es, die beiden IDs mit der PIN als Key zu verschlüsseln, und die PIN selbst verschlüsselt auf der Karte zu speichern. Später soll der Benutzer seine PIN im Programm eingeben, diese wird auf die selbe Weise verschlüsselt und mit der PIN auf der Karte verglichen. Ist die PIN korrekt, werden die IDs damit entschlüsselt und die Daten können ausgelesen werden.

Klingt das sicher? Gibt es Probleme oder einfachere Verfahren? Ich weiß, dass Prozessorchipkarten für sowas besser geeignet sind, die haben integrierte kryptographische Funktionen aber vielleicht ist meine Lösung sicher genug. Außerdem braucht man dann keinen Kartenleser mit Tastatur (die sind natürlich teurer).

Kennt jemand evtl. ein gutes Modul um mit Chipkarten zu kommunizieren? Ich finde nur pyscard und das ist nicht sonderlich gut dokumentiert. Außerdem funktioniert die Hälfte der Codebeispiele aus dem vorhandenen Tutorial nicht (das kann aber auch an meinem Leser und/oder meiner Karte liegen)
Dies ist keine Signatur!
deets

Es kommt jetzt natuerlich am Ende auf deinen Anwendungszweck an, wie wichtig das alles ist und so. Aber salopp gesagt: vergiss es. Sowas entwickelt man nicht so neben bei, ohne wirklich Experte fuer Verschluesselung zu sein.

Die Bundesregierung hat gerade ein paar Milliarden in die Gesundheitskarte versenkt, und da sind immer noch nicht alle Probleme geloest. Es gibt Reader fuer qualifizierte Signaturen, die dreistellige Betraege kosten. Und zB Herzschrittmacher-Hersteller engagieren Bruce Schneier, um ueber ihre Remote-Admin Interfaces zu reden (und der momentane Stand ist: besser nicht machen...)

Und deine Fragen zeigen, dass du da offensichtlich nicht so bewandert bist. Die Eingabe eines Passwortes in den Rechner kann *IMMER* durch ein kompromittiertes System abgefangen werden - such mal nach dem Begriff KeyLogger. Genau darum gibt es ja Chipkarten mit Prozessoren & extra Chiplesern, welche die Eingabe von einer anschliessenden Verarbeitung entkoppeln.

Wie gesagt: wenn das jetzt nur die Zugangskarte fuer's Faehnlein Fieselschweif Clubhaus ist, dann ist das womoeglich ok - es geht bei Security ja im Grunde immer nur darum, wie hoch man die Huerde macht.

Aber sonderlich sicher hoert sich das alles nicht an, und wird es auch nicht werden, so aus dem Handgelenk.
Shaldy
User
Beiträge: 123
Registriert: Sonntag 2. März 2008, 22:49

Ertstmal vielen Dank für die Antwort! Das hört sich jetzt zwar nicht besonders ermutigend an, ist aber insofern ganz gut, dass ich mir jetzt eine Vorstellung davon machen kann, was ich überhaupt schaffen kann, darum danke :)

Das Projekt baut auf einem Jugend-Forscht Projekt auf (Wettbewerb für Schüler und Studenten), von daher muss es jetzt nicht der Sicherheit einer Regierungsdatenbank entsprechen. Ich weiß auch, dass man mit dem entsprechenden Können eigentlich immer eine Sicherheitslücke findet, ich versuche nur die Messlatte für dieses Können auf relativ einfache Weise so hoch wie möglich zu legen.
Dies ist keine Signatur!
deets

Es ist eben immer eine Frage des Einsatzszenarios: wenn es bei dieser Karte zB darum geht, wirkliche Geldbetraege zu verwalten auf die ein oder andere Art und Weise - dann ist der Anreiz da, das System auzutricksen. Und das, was du jetzt bschreibst, macht es eben sehr einfach. Denn du schuetzt ja die Kommunikation nicht.

Die Sicherheit ist ungefaehr vergleichbar mit einer nicht-SSL verschluesselten HTTP Passwort-Loesung mit salting und hashing. Der entscheidende Unterschied: dein System ist immer lokal vorhanden, ich kann also versuchen es zu manipulieren. Einen Man-in-the-Middle-Angriff auf eine Webseite zu starten ist dahingegen ungleich schwieriger, da ich ja nicht mal so eben in ein Rechenzentrum reinkomme usw. In beiden Faellen ist man nicht davor gefeit, durch Trojaner oder andere malizoese Software sich einen Keylogger einzufangen.
Antworten