2

Si j'ai un service de jeton sécurisé personnalisé qui liste spécifiquement les audiences autorisées et vérifie si le jeton provient de l'un de ces auditoires et vérifie également l'empreinte et l'émetteur du certificat X509, ai-je besoin de WSFederation?Ai-je besoin d'une authentification de fédération si j'ai un STS personnalisé? Si oui, pourquoi?

Étant donné que mon STS vérifie que le jeton provient déjà d'une application spécifique et a été acheminé via mon ACS, est-ce que je ne vérifie pas toutes les choses dont j'ai besoin? Je sais que l'application A a envoyé une demande à l'ACS qui a envoyé une requête à l'application B à partir du STS personnalisé, alors où l'identité fédérée correspond-elle à cette image?

Modifier pour plus de clarté:

Désolé, je suis un peu clair dans le poste Orignal. Je pense que la confusion est venue parce que j'ai utilisé STS au lieu de gestionnaire de jeton de sécurité (Way différentes choses, juste une faute de frappe). L'application A est un service de connexion personnalisé, qui affiche les options de connexion pour l'utilisateur, google/facebook/yahoo/etc. La connexion via ces services obtient le jeton de l'ACS et le renvoie à l'application B, la partie utilisatrice. Ce RP a un gestionnaire de jeton de sécurité personnalisé qui accepte le jeton et valide qu'il possède une application de correspondance d'URI d'audience A. Il valide également que l'émetteur était l'ACS et que l'empreinte correspond à celle du cert utilisé pour signer le jeton via le ACS. Cela signifie que théoriquement l'application B sait, que l'application A a été utilisée pour se connecter (comme provenant de ce publicURI) et que l'ACS a envoyé le jeton (comme c'était l'émetteur et l'empreinte numérique). Ce que je demande est si l'identité fédérée est nécessaire pour l'application B? Que gagnez-vous en l'utilisant, si vous avez déjà prouvé d'où vient le jeton?

Répondre

2

votre question pourrait avoir besoin de clarification. Tout d'abord, vous pourriez expliquer en détail ce que vous entendez par application A et application B, et comment votre STS s'inscrit dans ce scénario. Les applications n'émettent généralement pas de jetons, seules les STS le font. En ce sens, ACS ne connecte pas les applications les unes aux autres, il connecte les applications des parties dépendantes à des fournisseurs d'identité tiers. Deuxièmement, si vous parlez de l'authentification sur le Web et que vous avez un STS de fournisseur d'identité personnalisé qui émet des jetons pour ACS, vous utilisez probablement déjà WS-Federation. Si toutefois votre acquisition de jeton n'est pas basée sur un navigateur et que vous effectuez des appels HTTP principaux vers ACS, WS-Federation n'est pas pertinent pour le scénario. Troisièmement, du point de vue du STS, l'ensemble des audiences autorisées ne concerne pas les émetteurs symboliques, mais les entités qui consommeront des jetons émis par ce STS. C'est-à-dire, c'est l'ensemble des sujets que le STS émettra des jetons. Cela pourrait être des applications elles-mêmes, ou d'autres STS intermédiaires le long de la chaîne de la fédération. (ACS par exemple agit en tant qu'intermédiaire)

Quatrièmement, lorsque vous validez le certificat de l'émetteur sur un jeton entrant, vous devez faire plus que simplement comparer l'empreinte numérique. L'empreinte numérique ne fait pas partie de la preuve cryptographique du jeton. Vous devez valider la signature numérique du jeton afin de vérifier que l'émetteur du jeton possède la clé privée du certificat.

J'espère que cela éclaircit les choses, mais si cela ne répond pas à votre question s'il vous plaît faites le moi savoir.

+0

En ce qui concerne votre quatrième point, j'utilisais l'exemple de Bertocci ici: blogs.msdn.com/b/vbertocci/archive/2008/11/26/an-identity-provider-and-its-sts-writing-a -custom-sts-avec-le-octobre-beta-of-the-geneva-framework.aspx ce qui donne l'impression que tout ce que vous devez faire est de vérifier votre empreinte digitale et votre émetteur. –

+0

Ah. L'article est un peu daté, et il convient de noter que comme Vittorio lui-même le dit dans le post, l'exemple est seulement à des fins de démonstration, ce n'est pas prêt à la production. Ce n'est pas un gros problème, car vous ne devriez pas avoir besoin de votre propre gestionnaire de jeton de sécurité personnalisé, WIF offre déjà des gestionnaires de jetons de sécurité intégrés qui effectueront la vérification de signature de certificat X509 appropriée pour vous. –

+0

"WIF aujourd'hui offre déjà des gestionnaires de jetons de sécurité intégrés qui effectueront une vérification de signature de certificat X509 appropriée" Cela peut être le cas, mais je ne voulais pas que la configuration dans web.config soit spécifique au site. En tant que tel, pour supprimer les tags d'URI d'audience, je devais remplacer les gestionnaires de jetons de sécurité par défaut. J'ai suivi vos conseils et cherché une vérification correcte dans d'autres endroits et ajouté cela à mon code. Je pourrais toujours utiliser des conseils pour savoir si l'identité fédérée est nécessaire. –

Questions connexes