Google zaprezentował otwarty stos OpenSK do tworzenia tokenów kryptograficznych

Firma Google przedstawiła platforma OpenSK, umożliwiająca tworzenie oprogramowania układowego dla tokenów kryptograficznych, w pełni zgodnych z normami FIDO U2F i FIDO2. Tokeny przygotowane za pomocą OpenSK mogą być używane jako uwierzytelniacze do jednolitych i dwuetapowych metod uwierzytelniania, a także do potwierdzania fizycznej obecności użytkownika. Projekt został napisany w języku Rust i rozpowszechniany na licencji Apache 2.0.

OpenSK umożliwia tworzenie własnego tokena do dwuetapowego uwierzytelniania na stronach internetowych, który w przeciwieństwie do gotowych rozwiązań wydawanych przez producentów takich jak Yubico, Feitian, Thetis czy Kensington, oparty jest na w pełni otwartym oprogramowaniu układowym, dostępnym do rozbudowy i audytu. OpenSK pozycjonuje się jako platforma badawcza, którą producenci tokenów i entuzjaści mogą wykorzystać do rozwijania nowych możliwości i popularyzacji tokenów wśród szerszej publiczności. Oryginalnie kod OpenSK został opracowany jako aplikacja dla Tock OS i przetestowany na płytach Nordic nRF52840-DK oraz Nordic nRF52840-dongle.

Oprócz oprogramowania, projekt obejmuje modele do druku na drukarce 3D obudowy USB-klucza opartego na popularnym chipie Nordic nRF52840, który zawiera mikrokontroler ARM Cortex-M4 oraz akcelerator kryptograficzny
ARM TrustZone Cryptocell 310. Nordic nRF52840 jest pierwszą platformą referencyjną dla OpenSK. W OpenSK zapewniona jest obsługa akceleratora kryptograficznego ARM CryptoCell oraz wszystkich dostępnych rodzajów transportu, w tym USB, NFC i Bluetooth Low Energy. Oprócz wykorzystania akceleratora kryptograficznego, w OpenSK również przygotowano odrębne implementacje algorytmów ECDSA, ECC secp256r1, HMAC-SHA256 oraz AES256, napisane w Rust.

Google zaprezentował otwarty stos OpenSK do tworzenia tokenów kryptograficznych

Należy zauważyć, że OpenSK nie jest pierwszą otwartą implementacją oprogramowania układowego dla tokenów z obsługą FIDO2 oraz U2F, podobne oprogramowanie rozwijają otwarte projekty Solo i Somu. W porównaniu do wspomnianych projektów, OpenSK jest napisane nie w C, lecz w języku Rust, co pozwala uniknąć wielu luk bezpieczeństwa, które występują z powodu niskopoziomowej pracy z pamięcią, takich jak dostęp do obszaru pamięci po jego zwolnieniu, dereferencja wskaźników null oraz przekroczenie granic bufora.

Oprogramowanie przeznaczone do instalacji opiera się na TockOS,
system operacyjny dla mikrokontrolerów opartych na Cortex-M i RISC-V, zapewniający izolację sandboxową dla rdzeni, sterowników i aplikacji. OpenSK jest przedstawiony jako aplet dla TockOS. Oprócz OpenSK Google przygotował również wersję TockOS zoptymalizowaną dla pamięci Flash (NVMC) przechowywanie i zestaw poprawek. Rdzeń i sterowniki w TockOS, podobnie jak OpenSK, są napisane w języku Rust.

Odtwarzaj wideo

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster