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


Themenseiten: .NET, Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Securestring-Klasse: Sensible Daten in .NET 2.0 besser schützen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *