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

Комментарии[править]

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