Google la piattaforma OpenSK permette di creare firmware per token crittografici completamente conformi agli standard e . I token preparati utilizzando OpenSK possono essere utilizzati come autenticatori per l'autenticazione primaria e a due fattori, nonché per confermare la presenza fisica dell'utente. Il progetto è scritto in Rust e sotto licenza Apache 2.0.
OpenSK consente di creare un proprio token per l'autenticazione a due fattori sui siti, che, a differenza delle soluzioni pronte realizzate da produttori come Yubico, Feitian, Thetis e Kensington, è costruito su firmware completamente aperto, disponibile per l'estensione e la revisione. OpenSK si presenta come una piattaforma di ricerca che produttori di token e appassionati possono utilizzare per sviluppare nuove funzionalità e promuovere i token di massa. Inizialmente, il codice OpenSK è stato sviluppato come applicazione per ed è stato testato su schede Nordic nRF52840-DK e Nordic nRF52840-dongle.
Oltre al software, il progetto include modelli per la stampa 3D del case USB key basato sul popolare chip , che include un microcontrollore ARM Cortex-M4 e un acceleratore crittografico
ARM TrustZone Cryptocell 310. Nordic nRF52840 è la prima piattaforma di riferimento per OpenSK. In OpenSK è garantito il supporto per l'acceleratore crittografico ARM CryptoCell e per tutti i tipi di trasporto forniti dal chip, inclusi USB, NFC e Bluetooth Low Energy. Oltre a impegnare l'acceleratore crittografico, in OpenSK sono state fornite anche implementazioni separate degli algoritmi ECDSA, ECC secp256r1, HMAC-SHA256 e AES256, scritte in Rust.
È importante notare che OpenSK non è il primo firmware open source per token con supporto FIDO2 e U2F; firmware analoghi sono in sviluppo in progetti open source e . Rispetto ai progetti menzionati, OpenSK è scritto non in C, ma in Rust, consentendo di evitare molte vulnerabilità che sorgono a causa del lavoro a basso livello con la memoria, come l'accesso alla memoria dopo il suo rilascio, il dereferenziazione di puntatori nulli e l'overflow del buffer.
Il firmware proposto per l'installazione si basa su ,
, un sistema operativo per microcontrollori basato su Cortex-M e RISC-V, che fornisce isolamento sandbox per il kernel, i driver e le applicazioni. OpenSK è progettato come un applet per TockOS. Oltre a OpenSK, Google ha anche preparato per TockOS un'ottimizzazione per memorie Flash (NVMC) e un set . Il kernel e i driver in TockOS, come OpenSK, sono scritti in Rust.

Fonte: opennet.ru
