Google представи отворения стек OpenSK за създаване на криптографски токени

Компания Google представи платформата OpenSK, позволяваща създаването на фърмуери за криптографски токени, напълно отговарящи на стандартите FIDO U2F и FIDO2. Подготвените с OpenSK токени могат да се използват като аутентификатори за първоначална и двуфакторна аутентикация, както и за удостоверяване на физическото присъствие на потребителя. Проектът е написан на Rust и се разпространява се разпространява под лицензия Apache 2.0.

OpenSK предоставя възможност за създаването на собствен токен за двуфакторна аутентификация на уебсайтове, който, за разлика от готовите решения от производители като Yubico, Feitian, Thetis и Kensington, е построен на напълно отворен фърмуер, наличен за разширение и одит. OpenSK е позициониран като изследователска платформа, която производители на токени и ентусиасти могат да използват за разработване на нови функционалности и популяризиране на токените сред широката общественост. Първоначално кодът на OpenSK беше разработен като приложение за Tock OS и тестван на платките Nordic nRF52840-DK и Nordic nRF52840-донгъл.

Освен софтуера, проектът включва са предоставени макети за печат на 3D-принтер на корпуса на USB-ключа, базиран на популярния чип Nordic nRF52840, включващ ARM Cortex-M4 микроконтролер и криптоакселератор
ARM TrustZone Cryptocell 310. Nordic nRF52840 е първата референтна платформа за OpenSK. OpenSK осигурява поддръжка на криптоакселератора ARM CryptoCell и всички предоставени от чипа видове транспорт, включително USB, NFC и Bluetooth Low Energy. Освен използването на криптоакселератора в OpenSK също така са подготвени отделни реализации на алгоритми за ECDSA, ECC secp256r1, HMAC-SHA256 и AES256, написани на Rust.

Google представи отворения стек OpenSK за създаване на криптографски токени

Следва да се отбележи, че OpenSK не е първата отворена фърмуерна реализация за токени с поддръжка на FIDO2 и U2F; аналогични фърмуери развиват отворени проекти Solo и Somu. В сравнение с посочените проекти, OpenSK е написан не на C, а на Rust, което позволява избягването на много уязвимости, възникващи от ниско ниво работа с паметта, като достъп до областта на паметта след нейното освобождаване, разыменоване на нулеви указатели и излизане извън границите на буфер.

Предлаганата за инсталиране фърмуерна версия се основава на TockOS,
операционна система за микроконтролери, базирана на Cortex-M и RISC-V, осигуряваща sandbox-изолация на ядрото, драйверите и приложенията. OpenSK е оформен като аплет за TockOS. Освен OpenSK, Google също така подготви за TockOS оптимизирано за Flash-накопители (NVMC) съхранение и набор пачове. Ядрото и драйверите в TockOS, както и OpenSK, са написани на езика Rust.

Пуснете видеото

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster