Sommario
L'aggiornamento della protezione descritto nel Bollettino Microsoft sulla sicurezza MS10-070 modifica il meccanismo di crittografia predefinita in ASP.NET per l'esecuzione della convalida (firma) oltre alla crittografia. Questo articolo descrive le opzioni di configurazione per ripristinare il meccanismo legacy per la crittografia in ASP.NET.
Per ulteriori informazioni sul questo aggiornamento della protezione, visitare il seguente sito Web Microsoft:
http://www.microsoft.com/technet/security/bulletin/MS10-070.mspx
Informazioni
ASP.NET fornisce agli utenti la possibilità di crittografare o convalidare i dati tramite la configurazione nella sezione MachineKey. Questo aggiornamento della protezione, correlato all'aggiornamento della protezione MS10-070, modifica il meccanismo di crittografia predefinito di ASP.NET per l'esecuzione della convalida oltre alla crittografia, anche se è necessaria solo la crittografia.
Dopo l'installazione dell'aggiornamento della protezione descritto nel Bollettino sulla sicurezza MS10-070, quando viene impostata la crittografia per ASP.NET vengono effettuate le seguenti operazioni:
-
In fase di crittografia dei dati, viene generata e accodata una firma HMAC per i dati crittografati.
-
In fase di decrittografia dei dati, la firma HMAC viene convalidata prima della decrittografia dei dati.
Le chiavi seguenti nelle impostazioni dell'applicazione ASP.NET (appSetting) controllano il meccanismo di firma oltre alla crittografia.
Chiave |
Tipo |
Valore predefinito |
Supportata nelle versioni di .NET |
---|---|---|---|
aspnet:UseLegacyEncryption |
Booleano |
False |
Microsoft .NET Framework 2.0 Service Pack 1 |
aspnet:UseLegacyMachineKeyEncryption |
Booleano |
False |
Microsoft .NET Framework 4.0 |
aspnet:ScriptResourceAllowNonJsFiles |
Booleano |
False |
Microsoft .NET Framework 3.5 Service Pack 1 |
Descrizione dell'impostazione dell'applicazione (appSetting) aspnet:UseLegacyEncryption
Questa impostazione dell'applicazione specifica se assieme alla crittografia verrà eseguita la convalida con una chiave HMAC anche quando la sezione relativa alla convalida nella sezione machineKey della configurazione ASP.NET non è configurata per la convalida della firma HMAC.
aspnet:UseLegacyEncryption |
Descrizione |
---|---|
False (impostazione predefinita) |
Con questa impostazione, se ASP.NET è configurato per l'utilizzo della crittografia eseguirà anche la convalida della firma. Ciò avverrà anche se la convalida in machineKey non è configurata per la firma tramite una chiave HMAC. |
True |
Con questa impostazione, ASP.NET non esegue la convalida della firma HMAC quando è configurato per l'utilizzo della crittografia e non della firma HMAC tramite la convalida in machineKey. |
Per configurare questa impostazione, aggiungere la configurazione seguente nel file web.config nell'applicazione o nel computer:
<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyEncryption" value="false" /> </appSettings> </configuration>
Descrizione dell'impostazione dell'applicazione (appSetting) aspnet:UseLegacyMachineKeyEncryption
Questa impostazione dell'applicazione specifica se la crittografia tramite la classe System.Web.Security.MachineKey eseguirà la convalida con una chiave HMAC anche quando l'argomento MachineKeyProtection fornito non specifica l'esecuzione della convalida.
aspnet:UseLegacyMachineKeyEncryption |
Descrizione |
---|---|
False (impostazione predefinita) |
Con questa impostazione, se ASP.NET è configurato per l'utilizzo della crittografia eseguirà anche la convalida della firma HMAC tramite la classe MachineKey. Ciò avverrà anche se l'argomento MachineKeyProtection fornito non specifica l'esecuzione della convalida. |
True |
Con questa impostazione, se ASP.NET è configurato per l'utilizzo della crittografia e non della firma HMAC tramite l'argomento MachineKeyProtection fornito, non esegue la convalida della firma HMAC tramite la classe MachineKey. |
Per configurare questa impostazione, aggiungere la configurazione seguente nel file web.config nell'applicazione o nel computer:
<configuration> ... <appSettings> ... <add key="aspnet:UseLegacyMachineKeyEncryption" value="false" /> </appSettings> </configuration>
Descrizione dell'impostazione dell'applicazione (appSetting) aspnet:ScriptResourceAllowNonJsFiles
Questa impostazione dell'applicazione specifica se il gestore ScriptResource.axd in ASP.NET elaborerà anche file non JavaScript (con estensione .js). ScriptResource.axd è un gestore ASP.NET che restituisce file di origine JavaScript a componenti AJAX in una pagina Web ASP.NET.
aspnet:ScriptResourceAllowNonJsFiles |
Descrizione |
---|---|
False (impostazione predefinita) |
Con questa impostazione, ASP.NET elabora solo file statici con estensione .js (JavaScript) tramite il gestore ScriptResource.axd. |
True |
Con questa impostazione, ASP.NET elabora qualunque file statico a cui accede l'applicazione ASP.NET tramite il gestore ScriptResource.axd. |
Per configurare questa impostazione, aggiungere la seguente configurazione nel file web.config nell'applicazione o nel computer:
<configuration> ... <appSettings> ... <add key="aspnet:ScriptResourceAllowNonJsFiles" value="false" /> </appSettings> </configuration>
Riferimenti
Per ulteriori informazioni sull sezione MachineKey, visitare il seguente sito Web Microsoft:
http://msdn.microsoft.com/it-it/library/w8h3skw9.aspx Per ulteriori informazioni sull classe System.Web.Security.MachineKey, visitare il seguente sito Web Microsoft:
http://msdn.microsoft.com/it-it/library/system.web.security.machinekey.aspxPer ulteriori informazioni sull'utilizzo delle impostazioni dell'applicazione (appSetting), fare clic sui numeri degli articoli della Microsoft Knowledge Base riportati di seguito:
815786 Come archiviare e richiamare informazioni personalizzate da un file di configurazione dell'applicazione tramite Visual C#
313405 Come archiviare e richiamare informazioni personalizzate da un file di configurazione dell'applicazione tramite Visual Basic .NET o Visual Basic 2005
Per ulteriori informazioni sulla configurazione ASP.NET, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
307626 INFO: Cenni preliminari sulla configurazione di ASP.NET