Le meilleur fichier client est peut-être celui que vous n’avez jamais constitué.
Depuis 2002, Nicolas Chalanset et moi portons chez Stelau une conviction : authentifier une personne et vérifier ses droits ne devraient pas obliger à collectionner sa vie numérique.
Le wallet ouvre cette porte. Aux systèmes d’information de franchir le seuil.
Moins de données à garder. Moins de données à se faire voler.
Dix pièces pour donner un cours. Sérieusement ?
Pour une intervention d’enseignement, j’ai reçu cette demande. Identité, diplômes, assurance, casier judiciaire, RIB… Un dossier complet, bientôt dispersé entre mails, applications et sauvegardes.
Pour intervenir, merci de nous retourner…
Avant le 1er janvier
- 01Fiche de renseignements
- 02Immatriculation professionnelle
- 03Attestation de vigilance URSSAF
- 04Responsabilité civile professionnelle
- 05Copies des diplômes
- 06Justificatif RQTH
- 07CNI recto/verso ou passeport
- 08Casier judiciaire, bulletin n°3
- 09Devis annuel prévisionnel
- 10RIB certifié
Les pièces et leurs conditions, en détail
- Fiche de renseignements. La fiche prestataire à compléter.
- Immatriculation professionnelle. Moins de 6 mois : extrait K, L, Kbis ou Lbis ; extrait D1 ; avis SIREN ; ou déclaration d’activité de formation, selon le statut.
- Attestation de vigilance URSSAF. Datant de moins de 6 mois.
- Responsabilité civile professionnelle. L’attestation d’assurance.
- Copies des diplômes. Les justificatifs de qualification.
- Justificatif RQTH. Pour les travailleurs indépendants handicapés (TIH), si concernés.
- CNI recto/verso ou passeport. Une copie du document d’identité.
- Casier judiciaire, bulletin n°3. Datant de moins de 3 mois.
- Devis annuel prévisionnel. Le volume contractuel des interventions.
- RIB certifié. Pour le règlement des factures.
Exemple de demande reçue par Benoit. Les pièces d’immatriculation sont des alternatives selon le statut ; le justificatif RQTH concerne seulement les situations TIH. Ce n’est pas une liste de pièces recommandée par Stelau.
Télécharger le GIF ↓Télécharger le GIF ↓Chaque demande a sa finalité. Mais vérifier une qualification n’exige pas de conserver une copie du diplôme partout. Nous avons automatisé la collecte. Il est temps d’automatiser la vérification.
Le SI de demain saura redemander
STOP COLLECTING · VERIFY AS NEEDED · KEEP MINIMAL EVIDENCE.
Demander ce qui est utile. Vérifier. Traiter. Effacer ce qui n’a plus à être conservé. Et redemander lorsque le besoin revient. Un usage ponctuel ne doit plus devenir, par réflexe, un fichier permanent.
Le courrier postal ? Obtenir l’adresse pour cet envoi, puis la sortir du circuit métier. Ou confier l’acheminement à un prestataire autorisé, sans recopier l’adresse dans chaque application.
Le courriel envoyé plus tard ? Prévoir un canal de contact limité : alias propre à la relation, relais ou notification. Une finalité, une échéance, une révocation. Sans canal ni mandat prévus, il faudra une nouvelle interaction avec la personne.
La facture de l’hôtel ? Redemander les informations nécessaires au bon moment. Conserver la facture selon les obligations applicables. Supprimer les copies de travail inutiles.
Ces architectures restent à construire et à intégrer. Un relais ou un alias reste potentiellement personnel ; l’accord de partage ne remplace pas la base légale du traitement. Moins stocker ne signifie pas perdre le droit de fonctionner. Cela signifie concevoir autrement.
Une preuve utile, pas votre vie entière
Une attestation de qualification adaptée au besoin suffit à expliquer le principe. L’émetteur signe un credential lié à votre clé. Le RP demande les attributs nécessaires ; vous autorisez le partage ; le wallet produit une preuve pour cet échange.
Un credential. Trois acteurs. Deux signatures.
De l’émission à la présentation : suivre le VC, choisir les attributs et éprouver le lien à la clé du détenteur.
Issuer / Émetteur
Organisme de qualification
iss · vct · _sd
cnf.jwk = HSignature de l’émetteurWallet / Détenteur
Vos attributs, votre choix
RP / Vérificateur
Service d’enseignement
qualification_valid
truePrésentation attenduePrésentation vérifiéeL’émetteur signe un VC lié à la clé H.
Le wallet prouve la possession de H. L’émetteur inscrit sa clé publique dans cnf.jwk et signe le credential.
- iss
- issuer.example.test
- vct
- …/qualification
- _sd_alg
- sha-256
- _sd
- 4 × SHA-256
- cnf.jwk
- H P-256
- qualification_valid
- true
- name
- Camille Exemple
- birthdate
- 1999-04-12
- address
- Adresse fictive / fictional address
Ces valeurs sont dans les disclosures remises au wallet. Le JWT signé en contient les empreintes salées, pas ces valeurs en clair.
Le RP demande une qualification, pas un dossier.
Comparez une demande minimale et une demande nominative. Chaque requête porte un destinataire (client_id) et un défi (nonce).
- client_id
- x509_san_dns:rp-a.example.test
- nonce
- …
- dcql_query
- claims: [ qualification_valid ]
Autorisez les attributs demandés. Les autres restent locaux.
La sélection respecte la requête DCQL. Vous pouvez refuser le partage ; le wallet ne transmet pas les attributs non demandés.
qualification_valid: trueLes disclosures des attributs non demandés restent dans le wallet. Une requête partiellement satisfaite ne sera pas envoyée.
La clé privée H signe la preuve de cette présentation.
Le KB-JWT lie les attributs sélectionnés au destinataire, au défi et au moment de l’échange.
cnf.jwk- aud
- …rp-a.example.test
- nonce
- …
- iat
- …
- sd_hash
- SHA-256( SD-JWT ~ disclosures ~ )
La signature du KB-JWT est contrôlée avec la clé H de cnf.jwk. sd_hash lie la preuve au SD-JWT et aux disclosures effectivement présentées.
Le RP contrôle les deux signatures et le contexte.
Le VC copié sans la clé H échoue. Une présentation signée pour RP-A ne répond pas à la demande de RP-B. Testez-le.
qualification_valid: true- Signature de l’émetteur—
- Empreintes des disclosures—
- Signature avec la clé H—
- Destinataire + défi + date—
- Empreinte de la présentation—
Ce lien ne bloque pas la copie des informations reçues. Il empêche de produire une nouvelle présentation valide sans la clé H, ou de rejouer celle-ci dans un autre contexte.
La requête n’est pas satisfaite. Autorisez les attributs demandés, ou refusez le partage.
Partage refusé. Aucune présentation transmise.
Les calculs cryptographiques ne sont pas disponibles dans ce navigateur. Les étapes et messages pédagogiques restent consultables.
Inspecter les messages et les signatures
Extraits de payloads. Le Request Object signé du RP et la confiance X.509, OAuth, les métadonnées, le statut et les attestations matérielles ne sont pas déroulés. Aucun appel à un service externe.
Clés privées éphémères non exportables via WebCrypto. Dans un wallet réel, la signature peut être protégée par une WSCA/WSCD locale ou distante (HSM).
VC : payload signé
Calcul local au lancement de la démonstration.OID4VCI : preuve de possession de H
Calcul local au lancement de la démonstration.OID4VCI : Credential Request
Calcul local au lancement de la démonstration.OID4VCI : Credential Response
Calcul local au lancement de la démonstration.OID4VP : requête (extrait des paramètres)
Calcul local au lancement de la démonstration.KB-JWT : payload signé
Calcul local au lancement de la démonstration.OID4VP : Authorization Response (vp_token décodé)
Calcul local au lancement de la démonstration.Les cinq étapes en texte
- Émettre. Le wallet prouve la possession de H. L’émetteur inscrit sa clé publique dans cnf.jwk et signe le credential.
- Demander. Comparez une demande minimale et une demande nominative. Chaque requête porte un destinataire (client_id) et un défi (nonce).
- Sélectionner. La sélection respecte la requête DCQL. Vous pouvez refuser le partage ; le wallet ne transmet pas les attributs non demandés.
- Lier. Le KB-JWT lie les attributs sélectionnés au destinataire, au défi et au moment de l’échange.
- Vérifier. Le VC copié sans la clé H échoue. Une présentation signée pour RP-A ne répond pas à la demande de RP-B. Testez-le.
La signature de l’émetteur garantit les attributs attestés. La preuve du détenteur lie la présentation au destinataire et au défi de l’échange. Un autre service ne peut pas simplement la rejouer comme réponse valide à sa propre demande. Cela n’empêche pas le premier destinataire de copier les informations reçues : il faut donc en transmettre moins.
La trace conservée doit servir une décision précise, avec une durée définie. Elle n’est pas automatiquement anonyme, ni une preuve cryptographique réauditable. Pas question de remplacer le dossier de copies par un coffre de présentations intégrales.
2026–2031 : sortir de la collection
Cinq mouvements pour les cinq prochaines années. Une direction de travail, pas un calendrier réglementaire.
- — 2027
Repérer le trop-plein
Les copies sans raison de rester : on les identifie, on les supprime.
- — 2028
Passer à la preuve
Une qualification vérifiée plutôt qu’un diplôme dupliqué.
- — 2029
Redemander, juste à temps
Des données ponctuelles. Des canaux de contact autorisés.
- — 2030
Casser la chaîne des copies
CRM, logs, exports, sauvegardes : fini les copies en série.
- — 2031
Changer d’échelle
Étendre, mesurer ce qui reste, tester les pannes et les alternatives.
Pas besoin d’attendre le « tout ZKP ». Des attestations ciblées et des données obtenues au moment utile permettent déjà de commencer. Il faut aussi prévoir les pannes, le téléphone perdu et les alternatives accessibles : la sobriété des données doit fonctionner dans la vraie vie.
Le wallet n’est que le début
Les émetteurs et les wallets continueront à conserver des données. La rupture consiste à cesser de les recopier dans tous les SI.
Chez Stelau, nos travaux sur les wallets, la cryptographie appliquée et les Nested VDS poursuivent cette cible : passer de la donnée à la preuve, du stockage à la vérification.
Pour aller plus loin
OID4VCI 1.0 · OID4VP 1.0 · SD-JWT et key binding — RFC 9901 · Architecture EUDI · CNIL : conservation · Consentement · Anonymisation.
← Tous les articles
