.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

KI-gestütztes Programmieren bringt IT-Herausforderungen mit sich

OutSystems-Studie: 62 Prozent der Befragten haben Sicherheits- und Governance-Bedenken bei Softwareentwicklung mit KI-Unterstützung.

3 Tagen ago

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

6 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

7 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

7 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

7 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

1 Woche ago