Společnost Google platforma OpenSK, která umožňuje vytvářet firmware pro kryptografické tokeny, plně vyhovující standardům a . Tokeny připravené pomocí OpenSK mohou sloužit jako autentifikátory pro primární a dvoufaktorovou autentifikaci, stejně jako pro potvrzení fyzické přítomnosti uživatele. Projekt je napsán v jazyce Rust a pod licencí Apache 2.0.
OpenSK nabízí možnost vytvoření vlastního tokenu pro dvoufaktorovou autentifikaci na webech, který se na rozdíl od hotových řešení vyráběných takovými výrobci, jako jsou Yubico, Feitian, Thetis a Kensington, zakládá na zcela otevřeném firmwaru, dostupném pro rozšíření a audit. OpenSK se profiluje jako výzkumná platforma, kterou výrobci tokenů a nadšenci mohou využívat k vývoji nových funkcí a propagaci tokenů mezi širokou veřejností. Původně byl kód OpenSK vyvinut jako aplikace pro a byl testován na deskách Nordic nRF52840-DK a Nordic nRF52840-dongle.
Kromě softwaru projekt modely pro 3D tisk krytů USB klíčů založených na populárním čipu , který zahrnuje mikrořadič ARM Cortex-M4 a kryptografický akcelerátor
ARM TrustZone Cryptocell 310. Nordic nRF52840 je první referenční platforma pro OpenSK. V OpenSK je zajištěna podpora kryptografického akcelerátoru ARM CryptoCell a všech typů přenosu poskytovaných čipem, včetně USB, NFC a Bluetooth Low Energy. Kromě využití kryptografického akcelerátoru OpenSK také připravilo samostatné implementace algoritmů ECDSA, ECC secp256r1, HMAC-SHA256 a AES256, napsané v Rustu.
Je třeba poznamenat, že OpenSK není první otevřenou implementací firmwaru pro tokeny s podporou FIDO2 a U2F, obdobné firmwary vyvíjejí otevřené projekty a . Na rozdíl od zmíněných projektů je OpenSK napsán nikoli v C, ale v jazyce Rust, což umožňuje vyhnout se mnoha zranitelnostem, které vznikají díky nízkoúrovňovému manipulačnímu s pamětí, jako je přístup k oblasti paměti po jejím uvolnění, d dereference nulových ukazatelů a přetečení bufferu.
Nabízený firmware pro instalaci je založen na ,
operační systém pro mikrokontroléry na bázi Cortex-M a RISC-V, který zajišťuje sandboxovou izolaci jádra, ovladačů a aplikací. OpenSK je uveden jako applet pro TockOS. Kromě OpenSK Google také připravil pro TockOS optimalizované pro Flash paměti (NVMC) a sad . Jádro a ovladače v TockOS, stejně jako OpenSK, jsou napsány v jazyce Rust.

Zdroj: opennet.ru
