Archives pour la catégorie Annuaires

InfoCards: bien ou mal ?

On se souvient de Microsoft Passport et du rejet de cette technologie par la communauté des développeurs. Microsoft revient à l’assaut avec les InfoCards qui seront présentes dans IE 7, Active Directory et Windows Vista. Techniquement, cette solution paraît beaucoup plus intéressante et plus respectueuse de la vie privée. Son inventeur, Kim Cameron, est connu pour être l’un des inventeurs des méta-annuaires (à l’époque où il était CTO de ZoomIt). C’est LE gourou de la gestion d’identité. Il a proposé les 7 « lois » de l’identité qui forment le cahier des charges du système de gestion des identités idéal : viable, fiable et respectueux de la vie privée. Bref, c’est quelqu’un dont on peut penser beaucoup de bien. Pour en savoir plus, rien ne vaut un bon petit podcast de chez IT conversations.
Pour autant, son invention doit susciter la méfiance. Que va en faire Microsoft ? Comment Microsoft va-t-il l’utiliser pour asseoir sa domination sur l’industrie informatique ? Encore une bonne techno promise à un succès commercial qui fera grincer les dents des développeurs libres ? Il faut le craindre.

Unique identifiers get Febrl

When dealing with identity management, one really appreciate having unique identifiers for describing individual identities. Having a common unique identifier available accross a whole information system is a terrific asset for the management of IT security. The problem is that information systems usually don’t have such a global naming convention or these naming conventions are too weak to ensure uniqueness and permanence of these identities. The usual solution is to define a more clever naming convention, to invent a new unique identifier and to associate any individual data with it so that people identities get managed.

But then the deployment of this unique identifiers raises a new problem : how to guarantee that a given data record describing a person is really related to that person you already know with a unique identifier. You have to decide matches and non-matches accross your data.
The art of doing such decisions was called « record linkage » by the biomedical community because this is a common issue in health information systems for example for epidemiological studies.

Therefore this community developped several approaches (deterministic or probabilistic) to record linkage that can also be applied to field of identity management. Febrl is a very nice open source package that implement state-of-the-art methods for record linkage and that may be applied to the deployment of unique identifiers in IT security systems.

Identification and naming practices

States have been precursors in building registers of persons. Here are some national practices and projects in civil registration systems, vital statistics and other administrative identity systems :

You are building an international directory of persons, you know that you will record names, surnames, given names. But what does « surname » mean ? Will you be understood when you ask a foreigner his given name ? Here come culture, society and naming practices :

You’ve got existing databases that you want to link to your fresh new directory of persons. But how to build that link ? How to match records coming from different databases when they don’t share a common unique identifier ? This is the art of record linkage :

Transliteration

I wanted to give Alban and others pointers to my resources on the topic of transliteration. But I can’t find my transliteration documents any more ! Anyway, my experience is that transliteration is a tough problem and after having thought a little bit on this topic, we decided not to automate the transliteration of individual names but to make people input their name according to their own habits in a more or less transliterated form. It would have been great if you were able to automate transliteration (maybe with the help of a virtual Unicode keyboard ?). The main advantage of standardized transliteration is that it is supposed to give you a standardized representation of the name of a person. You might then rely on this standardized naming elements in order to build a unique identifier. But the problem is that many language transliterations are not standardized, plus these standards evolve too much. A greek colleague of mine told me that his name was transliterated many times with many different output (creating problems at the airport, I let you imagine). Transliteration definitely remains as a problem for strong identity management. At the moment, you should just try to workaround it until transliteration standards are more robust and widely adopted…

Anyway, here are some pointers on how to process non-latin documents and maybe transliterate them :

Jointure d’identité et réseaux sociaux

IBM a récemment acquis SRD, éditeur d’un logiciel qui met en correspondance :

  • diverses descriptions informatiques d’un même individu (jointure avancée d’identités),
  • les relations établies entre individus d’après leurs points communs (établissements de réseaux sociaux)

