Azienda Google la piattaforma OpenSK, che consente di creare firmware per token crittografici, completamente conformi agli standard e . I token preparati utilizzando OpenSK possono essere utilizzati come autenticatori per autenticazione primaria e a due fattori, nonché per confermare la presenza fisica dell'utente. Il progetto è scritto in linguaggio Rust e sotto licenza Apache 2.0.
OpenSK offre la possibilità di creare il proprio token per l'autenticazione a due fattori sui siti web, che a differenza delle soluzioni pronte fornite da produttori come Yubico, Feitian, Thetis e Kensington, è costruito su un firmware completamente open-source, disponibile per l'espansione e l'audit. OpenSK è posizionato come una piattaforma di ricerca che i produttori di token e gli appassionati possono utilizzare per sviluppare nuove funzionalità e promuovere i token presso un pubblico più ampio. Inizialmente, il codice OpenSK è stato sviluppato come un'applicazione per ed è stato testato su schede Nordic nRF52840-DK e Nordic nRF52840-dongle.
Oltre al software, il progetto modelli per la stampa in 3D di custodie per chiavette USB basate sul popolare chip , che include un microcontrollore ARM Cortex-M4 e un cryptoacceleratore
ARM TrustZone Cryptocell 310. Il Nordic nRF52840 è la prima piattaforma di riferimento per OpenSK. In OpenSK è garantito il supporto per il cryptoacceleratore ARM CryptoCell e per tutte le modalità di trasporto fornite dal chip, inclusi USB, NFC e Bluetooth Low Energy. Oltre all'uso del cryptoacceleratore, OpenSK ha anche implementazioni autonome degli algoritmi ECDSA, ECC secp256r1, HMAC-SHA256 e AES256, scritti in Rust.
Va notato che OpenSK non è la prima implementazione open-source di firmware per token con supporto FIDO2 e U2F, firmware simili sviluppano progetti aperti e . Rispetto ai progetti citati, OpenSK è scritto non in C, ma in linguaggio Rust, che permette di evitare molte vulnerabilità che sorgono a causa della gestione a basso livello della memoria, come l'accesso a settori di memoria dopo la loro liberazione, la dereferenziazione di puntatori nulli e l'overflow del buffer.
Il firmware proposto per l'installazione si basa su ,
sistema operativo per microcontrollori basati 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 un'ottimizzazione per TockOS per memorie Flash (NVMC) e un set . Il kernel e i driver in TockOS, proprio come OpenSK, sono scritti in linguaggio Rust.

Fonte: opennet.ru
