Precursor: un teléfono completamente seguro y hackeable
El Precursor puede parecer una Blackberry alargada, pero es capaz de mucho más. Cada elemento de este dispositivo puede ser inspeccionado y controlado, hasta los arreglos de puertas programables en campo (FPGA) en su núcleo.
Los teléfonos inteligentes modernos son plataformas complejas y cerradas con software y hardware abstraídos del usuario. Precursor parece estar lo más lejos posible en la otra dirección.
Una plataforma de desarrollo de FPGA móvil
Precursor es el último proyecto de hardware abierto de Sutajio Ko-Usagi, un dúo de hackers y desarrolladores de hardware integrado con sede en Singapur. Es un kit de desarrollo de hardware de código abierto FPGA dual destinado a proporcionar la plataforma de desarrollo móvil más segura posible.
El kit de desarrollo está encerrado en un cuerpo de aluminio mecanizado, que alberga el teclado físico y la pantalla en blanco y negro de 536 x 336, junto con una batería de iones de litio reemplazable de 1100 mAh. No hay micrófono en el cuerpo del dispositivo, pero hay una combinación de puerto de audio de 3,5 mm y un altavoz de notificación de 0,7 W y un motor de vibración.

Cada aspecto del proyecto es de código abierto, hasta el código fuente del sistema en chip (SoC) alojado en la FPGA. Esto significa que puede compilar su propio procesador y estar seguro de que no hay ningún código malicioso integrado.
El proyecto se anunció inicialmente a principios del mes pasado, pero su página de Crowd Supply ahora está activa y ya ha acumulado más de $ 117,000 del objetivo de financiamiento de $ 222,000 en el momento de escribir este artículo.
Ya se han reclamado las promesas de Early Bird, pero el Precursor de nivel regular de $ 512 todavía está disponible.
Precursor: las especificaciones completas
Si deja de intentar pensar en él como un teléfono, comienza a ver que Precursor es un kit de desarrollo FPGA móvil completo:
- FPGA: FPGA de sistema en chip (SoC) primario Xilinx XC7S50 con grado de velocidad -L1 para una mayor duración de la batería; probado con 100 MHz VexRISC-V, RV32IMAC + MMU, 4k L1 I / D cacheLattice Semi iCE40UP5K Controlador Embebido secundario (EC) FPGA que administra energía, espera y funciones de carga; probado con VexRISC-V de 18 MHz, RV32I, sin caché
- Memoria del sistema: 16 MB de SRAM externa
- Almacenamiento: flash de 128 MB
- Pantalla: LCD blanco y negro de 536 x 336 con 200ppi, retroiluminación
- Audio: altavoz de notificación de 0,7 W, motor de vibración, conector para auriculares de 3,5 mm
- Conectividad: WiFi 802.11 b / g / n a través del chipset Silicon Labs WF200C en caja de arena para la conservación de la batería
- USB: 1x puerto USB 2.0 tipo C para datos y carga
- Entrada del usuario: teclado físico retroiluminado con superposiciones de diseño cambiables (QWERTZ, AZERTY y Dvorak)
- Sensores: acelerómetro y giroscopio
- Expansión: ruptura de PCB flexible para 8x FPGA GPIO a través del compartimento de la batería
- Depuración: Raspberry Pi HAT personalizado y cable del desarrollador para GDB + Chipscope y flasheo de firmware Cable USB a través del túnel de horquilla para depuración de middleware
- Seguridad: TRNG de hardware dual
- Características anti-manipulación: Lata de metal sellable por el usuario para componentes confiables Reloj dedicado en tiempo real (RTC) con monitoreo básico de la integridad del reloj Monitores de energía reinicio de viaje en caso de fallas de energía Acelerómetro / giroscopio siempre encendido para detectar movimiento en espera Soporte para borrado seguro instantáneo a través de la batería circuito de autodestrucción y llave AES respaldada
- Batería: batería de iones de litio reemplazable de 1,100 mAh que brinda ~ 100 horas de espera con Wi-Fi + controlador integrado + pantalla estática habilitada, o 5.5 horas de uso continuo.
- Dimensiones: 138 x 69 x 7,2 mm
- Peso: 96 gramos
¿Otro teléfono inteligente de código abierto?
Llamar a Precursor un teléfono es un poco falso, pero tiene algunas cosas en común con otros dispositivos inteligentes de código abierto como Pine Phone o Librem 5. Donde difiere es en la decisión de alojar el SoC en una FPGA.

Un procesador es esencialmente un circuito pequeño y complejo con el que puede interactuar utilizando una arquitectura basada en instrucciones. No tienes control sobre lo que realmente hay dentro. Simplemente le da cálculos para realizar utilizando un conjunto de instrucciones proporcionado por el fabricante. Simplemente tiene que tomar la palabra de los creadores de chips cuando dicen que están seguros.
Con frecuencia se demuestra que esto es incorrecto, como sucedió en el caso de las vulnerabilidades críticas encontradas en los chips AMD Ryzen hace algún tiempo.
Los FPGA son circuitos integrados que se pueden reconfigurar mediante código. Es posible que esto no suene tan diferente en la superficie, pero en lugar de dar las instrucciones de FPGA como lo haría con un procesador normal, está configurando los circuitos en sí.
De aquí es de donde proviene la idea central de "confianza basada en evidencia" para el proyecto Precursor. Podrá saber, hasta la última puerta lógica en la CPU, que su dispositivo es 100 por ciento seguro.
Conviértalo en el teléfono retro más seguro que existe, o conviértalo en una plataforma de desarrollo móvil para criptografía y autenticación de dos factores. Las posibilidades son, por una vez, realmente infinitas. Casi.