Bref, un logiciel tout à fait adéquat pour qui veut se constituer la parfaite panoplie du petit big brother.
Cette technologie semble un peu similaire aux méta-annuaires qui se sont spécialisés dans la jointure simple d’identités électroniques. Mais elle semble trouver ses principales applications dans le domaine du data mining pour le marketing et la CRM, dans l’analyse du risque crédit et dans le renseignement d’Etat et la sécurité privée. Elle me fait penser à Semagix qui, tout en ciblant des champs d’application similaires (CRM, détection d’opérations financières frauduleuses et déconstruction de réseaux sociaux mafieux), mise sur une approche « web sémantique ».
Il serait sans doute intéressant de savoir sur quelle approche technologique s’appuie SRD et si cette techno est suffisamment robuste, fiable et automatisée pour apporter des éléments de solution dans des problématiques très opérationnelles de gestion des identités électroniques.

Web-SSO : A CAS client for Zope

The Central Authentication Service (aka CAS) is an open source lightweight framework that provides Web Single Sign On to big organizations (universities, agencies, corporations). It seems to be wildly used and seen as as much mature and reliable as the struts framework.

An existing server can benefit CAS WebSSO features if its technology is supported by a CAS client. So, please welcome Zope’s CAS User Folder, that SSOizes Zope within complex SSO infrastructures.

Modernisation des processus de gestion des identités électroniques de Saint-Gobain

[Ceci est le résumé de l’une de mes réalisations professionnelles. Je m’en sers pour faire ma pub dans l’espoir de séduire de futurs partenaires. Plus d’infos à ce sujet dans le récit de mon parcours professionnel.]

En 2000, l’informatique de Saint-Gobain est tellement décentralisée et hétérogène que la sécurité centrale ignore qui fait ou non partie du groupe. La direction des systèmes d’information me charge de diriger la modernisation des identités électroniques des 200 000 personnes du Groupe. J’analyse les processus clefs à moderniser : arrivée et départ des personnes. Je conduis le changement avec les acteurs concernés (RH, informatique et moyens généraux). Je dirige la conception et le déploiement d’une infrastructure technique de gestion des identités. En 2005, 50 000 des 200 000 personnes sont immatriculées et disposent d’un identifiant informatique unique. L’identité de 30 000 d’entre elles et leur appartenance au Groupe est tenue à jour en temps réel dans l’Annuaire Groupe. La suite du déploiement est planifiée pour les trois ans à venir.

Identity Management et Customer Relationship Management

Un nouveau concept vient d’être introduit par le Gartner dans le domaine de la gestion de la relation client : le Customer Interaction Hub désigne l’intégration en une seule plate-forme de toutes les applications liées à la gestion de la relation client.
Selon Phil Windley, la mise en oeuvre de ces concentrateurs de la relation clients suppose des méthodes de travail identiques à celles qui permettent l’intégration des identités électroniques (synchronisation, fédération, provisioning, …).

The three laws of identity

Microsoft has definetely not been the leader in identity management systems. For sure, MS Active Directory is being widely deployed. But it is an authentication and administration infrastructure, not an identity management solution. Because of MS ADAM (lightweight LDAP directory) and MS IIS (directory synchronization aka metadirectory) lacking features (compared to their competitors), I often thought that Microsoft was lacking some visionary approach of identity management. I was definitely wrong. They’ve got a guy who seems to have perfectly identified the (long term) future of identity management.

Solution open source de gestion des identités

Linagora propose une solution complète de gestion des identités électroniques appuyée sur des logiciels open source : InterLDAP (s’appuyant notamment sur AACLS).
Avantages : une couverture fonctionnelle très large (WebSSO, gestion de listes de diffusion, administration déléguée, infrastructure d’annuaires avec réplication, flexibilité extrême dans la gestion des règles de contrôle d’accès, user provisioning…), un coût de licences nul, des choix technologiques prudents et « industriels » (J2EE, OpenLDAP, respect des standards ouverts…).
Inconvénients : encore peu « packagée » d’un point de vue marketing, pas de grosse référence dans le secteur privé, difficile à acheter par un acteur privé (cf. ci-dessous), difficilement comparable avec un produit propriétaire concurrent.

