Precursor: um telefone totalmente seguro, mas que pode ser invadido

O precursor pode parecer um Blackberry alongado, mas é capaz de muito mais. Cada elemento desse dispositivo pode ser inspecionado e controlado, até os FPGAs (field-programmable gate arrays) em seu núcleo.

Os smartphones modernos são plataformas complexas e fechadas com software e hardware abstraídos do usuário. O precursor parece estar o mais longe possível na outra direção.

Uma plataforma de desenvolvimento FPGA móvel

Precursor é o mais recente projeto de hardware aberto de Sutajio Ko-Usagi, uma dupla de hackers e desenvolvedores de hardware integrado com sede em Cingapura. É um kit de desenvolvimento de hardware de código aberto FPGA duplo que visa fornecer a plataforma de desenvolvimento móvel mais segura possível.

O kit de desenvolvimento é envolto em um corpo de alumínio usinado, que abriga o teclado físico e tela 536 x 336 em preto e branco, junto com uma bateria substituível de 1100 mAh Li-ion. Não há microfone no corpo do dispositivo, mas há uma combinação de porta de áudio de 3,5 mm e um alto-falante de notificação de 0,7 W e motor de vibração.

Cada aspecto do projeto é open source, até o código-fonte do sistema em chip (SoC) hospedado no FPGA. Isso significa que você pode compilar seu próprio processador e saber com certeza que não há nenhum código malicioso embutido nele.

O projeto foi inicialmente anunciado no início do mês passado, mas sua página Crowd Supply está agora no ar e já acumulou mais de $ 117.000 da meta de financiamento de $ 222.000 no momento da redação.

As promessas do Early Bird já foram reivindicadas, mas o Precursor de nível regular de $ 512 ainda está disponível.

Precursor: as especificações completas

Se você parar de pensar nele como um telefone, começará a ver que o Precursor é um kit de desenvolvimento FPGA móvel completo:

  • FPGA: Xilinx XC7S50 FPGA de Sistema no Chip (SoC) primário usando grau de velocidade -L1 para maior vida útil da bateria; testado com 100 MHz VexRISC-V, RV32IMAC + MMU, 4k L1 I / D cacheLattice Semi iCE40UP5K Controlador embutido secundário (EC) FPGA gerenciando funções de alimentação, espera e carregamento; testado com 18 MHz VexRISC-V, RV32I, sem cache
  • Memória do sistema: SRAM externa de 16 MB
  • Armazenamento: 128 MB de flash
  • Tela: 536 x 336 LCD preto e branco com 200ppi, luz de fundo
  • Áudio: alto-falante de notificação de 0,7 W, motor de vibração, conector de fone de ouvido de 3,5 mm
  • Conectividade: 802.11 b / g / n WiFi via chipset Silicon Labs WF200C em sandbox para conservação de bateria
  • USB: 1 porta USB 2.0 Type-C para dados e carregamento
  • Entrada do usuário: teclado retroiluminado físico com sobreposições de layout alteráveis ​​(QWERTZ, AZERTY e Dvorak)
  • Sensores: acelerômetro e giroscópio
  • Expansão: Flex PCB breakout para 8x FPGA GPIO através do compartimento da bateria
  • Depuração: HAT Raspberry Pi personalizado e cabo do desenvolvedor para GDB + Chipscope e cabo USB flashing de firmware via túnel wishbone para depuração de middleware
  • Segurança: TRNG de hardware duplo
  • Recursos anti-violação: Lata de metal selável pelo usuário para componentes confiáveis ​​Relógio em tempo real dedicado (RTC) com monitoramento de integridade de relógio básico; monitores de energia redefinem em caso de falhas de energia. Acelerômetro / giroscópio sempre ligado para detectar movimento em modo de espera. chave AES apoiada e circuito de autodestruição
  • Bateria: Bateria de íon de lítio substituível de 1.100 mAh com ~ 100 horas de espera com Wi-Fi + controlador integrado + tela estática ativada ou 5,5 horas de uso contínuo.
  • Dimensões: 138 x 69 x 7,2 mm
  • Peso: 96 gramas

Outro smartphone de código aberto?

Chamar o Precursor de telefone é um pouco falso, mas tem algumas coisas em comum com outros dispositivos inteligentes de código aberto, como o Pine Phone ou Librem 5. A diferença é na decisão de hospedar o SoC em um FPGA.

Um processador é essencialmente um circuito minúsculo e complexo com o qual você pode interagir usando uma arquitetura baseada em instruções. Você não tem controle sobre o que realmente está dentro dele. Você apenas fornece cálculos para serem executados usando um conjunto de instruções fornecido pelo fabricante. Você simplesmente precisa confiar na palavra dos criadores de chips quando eles dizem que estão seguros.

Isso freqüentemente é provado errado, como aconteceu no caso das vulnerabilidades críticas encontradas nos chips AMD Ryzen há algum tempo.

FPGAs são circuitos integrados que podem ser reconfigurados usando código. Isso pode não parecer muito diferente na superfície, mas em vez de fornecer as instruções do FPGA como se fosse um processador normal, você está configurando o próprio circuito.

É daí que vem a ideia de "confiança baseada em evidências" central para o projeto do Precursor. Você poderá saber, até a última porta lógica na CPU, que seu dispositivo é 100% seguro.

Transforme-o no telefone retro mais seguro que existe ou torne-o uma plataforma de desenvolvimento móvel para criptografia e autenticação de dois fatores. As possibilidades são, pela primeira vez, infinitas. Quase.