Andrew Huang (), um conhecido ativista na promoção das ideias de hardware livre, premiado com o , plataforma aberta "", destinada a criar conceitos de novos dispositivos móveis. Semelhante ao Raspberry Pi e Arduino, que permitem criar dispositivos para a internet das coisas, o Precursor visa fornecer aos usuários a oportunidade de projetar e montar seus próprios dispositivos móveis para atender às suas necessidades.
Diferente de outros projetos, o Precursor oferece aos entusiastas não apenas um cartão, mas um protótipo completo de um dispositivo portátil com um corpo de alumínio medindo 69 x 138 x 7,2 mm, tela LCD (336×536), bateria (1100 mAh Li-Ion), teclado miniatura, alto-falante, motor vibratório, acelerômetro e giroscópio. O módulo computacional não vem com um processador pronto, mas com um SoC programável baseado em FPGA Xilinx XC7S50, que permite a emulação de uma CPU RISC-V de 32 bits operando a 100MHz. Não há limitações para a emulação de outros componentes de hardware, permitindo emular o funcionamento de diversos processadores, do 6502 e Z-80 ao AVR e ARM, assim como chips de áudio e diversos controladores. A placa inclui 16 MB de SRAM, 128 MB de Flash, Wi-Fi Silicon Labs WF200C, USB tipo C, SPI, I²C, GPIO.
Entre as funcionalidades relacionadas à segurança, destaca-se a presença de dois geradores de números aleatórios de hardware. Curiosamente, o dispositivo é fornecido sem um microfone embutido — presume-se que a captura de som só seja possível com a conexão explícita de um fone de ouvido; se os fones estiverem desconectados, é fisicamente impossível realizar grampos, mesmo que o software do dispositivo tenha sido comprometido.
O chip para comunicação sem fio (Wi-Fi) está fisicamente isolado do restante da plataforma e opera em um ambiente separado. Para proteger contra acesso não autorizado, também é utilizado um gabinete trancável, um RTC separado para monitoramento de integridade, e monitoramento de movimento em modo de espera (acelerômetro e giroscópio sempre ativos). Há também um circuito de autodestruição e limpeza instantânea de todos os dados, acionado por uma chave AES.
Para descrever os componentes de hardware, é utilizada a linguagem FHDL (Fragmented Hardware Description Language), baseada em Python. Migen faz parte do framework , que fornece a infraestrutura para a criação de circuitos eletrônicos. Com base no Precursor, utilizando FPGA e LiteX, foi preparado o SoC de referência , incluindo um CPU VexRISC-V RV32IMAC de 100 MHz, bem como um controlador embutido
Betrusted-EC com núcleo LiteX VexRISC-V RV32I de 18 MHz.
No SoC Betrusted, há um conjunto embutido de primitivos criptográficos, como gerador de números aleatórios, AES-128, -192, -256 com modos ECB, CBC e CTR, SHA-2 e SHA-512, baseado em curvas elípticas Curve25519. O motor criptográfico é escrito em SystemVerilog e é baseado nos núcleos criptográficos do projeto .
O Precursor é posicionado como uma plataforma para criação e verificação de protótipos, enquanto o Betrusted representa um dos dispositivos móveis prontos, criados com base no Precursor. Como os enclaves tradicionais, usados para armazenamento isolado de chaves criptográficas, não protegem contra ataques de alto nível, como a coleta de senhas por meio de keyloggers ou acesso a mensagens por meio de captura de tela, o Betrusted implementou elementos de interação com o usuário (, Interação Humano-Computador), garantindo que dados secretos que podem ser lidos por humanos nunca sejam armazenados, exibidos ou transmitidos fora do dispositivo protegido.
O Betrusted não tenta substituir um telefone celular, mas apenas forma um enclave seguro com entrada e saída acessíveis para auditoria. Por exemplo, um smartphone externo pode ser usado via Wi-Fi como um canal de transmissão não confiável, mas as mensagens criptografadas transmitidas são inseridas apenas no teclado embutido do dispositivo Betrusted, e as mensagens recebidas são exibidas apenas na tela embutida.
Todos os componentes do Precursor e do Betrusted são abertos e disponíveis para modificação e experimentação sob a licença , que exige a abertura sob a mesma licença de todas as obras derivadas. Incluindo abertos e a documentação completa do projeto , da implementação pronta do e (). Moldes para impressão 3D do gabinete estão disponíveis. Em forma de projetos abertos, também está em desenvolvimento e especializado Xous baseado em microkernel.
Fonte: opennet.ru
