Precursor: un telefono completamente sicuro ma hackerabile

Il precursore potrebbe sembrare un Blackberry allungato, ma è capace di molto di più. Ogni elemento di questo dispositivo può essere ispezionato e controllato, fino agli FPGA (field-programmable gate array) al suo centro.

Gli smartphone moderni sono piattaforme complesse e chiuse con software e hardware astratti dall'utente. Il precursore sembra più lontano nell'altra direzione che è possibile ottenere.

Una piattaforma di sviluppo FPGA mobile

Precursor è l'ultimo progetto hardware aperto di Sutajio Ko-Usagi, una coppia di hacker e sviluppatori di hardware embedded con sede a Singapore. Si tratta di un kit di sviluppo hardware open source dual FPGA volto a fornire la piattaforma di sviluppo mobile più sicura possibile.

Il kit di sviluppo è racchiuso in un corpo in alluminio lavorato, che ospita la tastiera fisica e il display in bianco e nero 536 x 336, insieme a una batteria agli ioni di litio da 1100 mAh sostituibile. Non c'è un microfono nel corpo del dispositivo, ma c'è una porta audio da 3,5 mm combinata e un altoparlante di notifica da 0,7 W e un motore di vibrazione.

Ogni aspetto del progetto è open source, fino al codice sorgente del sistema su chip (SoC) ospitato sull'FPGA. Ciò significa che puoi compilare il tuo processore e sapere con certezza che non contiene codice dannoso.

Il progetto è stato inizialmente annunciato all'inizio del mese scorso, ma la sua pagina Crowd Supply è ora attiva e ha già accumulato oltre $ 117.000 dell'obiettivo di finanziamento di $ 222.000 al momento della scrittura.

Gli impegni Early Bird sono già stati rivendicati, ma il livello normale Precursor da $ 512 è ancora disponibile.

Precursore: le specifiche complete

Se smetti di pensarlo come un telefono, inizi a vedere che Precursor è un kit di sviluppo FPGA mobile a tutti gli effetti:

  • FPGA: FPGA System on Chip (SoC) Xilinx XC7S50 con grado di velocità -L1 per una maggiore durata della batteria; testato con VexRISC-V da 100 MHz, RV32IMAC + MMU, cache I / D 4k L1 Lattice Semi iCE40UP5K secondario Embedded Controller (EC) FPGA che gestisce le funzioni di alimentazione, standby e ricarica; testato con VexRISC-V da 18 MHz, RV32I, senza cache
  • Memoria di sistema: 16 MB di SRAM esterna
  • Memoria: 128 MB di flash
  • Display: 536 x 336 LCD in bianco e nero con 200 ppi, retroilluminazione
  • Audio: altoparlante di notifica da 0,7 W, motore di vibrazione, jack per cuffie da 3,5 mm
  • Connettività: WiFi 802.11 b / g / n tramite chipset Silicon Labs WF200C in modalità sandbox per la conservazione della batteria
  • USB: 1x porta USB 2.0 di tipo C per dati e ricarica
  • Input dell'utente: tastiera fisica retroilluminata con sovrapposizioni di layout modificabili (QWERTZ, AZERTY e Dvorak)
  • Sensori: accelerometro e giroscopio
  • Espansione: breakout PCB flessibile per GPIO FPGA 8x tramite il vano batteria
  • Debug: HAT Raspberry Pi personalizzato e cavo dello sviluppatore per GDB + Chipscope e flashing del firmware Cavo USB tramite tunnel a forcella per il debug del middleware
  • Sicurezza: doppio hardware TRNG
  • Funzionalità anti-manomissione: contenitore metallico sigillabile dall'utente per componenti affidabili Orologio in tempo reale (RTC) dedicato con monitoraggio dell'integrità dell'orologio di base Monitoraggio dell'alimentazione azzerato in caso di interruzioni dell'alimentazione Accelerometro / giroscopio sempre attivo per rilevare il movimento in standby Supporto per cancellazione sicura istantanea tramite batteria chiave AES supportata e circuito di autodistruzione
  • Batteria: batteria sostituibile agli ioni di litio da 1.100 mAh che fornisce ~ 100 ore in standby con Wi-Fi + controller integrato + display statico abilitato o 5,5 ore di uso continuo.
  • Dimensioni: 138 x 69 x 7,2 mm
  • Peso: 96 grammi

Un altro smartphone open source?

Chiamare Precursor un telefono è un po 'disonesto, ma ha alcune cose in comune con altri dispositivi intelligenti open source come il Pine Phone o Librem 5. Dove differisce è nella decisione di ospitare il SoC su un FPGA.

Un processore è essenzialmente un circuito minuscolo e complesso con cui puoi interagire utilizzando un'architettura basata su istruzioni. Non hai alcun controllo su ciò che è effettivamente al suo interno. Devi solo fornire i calcoli da eseguire utilizzando un set di istruzioni fornito dal produttore. Devi semplicemente prendere in parola i creatori di chip quando dicono di essere al sicuro.

Questo spesso viene smentito, come nel caso delle vulnerabilità critiche riscontrate nei chip AMD Ryzen qualche tempo fa.

Gli FPGA sono circuiti integrati che possono essere riconfigurati utilizzando il codice. Questo potrebbe non sembrare così diverso in superficie, ma invece di dare istruzioni all'FPGA come faresti con un normale processore, stai configurando il circuito stesso.

È da qui che nasce l'idea della "fiducia basata sulle prove" centrale nel progetto Precursor. Sarai in grado di sapere, fino all'ultima porta logica nella CPU, che il tuo dispositivo è sicuro al 100%.

Trasformalo nel telefono retrò più sicuro esistente o trasformalo in una piattaforma di sviluppo mobile per la crittografia e l'autenticazione a due fattori. Le possibilità sono, per una volta, davvero infinite. Quasi.