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

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

3 Tagen ago

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

3 Tagen ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

3 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

4 Tagen ago

BAUMLINK: Wir sind Partner und Aussteller bei der Frankfurt Tech Show 2024

Die Vorfreude steigt, denn BAUMLINK wird als Partner und Aussteller bei der Tech Show 2024…

4 Tagen ago

Business GPT: Generative KI für den Unternehmenseinsatz

Nutzung einer unternehmenseigenen GPT-Umgebung für sicheren und datenschutzkonformen Zugriff.

4 Tagen ago