Andrew Juan (), conocido activista por la promoción de ideas de hardware libre, galardonado con el , la plataforma abierta ««, diseñada para crear conceptos de nuevos dispositivos móviles. Al igual que Raspberry Pi y Arduino permiten crear dispositivos para el Internet de las Cosas, Precursor tiene como objetivo proporcionar la posibilidad de diseñar y ensamblar dispositivos móviles para resolver necesidades específicas.
A diferencia de otros proyectos, Precursor ofrece a los entusiastas no solo una placa, sino un prototipo completo de un dispositivo portátil con un chasis de aluminio de 69 x 138 x 7.2 mm, pantalla LCD (336×536), batería (1100 mAh Li-Ion), teclado miniatura, altavoz, motor de vibración, acelerómetro y giroscopio. El módulo computacional no viene con un procesador predefinido, sino con un SoC programable basado en FPGA Xilinx XC7S50, sobre el cual se emula un CPU de 32 bits RISC-V que opera a 100MHz. No hay restricciones para la emulación de otros componentes de hardware, permitiendo emular una variedad de procesadores, desde 6502 y Z-80 hasta AVR y ARM, así como chips de sonido y distintos controladores. La placa incluye 16 MB de SRAM, 128 MB de Flash, Wi-Fi Silicon Labs WF200C, USB tipo C, SPI, I²C, GPIO.
Entre las características de seguridad, se destaca la presencia de dos generadores de números pseudoaleatorios de hardware. Curiosamente, el dispositivo se entrega fundamentalmente sin un micrófono incorporado; se asume que la captura de sonido solo es posible al conectar explícitamente unos auriculares, y si los auriculares están desconectados, es físicamente imposible realizar escuchas, incluso si el software del dispositivo ha sido comprometido.
El chip para la comunicación inalámbrica (Wi-Fi) está aislado de la plataforma principal y funciona en un entorno separado. También se utiliza una carcasa con candado para proteger contra el acceso no autorizado, un RTC separado para monitorear la integridad, y monitoreo de movimiento en modo de espera (acelerómetro y giroscopio siempre activos). También se incluye un circuito de autodestrucción y borrado instantáneo de todos los datos, activado mediante una clave AES.
Para describir los componentes de hardware se utiliza el lenguaje FHDL (Lenguaje de Descripción de Hardware Fragmentado), basado en Python. Migen forma parte del marco , que proporciona infraestructura para la creación de esquemas electrónicos. Basado en Precursor, con FPGA y LiteX se ha preparado un SoC de referencia , que incluye un CPU VexRISC-V RV32IMAC a 100 MHz, así como un controlador incorporado
Betrusted-EC con un núcleo de 18 MHz LiteX VexRISC-V RV32I.
En el SoC Betrusted se proporciona un conjunto de primitivas criptográficas integradas, tales como generador de números pseudoaleatorios, AES-128, -192, -256 con modos ECB, CBC y CTR, SHA-2 y SHA-512, basado en curvas elípticas Curve25519. El motor criptográfico está escrito en SystemVerilog y se basa en núcleos criptográficos del proyecto .
Precursor se posiciona como una plataforma para la creación y verificación de prototipos, mientras que Betrusted es uno de los dispositivos móviles listos creados sobre la base de Precursor. Dado que los enclaves tradicionales, utilizados para el almacenamiento aislado de claves criptográficas, no protegen contra ataques de alto nivel, como la recopilación de contraseñas a través de keyloggers o el acceso a mensajes mediante capturas de pantalla, en Betrusted se han añadido elementos de interacción con el usuario en la implementación del enclave (, Interacción Humano-Computadora), garantizando que los datos secretos que pueden ser leídos por una persona nunca serán almacenados, mostrados o transmitidos fuera del dispositivo protegido.
Betrusted no intenta reemplazar un teléfono móvil, sino que forma un enclave protegido con entrada y salida auditables. Por ejemplo, un smartphone externo puede utilizarse a través de Wi-Fi como un canal de comunicación no confiable, pero los mensajes encriptados se ingresan únicamente en el teclado incorporado del dispositivo Betrusted, y los mensajes recibidos se muestran solo en la pantalla integrada.
Todos los componentes de Precursor y Betrusted son abiertos y están disponibles para modificación y experimentación bajo la licencia , que exige la apertura bajo la misma licencia de todas las obras derivadas. También están abiertas y la documentación de diseño completa , la implementación lista del y (). Están disponibles modelos para la impresión 3D de la carcasa. En forma de proyectos abiertos también se está desarrollando y una Xous basada en microkernel.
Fuente: opennet.ru
