Credential pooling : quand deux personnes répondent comme une seule – un problème sérieux pour chaque EUDI Wallet
Des chercheurs de l’université Sapienza de Rome ont montré une faiblesse qui touche les portefeuilles européens d’identité numérique conçus selon l’Architecture and Reference Framework (ARF) dans son état actuel : deux personnes peuvent mettre en commun leurs vraies cartes et apparaître auprès d’un service comme une seule personne. Rien n’est falsifié, rien n’est volé, rien n’est piraté – et le service ne peut pas le voir. Ils l’appellent credential pooling et proposent une contre-mesure nommée CRESTA. Tout le mérite leur revient : Fooling Relying Parties of the EUDI Wallet Architecture: Credential Pooling Attacks and CRESTA (A. Rufini, I. Visconti, arXiv 2610.41655).

Ce que les chercheurs ont trouvé
- 1Une demandeUn service demande deux cartes à la fois
- 2Deux téléphonesUn relais transmet la demande à deux personnes
- 3Deux vraies cartesChaque téléphone répond avec sa propre carte
- 4Une « personne »Le service voit une personne qui n’existe pas
Imaginez le service d’un employeur qui demande, en une seule fois, une carte d’identité et un diplôme universitaire. Ben n’a pas de diplôme, Anna en a un. Le téléphone de Ben répond avec sa propre carte d’identité, celui d’Anna avec son diplôme, et un petit programme relais transmet les deux réponses comme une seule. L’employeur voit une personne avec le nom de Ben et le diplôme d’Anna.
Chaque carte est authentique et chaque signature est valide. Chaque clé se trouve dans le matériel sécurisé d’un vrai téléphone. Les chercheurs l’ont montré avec deux vrais téléphones ; le délai supplémentaire était d’environ un centième de seconde – trop peu pour être remarqué.
Pourquoi cela fonctionne : un effet secondaire de la vie privée
Les EUDI Wallets donnent à chaque carte ses propres clés, souvent une nouvelle copie à chaque utilisation. C’est bon pour la vie privée : les services ne peuvent pas vous suivre d’une carte ou d’une utilisation à l’autre.
L’effet secondaire : rien dans une présentation de plusieurs cartes ne prouve qu’elles viennent du même téléphone ou appartiennent à la même personne. Vérifier qu’un téléphone est authentique n’aide pas – les deux le sont. L’ARF demande que les cartes soient liées cryptographiquement, mais ne dit pas encore comment.
Qui est concerné
Tout service qui combine des cartes pour décider de quelque chose au sujet d’une personne :
- Recrutement et autorisations – carte d’identité plus diplôme, autorisation d’exercer ou certificat.
- Connaissance du client (KYC) – carte d’identité plus justificatif de domicile ou de revenus.
- Paiements – carte d’identité plus carte de paiement ou compte.
- Accès et prestations – carte d’identité plus adhésion, droit ou âge.
Les services qui ne demandent qu’une carte ne sont pas concernés. La fraude nécessite deux personnes qui coopèrent sciemment – mais elle est alors très difficile à repérer, car chaque document est authentique. C’est ce qui la rend sérieuse : elle mine la promesse que l’EUDI Wallet fait aux services – que les cartes devant eux appartiennent à la personne devant eux.
Lancement en décembre ? Corrigez d’abord
Les États membres doivent proposer leurs wallets d’ici fin 2026, et de nombreux services se préparent à les accepter. Notre conseil à chaque fournisseur de wallet et à chaque service lancé en décembre : traitez le credential pooling comme un impératif avant le lancement, pas comme une amélioration ultérieure. Une fois les wallets et les cartes entre les mains des gens, combler la faille est bien plus difficile.
La contre-mesure des chercheurs, CRESTA, montre que c’est possible avec les formats et protocoles standard de l’ARF, sans renoncer à la vie privée. Lisez l’article, décidez comment combler la faille et testez sur de vrais téléphones – le matériel sécurisé diffère d’un téléphone à l’autre.
Ce que les services peuvent faire dès maintenant
- Demandez toutes les cartes nécessaires en une seule demande – ne combinez jamais des réponses de sessions séparées.
- Comparez le nom et la date de naissance entre les cartes reçues, et refusez s’ils ne correspondent pas.
- Demandez à votre fournisseur de wallet comment il lie les cartes d’une personne – et si cela a été testé contre le pooling.
- Suivez l’ARF sur la liaison cryptographique des cartes et mettez à jour quand les règles changent.
La vie privée d’abord : empêcher le pooling sans renoncer à la vie privée
La manière dont un portefeuille comble la faille compte autant que le fait de la combler. Les voies évidentes coûtent de la vie privée :
- Comparaison d’attributs – nom et date de naissance sont comparés sur toutes les cartes. Chaque carte doit alors les divulguer dans chaque demande combinée, même là où le service n’en a pas besoin. Les cartes sans données d’identité restent non protégées et les variantes de nom provoquent des erreurs.
- Clés ou identifiants communs – si toutes les cartes reçoivent la même clé ou un identifiant d’appareil fixe, elles vont clairement ensemble. Mais chaque présentation devient reliable : les services pourraient reconnaître les utilisateurs d’un service à l’autre.
- Tout dans le cloud – avec toutes les clés centralisées, l’appartenance commune est facile à confirmer. Mais l’opérateur voit alors aussi quand et où les cartes sont utilisées.
CodeB Wallet place la vie privée en premier. Sa protection est conçue pour ne demander aucune divulgation supplémentaire du nom ou de la date de naissance, couvrir aussi les cartes sans données d’identité – preuve d’âge, carte de membre, billet –, garder les présentations non reliables, ne signaler aucune donnée d’utilisation à un service central, couvrir ensemble la carte d’identité et toutes les autres cartes, et ne nécessiter aucun réglage. Elle est cryptographique, non organisationnelle – et commence dans le matériel sécurisé du téléphone.
Ce que nous faisons chez CodeB
Nous traitons le credential pooling comme une condition du lancement de CodeB Wallet. Le service de vérification de CodeB n’accepte pas les cartes de personnes différentes comme une seule personne, et CodeB Wallet dispose de sa propre protection contre le pooling. Son fonctionnement reste chez nous – les détails de sécurité sont la dernière chose à confier à quelqu’un qui cherche à les contourner. Ce que nous pouvons dire : elle n’utilise que les formats et protocoles standard de l’ARF et préserve votre vie privée.
CodeB Wallet est conçu selon l’Architecture and Reference Framework de l’EUDI Wallet – la certification est encore devant nous.
Questions sur le credential pooling
Qu’est-ce que le credential pooling ?
Deux personnes combinent leurs vraies cartes de wallet pour qu’un service voie une seule personne – par exemple la carte d’identité de l’une avec le diplôme de l’autre. Aucune carte n’est falsifiée ; les cartes sont simplement présentées ensemble.
Mon wallet est-il piraté si cela arrive ?
Non. Le pooling nécessite la coopération des personnes à qui appartiennent les cartes. C’est un moyen de tromper un service, pas de voler l’identité de quelqu’un.
Qui l’a découvert ?
A. Rufini et I. Visconti de l’université Sapienza de Rome, dans l’article « Fooling Relying Parties of the EUDI Wallet Architecture: Credential Pooling Attacks and CRESTA » (arXiv 2610.41655).
Comment empêcher le credential pooling sans renoncer à la vie privée ?
Ni en faisant divulguer nom et date de naissance par chaque carte, ni en donnant à toutes les cartes une clé ou un identifiant d’appareil commun – les deux coûtent de la vie privée. Une bonne protection lie cryptographiquement les cartes d’une personne tout en gardant les présentations non reliables et sans signaler de données d’utilisation. La protection de CodeB Wallet est conçue ainsi ; nous n’en publions pas les détails.
CodeB Wallet est-il protégé ?
CodeB Wallet dispose de sa propre protection contre le pooling et le service de vérification de CodeB n’accepte pas les cartes de personnes différentes comme une seule personne. Nous ne publions pas les détails.