Pour reprendre des thèmes évoqués avec Nicolas Chauvat de Logilab lors d’une récente conversation, ce type d’offres souffre de défauts communs à la plupart des offres produits open source lorsqu’il s’agit de les vendre notamment au secteur privé. Comment les acheteurs de grandes sociétés du CAC 40 peuvent-ils évaluer leur performance (et donc leur prime de fin d’année ?), eux qui ont l’habitude de la mesurer à l’aune du différentiel entre le prix public des licences et le prix négocié ? Les modes d’achats logiciels des gros acteurs privés ne sont vraiment pas adaptés à l’achat de solutions open source. En effet, le coût de licence étant nul, c’est l’évaluation d’un coût total de possession qui peut seul permettre la comparaison entre une offre open source et une offre propriétaire. Or, outre le fait que les modèles de TCO sont généralement peu fiables ou alors très coûteux à mettre en place, il est difficile de prévoir le coût des développements spécifiques/personnalisation. L’achat d’un développement au forfait suppose normalement que l’acheteur soit capable de fournir un cahier des charges fonctionnel du besoin détaillé et stable pour que le fournisseur en concurrence puisse s’engager sur un coût prévisionnel et prenne à sa charge le coût du risque lié à cette prévision. Mais le problème, c’est que l’acheteur est généralement incapable de fournir un tel dossier car les services informatiques sont généralement trop contraints par les délais et l’imprévisibilité des maîtrises d’ouvrage pour pouvoir formaliser ce cahier des charges dans de bonnes conditions. Cela entraîne des pratiques d’achat dans lesquelles on compare d’une part un coût de licence et de support et d’autre part un coût du jour.homme pour le développement spécifique. Dès lors comment comparer un produit propriétaire pour lequel l’essentiel du coût présenté à l’achat est celui de la licence avec un produit open source pour lequel l’essentiel du coût présenté à l’achat est celui de l’intégration ?

Etant données la marge d’incertitude liée aux spécifications fonctionnelles (imprécises, peu stables), la marge d’incertitude liée au modèle de calcul du TCO et la marge d’incertitude liée à l’évaluation de l’adéquation d’un produit au besoin fonctionnel, il paraît relativement vain aux acteurs privés de vouloir considérer des solutions open source dans leurs appels d’offres. Ce n’est que lorsque la nature de la relation du client à son fournisseur est un élément stratégique de décision que le choix open source paraît devenir évident. Lorsque le client cherche une solution qui lui donne plus d’autonomie vis-à-vis de l’éditeur, c’est alors qu’il peut voir la valeur d’une offre open source. Mais, même dans ce cas, peut-on réellement quantifier cette valeur ? Est-elle défendable devant des acheteurs et des décideurs du secteur privé ? Sans doute. Pourtant, je n’ai encore jamais vu d’argumentaire marketing soutenu par un modèle financier solide et reconnu par la presse professionnelle qui arrive à démontrer cette valeur. Les entreprises françaises croient encore qu’open source signifie soit gratuit, soit bricolé par des non professionnels, soit « non industriel » ou, dans le meilleur des cas, croient que l’open source signifie « prétenduement vraiment moins cher ». Plus encore, je pense que la mentalité générale consiste à considérer l’open source comme « non gérable ». Lorsque cette mentalité aura changé, c’est que les entreprises du secteur de l’open source auront réussi.

PS : A ces difficultés, il faut ajouter le fait que la plupart des SS2L regroupent des passionnés des technologies qui n’ont pas forcément les compétences marketing et de vente que réunissent habituellement les éditeurs propriétaires. Mais ce dernier point n’est sans doute qu’un péché de jeunesse ?

Loi de distribution des noms au Vietnam

Certes, 54% des vietnamiens ont « Nguyen » comme nom de famille. Mais cela ne suffit pas pour modéliser la loi de distribution des noms de famille au Vietnam et encore moins celle des prénoms. Pourtant, un tel modèle permet de prédire les probabilités de collisions signalétiques (homonymies) dans l’annuaire des employés d’une multinationale. Et le vietnam a cela d’intéressant qu’il s’agit sans doute de l’un des pays dans lesquels les probabilités de collisions signalétiques doivent être les plus importantes (puisque 54%…).

Voici quelques sources générales sur le sujet :

Alors que faire ? Je crois bien que je vais me résoudre à compter les vietnamiens un par un. Enfin presque… J’ai trouvé un annuaire téléphonique du Vietnam, en ligne. Il ne reste plus qu’à apprendre à Excel à aller taper dedans, à compter les fréquences d’apparition des noms de famille et des prénoms (ce qui suppose d’ailleurs de différencier les noms de familles, les noms intercalaires et les prénoms composés…). Le résultat devrait être intéressant. Je vous en dirai plus à l’occasion.

Tant que j’y suis, même si c’est hors sujet, voici un excellent argumentaire qui explique aux américains pourquoi il est stupide de croire que les noms des gens peuvent toujours se décomposer en « First Name », « Middle Name » et « Last Name ».

Active Directory : mono- ou multi-forêt(s) ?

Cet article évoque

research that shows that early adopters of Active Directory tended to choose fewer forests than was ideal, and their networks suffered for it.

Alors, que faut-il penser des grandes entreprises qui choisissent un modèle centralisateur mono-forêt qui centralise, du même coup, le pouvoir de gestion de l’informatique (est-ce une finalité du projet ?). Mmm… Et vous, mono- ou multi-forêt ?

Nommage des individus dans le monde

Apparemment, le Vietnam est le pays dans lequel les noms de famille sont les moins uniques. Voici quelques liens pour comprendre les usages internationaux en matière de nommage des individus :

SolutionsLinux 2004

Ouhla, la, quel salon que Solutions Linux 2004 ! Rien de que des gens très intéressants :

  • le directeur d’une SS2L qui a atterri à ce poste après de nombreuses années de bons et loyaux services au sein d’un groupe du CAC40 qui m’emploie actuellement et qui est réputé pour sa gestion « bon père de famille », ou comment reprendre une société qui a été mal en point en nommant à sa tête une personne incarnant l’idée de « croissance durable »,
  • un réseau d’ « entreprises agiles » (Ingeniweb, Pilot Systems, Blue Dynamics, …), les Zope Service Providers de l’EuroZope Association, animé par le gourouisé Paul Everitt
  • Paul Everitt lui-même, qui non seulement déniche grâce à son réseautage permanent des projets commerciaux qui me font baver d’envie, mais prophétise également avec conviction un bel avenir pour les ZSP
  • d’autres spécialistes Zope mais qui n’ont pas rejoint le courant Plone ; je retiens notamment le travail de la société Emencia sur le léger Zwook ; Zwook cible la gestion de contenu plus bas de gamme que Plone (ce n’est pas péjoratif) : morale de l’histoire, bien que moins flexible et moins puissant, Zwook offre des fonctionnalités intuitives (quoique d’ergonomie moyenne) qui permettent par exemple de créer/modifier des skins via le Web sans avoir à toucher une ligne de code (sans bidouilles les ZPT ni même les CSS). Mais ce n’est sans doute qu’une question de temps avant que Plone propose quelque chose d’équivalent.
  • la SS2L (Société de Services en Logiciels Libres) Linagora qui m’a impressionné par son expérience autour de la gestion d’annuaires ; ils semblent avoir développé une approche open source de la problématique de la gestion des droits ainsi que de l’intégration de données d’annuaires (méta-annuaires) qui semble empreinte de pragmatisme, mais si elle manque de maturité pour donner lieu à la distribution de produits bien packagés pour y répondre.
  • des copains d’école ! Chez Nexen, on fait aussi dans la « croissance durable » et leur réputation dans le monde PHP francophone n’est plus à faire ; on annonce la publication d’un magazine ciblant les usages de PHP dans le monde de l’entreprise… prometteur !
  • une preuve vivante que le monde est petit : sur le stand de mes copains d’école, j’ai croisé un type qui a eu le culot de me prétendre que l’offre de Gitoyen était pourrie et que les gens de Globenet étaient tous des nazes incompétents alors que primo ce sont aussi des copains à moi et secondo j’admire leur présence au sein le monde associatif ; il m’a suffit de l’entendre pour comprendre qu’il s’agissait du dévoué Benjamin, maître des systèmes de Globenet ! heureux d’avoir enfin pu mettre un visage sur ton nom Benjamin.
  • le Monsieur Linux d’IBM pour l’Europe de l’Ouest avec qui j’ai eu une discussion très intéressante sur l’avenir de l’open source vu par LE géant de l’informatique : linux est un standard incontournable pour qui veut maintenir son leadership sur le marché. Par contre, autant les solutions open source pour l’infrastructure et la sécurité ont fait leurs preuves, autant l’offre open source sur la couche applicative n’est pas encore assez visible sur le marché pour retenir l’attention des titans. Et c’est délibérément qu’IBM ne veut pas anticiper les choses en la matière et se contente de se concentrer sur l’infra, en lorgnant un peu du côté du poste de travail histoire de suivre les initiatives de Novell et de SUN. D’où la juste prophétie de Paul Everitt :
    I picked a deal size (50-250k) that excludes the Sapients and IBMs. That’s just too small for their radar. Which is good, because (sadly) as open source crosses the chasm into the mainstream market, the new customers are going to want a cathedral on the supplier side to balance the bazaar on the software side.
    I say sad, because it means spectators will show up, after all the small companies did all the work, and these big boys will take all the money. I think this is unfair. But, so what, life is unfair, and this happens all the time.

  • des gens de chez Jouve, tiens, tiens… mais eux aussi intéressés sans doute avant tout par les offres pour l’infrastructure plus que pour l’applicatif

Bref, un salon stimulant et qui promet des années à venir riches en rebondissements pour l’avenir de l’open source dans la couche applicative.

Clavier virtuel UNICODE

Pour faire un annuaire international qui identifie les gens de manière permanente (même si la personne s’en va et revient, on sait que c’est bien la même personne), rien de mieux que de s’appuyer sur le prénom, le nom et la date de naissance de l’individu. Quel nom ? Le nom d’état civil de naissance et pas un autre. Dans quel alphabet ? Dans l’alphabet « officiel » de l’état civil de naissance de l’invididu ! En effet, M. Müller en Allemagne risque de se faire appeler M. Mueller en France. Et telle personne née en Chine aura du mal à faire saisir sous nom sous forme idéographique dans un système de paye français… Morale de l’histoire, il faut recourir à la translitération et normaliser celle-ci (ISO proposent un certain nombre de normes en la matière). Mais les difficultés ne sont pas terminées. Car pour pouvoir garantir la normalité de la translitération, il est nécessaire de ne pas laisser tout un chacun procéder à la translitération. Il est donc nécessaire de disposer d’un service centralisé de translitération (une appli web). Et pour pouvoir tout de même saisir les prénom et nom de l’individu dans son alphabet d’origine dans cette machine à translitérer, encore faut-il pouvoir saisir des caractères et idéogrammes non supportés par le clavier de l’opérateur de saisie. Là encore, il y a des solutions : les claviers virtuels UNICODE. Ces petits morceaux de code permettent d’afficher un clavier virtuel dans un navigateur Web, clavier supportant tous les jeux de caractères existant (dans la norme UNICODE). Voici les claviers virtuels UNICODE que j’ai repérés :

Isonymie ! Isonymy !

