Rezumat
Actualizarea de securitate descrisă în buletinul de securitate Microsoft MS10-070 efectuează modificări la mecanismul de criptare implicit în ASP.NET efectua validarea (semnarea) în plus față de criptare. Acest articol descrie opțiunile de configurare pentru a reveni la comportamentul moștenit pentru criptare în ASP.NET.
Pentru mai multe informații despre această actualizare de securitate, vizitați următorul site web:
http://www.microsoft.com/technet/security/bulletin/ms10-070.mspx
Mai multe informații
ASP.NET le permite utilizatorilor să cripteze sau să valideze opțional datele prin configurarea din secțiunea MachineKey. Actualizarea de securitate care este abordată de actualizarea de securitate MS10-070 modifică comportamentul implicit al criptării în ASP.NET pentru a efectua validarea suplimentară decât criptarea, chiar dacă se solicită numai criptarea.
După ce instalați actualizarea de securitate descrisă în buletinul de securitate MS10-070, se efectuează următoarele operații când este configurată criptarea pentru ASP.NET:
- În timpul criptării datelor, se generează o semnătură HMAC pentru datele criptate și se adaugă la acestea.
- În timpul decriptării datelor, semnătura HMAC este validată înainte de decriptarea datelor.
Următoarele taste din setările ASP.NET aplicație (appSettings) controlează comportamentul de conectare, pe lângă criptare.
| Tastă | Tip | Valoare implicită | Versiuni on.NET acceptate |
|---|---|---|---|
| aspnet:UseLegacyEncryption | Boolean | False | 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 | Boolean | False | Microsoft .NET Framework 4.0 |
| aspnet:ScriptResourceAllowNonJsFiles | Boolean | False | Microsoft .NET Framework 3.5 Service Pack 1 Microsoft .NET Framework 4.0 |
Descrierea aspnet:UseLegacyEncryption appSetting
Această setare de aplicație specifică dacă criptarea va efectua suplimentar validarea cu o cheie HMAC chiar și atunci când secțiunea de validare din secțiunea machineKey ASP.NET configurației nu este configurată pentru validarea semnăturii HMAC.
| aspnet:UseLegacyEncryption | Descriere |
|---|---|
| False (implicit) | Această setare configurează ASP.NET să efectueze suplimentar validarea semnăturii HMAC atunci când ASP.NET este configurată să utilizeze criptarea. Acest lucru se va întâmpla chiar dacă validarea în machineKey nu este configurată să semneze utilizând o cheie HMAC. |
| True | Această setare configurează ASP.NET să nu efectueze validarea semnăturii HMAC atunci când aceasta este configurată să utilizeze criptarea și nu semnarea HMAC prin validare în machineKey. Notă: Această setare poate permite unui client rău intenționat să decripteze, să falsifice sau să falsifice în alt mod datele criptate. |
Pentru a configura această setare, adăugați următoarea configurație în computer sau în aplicația web.config fișier:
<configuration>
...
<appSettings>
...
<add key="aspnet:UseLegacyEncryption" value="false" />
</appSettings>
</configuration>
Descrierea aspnet:UseLegacyMachineKeyEncryption appSetting
Această setare de aplicație specifică dacă criptarea prin clasa System.Web.Security.MachineKey va efectua suplimentar validarea cu o cheie HMAC chiar și atunci când argumentul MachineKeyProtection furnizat nu specifică faptul că trebuie efectuată validarea.
| aspnet:UseLegacyMachineKeyEncryption | Descriere |
|---|---|
| False (implicit) | Această setare configurează ASP.NET să efectueze suplimentar validarea semnăturii HMAC prin clasa MachineKey atunci când ASP.NET este configurată să utilizeze criptarea. Acest lucru se va întâmpla chiar dacă argumentul MachineKeyProtection furnizat nu specifică faptul că trebuie efectuată validarea. |
| True | Această setare configurează ASP.NET să nu efectueze validarea semnăturii HMAC prin clasa MachineKey atunci când aceasta este configurată să utilizeze criptarea și nu semnarea HMAC prin argumentul MachineKeyProtection furnizat. Notă: Această setare poate permite unui client rău intenționat să decripteze, să falsifice sau să falsifice în alt mod datele criptate. |
Pentru a configura această setare, adăugați următoarea configurație în computer sau în aplicația web.config fișier:
<configuration>
...
<appSettings>
...
<add key="aspnet:UseLegacyMachineKeyEncryption" value="false" />
</appSettings>
</configuration>
Descrierea aspnet:ScriptResourceAllowNonJsFiles appSetting
Această setare de aplicație specifică dacă rutina de tratare ScriptResource.axd din ASP.NET va servi fișiere non-JavaScript (extensia .js). ScriptResource.axd este o rutină de tratare ASP.NET care returnează fișierele sursă JavaScript la componente AJAX într-o pagină web ASP.NET.
| aspnet:ScriptResourceAllowNonJsFiles | Descriere |
|---|---|
| False (implicit) | Această setare configurează ASP.NET pentru a servi doar fișierele statice care au extensia .js (JavaScript) prin rutinul de tratare ScriptResource.axd. |
| True | Această setare configurează ASP.NET pentru a servi orice fișier static la care aplicația ASP.NET are acces prin rutinul de tratare ScriptResource.axd. Notă: Această setare permite ca orice fișier din aplicația ASP.NET să fie servit prin intermediul rutinei de tratare. Dacă oricare dintre aceste fișiere conține date sensibile sau confidențiale, această setare poate să scurgă informații sensibile către un client. |
Pentru a configura această setare, adăugați următoarea configurație în computer sau în aplicația web.config fișier:
<configuration>
...
<appSettings>
...
<add key="aspnet:ScriptResourceAllowNonJsFiles" value="false" />
</appSettings>
</configuration>
Referințe
Pentru mai multe informații despre secțiunea MachineKey, vizitați următorul site web Microsoft:
http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx
Pentru mai multe informații despre clasa System.Web.Security.MachineKey, vizitați următorul site web Microsoft:
http://msdn.microsoft.com/en-us/library/system.web.security.machinekey.aspx Pentru mai multe informații despre modul de utilizare a setărilor de aplicație (appSettings), faceți clic pe următoarele numere de articol pentru a le vizualiza în Baza de cunoștințe Microsoft:
815786 Cum se stochează și se regăsesc informațiile particularizate dintr-un fișier de configurare de aplicație utilizând Visual C#
313405 Cum se stochează și se regăsesc informațiile particularizate dintr-un fișier de configurare de aplicație utilizând Visual Basic .NET sau Visual Basic 2005
Pentru informații suplimentare privind ASP.Net configurație, faceți clic pe următorul număr de articol pentru a-l vedea în Baza de cunoștințe Microsoft:
307626 INFO: Prezentare generală a configurației ASP.NET