🛠 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.

El proyecto

OpenSK es la implementación de código abierto (Rust, google/opensk) de una llave de autenticación FIDO2/CTAP2. Funciona en la familia nRF52840 MDK, y MakerDiary documenta la construcción de su propio firmware en una entrada dedicada de su wiki. La elección de la placa no es casual:

Paso 1 — Requisitos previos

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

La toolchain esperada (versión de Rust, herramientas de firma) está listada en el README del repositorio; siga la entrada de MakerDiary « Building your own OpenSK firmware » para los pasos específicos de la placa.

Paso 2 — Compilar el firmware

La compilación de OpenSK produce una imagen de aplicación firmada (el repositorio proporciona las herramientas de empaquetado, históricamente makeelf). El comando exacto y las variables de aprovisionamiento de atestación figuran en el README y en la guía de MakerDiary — no los invente: la atestación predeterminada de una compilación propia es autofirmada.

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

Paso 3 — Flashear sin bloquear el dispositivo

Paso 4 — Probar la llave

  1. Conecte la placa: se enumera como HID FIDO (el puerto USB nativo, no el DAPLink).
  2. Regístrela en un servicio compatible con WebAuthn (GitHub, Google, un servidor de prueba de passkeys): el LED RGB sirve como indicador de presencia — tocarlo valida la operación.
  3. Verifique el PIN configurado y las firmas adicionales; los registros de desarrollo pasan por el puerto CDC del DAPLink.

Limitaciones honestas

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales