Das Unternehmen Google Die OpenSK-Plattform ermöglicht die Erstellung von Firmware fĂŒr kryptografische Tokens, die vollstĂ€ndig den Standards entsprechen. und . Mit OpenSK erstellte Tokens können als Authentifizierer fĂŒr die primĂ€re und die Zwei-Faktor-Authentifizierung sowie zur BestĂ€tigung der physischen Anwesenheit des Benutzers verwendet werden. Das Projekt ist in der Programmiersprache Rust geschrieben und unter der Apache 2.0 Lizenz.
OpenSK ermöglicht die Erstellung eines eigenen Tokens fĂŒr die Zwei-Faktor-Authentifizierung auf Websites, das im Gegensatz zu den standardisierten Lösungen von Herstellern wie Yubico, Feitian, Thetis und Kensington auf einer vollkommen offenen Firmware basiert, die erweiterbar und prĂŒfbar ist. OpenSK wird als Forschungsplattform positioniert, die Tokenhersteller und Enthusiasten verwenden können, um neue Funktionen zu entwickeln und Tokens in die breite Masse zu bringen. UrsprĂŒnglich wurde der OpenSK-Code als Anwendung fĂŒr entwickelt und auf den Nordic nRF52840-DK und Nordic nRF52840-Dongle-Boards getestet.
Neben der Software umfasst das Projekt 3D-Druckvorlagen fĂŒr GehĂ€use von USB-Tokens basierend auf dem beliebten Chip , der einen ARM Cortex-M4 Mikrocontroller und einen Krypto-Beschleuniger enthĂ€lt.
ARM TrustZone Cryptocell 310. Der Nordic nRF52840 ist die erste Referenzplattform fĂŒr OpenSK. In OpenSK wird UnterstĂŒtzung fĂŒr den Krypto-Beschleuniger ARM CryptoCell und alle vom Chip angebotenen Transportarten gewĂ€hrleistet, einschlieĂlich USB, NFC und Bluetooth Low Energy. Neben der Implementierung des Krypto-Beschleunigers sind in OpenSK auch separate Implementierungen der Algorithmen ECDSA, ECC secp256r1, HMAC-SHA256 und AES256, die in Rust geschrieben sind, vorbereitet worden.
Es ist erwĂ€hnenswert, dass OpenSK nicht die erste offene Firmware-Implementierung fĂŒr Tokens mit UnterstĂŒtzung fĂŒr FIDO2 und U2F ist; Ă€hnliche Firmware wird in offenen Projekten entwickelt. und . Im Vergleich zu den genannten Projekten ist OpenSK nicht in C, sondern in Rust geschrieben, was es ermöglicht, viele SicherheitsanfĂ€lligkeiten zu vermeiden, die durch die niedere Arbeit mit dem GedĂ€chtnis entstehen, wie beispielsweise den Zugriff auf freigegebenen Speicher, das Dereferenzieren von Nullzeigern und Buffer-ĂberlĂ€ufe.
Die zum Installieren angebotene Firmware basiert auf ,
ein Betriebssystem fĂŒr Mikrocontroller auf Basis von Cortex-M und RISC-V, das eine Sandbox-Isolation des Kerns, von Treibern und Anwendungen gewĂ€hrleistet. OpenSK ist als Applet fĂŒr TockOS gestaltet. Neben OpenSK hat Google auch eine fĂŒr Flash-Speicher (NVMC) optimierte Version fĂŒr TockOS vorbereitet. und ein Satz . Der Kernel und die Treiber in TockOS sind, wie auch OpenSK, in der Programmiersprache Rust geschrieben.

Quelle: opennet.ru
