Sådan konfigureres ældre krypteringstilstand i ASP.NET

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