Aller au contenu

R10 — PIV, certificats, OpenSC et PC/SC

Statut : NON EXÉCUTÉ sur matériel — T2B1 et T3B1.

Appliquer le registre commun et conserver une ligne par modèle/OS requis. Les sorties des tests hôte/émulateur restent des preuves séparées.

Préconditions

R01 réussi ; PCSC/OpenSC sur macOS/Windows/Linux ; client PIV standard, certificat de test correspondant à la clé publique générée ; aucun certificat de production.

Étapes

  1. Lancer opensc-tool --list-readers, pkcs15-tool --dump et yubico-piv-tool -r "" -a status. Changer PIN/PUK/clé d’administration initiaux depuis le menu et conserver la nouvelle clé en privé pour les outils.
  2. Dans Cryptographie → PIV → Identités générer P256 en9A/9C/9D/9E ; charger le certificat public approprié par PUT DATA avec piv-tool ou yubico-piv-tool, commandes de ../protocols/piv.md. Comparer la clé SPKI et l’empreinte affichée sur l’appareil.
  3. Signer une empreinte par OpenSC/PKCS11, vérifier hors appareil avec la clé publique ; faire un challenge-response 9E et un accord ECDH9D, vérifier les résultats indépendamment. Refuser une signature et attendre le timeout d’une autre.
  4. Utiliser le certificat9A dans un véritable échange TLS client de test avec une autorité et un serveur de campagne : le serveur doit vérifier le certificat et l’identité attendue. Conserver sa configuration et ses logs.
  5. Répéter génération/signature RSA2048, certificat compressé si utilisé, changement PIN/PUK, compteurs et suppression ciblée. Une régénération doit retirer l’ancien certificat. Vérifier que 9C consomme sa validation PIN à chaque usage et que les politiques ne sont pas affaiblies sous le défaut.
  6. Répéter les opérations utiles sur les trois OS ; ne pas substituer la seule détection d’un lecteur virtuel à ces essais.

Résultat attendu

Applications PIV usuelles reconnues, cert et clé correspondants, signatures/challenges/TLS vérifiés et confirmation physique requise ; PIN/slot/politiques isolés, refus sans signature. Aucun attribut de certification FIPS/attestation n’est inventé.

Preuves à conserver

Versions outils/modules, certificat public, SPKI/empreinte, APDU expurgées, verify/TLS serveur et résultats par OS/modèle ; clé de gestion/PIN jamais publiés.