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-dongle.

Окрім програмного забезпечення проектом надаються макети для друку на 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, аналогічні прошивки розвивають відкриті проекти. Соло и Сому. Порівняно зі згаданими проектами OpenSK написаний не на Сі, а мовою Rust, що дозволяє уникнути багатьох уразливостей, що виникають через низькорівневу роботу з пам'яттю, таких як звернення до області пам'яті після її звільнення, розіменування нульових покажчиків та вихід за межі буфера.

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

Джерело: opennet.ru

Додати коментар або відгук