🛠 Transformer la carte en clé de sécurité FIDO2 avec OpenSK

nRF52840-MDK (id boards.json : nrf52840-mdk) · avance · Le projet FIDO2 open source de Google tourne sur la famille MDK : CryptoCell 310, USB natif en HID, et une clé d'authentification que vous buildez vous-même.

Le projet

OpenSK est l'implémentation open source (Rust, google/opensk) d'une clé d'authentification FIDO2/CTAP2. Elle tourne sur la famille nRF52840 MDK, et MakerDiary documente la construction de son propre firmware dans un billet dédié de son wiki. Le choix de la carte n'est pas dû au hasard :

Étape 1 — Prérequis

rustup target add thumbv7em-none-eabihf
git clone https://github.com/google/opensk
cd opensk

La toolchain attendue (version Rust, outils de signature) est listée dans le README du dépôt ; suivez le billet MakerDiary « Building your own OpenSK firmware » pour les étapes propres à la carte.

Étape 2 — Compiler le firmware

Le build OpenSK produit une image d'application signée (le dépôt fournit les outils de packaging, historiquement makeelf). La commande exacte et les variables de provisioning d'attestation figurent dans le README et le guide MakerDiary — ne les inventez pas : l'attestation par défaut d'un build perso est auto-signée.

# principe (détails et flags : README opensk + billet MakerDiary)
cargo +nightly build --release --target thumbv7em-none-eabihf \
  --features ...      # cible la carte, voir le guide

Étape 3 — Flasher sans se briquer

Étape 4 — Tester la clé

  1. Branchez la carte : elle s'énumère en HID FIDO (le port USB natif, pas le DAPLink).
  2. Inscrivez-la sur un service compatible WebAuthn (GitHub, Google, un serveur passkey de test) : la LED RGB sert d'indicateur de présence — la toucher valide l'opération.
  3. Vérifiez le PIN configuré et les contre-signatures ; les logs de développement passent par le port CDC du DAPLink.

Limites honnêtes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels