Le contenu chiffré dans ASP.NET n'est pas déchiffré ou provoque des erreurs pour un site Web qui utilise des cookies d'authentification par formulaire persistants ou qui est déployé dans une batterie de serveurs Web

Traductions disponibles Traductions disponibles
Numéro d'article: 2431728 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Une fois la mise à jour de sécurité MS10-070 appliquée aux serveurs associés à des sites Web Microsoft ASP.NET déployés dans une batterie de serveurs Web, des serveurs ou des applications inclus dans celle-ci peuvent rencontrer un ou plusieurs des problèmes suivants :
  • échec du déchiffrement des données ;
  • exceptions dans les gestionnaires WebResource ou ScriptResource ;
  • échec des authentifications lors de l'utilisation de l'authentification par formulaire ;
  • exceptions « Viewstate non valide » ;
  • exceptions « Impossible de valider les données » lors des tentatives de déchiffrement des données (cookie d'authentification par formulaire, par exemple).
 L'échec peut survenir sous la forme d'une exception de l'application lors de l'accès à l'application ASP.NET et il se peut que des informations similaires à ce qui suit soient consignées dans le journal des applications.


Message 1 :

System.Web.HttpException: Impossible de valider les données. at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo, Boolean signData)

Message 2 :

Type d'événement : Avertissement
Source de l'événement : ASP.NET 2.0.50727.0
Catégorie de l'événement : Événements Web
ID d'événement : 1309
Date : Date
Heure : Heure
Utilisateur : N/A
Description :
Code de l'événement : 3005
Message de l'événement : Une exception non gérée s'est produite.
Informations sur l'exception :
Type d'exception : HttpException
Message d'exception : Impossible de valider les données.

Cause

La mise à jour de sécurité traitée par le bulletin MS10-070 modifie le comportement par défaut du chiffrement dans ASP.NET. Une fois la mise à jour de sécurité installée, le nouveau comportement par défaut consiste à procéder à une validation complémentaire du chiffrement, et ce même si seul le chiffrement est nécessaire. Ce comportement par défaut modifie la charge utile chiffrée sur les serveurs sur lesquels cette mise à jour est appliquée. La charge utile peut inclure un état d'affichage et des cookies d'authentification par formulaire. Si la mise à jour de sécurité n'est appliquée qu'à certains serveurs de la batterie de serveurs Web, les méthodes de chiffrement et de déchiffrement appliquées à la même charge utile seront différentes selon le serveur concerné. Cette différence de comportement provoque des exceptions. Ce comportement peut également se produire si les cookies d'authentification par formulaire persistants sur les systèmes avant l'application de la mise à jour de sécurité sont utilisés après l'application de celle-ci.

Les méthodes de chiffrement et de déchiffrement diffèrent également selon les versions des Service packs de Microsoft .NET Framework 2.0. C'est pourquoi, si différents Service Packs de .NET Framework sont installés dans un environnement de batterie de serveurs Web dans lequel une mise à jour de sécurité est appliquée, cela provoquera des charges utiles chiffrées différentes et une erreur de déchiffrement similaire.

Résolution

Vérifiez que les conditions suivantes sont remplies sur tous les serveurs qui traitent le contenu ASP.NET :
  • Il est nécessaire d'installer la mise à jour de sécurité sur tous les serveurs associés à un site Web ASP.NET au sein de la batterie de serveurs Web. Si certains serveurs n'incluent pas la mise à jour de sécurité, vous devez l'installer.
  • Si la mise à jour de sécurité MS10-070 est appliquée à tous les systèmes, tous les ordinateurs qui exécutent une version quelconque de .NET Framework 2.0 au sein de la batterie de serveurs Web doivent posséder les mêmes Service Packs. Si une différence de Service Pack subsiste entre les serveurs, vous devez mettre à jour l'intégralité des serveurs vers la dernière version du Service Pack et appliquer de nouveau toutes les mises à jour de sécurité. C'est pourquoi, si certains serveurs de la batterie de serveurs Web exécutent .NET Framework 2.0 SP1 tandis que d'autres serveurs exécutent .NET Framework 2.0 SP2, tous les serveurs .NET Framework 2.0 SP1 doivent être mis à niveau vers .NET Framework 2.0 SP2 avant d'appliquer la mise à jour de sécurité sur l'ensemble des serveurs Web de la batterie.
  • Assurez-vous que les applications n'utilisent pas de données chiffrées, telles que des cookies d'authentification par formulaire générés avant l'application de la mise à jour. Les données précédemment chiffrées doivent être actualisées après l'application de cette mise à jour de sécurité.
Pour plus d'informations sur la détection des versions .NET Framework et sur l'installation de la mise à jour de sécurité sur vos serveurs, consultez la section « Références ».

Références

Pour plus d'informations sur l'état d'affichage ASP.NET, reportez-vous à l'article suivant :
Présentation de l'état d'affichage ASP.NET
Pour plus d'informations sur l'authentification par formulaire ASP.NET, reportez-vous à l'article suivant :
Présentation de l'authentification par formulaire ASP.NET
Pour plus d'informations sur les tickets et les cookies d'authentification par formulaire ASP.NET, cliquez sur le numéro d'article suivant pour afficher l'article de la Base de connaissances Microsoft correspondant :
910443 Présentation du fonctionnement des tickets et cookies d'authentification par formulaire
Pour plus d'informations sur le gestionnaire de ressources Web ASP.NET, cliquez sur le numéro d'article suivant pour afficher l'article de la Base de connaissances Microsoft correspondant :
910442 Utilisation des ressources Web dans ASP.NET 2.0

Propriétés

Numéro d'article: 2431728 - Dernière mise à jour: jeudi 22 décembre 2011 - Version: 5.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft .NET Framework 4.0
  • Microsoft .NET Framework 3.5 Service Pack 1
  • Microsoft .NET Framework 3.5
  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft .NET Framework 1.1 Service Pack 1
Mots-clés : 
kbprb kbfix kbtshoot kbexpertiseinter kbsurveynew KB2431728
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com