2009-08-14 14 views
2

Je suis préoccupé par les attaques MITM dans l'application Silverlight que j'écris. Le site fonctionnera sur SSL. Si mon site est victime d'une attaque MITM, pour autant que je sache, ma seule défense en ce moment est la page d'avertissement que le navigateur affiche lorsque le certificat du site n'est pas approuvé. Comme il ne s'agit que d'un navigateur, le mieux qu'il puisse faire est simplement d'avertir l'utilisateur et de le laisser passer de toute façon. L'utilisateur peut être heureux, et a tendance à ne pas lire les choses. Par conséquent, il y a des chances qu'ils lisent cet avertissement, se grattent la tête et continuent sur le site. Ma pensée était que depuis que j'écris une application Silverlight robuste, je devrais être en mesure de détecter si le navigateur voit une erreur de certificat, ou effectuer la même vérification que le navigateur effectue. Ensuite, si je détermine qu'il y a un problème, je peux simplement verrouiller toute mon application afin que l'utilisateur n'expose aucune information critique au MITM. Le problème que je rencontre est que je n'arrive pas à trouver les bonnes classes dans le sous-ensemble limité de .NET de Silverlight pour faire ce que je dois faire. Est-ce que quelqu'un sait comment je peux accomplir cet objectif, ou d'une manière différente autour de cette question?Comment vérifier le certificat du serveur hôte dans Silverlight?

Répondre

0

Ce n'est pas possible pour autant que je sache - Silverlight utilise la pile réseau du navigateur et, par conséquent, s'appuie sur ses avertissements de mise en réseau et son infrastructure de sécurité. Silverlight 3 a ajouté une nouvelle pile de mise en réseau, mais je crois qu'en général la même chose s'applique: le certificat de votre serveur hôte est validé lorsque le .xap (application Silverlight) est téléchargé par le navigateur, et non quelque chose que vous pouvez vérifier ou interagir avec dans le code.

+0

Ok, donc je suis à la merci de la validation du navigateur. Voyez-vous un moyen d'accomplir essentiellement le même objectif (prévenir MITM) en utilisant une autre technique? – Hydroslide

0

IMHO Vous pouvez vérifier le certificat qui est stocké localement car le navigateur en sauvegardera une copie après la demande SSL. Découvrez l'article this. J'espère qu'il vous donnera quelques conseils

+0

Cette réponse ne fonctionne pas ou ne s'applique pas à Silverlight, car l'article référencé concerne l'infrastructure .NET complète. Le sandbox de Silverlight exclut ce type d'accès. –