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
