(Andrew Huang), attivista noto per la promozione dell'idea di hardware libero, vincitore del , la piattaforma aperta "" destinata alla creazione di concetti per nuovi dispositivi mobili. Analogamente a come Raspberry Pi e Arduino consentono di creare dispositivi per l'internet delle cose, Precursor è progettato per fornire la possibilità di progettare e assemblare autonomamente vari dispositivi mobili per risolvere le proprie esigenze.
A differenza di altri progetti, Precursor offre agli appassionati non solo una scheda, ma un prototipo completo di dispositivo portatile con un involucro in alluminio delle dimensioni di 69 x 138 x 7,2 mm, uno schermo LCD (336×536), una batteria (1100 mAh Li-Ion), una tastiera miniaturizzata, un altoparlante, un motore vibrante, un accelerometro e un giroscopio. Il modulo computazionale non è dotato di un processore pronto all'uso, ma di un SoC programmabile basato su FPGA Xilinx XC7S50, sul quale è organizzata l'emulazione di una CPU RISC-V a 32 bit che funziona a 100 MHz. Non ci sono limiti all'emulazione di altri componenti hardware, per esempio, possono essere emulati vari tipi di processori, dal 6502 e Z-80 fino a AVR e ARM, così come chip audio e vari controller. La scheda include 16 MB di SRAM, 128 MB di Flash, Wi-Fi Silicon Labs WF200C, USB type C, SPI, I²C, GPIO.
Tra le funzionalità legate alla sicurezza, è presente un duplice generatore hardware di numeri pseudo-casuali. È interessante notare che il dispositivo viene fornito senza un microfono integrato: si presume che la ricezione del suono sia possibile solo con la connessione esplicita di un auricolare e, se l'auricolare è disconnesso, è fisicamente impossibile organizzare un ascolto, anche se il software del dispositivo è stato compromesso.
Il chip per la comunicazione wireless (Wi-Fi) è hardware isolato dal resto della piattaforma e funziona in un ambiente separato. Per proteggere l'accesso non autorizzato, è previsto anche un involucro bloccabile, un RTC separato per il monitoraggio dell'integrità, e un monitoraggio del movimento in modalità standby (accelerometro e giroscopio sempre attivi). È inoltre prevista una circuiteria di autodistruzione e cancellazione immediata di tutti i dati, attivata tramite una chiave AES.
Per descrivere i componenti hardware viene utilizzato il linguaggio FHDL (Fragmented Hardware Description Language), basato su Python. Migen fa parte del framework , che fornisce l'infrastruttura per la creazione di circuiti elettronici. Sulla base di Precursor, con l'ausilio di FPGA e LiteX, è stato sviluppato un SoC di riferimento , che comprende un CPU VexRISC-V RV32IMAC a 100 MHz, oltre a un controller incorporato
Betrusted-EC con core LiteX VexRISC-V RV32I a 18 MHz.
Nel SoC Betrusted è presente un set integrato di primitivi crittografici, come un generatore di numeri pseudocasuali, AES-128, -192, -256 con modalità ECB, CBC e CTR, SHA-2 e SHA-512, basato su curve ellittiche Curve25519. Il motore crittografico è scritto in SystemVerilog e si basa su core crittografici del progetto .
Precursor è posizionato come una piattaforma per la creazione e la verifica di prototipi, mentre Betrusted rappresenta uno dei dispositivi mobili pronti, costruiti sulla base di Precursor. Poiché gli enclave tradizionali, utilizzati per l'archiviazione isolata delle chiavi crittografiche, non proteggono da attacchi a livelli superiori, come il recupero di password tramite keylogger o l'accesso ai messaggi attraverso la realizzazione di screenshot dello schermo, in Betrusted sono stati aggiunti elementi di interazione con l'utente (, Human-Computer Interaction), per garantire che i dati segreti che possono essere letti da un essere umano non vengano mai salvati, mostrati o trasmessi al di fuori del dispositivo protetto.
Betrusted non cerca di sostituire un telefono cellulare, ma forma piuttosto un enclave protetta con input e output disponibili per audit. Ad esempio, uno smartphone esterno può essere utilizzato tramite Wi-Fi come canale di comunicazione non affidabile, ma i messaggi criptati trasmessi vengono inseriti esclusivamente sulla tastiera integrata del dispositivo Betrusted, e i messaggi ricevuti vengono visualizzati solo sullo schermo integrato.
Tutti i componenti di Precursor e Betrusted sono open source e disponibili per modifica e sperimentazione sotto licenza , che richiede la pubblicazione sotto la stessa licenza di tutti i lavori derivati. Includendo, sono aperti e la documentazione progettuale completa , realizzazione pronta e (). Sono disponibili modelli per la stampa 3D del case. In forma di progetti aperti si sta anche sviluppando e specializzato Xous basato su microkernel.
Fonte: opennet.ru
