Google Plataforma OpenSK, que permite criar firmware para tokens criptográficos totalmente compatíveis com os padrões и . Tokens preparados usando OpenSK podem ser usados como autenticadores para autenticação primária e de dois fatores, bem como para confirmar a presença física do usuário. O projeto está escrito em Rust e licenciado sob Apache 2.0.
O OpenSK possibilita a criação de seu próprio token para autenticação de dois fatores em sites, que, diferentemente de soluções prontas produzidas por fabricantes como Yubico, Feitian, Thetis e Kensington, é construído em firmware totalmente aberto, disponível para extensão e auditoria. OpenSK está posicionado como uma plataforma de pesquisa que produtores e entusiastas de tokens podem usar para desenvolver novos recursos e promover tokens para as massas. O código OpenSK foi originalmente desenvolvido como uma aplicação para e testado em placas Nordic nRF52840-DK e Nordic nRF52840-dongle.
Além do projeto de software layouts para impressão em uma impressora 3D, um porta-chaves USB baseado em um chip popular , incluindo um microcontrolador ARM Cortex-M4 e um acelerador criptográfico
ARM TrustZone Cryptocell 310. Nordic nRF52840 é a primeira plataforma de referência para OpenSK. OpenSK fornece suporte para o acelerador criptográfico ARM CryptoCell e todos os tipos de transporte fornecidos pelo chip, incluindo USB, NFC e Bluetooth Low Energy. Além de usar o acelerador criptográfico, o OpenSK também preparou implementações separadas dos algoritmos ECDSA, ECC secp256r1, HMAC-SHA256 e AES256 escritos em Rust.
Deve-se notar que OpenSK não é a primeira implementação aberta de firmware para tokens com suporte para FIDO2 e U2F; firmware semelhante está sendo desenvolvido por projetos abertos и . Comparado aos projetos mencionados, o OpenSK não é escrito em C, mas em Rust, o que evita muitas das vulnerabilidades que surgem do manuseio de memória de baixo nível, como acesso à memória pós-livre, desreferências de ponteiro nulo e saturação de buffer.
O firmware proposto para instalação é baseado em ,
sistema operacional para microcontroladores baseados em Cortex-M e RISC-V, fornecendo isolamento sandbox do kernel, drivers e aplicativos. OpenSK foi projetado como um miniaplicativo para TockOS. Além do OpenSK, o Google também se preparou para o TockOS otimizado para pen drives (NVMC) E definir . O kernel e os drivers do TockOS, como o OpenSK, são escritos em Rust.

Fonte: opennet.ru
