Google'i ettevõte OpenSK platvorm, mis võimaldab luua krüptograafiliste tokenite firmware'i, mis vastab täielikult standarditele ja . OpenSK kasutades ette valmistatud tokenid võivad toimida autentijatena põhja ja kahefaktorilise autentimise jaoks ning kasutaja füüsilise kohaloleku kinnitamiseks. Projekt on kirjutatud Rust'i keeles ja lisensiga Apache 2.0.
OpenSK võimaldab luua oma tokeni kahefaktorilise autentimise jaoks veebisaitidel, mis erineb valmislahendustest, mida toodab selliseid tootjaid nagu Yubico, Feitian, Thetis ja Kensington, ning on tuginedes täiesti avatud firmware'ile, mis on kergesti täiendada ja auditeerida. OpenSK on positsioneeritud uurimisplatvormina, mida tokenite tootjad ja entusiastid võivad kasutada uute võimaluste arendamiseks ja tokenite laiemaks tutvustamiseks. OpenSK kood kirjutati algselt rakenduseks ja testiti Nordic nRF52840-DK ja Nordic nRF52840-dongle'i plaatidel.
Lisaks tarkvarale on projekti 3D-printeriga USB-pulga korpuse 3D-mudelid populaarse kiibi põhjal , mis sisaldab ARM Cortex-M4 mikroprotsessorit ja krüptoakseleraatorit
ARM TrustZone Cryptocell 310. Nordic nRF52840 on esimene etalonplatvorm OpenSK jaoks. OpenSK toetab ARM CryptoCell krüptoakseleraatorit ja kõiki kiibiga pakutavaid transportimise viise, sealhulgas USB, NFC ja Bluetooth Low Energy. Lisaks krüptoakseleraatori rakendamisele on OpenSK's ette valmistatud eraldi ECDSA, ECC secp256r1, HMAC-SHA256 ja AES256 algoritmide teostused, kirjutatud Rust'is.
Tuleb märkida, et OpenSK ei ole esimene avatud firmware'i rakendus tokenite jaoks, mis toetab FIDO2 ja U2F; sarnaseid firmware'e arendavad avatud projektid ja . Erinevalt nimetatud projektidest on OpenSK kirjutatud mitte C keeles, vaid Rust'i keeles, mis aitab vältida paljusid haavatavusi, mis tulenevad madala taseme mäluhaldusega, nagu näiteks juurdepääs mälu alale pärast selle vabastamist, nullindikaatorite deindekseerimine ja mälupiiride ületamine.
Seadmise jaoks ette valmistatud firmware põhineb ,
mikrokontrolleritele, mis põhinevad Cortex-M ja RISC-V arhitektuuridel, pakkudes sandbox-isolatsiooni tuuma, draiverite ja rakenduste jaoks. OpenSK on vormindatud TockOS'i appletina. Lisaks OpenSK-le on Google valmistanud TockOS-i jaoks Flash-mäludele optimeeritud (NVMC) ja komplekt . TockOS-i tuum ja draiverid, nagu ka OpenSK, on kirjutatud Rust keeles.

Allikas: opennet.ru
