Andrew Huang (), noto attivista per la promozione delle idee dell'hardware libero, insignito del , piattaforma aperta ««, progettata per creare concetti di nuovi dispositivi mobili. Proprio come Raspberry Pi e Arduino consentono di realizzare dispositivi per l'Internet delle cose, Precursor mira a fornire la possibilità di progettare e assemblare autonomamente diversi dispositivi mobili per soddisfare le proprie esigenze.
A differenza di altri progetti, Precursor offre agli appassionati non solo una scheda, ma un prototipo pronto di un dispositivo portatile con scocca in alluminio delle dimensioni di 69 x 138 x 7,2 mm, schermo LCD (336×536), batteria (1100 mAh Li-Ion), tastiera miniaturizzata, altoparlante, motore vibrante, accelerometro e giroscopio. Il modulo computazionale è fornito non con un processore predefinito, ma con un SoC definito a livello software basato su FPGA Xilinx XC7S50, sul quale è organizzata l'emulazione di una CPU RISC-V a 32 bit funzionante a 100MHz. Non ci sono limitazioni nell'emulazione di altri componenti hardware; ad esempio, possono essere emulati vari processori, da 6502 e Z-80 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 tipo C, SPI, I²C, GPIO.
Tra le funzionalità di sicurezza, si segnala la presenza di due generatori hardware di numeri pseudocasuali. È interessante notare che il dispositivo viene fornito fondamentalmente senza microfono integrato — si presume che la registrazione audio sia possibile solo con un auricolare collegato, e se l'auricolare è scollegato, è fisicamente impossibile organizzare una sorveglianza, anche se il software del dispositivo è stato compromesso.
Il chip per la comunicazione wireless (Wi-Fi) è isolato hardware dal resto della piattaforma e opera in un ambiente separato. Per proteggere da accessi non autorizzati viene anche utilizzato un involucro bloccabile, un RTC separato per monitorare l'integrità, il monitoraggio del movimento in standby (accelerometro e giroscopio sempre attivi). È prevista anche una catena di autodistruzione e cancellazione immediata di tutti i dati, attivabile tramite una chiave AES.
Per la descrizione dei componenti hardware si utilizza il linguaggio FHDL (Fragmented Hardware Description Language), basato su Python. Migen fa parte del framework , che fornisce un'infrastruttura per la creazione di circuiti elettronici. Basato su Precursor, un SoC di riferimento è stato sviluppato utilizzando FPGA e LiteX. , che include una CPU VexRISC-V RV32IMAC a 100 MHz, oltre a un controller integrato.
Betrusted-EC con un core LiteX VexRISC-V RV32I a 18 MHz.
Nel SoC Betrusted è fornito un set integrato di primitive crittografiche, come il 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 sui 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, sviluppati sulla base di Precursor. Poiché i tradizionali enclave, utilizzati per la conservazione isolata delle chiavi crittografiche, non proteggono da attacchi avanzati, come il recupero di password tramite keylogger o l'accesso ai messaggi tramite screenshot, in Betrusted sono stati aggiunti elementi di interazione con l'utente nella realizzazione dell'enclave (, Interazione Uomo-Computer), garantendo che i dati sensibili, accessibili a un umano, non vengano mai memorizzati, mostrati o trasmessi al di fuori del dispositivo protetto.
Betrusted non cerca di sostituire il telefono cellulare, ma crea solo un enclave protetta con input e output accessibili per audit. Ad esempio, uno smartphone esterno può essere utilizzato tramite Wi-Fi come canale di trasmissione non affidabile, ma i messaggi crittografati da inviare sono digitati solo 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 modifiche e sperimentazioni sotto la licenza , che richiede l'apertura sotto la stessa licenza di tutti i lavori derivati. Inclusi e la documentazione completa del progetto , implementazione pronta e (). Sono disponibili modelli per la stampa 3D del case. In forma di progetti aperti si sviluppa anche e un sistema Xous basato su microkernel.
Fonte: opennet.ru
