.NET-Framework sicher nutzen: So verschlüsselt man Konfigurationsdateien

Das Verschlüsseln von Konfigurationsdaten erhöht die Sicherheit einer Anwendung. Arglistigen Benutzern wird es erschwert, die Daten auszulesen – selbst dann, wenn sie auf die Konfigurationsdatei zugreifen. In ASP.NET gibt es zwei geschützte Konfigurations-Provider: RSAProtectedConfigurationProvider und DPAPIProtectedConfigurationProvider.

RSAProtectedConfigurationProvider verwendet den RSACryptoServiceProvider, um Konfigurationsabschnitte mittels RSA-Public-Key-Verschlüsselung zu ver- und entschlüsseln. Der DPAPIProtectedConfigurationProvider benutzt dagegen das Windows Data Protection API (DPAPI), um Konfigurationsabschnitte mithilfe der in Windows enthaltenen Kryptografie-Funktionen zu verschlüsseln. Bei Bedarf kann man auch eigene geschützte Einstellungs-Provider erzeugen. Während Benutzer es schwer haben werden, mit den verschlüsselten Daten zu arbeiten, hat ASP.NET damit keine Probleme. Beide Provider können in ASP.NET-Code verwendet werden.

Wie verwendet man den Code?

Das .NET-Framework 2.0 erlaubt das Verschlüsseln der meisten Konfigurationsabschnitte der Dateien Web.config oder machine.config. Der Namensraum System.Web.Configuration dient zum Verschlüsseln von Konfigurationsdateien mittels Code. Er enthält zwei Methoden mit Bezug zur Verschlüsselung: ProtectSection und UnprotectSection.

  • ProtectSection markiert einen zu schützenden Konfigurationsabschnitt. Der Name des für die Verschlüsselung zu verwendenden Providers wird als einziger Parameter (ein String-Wert) an die Methode weitergegeben.
  • UnprotectSection entfernt die geschützte Konfigurationsverschlüsselung vom damit verbundenen Konfigurationsabschnitt. Hier gibt es keine Parameter.

Beispielhaft demonstriert die folgende einfache web.config-Datei für ASP.NET Ver- und Entschlüsselung von Konfigurationsdaten:

Der folgende VB.NET-Code aus einem ASP.NET-Web-Formular verschlüsselt den Dateiabschnitt connectionStrings.

Der Code führt die folgenden Schritte aus:

  • Er verwendet den Namensraum System.Web.Configuration, um mit den notwendigen Klassen zu arbeiten.
  • Er greift über die Methode OpenWebConfiguration der Klasse WebConfigurationManager auf die web.config-Datei der Anwendung zu.
  • Er greift über die Methode GetSection auf den Abschnitt connectionStrings der Datei web.config zu.
  • Der Abschnitt wird mit dem mitgelieferten Verschlüsselungssystem von Windows verschlüsselt, wenn die Datei nicht gesperrt ist.
  • Die Änderungen an der Datei werden gespeichert.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Neue Backdoor: Bedrohung durch Malvertising-Kampagne mit MadMxShell

Bisher unbekannter Bedrohungsakteur versucht über gefälschte IP Scanner Software-Domänen Zugriff auf IT-Umgebungen zu erlangen.

1 Tag ago

BSI-Studie: Wie KI die Bedrohungslandschaft verändert

Der Bericht zeigt bereits nutzbare Angriffsanwendungen und bewertet die Risiken, die davon ausgehen.

2 Tagen ago

KI-Wandel: Welche Berufe sich am stärksten verändern

Deutsche sehen Finanzwesen und IT im Zentrum der KI-Transformation. Justiz und Militär hingegen werden deutlich…

2 Tagen ago

Wie ein Unternehmen, das Sie noch nicht kennen, eine Revolution in der Cloud-Speicherung anführt

Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…

2 Tagen ago

Dirty Stream: Microsoft entdeckt neuartige Angriffe auf Android-Apps

Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.

2 Tagen ago

Apple meldet Umsatz- und Gewinnrückgang im zweiten Fiskalquartal

iPhones und iPads belasten das Ergebnis. Außerdem schwächelt Apple im gesamten asiatischen Raum inklusive China…

2 Tagen ago