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.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.