Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Azra [Florent Santin]

.Net, X'Net, aucun lien de parenté V2.0

Actualités


  • MSN Alerts
    View Florent Santin's profile on LinkedIn
[Teched 2007] A Developer's Diary on Implementing Windows CardSpace

Dominick Baier - Security Consultant / thinktecture

Encore une session sur un sujet complètement différent: CardSpace. Pas une nouveauté en soit vu que CardSpace fait parti du Framework 3.0 et est disponible depuis Vista, mais j'avoue que l'idée d'avoir un retour d'expérience sur sa mise en place m'a plutôt attiré.

Pourquoi mettre en place CardSpace?

  • Rendre le processus d'authentification plus simple via une simple selection de carte plutôt que par la saisie d'identifiants
  • Minimiser le nombre de login / mot de passes utilisés sur internet en les regroupant dans une ou plusieurs cartes, stockée localement sur le poste client (pas de diffusion du mot de passe donc)
  • Rendre les applications plus sécurisées en empêcher notamment le risque de fishing

Qu'il y'a t'il dans une carte CardSpace:

  • Des données générées dynamiquement:
    • Une clé publique : utilisée pour le chiffrage de la carte
    • PPID - Private Personal Identifier: représente un identifiant de relation carte / site cible
  • Des données saisies par l'utilisateur
    • Pseudo
    • Adresse Email
    • ...
  • Donc pas d'identifiant / mot de passe stockés dans votre application ASP.NET 2.0, uniquement un identifiant unique représentant la carte

Intégration dans ASP.NET 2.0

  • L'objectif est d'ajouter une balise <object> spécifique dans l'HTML généré (type="application/x-informationcard") dans laquelle sont spécifiés les éléments devant être renvoyés à l'application Web.
  • Le navigateur Web utilisé doit ensuite repérer et interpréter cet objet, le compléter avec les informations requises et le renvoyer
  • Pour faciliter cette implémentation, il est possible d'utiliser le contrôle ASP.NET "InfoCardSelector" permettant de spécifier automatiquement au client les données devant être transmises

Les informations de l'utilisateur sont donc stockées dans la carte et transmises à la création (association) du compte utilisateur. Il faut donc faire attention de bien synchroniser les informations stockées sur le site (adresse postale par exemple), a chaque fois que l'utilisateur se connecte avec sa carte.

Exemple de schéma de base de données pour stocker les identifiants:

  • Une table "Users" contenant UserID / FirstName / LastName / EmailAdresse => un utilisateur du site est uniquement
  • Une table de relation 0 to n "information Cards" contenant UniqueID / UserID / IssuerID => un utilisateur peut avoir de 1 a n cartes (une carte pas machine utilisée par exemple, usage perso et pro)

Dans le cas ou un utilisateur perd sa carte, il doit lui être rendu possible de générer un mot de passe pour se connecter de manière classique à son compte pour refaire une association de carte.

Dans tout les cas, pour une utilisation de CardSpace sur un site Web, il est conseillé de garder en parallèle un mode d'authentification classique par formulaire, pour permettre la re-association de carte en cas de perte de celle-ci ou pour le besoin d'association de carte sur une autre machine.

Bon, j'ai largement été rassuré par le niveau de faisabilité d'intégration de CardSpace sur un site ASP.NET 2.0 existant et utilisant déja une authentification classique. Ma première action après le Teched sera donc de me lancer dans une implémentation concrète de CardSpace.

Quelques liens pour aller plus loin:
- Préparer une machine de développement pour CardSpace: http://blog.couzy.com/PermaLink,guid,4092feab-d315-4d00-b19a-7cd52c47aafe.aspx
- Exemple d'implémentation: http://www.netfxfactory.org/blogs/actualites/archive/2007/05/15/windows-cardspace-cartographions-nos-identit-s.aspx

Posted: jeudi 8 novembre 2007 00:31 par azra
Classé sous :
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- TechDays Paris 2010 : La BI dans SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 8 minutes

- TechDays Paris 2010 : Déploiement de nouvelles technologies – Retour d’expérience par l’informatique de Microsoft par Blog Technique de Romelard Fabrice le il y a 1 heure et 35 minutes

- TechDays Paris 2010 : Plan de migration vers SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 5 heures et 18 minutes

- TechDays Paris 2010 : La pleinière du second jour par Blog Technique de Romelard Fabrice le il y a 6 heures et 23 minutes

- Visual Studio 2010 and .NET Framework 4 Release Candidate now available par Matthieu MEZIL le il y a 9 heures et 29 minutes

- Création d’une base de donnée sous SQL Azure par Le Blog (Vert) d'Arnaud JUND le il y a 10 heures et 26 minutes

- TechDays Paris 2010 : Les Services d’applications dans SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 20 heures et 25 minutes

- TechDays Paris 2010 : La GED et SharePoint 2010 par Blog Technique de Romelard Fabrice le 02-08-2010, 16:54

- TechDays Paris 2010 : SharePoint 2010 et Les réseaux sociaux par Blog Technique de Romelard Fabrice le 02-08-2010, 15:40

- TechDays Paris 2010 : SharePoint 2010 – Description et nouveautés par Blog Technique de Romelard Fabrice le 02-08-2010, 14:33