La révolution de l'identité InfoCard

Gestion des identités et accès

Par Keith Brown

Êtes-vous las de la gestion et de la sécurisation d'un ensemble toujours plus important de noms d'utilisateur et de mots de passe ? Êtes-vous las de remplir sans cesse des profils utilisateur pour des sites Web qui souhaitent glaner des informations personnelles vous concernant ? Aimeriez-vous faciliter la tâche des utilisateurs qui souhaitent se connecter à vos sites et services Web ? Êtes-vous préoccupé par le vol d'identité et le phishing ? Si tel est le cas, lisez ce qui suit. Je vais présenter une nouvelle couche d'identité pour Internet, qui sera exposée aux utilisateurs via une interface utilisateur dont le nom de code actuel est « InfoCard ».

Sur cette page

Un métasystème d'identité
Les sept lois sur l'identité
Identité numérique et affirmationst
Le sélecteur d'identité
Que contient une carte ?
De combien de cartes ai-je besoin ?
Cartes émises personnellement
Comment obtenir InfoCard ?

Un métasystème d'identité

InfoCard vous aide à gérer et à partager des informations personnelles, et chaque fois que vous parlez de tels systèmes, les préoccupations concernant la confidentialité font surface. Aucune technologie d'identité, ni aucun fournisseur d'identité ne peut satisfaire tout le monde, dans chaque situation. Passport fonctionne très bien quand je me connecte à Hotmail® ou à MSDN®, mais je ne souhaite pas forcément l'utiliser pour les applications non Microsoft telles que mon système bancaire en ligne.

En novembre 2004, Kim Cameron, architecte d'identité et d'accès chez Microsoft, a lancé une discussion sur son blog concernant ce qu'il considérait comme les lois de l'identité. L'objectif de Kim était d'obtenir de la communauté concernée par les questions d'identité un large consentement sur les lois qui décriraient un système d'identité stable, que les personnes pourraient utiliser en toute confiance pour tous les besoins en termes d'identité numérique. Cette discussion publique fascinante entre les pontes de l'industrie de l'identité, dont la plupart n'étaient pas liés à Microsoft, a donné lieu à sept lois sur l'identité. La barre latérale et l'article de Joshua Trupin dans ce numéro contiennent davantage d'informations sur ces lois essentielles.

Les sept lois sur l'identité

  1. Contrôle utilisateur et consentement. L'utilisateur doit contrôler ses informations et pouvoir décider quelles informations divulguer.

  2. Divulgation minimale. Les systèmes d'identité stables ne divulguent pas plus d'informations que nécessaire dans un contexte donné, et ils utilisent des identificateurs conçus spécialement pour ce contexte.

  3. Parties légitimes. Toutes les parties doivent avoir un motif légitime pour faire partie d'une transaction.

  4. Identité dirigée. De nombreuses entités publiques doivent se comporter comme des phares, diffusant leurs identités au monde. Cependant, ils doivent utiliser un identificateur privé pour le suivi de mon activité personnelle ; les systèmes d'identité stables doivent donc prendre en charge l'identité omnidirectionnelle (phares) et l'identité unidirectionnelle (ma relation privée).

  5. Pluralisme d'opérateurs et de technologies. Aucun système d'identité unique n'est suffisant dans tous les contextes, et aucun fournisseur d'identité unique n'est légitime dans tous les contextes.

  6. Intégration humaine. Toute solution d'identité numérique doit permettre à ses utilisateurs humains d'effectuer des choix compréhensibles et corrects en leur propre nom. Les derniers mètres entre l'ordinateur et l'utilisateur sont ceux où l'essentiel des problèmes a lieu. Le phishing et les autres attaques de type « social engineering » exploitent l'utilisateur. Un système d'identité stable doit limiter ces menaces.

  7. Expérience cohérente. Un système d'identité stable présente une abstraction facile à comprendre à l'utilisateur final, cohérente quelle que soit la technologie sous-jacente ou le fournisseur d'identité impliqué.

Vous pouvez lire le texte intégral de ces lois à l'adresse suivante : Weblog d'identité de Kim Cameron.

Il est intéressant de constater que la cinquième loi indique qu'aucun système d'identité ne peut suffire dans tous les contextes. Un métasystème d'identité est requis afin de faciliter le choix des fournisseurs d'identité et des technologies souhaitées, sans être limité à la solution d'un fournisseur unique.

Les participants du métasystème doivent se mettre d'accord sur un protocole d'encapsulage élémentaire. Rappelez-vous la croissance de l'Internet lorsque l'industrie a décidé d'adopter TCP/IP comme protocole de communication standard. Nous allons voir la même explosion d'innovations lorsque l'industrie se mettra d'accord sur un protocole d'identité. Kim appelle cela le Big Bang de l'identité.

Cette proposition d'identité tourne autour de la suite de protocoles WS-*, avec au centre WS-Security et WS-Trust. En effet, ces protocoles autorisent l'utilisation de n'importe quel type d'information d'identité ; vous pouvez représenter n'importe quel type de données en langage XML.

Identité numérique et affirmationst

Dans le métasystème d'identité, l'identité est représentée comme un ensemble signé d'affirmations. Une affirmation est quelque chose que quelqu'un dit vous concernant, ou quelque chose que vous dites sur vous-même. Comme dans le monde réel, vous jugez la véracité d'une affirmation en fonction de la personne qui prononce cette affirmation ou, dans le cas du métasystème, en fonction de la personne qui a signé l'affirmation.

Les affirmations signées automatiquement ont-elles un sens ? Certainement ! En fait, je suis convaincu que la grande majorité des identités que vous utilisez sur Internet sont purement des affirmations personnelles. Lorsque vous créez un compte dans une boutique Web, aucun tiers ne vérifie que vous entrez le numéro de téléphone correct dans votre profil utilisateur. C'est vous qui saisissez votre nom et votre adresse e-mail lors de la création de votre profil utilisateur, et non un tiers.

Lorsque vous accédez à une ressource sur le réseau de votre entreprise, vous devrez probablement fournir des informations d'identification qu'un tiers peut vérifier, par exemple un ticket Kerberos provenant de votre contrôleur de domaine. Les tickets Kerberos incluent une section appelée PAC (Privilege Attribute Certificate). Le PAC contient une liste d'identificateurs de sécurité (SID, Security Identifiers) qui décrivent votre compte utilisateur et les groupes de domaine dont vous êtes membre. Le PAC est signé avec la clé du contrôleur de domaine, de sorte que n'importe quel serveur qui reçoit votre ticket Kerberos peut vérifier la signature du contrôleur de domaine et donc avoir confiance dans les affirmations (sous la forme de SID) dans le PAC.

Dans le métasystème d'identité, de nombreuses parties utilisent des affirmations sur votre identité. Certaines, telles que les ressources du réseau de votre entreprise, nécessitent qu'un tiers de confiance fournisse des affirmations sur votre identité. D'autres, telles que la boutique Web mentionnée précédemment, acceptent simplement vos affirmations sans vérification. Dans le métasystème, vous voyez les relations d'approbation un peu partout, entre le sujet (vous), la partie (la ressource) et le fournisseur d'identité. La figure 1 illustre ces parties dans le métasystème d'identité.

Figure 1 Relations d'identité

J'imagine que de nombreux fournisseurs de services Internet, qui fournissent déjà des millions d'identités, ainsi que d'autres qui travaillent actuellement dans le domaine des identités, deviendront finalement des fournisseurs d'identité dans le métasystème, et quelques-uns des plus connus seront approuvés par de nombreuses entreprises différentes. Il s'agit là d'un service précieux, car il vous permet d'avoir une identité unique que vous pouvez utiliser partout sur Internet. Tant que vous et l'autre partie êtes d'accord sur un fournisseur d'identité, il ne doit y avoir aucun problème : la troisième loi (parties légitimes) a été satisfaite ! Chaque partie expose une stratégie qui répertorie les fournisseurs d'identité approuvés, ainsi que les technologies de jeton de sécurité implémentées. Cela fait partie de la négociation entre les intervenants dans le métasystème, laquelle est requise pour satisfaire à la cinquième loi (pluralisme d'opérateurs et de technologies).

Le sélecteur d'identité

Les deux dernières lois concernent l'intégration humaine. Le métasystème doit être présenté aux utilisateurs comme un concept concret. C'est ici que le sélecteur d'identité InfoCard intervient ; il s'agit de l'interface utilisateur Microsoft pour le métasystème. Chaque identité est représentée graphiquement en tant que carte, tout comme les cartes plastiques que vous utilisez toujours les jours. Peu importe la technologie sous-jacente utilisée pour représenter l'ensemble signé d'affirmations, qu'il s'agisse de Kerberos, de SAML (Security Assertion Markup Language), de X.509 ou d'autre chose, les cartes proprement dites fonctionnent de la même façon. L'image sur la carte reflète probablement l'émetteur et le type de données représenté par la carte, mais les cartes sont similaires pour l'utilisateur. Cela est important pour satisfaire l'exigence de cohérence de la septième loi.

