Resumé
Den sikkerhedsopdatering, der er beskrevet i Microsoft-sikkerhedsbulletin MS10-070, foretager ændringer i standardkrypteringsmekanismen i ASP.NET at udføre validering (signering) ud over kryptering. I denne artikel beskrives konfigurationsindstillinger til at vende tilbage til den ældre funktionsmåde for kryptering i ASP.NET.
Du kan finde flere oplysninger om denne sikkerhedsopdatering på følgende websted:
http://www.microsoft.com/technet/security/bulletin/ms10-070.mspx
Flere oplysninger
ASP.NET giver brugerne mulighed for at kryptere eller validere data via konfiguration i afsnittet MachineKey. Den sikkerhedsopdatering, der er løst med sikkerhedsopdatering MS10-070, ændrer standardfunktionsmåden for kryptering i ASP.NET udfører validering ud over kryptering, selvom der kun anmodes om kryptering.
Når du har installeret den sikkerhedsopdatering, der er beskrevet i sikkerhedsbulletin MS10-070, udføres følgende handlinger, når kryptering er konfigureret til ASP.NET:
- Under krypteringen af data genereres en HMAC-signatur for de krypterede data, som føjes til den.
- Under dekrypteringen af data valideres HMAC-signaturen, før dataene dekrypteres.
Følgende nøgler i ASP.NET programindstillinger (appSettings) styrer funktionaliteten ved signering ud over kryptering.
| Tast | Type | Standardværdi | Understøttede on.NET versioner |
|---|---|---|---|
| aspnet:UseLegacyEncryption | Boolesk værdi | Falsk | 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 | Boolesk værdi | Falsk | Microsoft .NET Framework 4.0 |
| aspnet:ScriptResourceAllowNonJsFiles | Boolesk værdi | Falsk | Microsoft .NET Framework 3.5 Service Pack 1 Microsoft .NET Framework 4.0 |
Beskrivelse af aspnet:UseLegacyEncryption appSetting
Denne programindstilling angiver, om kryptering desuden udfører validering med en HMAC-nøgle, selvom valideringsafsnittet i afsnittet machineKey i ASP.NET konfiguration ikke er konfigureret til HMAC-signaturvalidering.
| aspnet:UseLegacyEncryption | Beskrivelse |
|---|---|
| Falsk (standard) | Denne indstilling konfigurerer ASP.NET til yderligere at udføre HMAC-signaturvalidering, når ASP.NET er konfigureret til at bruge kryptering. Dette sker, selvom valideringen i machineKey ikke er konfigureret til at signere med en HMAC-nøgle. |
| Sand | Denne indstilling konfigurerer ASP.NET ikke at udføre HMAC-signaturvalidering, når den er konfigureret til at bruge kryptering og ikke HMAC-signering via validering i machineKey. Bemærk! Denne indstilling kan gøre det muligt for en skadelig klient at dekryptere, forfalske eller på anden måde ændre krypterede data. |
Du konfigurerer denne indstilling ved at tilføje følgende konfiguration på computeren eller i programmet web.config filen:
<configuration>
...
<appSettings>
...
<add key="aspnet:UseLegacyEncryption" value="false" />
</appSettings>
</configuration>
Beskrivelse af aspnet:UseLegacyMachineKeyEncryption appSetting
Denne programindstilling angiver, om kryptering via klassen System.Web.Security.MachineKey desuden udfører en validering med en HMAC-nøgle, selv når det angivne MachineKeyProtection-argument ikke angiver, at valideringen skal udføres.
| aspnet:UseLegacyMachineKeyEncryption | Beskrivelse |
|---|---|
| Falsk (standard) | Denne indstilling konfigurerer ASP.NET til yderligere at udføre HMAC-signaturvalidering via MachineKey-klassen, når ASP.NET er konfigureret til at bruge kryptering. Dette sker, selvom det angivne MachineKeyProtection-argument ikke angiver, at valideringen skal udføres. |
| Sand | Denne indstilling konfigurerer ASP.NET ikke at udføre HMAC-signaturvalidering via MachineKey-klassen, når den er konfigureret til at bruge kryptering og ikke HMAC-signering via det angivne MachineKeyProtection-argument. Bemærk! Denne indstilling kan gøre det muligt for en skadelig klient at dekryptere, forfalske eller på anden måde ændre krypterede data. |
Du konfigurerer denne indstilling ved at tilføje følgende konfiguration på computeren eller i programmet web.config filen:
<configuration>
...
<appSettings>
...
<add key="aspnet:UseLegacyMachineKeyEncryption" value="false" />
</appSettings>
</configuration>
Beskrivelse af aspnet:ScriptResourceAllowNonJsFiles appSetting
Denne programindstilling angiver, om ScriptResource.axd-handleren i ASP.NET skal betjene ikke-JavaScript-filer (filtypenavnet .js). ScriptResource.axd er en ASP.NET-handler, der returnerer JavaScript-kildefiler til AJAX-komponenter på en ASP.NET-webside.
| aspnet:ScriptResourceAllowNonJsFiles | Beskrivelse |
|---|---|
| Falsk (standard) | Denne indstilling konfigurerer ASP.NET til kun at betjene statiske filer, der har filtypenavnet .js (JavaScript) via ScriptResource.axd-handleren. |
| Sand | Denne indstilling konfigurerer ASP.NET til at betjene alle statiske filer, som ASP.NET-programmet har adgang til via ScriptResource.axd-handleren. Bemærk! Med denne indstilling kan alle filer i dit ASP.NET program leveres via handleren. Hvis sådanne filer indeholder følsomme eller fortrolige data, kan denne indstilling potentielt lække følsomme oplysninger til en klient. |
Du konfigurerer denne indstilling ved at tilføje følgende konfiguration på computeren eller i programmet web.config filen:
<configuration>
...
<appSettings>
...
<add key="aspnet:ScriptResourceAllowNonJsFiles" value="false" />
</appSettings>
</configuration>
Referencer
Du kan finde flere oplysninger om afsnittet MachineKey på følgende Microsoft-websted:
http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx
Du kan finde flere oplysninger om System.Web.Security.MachineKey-klassen på følgende Microsoft-websted:
http://msdn.microsoft.com/en-us/library/system.web.security.machinekey.aspx Du kan finde flere oplysninger om, hvordan du bruger programindstillinger (appSettings), ved at klikke på nedenstående artikelnumre for at få vist artiklerne i Microsoft Knowledge Base:
815786 Sådan gemmes og hentes brugerdefinerede oplysninger fra en programkonfigurationsfil ved hjælp af Visual C#
313405 Sådan gemmes og hentes brugerdefinerede oplysninger fra en programkonfigurationsfil ved hjælp af Visual Basic .NET eller Visual Basic 2005
Du kan finde flere oplysninger om ASP.Net konfiguration ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
307626 INFO: ASP.NET Konfigurationsoversigt