Google OpenSK-platformen, der gør det muligt at oprette firmware til kryptografiske tokens, der fuldt ud overholder standarderne og . Tokens, der er forberedt med OpenSK, kan anvendes som autentifikatorer til første gangs og to-faktor autentificering, samt til at bekræfte brugerens fysiske tilstedeværelse. Projektet er skrevet i Rust og er under Apache 2.0-licensen.
OpenSK giver mulighed for at oprette en egen token til to-faktor autentificering på hjemmesider, som i modsætning til færdige løsninger fra producenter som Yubico, Feitian, Thetis og Kensington er baseret på fuld åben firmware, der er tilgængelig for udvidelse og revision. OpenSK positioneres som en forskningsplatform, som tokenproducenter og entusiaster kan bruge til at udvikle nye funktioner og promovere tokens til masserne. Oprindeligt blev koden til OpenSK udviklet som en applikation til og testet på Nordic nRF52840-DK og Nordic nRF52840-dongle.
Udover softwaren inkluderer projektet 3D-printer design til USB-nøglehus baseret på den populære chip , som inkluderer ARM Cortex-M4 mikrokontroller og kryptokopierer
ARM TrustZone Cryptocell 310. Nordic nRF52840 er den første referenceplatform for OpenSK. I OpenSK er der sikret understøttelse af kryptokopiereren ARM CryptoCell og alle de transportformer, som chippen tilbyder, herunder USB, NFC og Bluetooth Low Energy. Ud over brugen af kryptokopiereren er der også forberedt separate implementeringer af ECDSA, ECC secp256r1, HMAC-SHA256 og AES256 algoritmer skrevet i Rust.
Det er vigtigt at bemærke, at OpenSK ikke er den første åbne implementering af firmware til tokens med støtte til FIDO2 og U2F, tilsvarende firmware udvikler åbne projekter og . I modsætning til de nævnte projekter er OpenSK ikke skrevet i C, men i Rust, hvilket gør det muligt at undgå mange sårbarheder, der opstår fra lav-niveau arbejde med hukommelse, såsom adgang til hukommelsesområder efter de er frigivet, dereferencering af null-pegere og bufferoverløb.
Den foreslåede firmware til installation er baseret på ,
et operativsystem til mikrokontrollere baseret på Cortex-M og RISC-V, der sikrer sandbox-isolering af kernen, drivere og applikationer. OpenSK er designet som et applet til TockOS. Udover OpenSK har Google også forberedt en version af TockOS, der er optimeret til Flash-lagring (NVMC) og et sæt . Kernen og driverne i TockOS, ligesom OpenSK, er skrevet i Rust.

Kilde: opennet.ru