L'interface utilisateur est appelée sélecteur d'identité et est implémentée sur un poste de travail distinct et hautement sécurisé, tout comme le poste de travail WinLogon que vous voyez lorsque vous ouvrez une session Windows. Lorsque vous visitez un site Web ou que vous utilisez un service Web qui joue le rôle de partie dans le métasystème, le sélecteur d'identité s'affiche avec une sélection de cartes adaptées au contexte actuel. Lorsque vous sélectionnez une carte, vous pouvez voir une représentation textuelle de chaque affirmation qui sera envoyée à la partie, et vous pouvez annuler la transaction si vous préférez ne pas divulguer les informations demandées. Imaginez par exemple un forum qui demanderait votre numéro de passeport. Vous auriez raison de refuser cette demande. L'objectif d'InfoCard est de mettre l'utilisateur au centre, ce qui contribue en outre à satisfaire à la première loi.

InfoCard est conforme à la sixième loi (intégration humaine) en impliquant l'utilisateur dans le processus de façon à l'aider à prendre lui-même les bonnes décisions, sans formation spécifique. Par exemple, la première fois que vous utilisez un site Web ou un service qui joue le rôle de partie, vous voyez une boîte de dialogue avec une illustration graphique du certificat de la cible, ainsi que des informations indiquant si le certificat semble représenter une entreprise légitime.

Cela est rendu possible par une fonctionnalité appelée logotypes (décrite dans la RFC 3709). Les certificats avec des logotypes comportent des URL qui pointent vers des images sur le Web. Ces images représentent une marque reconnaissable pour le sujet et l'émetteur, ce qui permet à l'utilisateur d'évaluer visuellement le certificat. L'URL de chaque image est fournie avec un hachage de l'image, que InfoCard vérifie afin de s'assurer que l'image n'a pas été trafiquée depuis l'émission du certificat. L'objectif de cet exercice est de vous impliquer davantage dans le protocole d'authentification. Selon quelle fréquence vérifiez-vous le certificat de la cible avant d'envoyer des informations personnelles ? Vous devez faire un choix dans cette boîte de dialogue : approuver ou ne pas approuver. Si vous décidez d'approuver la cible, vous serez invité à choisir une carte, et cette question ne vous sera pas reposée pour ce site, sauf si vous faites quelque chose qui indique un refus d'approbation, par exemple ne pas sélectionner une carte lorsque vous y êtes invité.

Que contient une carte ?

Dans le métasystème, l'identité est représentée par des ensembles signés d'affirmations, qui sont transportés dans des éléments XML appelés jetons de sécurité. WS-Security permet de transporter de nombreux types différents de jetons de cette façon, des jetons binaires tels que les tickets Kerberos aux jetons SAML.

Vous avez besoin d'un jeton de sécurité pour transmettre les affirmations à une partie, mais une carte ne contient pas ces affirmations. La carte est simplement une structure de données sur l'ordinateur client de l'utilisateur, qui lui indique comment contacter le fournisseur d'identité pour obtenir un jeton si nécessaire. La carte décrit également la forme du jeton que vous obtenez : SAML, Kerberos, X.509 ou autre chose, avec les affirmations que l'utilisateur accepte que le fournisseur d'identité envoie à la partie.

Ces métadonnées, associées à la stratégie exposée par les parties sous-jacentes, permettent au sélecteur d'identité de sélectionner les cartes appropriées dans un contexte donné. Par exemple, lorsque vous validez vos achats dans une boutique Web, le sélecteur d'identité sélectionne votre carte bancaire (voir figure 2). Si vous y réfléchissez, étant donné que le protocole contacte la banque chaque fois qu'il a besoin d'un jeton, la banque peut facilement émettre un numéro de carte bancaire unique pour cette transaction. Ce type de transparence est essentiel pour le fonctionnement d'InfoCard et du métasystème d'identité.

Figure 2 Le sélecteur d'identité en action

Lorsque vous sélectionnez une carte avec des données d'identité que vous souhaitez envoyer à une partie, le sélecteur d'identité adresse une demande sécurisée au fournisseur d'identité, demandant l'ensemble d'affirmations dont la partie a besoin. Le fournisseur d'identité peut choisir de vous authentifier avant d'émettre le jeton, en demandant une InfoCard, un mot de passe, une carte à puce ou toute autre forme d'informations d'identification, afin de s'assurer que ce n'est pas un imposteur qui utilise votre ordinateur.

Une fois que le fournisseur d'identité a émis le jeton, vous disposez d'une deuxième chance pour examiner la carte, et vous pouvez à présent voir les valeurs d'affirmation exactes qui seront envoyées à la partie (voir figure 3), et décider ou non de poursuivre la transaction. Si vous refusez l'envoi du jeton, le sélecteur d'identité local note ce choix (qui peut représenter un refus d'approbation) et affiche la boîte de dialogue d'approbation lors de votre prochaine visite du site.

Figure 3 Vérifiez ce que vous partagez

