Forerunner: uma plataforma para desenvolver e construir dispositivos móveis

André Huang, um renomado defensor do hardware aberto e vencedor do Prêmio Pioneiro EFF 2012, introduziu a plataforma de código aberto «Precursor» para a conceituação de novos dispositivos móveis.

Semelhante a como Raspberry Pi e Arduino habilitam dispositivos para Internet das Coisas, Forerunner visa fornecer a capacidade de projetar e montar uma variedade de dispositivos móveis com suas próprias mãos para resolver seus problemas.

Precursor está posicionada como uma plataforma para prototipagem e verificação, enquanto Betrusted é um dos dispositivos móveis prontos para uso, construído com base no Precursor.

Como os enclaves tradicionais usados ​​para armazenamento de chaves criptográficas isoladas não protegem contra ataques de alto nível, como coleta de senha usando registradores de pressionamento de tecla ou acesso a mensagens por meio de captura de tela, o Betrusted adiciona elementos de interação do usuário (HCI, interação humano-computador), garantindo que dados confidenciais que pode ser lido por um ser humano nunca é armazenado, exibido ou transmitido para fora do dispositivo protegido.

Ao contrário de outros projetos, O Precursor oferece aos entusiastas não apenas uma placa, mas um protótipo pronto para usar em um dispositivo portátil com:

  • uma caixa de alumínio de 69 x 138 x 7,2 mm
  • Tela LCD (336 × 536)
  • bateria (1100 mAh Li-Ion)
  • teclado em miniatura
  • alto-falante
  • motor de vibração
  • acelerômetro e giroscópio.

O módulo computacional é fornecido não com um processador pronto para uso, mas com um SoC definido por software baseado em Xilinx XC7S50 FPGA, com base no qual a emulação de uma CPU RISC-V de 32 bits operando a 100 MHz é organizada.

Ao mesmo tempo, não há restrições na emulação de outros componentes de hardware, por exemplo, a operação de vários processadores, de 6502 e Z-80 a AVR e ARM, bem como chips de som e vários controladores, podem ser emulados.

A placa inclui 16 MB SRAM, 128 MB Flash, Silicon Labs WF200C Wi-Fi, USB Tipo C, SPI, I²C, GPIO.

Dos recursos relacionados à segurança, existem dois geradores de números pseudo-aleatórios de hardware.

Curiosamente, o dispositivo basicamente vem sem um microfone embutido; Entende-se que a recepção do som só é possível quando os fones de ouvido estão explicitamente conectados e, se os fones de ouvido forem desconectados, é fisicamente impossível organizar a audição, mesmo que o software do dispositivo tenha sido comprometido.

O chip para comunicação sem fio (Wi-Fi) é o hardware isolado do resto da plataforma e opera em um ambiente separado.

Para proteger contra acesso não autorizado, um invólucro com chave, um RTC separado para rastreamento de integridade, monitoramento de movimento em modo de espera (acelerômetro e giroscópio sempre ligados) também são usados. Há também uma cadeia de autodestruição e apagamento instantâneo de todos os dados, que é ativado com uma chave AES.

A linguagem FHDL migen (linguagem de descrição de hardware fragmentada) baseado em Python usado para descrever componentes de hardware.

Migen faz parte da estrutura LiteX, que fornece a infraestrutura para a criação de circuitos eletrônicos.

Com base no Precursor usando FPGA e Litex, uma referência Betrusted é preparada com SoC, incluindo uma CPU VexRISC-V RV32IMAC 100 MHz, bem como um driver Betrusted-CE embutido com um núcleo Litex VexRISC-V RV18I de 32 MHz.

SoC Betrusted fornece um conjunto integrado de primitivas criptográficas, como um gerador de número pseudo-aleatório, AES-128, -192, -256 com os modos ECB, CBC e CTR, SHA-2 e SHA-512, Curve25519 curva criptográfica elíptica motor. O mecanismo de criptografia é escrito em SystemVerilog e é baseado em núcleos de criptografia do projeto Google OpenTitan.

Todos os componentes Precursor e Betrusted são de código aberto e estão disponíveis para modificação e experimentação sob a Open Hardware License 1.2, que requer que todos os trabalhos derivados sejam abertos sob a mesma licença.

Incluindo circuitos abertos e documentação de projeto completa de placas principais e auxiliares, uma implementação pronta para SoC Betrusted e um controlador de controle (EC).

Caso tenha interesse em saber mais sobre o assunto, cadastre-se no link a seguir para que seja informado quando a plataforma está totalmente disponível.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.