Google представил открытый стек OpenSK для создания криптографических токенов

30 января 2020 года

Компания 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.

Следует отметить, что OpenSK не первая открытая реализация прошивки для токенов с поддержкой FIDO2 и U2F, аналогичные прошивки развивают открытые проекты Solo и Somu. По сравнению с упомянутыми проектами OpenSK написан не на Си, а на языке Rust, позволяющем избежать многих уязвимостей, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей и выход за границы буфера.

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

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Google представил открытый стек OpenSK для создания криптографических токенов», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.