De combien de cartes ai-je besoin ?

Si je réfléchis à mes propres habitudes personnelles, je sais que j'aurai besoin d'au moins trois cartes. Ma carte anonyme, qui est une carte émise par moi-même avec un tas d'informations personnelles génériques et fausses, sera utilisée sur les sites Web dans lesquels je n'ai pas confiance. S'ils demandent des informations personnelles dont ils n'ont pas réellement besoin, ils recevront des données génériques, par exemple une adresse telle que 1234 Main Street, Anytown, USA. Ma deuxième carte sera émise par un fournisseur d'identité réputé, tel que VeriSign. Je l'utiliserai avec les sites dans lesquels j'ai confiance. Et ma troisième carte, émise par moi-même, contiendra des informations personnelles exactes. Je l'utiliserai sur les sites de confiance qui acceptent uniquement les identités émises personnellement.

Si ces trois cartes seront suffisantes pour la grande majorité des parties, je sais que j'aurai besoin d'un certain nombre de cartes plus spécialisées. J'aurai des cartes émises par la banque représentant mes autorisations de crédit. J'espère avoir des cartes de réputation émises par des entreprises telles que eBay, sur lesquels j'ai une excellente réputation en tant qu'acheteur et vendeur (100 % de commentaires positifs). Imaginez l'impact d'une telle réputation dans une nouvelle communauté Internet.

Cartes émises personnellement

Microsoft travaille activement pour impliquer de nombreuses industries différentes dans le métasystème. Des principaux sites de commerce électronique aux fournisseurs d'identité existants tels que VeriSign, en passant par les institutions financières fournissant des cartes bancaires et des services en ligne, InfoCard est très intéressant. Mais l'adoption n'aura pas lieu en une seule fois ; les entreprises devront travailler à sa prise en charge. En attendant, un fournisseur émis personnellement est livré avec le sélecteur d'identité. Il s'exécute dans un processus distinct, hautement privilégié, et joue le rôle de n'importe quel fournisseur d'identité, à ceci près qu'il est local. Étant donné que les affirmations des cartes émises personnellement seront stockées sous forme cryptée sur votre disque dur, elles sont limitées aux seules informations publiquement disponibles, telles que votre numéro de téléphone, vos adresses postale et électronique, etc. Vous ne pourrez pas stocker de numéros de carte bancaire sur votre disque dur avec ce fournisseur.

Dans la mesure où le fournisseur émis personnellement stocke ces données sur votre disque dur, il n'est pas très mobile. Vous pouvez bien entendu exporter les données d'une carte émise automatiquement et les importer sur un autre ordinateur, mais sur le long terme, il est prévu une version portable de ce fournisseur, qui pourra par exemple s'exécuter sur un périphérique USB que vous emportez, ou sur votre téléphone portable. Votre ordinateur peut se connecter à ce périphérique via Bluetooth afin de demander des jetons. Il s'agit d'une question importante pour les utilisateurs qui souhaitent emporter leurs identités.

Comment obtenir InfoCard ?

Le sélecteur d'identité est fourni avec WinFX®, de sorte que dès l'installation des composants du runtime WinFX, vous voyez une nouvelle applet nommée Identités numériques dans votre Panneau de configuration. L'exécution de cette applet ouvre le sélecteur d'identité et vous permet de créer de nouvelles cartes émises personnellement, ainsi que de gérer vos identités.

WinFX devrait être livré avec Windows Vista™ vers la fin de l'année 2006. Qu'en est-il si vous continuez d'utiliser Windows® XP ? Pas de problème. WinFX fonctionne également sous Windows XP, tout comme le sélecteur d'identité. Il est toutefois préférable d'utiliser Windows Vista, en raison des autres fonctionnalités de sécurité offertes, l'une des plus importantes étant la fonctionnalité de contrôle des comptes utilisateur, qui vous permet d'exécuter Windows avec des privilèges limités. Les développeurs peuvent utiliser Windows Communication Foundation pour implémenter des parties et des fournisseurs d'identité. Si vous souhaitez examiner InfoCard du point de vue du développeur, consultez mes articles dans les numéros d'avril et mai 2006 de MSDN Magazine.

Keith Brown est co-fondateur de Pluralsight, un des principaux fournisseurs de formations Microsoft .NET. Keith est l'auteur du cours de Pluralsight sur la sécurité .NET appliquée, ainsi que de plusieurs ouvrages, notamment « The .NET Developer?fs Guide to Windows Security (Guide de la sécurité Windows pour le développeur .NET) », disponible en librairie et sur le Web. Pour en savoir plus, visitez le site www.pluralsight.com/keith.

Extrait du numéro de juillet 2006 de TechNet Magazine.