Securestring-Klasse: Sensible Daten in .NET 2.0 besser schützen

Die Securestring-Klasse ist im System.Security-Namensraum zu finden. Das Microsoft-Handbuch sagt über die Securestring-Klasse, dass sie Text darstellt, der vertraulich behandelt werden soll und im Speicher verschlüsselt ist. Die Securestring-Klasse hat die folgenden Merkmale:

  • Text-Werte werden verschlüsselt im Speicher abgelegt. Da die Data Protection API (DPAPI) verwendet wird, kommen nur NT-basierte Systeme in Frage.
  • Die Securestring-Klasse implementiert die Idisposable-Schnittstelle.
  • Der verschlüsselte Text kann nicht ohne weiteres abgerufen werden; das heißt, es gibt keine Tostring-Klasse, mit der man den Inhalt leicht auslesen kann.

Der Konstruktor der Securestring-Klasse ist überladen und erlaubt so zwei Möglichkeiten zum Erzeugen von Instanzen in der Klasse, wie es hier beschrieben ist:

  • Securestring(): Initialisiert eine neue Instanz der Securestring-Klasse.
  • Securestring(Char*, Int32): Initialisiert eine neue Instanz der Securestring-Klasse, der ein Unterarray von System.Char-Objekten und ihre Länge zugewiesen werden.

Wenn das Objekt initialisiert ist, kann man die unterschiedlichen Methoden und Eigenschaften der Klasse verwenden, um mit deren Inhalten zu arbeiten. Die folgende Liste bietet einen Überblick über die wichtigeren Eigenschaften und Methoden, die zur Verfügung stehen:

  • AppendChar: Fügt am Ende der aktuellen sicheren Zeichenfolge ein Zeichen an.
  • InsertAt: Fügt in dieser sicheren Zeichenfolge an der angegebenen Indexposition ein Zeichen ein.
  • RemoveAt: Entfernt das Zeichen an der angegebenen Indexposition aus dieser sicheren Zeichenfolge.
  • SetAt(int, char): Ersetzt das an der angegebenen Indexposition vorhandene Zeichen durch ein anderes Zeichen.
  • Clear: Löscht den Wert der aktuellen sicheren Zeichenfolge.
  • Copy: Erstellt eine Kopie der aktuellen sicheren Zeichenfolge.
  • Dispose: Gibt alle vom aktuellen Securestring-Objekt verwendeten Ressourcen frei.
  • Length: Gibt die Länge der sicheren Zeichenfolge zurück.
  • MakeReadOnly: Legt den Textwert dieser sicheren Zeichenfolge als schreibgeschützt fest. Kann nicht widerrufen werden.
  • IsReadOny: Gibt an, ob diese sichere Zeichenfolge als schreibgeschützt markiert ist.

Der folgende C#-Code schafft eine Instanz der Securestring-Klasse und speichert einen Datenwert darin.

Listing A

Der Code sichert den Wert der Zeichenfolge mittels der Make-Read-Only-Methode, nachdem das letzte Zeichen eingegeben wurde. Dies bedeutet, dass der Wert nicht geändert werden kann. Wenn man versucht, die Daten zu ändern, nachdem diese schreibgeschützt wurden, wird eine Fehlermeldung ausgegeben. Der Code zeigt, wenn er ausgeführt wird, lediglich den Namen der Klasse an (System.Security.Securestring). Es folgt der entsprechende VB.NET-Code:

Listing B

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Lags beim Online-Gaming? DSL-Vergleich und andere Tipps schaffen Abhilfe

Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…

1 Tag ago

GenKI-Fortbildung immer noch Mangelware

Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…

1 Tag ago

Netzwerk-Portfolio für das KI-Zeitalter

Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…

2 Tagen ago

Internet-Tempo in Deutschland: Viel Luft nach oben

Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.

2 Tagen ago

Erste Entwickler-Preview von Android 16 verfügbar

Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…

2 Tagen ago

Kaspersky warnt vor Cyberangriff auf PyPI-Lieferkette

Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.

2 Tagen ago