Zusammenfassung
Das im Microsoft-Sicherheitsbulletin MS10-070 beschriebene Sicherheitsupdate nimmt Änderungen am Standardverschlüsselungsmechanismus vor, ASP.NET zusätzlich zur Verschlüsselung eine Validierung (Signierung) durchzuführen. In diesem Artikel werden Konfigurationsoptionen beschrieben, um das Legacy-Verhalten für die Verschlüsselung in ASP.NET zu rückgängig machen.
Weitere Informationen zu diesem Sicherheitsupdate finden Sie auf der folgenden Website:
http://www.microsoft.com/technet/security/bulletin/ms10-070.mspx
Weitere Informationen
ASP.NET ermöglicht es Benutzern, Daten optional über die Konfiguration im Abschnitt MachineKey zu verschlüsseln oder zu validieren. Das Sicherheitsupdate, das durch das Sicherheitsupdate MS10-070 behoben wird, ändert das Standardverhalten der Verschlüsselung in ASP.NET, um zusätzlich zur Verschlüsselung auch dann eine Überprüfung durchzuführen, wenn nur die Verschlüsselung angefordert wird.
Nach der Installation des im Sicherheitsbulletin MS10-070 beschriebenen Sicherheitsupdates werden die folgenden Vorgänge ausgeführt, wenn die Verschlüsselung für ASP.NET eingerichtet ist:
- Bei der Verschlüsselung der Daten wird eine HMAC-Signatur für die verschlüsselten Daten generiert und angehängt.
- Während der Entschlüsselung von Daten wird die HMAC-Signatur validiert, bevor die Daten entschlüsselt werden.
Die folgenden Schlüssel in ASP.NET Anwendungseinstellungen (appSettings) steuern neben der Verschlüsselung auch das Verhalten der Signatur.
| Taste | Type | Standardwert | Unterstützte on.NET Versionen |
|---|---|---|---|
| aspnet:UseLegacyEncryption | Boolesch | Falsch | Microsoft .NET Framework 2.0 Service Pack 1 Microsoft .NET Framework 2.0 Service Pack 2 Microsoft .NET Framework 3.5 Microsoft .NET Framework 3.5 Service Pack 1 Microsoft .NET Framework 4.0 |
| aspnet:UseLegacyMachineKeyEncryption | Boolesch | Falsch | Microsoft .NET Framework 4.0 |
| aspnet:ScriptResourceAllowNonJsFiles | Boolesch | Falsch | Microsoft .NET Framework 3.5 Service Pack 1 Microsoft .NET Framework 4.0 |
Beschreibung der aspnet:UseLegacyEncryption appSetting
Diese Anwendungseinstellung legt fest, ob die Verschlüsselung zusätzlich eine Validierung mit einem HMAC-Schlüssel durchführt, auch wenn der Validierungsabschnitt im Abschnitt machineKey der Konfiguration ASP.NET nicht für die HMAC-Signaturvalidierung konfiguriert ist.
| aspnet:UseLegacyEncryption | Beschreibung |
|---|---|
| False (Standard) | Mit dieser Einstellung wird ASP.NET so konfiguriert, dass zusätzlich eine HMAC-Signaturüberprüfung durchgeführt wird, wenn ASP.NET für die Verwendung der Verschlüsselung konfiguriert ist. Dies geschieht auch, wenn die Validierung in machineKey nicht für das Signieren mit einem HMAC-Schlüssel konfiguriert ist. |
| Wahr | Diese Einstellung konfiguriert ASP.NET, keine HMAC-Signaturüberprüfung durchzuführen, wenn sie für die Verwendung der Verschlüsselung und nicht für die HMAC-Signatur durch Validierung in machineKey konfiguriert ist. Hinweis Diese Einstellung könnte es einem böswilligen Client ermöglichen, verschlüsselte Daten zu entschlüsseln, zu fälschen oder anderweitig zu manipulieren. |
Um diese Einstellung zu konfigurieren, fügen Sie die folgende Konfiguration in Ihrem Computer oder Ihrer Anwendung web.config Datei hinzu:
<configuration>
...
<appSettings>
...
<add key="aspnet:UseLegacyEncryption" value="false" />
</appSettings>
</configuration>
Beschreibung von aspnet:UseLegacyMachineKeyEncryption appSetting
Diese Anwendungseinstellung gibt an, ob die Verschlüsselung über die System.Web.Security.MachineKey-Klasse zusätzlich eine Überprüfung mit einem HMAC-Schlüssel durchführt, auch wenn das angegebene MachineKeyProtection-Argument diese Überprüfung nicht angibt.
| aspnet:UseLegacyMachineKeyEncryption | Beschreibung |
|---|---|
| False (Standard) | Mit dieser Einstellung wird ASP.NET so konfiguriert, dass zusätzlich die HMAC-Signaturüberprüfung über die MachineKey-Klasse durchgeführt wird, wenn ASP.NET für die Verwendung der Verschlüsselung konfiguriert ist. Dies geschieht auch dann, wenn das angegebene MachineKeyProtection-Argument nicht angibt, dass eine Überprüfung durchgeführt werden soll. |
| Wahr | Diese Einstellung konfiguriert ASP.NET, keine HMAC-Signaturüberprüfung über die MachineKey-Klasse durchzuführen, wenn sie für die Verwendung von Verschlüsselung und nicht für die HMAC-Signatur über das bereitgestellte MachineKeyProtection-Argument konfiguriert ist. Hinweis Diese Einstellung könnte es einem böswilligen Client ermöglichen, verschlüsselte Daten zu entschlüsseln, zu fälschen oder anderweitig zu manipulieren. |
Um diese Einstellung zu konfigurieren, fügen Sie die folgende Konfiguration in Ihrem Computer oder Ihrer Anwendung web.config Datei hinzu:
<configuration>
...
<appSettings>
...
<add key="aspnet:UseLegacyMachineKeyEncryption" value="false" />
</appSettings>
</configuration>
Beschreibung von aspnet:ScriptResourceAllowNonJsFiles appSetting
Diese Anwendungseinstellung gibt an, ob der ScriptResource.axd-Handler in ASP.NET Nicht-JavaScript-Dateien (.js Erweiterung) verarbeitet. ScriptResource.axd ist ein ASP.NET Handler, der JavaScript-Quelldateien an AJAX-Komponenten auf einer ASP.NET Webseite zurückgibt.
| aspnet:ScriptResourceAllowNonJsFiles | Beschreibung |
|---|---|
| False (Standard) | Mit dieser Einstellung wird ASP.NET so konfiguriert, dass nur statische Dateien mit der Erweiterung .js (JavaScript) über den ScriptResource.axd-Handler bereitgestellt werden. |
| Wahr | Mit dieser Einstellung wird ASP.NET so konfiguriert, dass alle statischen Dateien bereitgestellt werden, auf die die ASP.NET Anwendung über den ScriptResource.axd-Handler zugreifen kann. Hinweis: Mit dieser Einstellung kann jede Datei in Ihrer ASP.NET Anwendung über den Handler bereitgestellt werden. Wenn solche Dateien vertrauliche oder vertrauliche Daten enthalten, kann diese Einstellung potenziell dazu führen, dass vertrauliche Informationen an einen Client gelangen. |
Um diese Einstellung zu konfigurieren, fügen Sie die folgende Konfiguration in Ihrem Computer oder Ihrer Anwendung web.config Datei hinzu:
<configuration>
...
<appSettings>
...
<add key="aspnet:ScriptResourceAllowNonJsFiles" value="false" />
</appSettings>
</configuration>
Referenzmaterial
Weitere Informationen zum Abschnitt "MachineKey" finden Sie auf der folgenden Microsoft-Website:
http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx
Weitere Informationen zur System.Web.Security.MachineKey-Klasse finden Sie auf der folgenden Microsoft-Website:
http://msdn.microsoft.com/en-us/library/system.web.security.machinekey.aspx Weitere Informationen zur Verwendung von Anwendungseinstellungen (appSettings) finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
815786 Speichern und Abrufen von benutzerdefinierten Informationen aus einer Anwendungskonfigurationsdatei mithilfe von Visual C#
313405 Speichern und Abrufen von benutzerdefinierten Informationen aus einer Anwendungskonfigurationsdatei mithilfe von Visual Basic .NET oder Visual Basic 2005
Weitere Informationen zu ASP.Net Konfiguration finden Sie im folgenden Artikel der Microsoft Knowledge Base:
307626 INFO: Übersicht über die ASP.NET Konfiguration