Gibt es Hinweise, wie Sie den SecureString tatsächlich sicher nutzen können? Ich sehe nicht, dass es überhaupt eine Möglichkeit gibt, die sichere Zeichenfolge überhaupt erst zu erstellen, da Sie sie irgendwann aus einem Textfeld eingeben müssen.
SecureString dient dazu, den Speicher der Daten im Speicher zu verschlüsseln. Dies schützt vor Klartextspeicher-Scans. Dies kann sogar noch wichtiger sein, wenn der Teil des Speichers, der den String enthält, während der Paging-Vorgänge in eine Auslagerungsdatei verschoben wird.
Es ist ein bisschen wie eine Lenkradsperre für ein Auto. Es wird nicht verhindern, dass Ihr Auto von jemandem gestohlen wird, der entschlossen ist, aber es schreckt opportunistische Diebe ab.
Es geht darum, die Angriffsfläche zu reduzieren. Es wird nicht magisch Ihre Anwendung 100% sicher machen, aber es hilft sicherlich.
Die Zeichenfolge ist für jeden mit Debugger-Zugriff auf die Maschine unter Verwendung von Tools wie Hawkeye leicht verfügbar. In der Tat machen die Community-Hinweise auf MSDN dies deutlich.
Auch wenn der Inhalt der Zeichenfolge aus Benutzereingaben stammen muss, ist es dennoch sinnvoll, SecureString zu verwenden, wenn der Wert vertrauliche Informationen enthält. Wenn Ihre Anwendung den Inhalt des Textfelds liest, setzen Sie den Wert so bald wie möglich in einen SecureString. Wie Mehrdad sagt, ist es in diesem Fall nicht 100% sicher, aber es ist mehr sicherer als SecureString nicht.