Quel bonheur (tout est relatif) ! J’ai trouvé la clef qui va me permettre d’évaluer la probabilité de doublons dans les identifiants que nous utilisons pour nos annuaires… La clef, c’est le terme d' »isonymie ». Ce terme désigne le concept de doublon de patronyme et permet d’évaluer la probabilité que dans un ensemble donné d’individu (un annuaire), il existe deux personnes physiques ayant le même nom de famille. Je cherchais comment évaluer cette probabilité, et c’est en cherchant « patronymes probabilité » sur Google que j’ai trouvé le terme académique : « ISONYMIE ». L’étude de l’isonymie à travers les différentes régions du monde permet d’évaluer cette probabilité de doublons. Pour en dire plus sur l’utilité de la chose : cela permet d’évaluer le risque de doublon d’identifiant calculé à partir des données signalétiques d’un individu. « C’est-à-dire ? » me demandez-vous …
Allez, je vous dis tout : dans un (gros) annuaire de personnes, plutôt que d’attribuer des noms d’utilisateurs sur une concaténation de morceaux du prénom et du nom (jchirac, jacquesc), ou bien afin de créer un matricule dont l’unicité est garantie (même si elle n’est pas absolue), il est souhaitable d’utiliser un algorithme de hashage que l’on applique à certaines informations signalétiques intangibles de l’individu (avec toutes les mesures de protection de la vie privée que cela impose) : prénom et nom (d’état civil, de naissance et sous forme translitérée) et date de naissance. La probabilité de collision de matricule et donc de nom de connexion est calculable à partir des taux d’isonymie observés dans le monde et à partir de la probabilité de collision générée par l’algorithme de hachage (elle-même calculée par le théroème des anniversaires). Il me manquait la première de ces données car j’ignorais le terme d’isonymie et nous n’arrivions pas à trouver des données statistiques sur les probabilités de doublons de patronymes. Maintenant que l’on a tout ça, ya plus qu’à !

Ontology Works

« Ontology Works » fait partie de ces quelques éditeurs de logiciels pionniers dans l’intégration sémantique de données. Cette société commercialise une boîte à outils composée de :

  • un environnement intégré de développement d’ontologies
  • un « fédérateur » dont la fonction est de router des requêtes vers les différentes bases de données intégrées dans le dispositif, à la manière d’un « bus de connaissances »
  • un système de base de données dit « déductif » (et non relationnel) privilégiant la flexibilité et le support des natifs des ontologies à la performance
  • un générateur de schémas de données pour bases relationnelles de manière à rigidifier sous une forme performante (relationnel) un modèle de donnée incarnant des ontologies et donc accessible facilement depuis le « bus de connaissances »
  • un « médiateur » rendant une base relationnelle existante accessible depuis le fédérateur de requêtes (bus)

Cette boîte à outils est un étrange mélange entre d’une part des outils ressemblant aux modélisateurs et générateurs de code à la Rational Rose et d’autre part des composants rappelant les moteurs de jointure et connecteurs des méta-annuaires.
Je regrette qu’il ne s’agisse que d’une boîte à outils « pour l’entreprise » qui suppose notamment que l’entreprise utilisatrice hiérarchise ses ontologies comme autant d’extensions locales d’une ontologie globale. Le dispositif n’est pas apparemment pas conçu pour faciliter le traitement des incohérences ou des contradictions entre ontologies. Par ailleurs, Ontology Works semble faire un usage abusif du terme « OWL ». Chez eux, OWL désigne un « Ontology Works Language » qui n’a peut-être rien à voir avec le « Ontology Web Language » du W3C. De plus, l’offre de cette société semble s’ancrer directement sur XML, sans passer par la case RDF. Ceci explique-t-il cela ?
Pour en savoir plus sur l’offre d’Ontology Works et les concepts tels que le « bus de connaissances », l’intégration sémantique de données, les caractéristiques des bases de données déductives et le rôle de la gestion d’ontologies dans l’entreprise, la foire aux questions de cette société se révèle une source d’information très didactique.