![]() |
Delphi String schützen
Moin Moin,
ich habe ein Programm geschrieben welches beim öffnen nach einem Passwort fragt. Hier geht es jetzt nicht darum das gespeicherte Passwort zu schützen, denn sofern der Benutzer das falsche Passwort eingibt, können die Dateien ohnehin nicht entschlüsselt werden. Das benötigte Passwort ist also nicht im Programm gespeichert. Mein Problem ist es, dass nachdem der Benutzer das Passwort eingegeben hat, dieses in einem String gespeichert wird weil es während der Benutzung mehrmals benötigt wird. Gibt es eine Möglichkeit diesen String zu schützen? Ich möchte verhindern das der Speicher durchsucht wird und das Passwort dort im Klartext steht. |
AW: Delphi String schützen
Wie wäre es, nur die Information, daß der Benutzer sich identifiziert hat, abzulegen?
Ansonsten gäbe es die Möglichkeit z.B. einen Hash abzulegen. Aber letztendlich erhöhst Du mit jeder "Sicherung" nur den Aufwand an die Passwortinformation zu kommen. Sicherheit gibt es nicht. Gruß K-H |
AW: Delphi String schützen
Der Hash wäre wieder ein Hinweis auf das Passwort und ich wollte zu beginn schon kein Passwort in den Quellcode schreiben. Bei der Verschlüsselung handelt es sich um AES und wer das ohne Brute Force aufbekommt, der kriegt auch ganz andere Sachen hin.
Ich muss lediglich verhindern das jemand während der Laufzeit und während jemand angemeldet ist den Programmspeicher durchsucht. Gibt es eine Möglichkeit zu registrieren sobald der eigene Speicher durchsucht wird, dann zumindest den Benutzer auszuloggen? |
AW: Delphi String schützen
Wenn es für Windows ist, da gibt es genau dafür die API-Funktionen
![]() ![]() Du kannst allerdings auch mit ![]() ![]() Problematisch ist allerdings, dass bei CryptProtectData die Ursprungsdaten im Speicher erhalten bleiben und bei CryptProtectMemory wird eben genau dieser Speicherbereich der Ursprungsdaten verschlüsselt. |
AW: Delphi String schützen
Immer schwierig, wenn das System bereits kompromittiert ist, kann man eigentlich nur sehr schwer verhindern, dass ein bestimmtes Programm ausgespäht wird.
![]() |
AW: Delphi String schützen
Es muss nicht davon ausgegangen werden, dass das System bereits kompromittiert ist. Es soll nur dafür gesorgt werden das sobald das Programm läuft niemand ein Programm Startet und anfängt den Prozess nach dem Passwort String zu durchsuchen.
|
AW: Delphi String schützen
Aber würde das nicht nur auf einem kompromittierten System passieren?
Das Paßwort wird doch vom Anwender gerade eben eingegeben. Wer sonst soll denn da noch am Rechner hocken und - unbemerkt, wohlgemerkt - den Prozess ausspähen? Sherlock |
AW: Delphi String schützen
Nehmen wir mal ein Kassensystem, dort können sich unterschiedliche Benutzer an der Anwendung anmelden (und alle anderen Systeme die so arbeiten).
Die Session selber ist ein Standard-Benutzer. Wenn die Zugangsdaten vom Vorbenutzer nicht verschlüsselt abgelegt wurden, dann reicht ein Memory-Dump über den Task-Manager und ![]() Allerdings reicht es hierbei nicht aus, einfach den Wert aus einem Edit-Feld zu nehmen und zu verschlüsseln. Denn da ist das Kind schon lange im Brunnen. Man benötigt ein spezielles Eingabefeld, welches die einzelnen Tastendrücke Zeichen für Zeichen an diesen geschützten Speicher übergibt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz