Das .NET Sicherheitsmodell

Veröffentlicht: 10. Mai 2004 | Aktualisiert: 29. Nov 2004

Von Jürgen Mauerer

.NET-Programme können die Authentifizierung der Anwender übernehmen und damit sowohl den Code als auch den Server vor unberechtigtem Zugriff schützen. Hinzu kommen der Schutz der Benutzer vor schädlichem Code (z.B. Viren), die Prüfung der Authentizität des eigenen Codes sowie die Absicherung von Daten und Übertragungswegen über kryptographische Klassen.

Das .NET Framework bietet gute Rahmenbedingungen, um sicheren Code zu schreiben; Entwickler und Anwendungsprogrammierer sollten diese nutzen. Sicherer Code basiert auf Rechten und Beweisen. Dank der Vergabe von Rechten kann der Code geschützte Operationen ausführen; um zum Beispiel eine Datei löschen zu können, muss der Benutzer das Recht zum Löschen besitzen. Beweise sichern die Echtheit einer Assembly durch die Prüfung bestimmter Eigenschaften im Rahmen der Sicherheitsrichtlinien des Systems.

Die CLR kontrolliert den Sicherheitskontext auf Benutzerebene bei Bedarf für jede Aktion. Die notwendigen Security-Funktionen und -Klassen sind im Namensraum System.Security zu finden. Dazu gehören Kryptografie, die Sicherheitsverwaltung für die .NET-Laufzeit selbst sowie die Authentifizierung und Autorisierung von Benutzern. Die folgenden Artikel geben einen Überblick über das .NET-Sicherheitsmodell.

Das .NET-Sicherheitsmodell
Das vorliegende Dokument bietet eine Übersicht über die Sicherheitsarchitektur des Microsoft .NET Framework.

.NET Framework und Sicherheit - ein Überblick
Die Autoren Dr. Demien Watkins und Sebastian Lange beschreiben in diesem Artikel die grundlegenden Sicherheitsfunktionen des .NET Frameworks.

Neue Sicherheitsfunktionen im .NET Framework
Das .NET Framework bietet auch in puncto Sicherheit erhebliche Fortschritte für Entwickler. Dieser Artikel zeigt, wie Sie die Security-Funktionen in die Software-Entwicklung integrieren und existierende Komponenten und Applikationen auf den .NET-Sicherheitsstandard bringen.

Das Sicherheitsmodell der CLR
Don Box erläutert in diesem Artikel, wie die Code Access Security der CLR (Common Language Runtime) funktioniert. Er geht dabei unter anderem auf die Sicherheitsrichtlinien des Systems sowie die notwendigen Beweise für die Vergabe von Rechten ein.

Starke Namen und Sicherheit im .NET Framework
Starke Namen (Strong Names, SN) werden für die eindeutige Identifizierung einer Assembly benötigt, damit diese im globalen Assemblierungs-Cache (GAC) abgelegt werden kann. Weiterhin sind sie für das Versionsprüfungssystem in der Common Language Runtime (CLR) von Microsoft .NET Framework erforderlich. In diesem Artikel erhalten Sie Informationen zu starken Namen und ihrer Verwendung.

Sicherer Code im .NET Framework
Die .NET Laufzeitumgebung steht im Zeichen von sicherem Code, der auf Rechten und Beweisen basiert. Dieser Artikel beschreibt in Grundzügen das zugrundeliegende Sicherheitssystem und diskutiert die Aspekte, die Sie beachten sollten, um den Code sicher zu machen.

pfeilrechts.gif Das .NET Sicherheitsmodell
pfeilrechts.gif Sichere ASP.NET Webservices
pfeilrechts.gif Authentifizierung und Autorisierung