Precursor: un téléphone totalement sécurisé mais piratable

Le précurseur peut ressembler à un Blackberry allongé, mais il est capable de bien plus. Chaque élément de cet appareil peut être inspecté et contrôlé, jusqu'aux réseaux de portes programmables sur site (FPGA) en son cœur.

Les smartphones modernes sont des plates-formes complexes et fermées avec des logiciels et du matériel abstraits de l'utilisateur. Le précurseur semble aussi loin que possible dans l'autre sens.

Une plateforme de développement FPGA mobile

Precursor est le dernier projet de matériel ouvert de Sutajio Ko-Usagi, un duo de hackers et de développeurs de matériel embarqué basé à Singapour. Il s'agit d'un double kit de développement matériel open source FPGA destiné à fournir la plate-forme de développement mobile la plus sécurisée possible.

Le kit de développement est enfermé dans un corps en aluminium usiné, qui abrite le clavier physique et un écran noir et blanc 536 x 336, ainsi qu'une batterie Li-ion remplaçable de 1100 mAh. Il n'y a pas de microphone dans le corps de l'appareil, mais il existe une combinaison de port audio de 3,5 mm et d'un haut-parleur de notification de 0,7 W et d'un moteur de vibration.

Chaque aspect du projet est open source, jusqu'au code source du système sur puce (SoC) hébergé sur le FPGA. Cela signifie que vous pouvez compiler votre propre processeur et être sûr qu'il n'y a pas de code malveillant intégré.

Le projet a été initialement annoncé au début du mois dernier, mais sa page Crowd Supply est maintenant en ligne et a déjà accumulé plus de 117 000 $ sur l'objectif de financement de 222 000 $ au moment de la rédaction.

Les engagements Early Bird ont déjà été réclamés, mais le précurseur de niveau régulier de 512 $ est toujours disponible.

Precursor: les spécifications complètes

Si vous arrêtez d'essayer de le considérer comme un téléphone, vous commencez à voir que Precursor est un kit de développement FPGA mobile à part entière:

  • FPGA: FPGA système sur puce (SoC) principal Xilinx XC7S50 utilisant la classe de vitesse -L1 pour une plus longue durée de vie de la batterie; testé avec 100 MHz VexRISC-V, RV32IMAC + MMU, 4k L1 I / D cacheLattice Semi iCE40UP5K contrôleur intégré secondaire (EC) FPGA gérant les fonctions d'alimentation, de veille et de charge; testé avec 18 MHz VexRISC-V, RV32I, pas de cache
  • Mémoire système: 16 Mo de mémoire SRAM externe
  • Stockage: 128 Mo de mémoire flash
  • Affichage: LCD noir et blanc 536 x 336 avec 200ppi, rétroéclairage
  • Audio: haut-parleur de notification 0,7 W, moteur de vibration, prise casque 3,5 mm
  • Connectivité: WiFi 802.11 b / g / n via le chipset Silicon Labs WF200C en bac à sable pour la conservation de la batterie
  • USB: 1x port USB 2.0 Type-C pour les données et le chargement
  • Entrée utilisateur: clavier rétroéclairé physique avec superpositions de disposition modifiables (QWERTZ, AZERTY et Dvorak)
  • Capteurs: accéléromètre et gyroscope
  • Extension: Flex PCB breakout pour 8x FPGA GPIO via le compartiment de la batterie
  • Débogage: HAT Raspberry Pi personnalisé et câble de développeur pour GDB + Chipscope et clignotement du micrologiciel Câble USB via un tunnel triangulaire pour le débogage du middleware
  • Sécurité: double matériel TRNG
  • Fonctionnalités anti-effraction: Boîte métallique scellable par l'utilisateur pour les composants de confiance Horloge en temps réel (RTC) dédiée avec surveillance de base de l'intégrité de l'horloge Les moniteurs d'alimentation se réinitialisent en cas de problèmes d'alimentation Accéléromètre / gyroscope toujours allumé pour détecter les mouvements en veille Prise en charge d'un effacement sécurisé instantané via la batterie Clé AES sauvegardée et circuit d'autodestruction
  • Batterie: batterie Li-Ion remplaçable de 1100 mAh offrant environ 100 heures de veille avec Wi-Fi + contrôleur intégré + affichage statique activé, ou 5,5 heures d'utilisation continue.
  • Dimensions: 138 x 69 x 7,2 mm
  • Poids: 96 grammes

Un autre smartphone Open Source?

Appeler Precursor un téléphone est un peu malhonnête, mais il a certaines choses en commun avec d'autres appareils intelligents open-source comme le Pine Phone ou Librem 5. Là où cela diffère, c'est dans la décision d'héberger le SoC sur un FPGA.

Un processeur est essentiellement un circuit minuscule et complexe avec lequel vous pouvez interagir en utilisant une architecture basée sur des instructions. Vous n'avez aucun contrôle sur ce qu'il contient réellement. Il vous suffit de lui donner des calculs à effectuer à l'aide d'un jeu d'instructions fourni par le fabricant. Vous devez simplement croire les créateurs de puces sur parole lorsqu'ils disent qu'ils sont en sécurité.

Cela se révèle souvent faux, comme dans le cas des vulnérabilités critiques trouvées dans les puces AMD Ryzen il y a quelque temps.

Les FPGA sont des circuits intégrés qui peuvent être reconfigurés à l'aide de code. Cela peut ne pas sembler si différent à première vue, mais plutôt que de donner les instructions FPGA comme vous le feriez avec un processeur ordinaire, vous configurez le circuit lui-même.

C'est de là que vient l'idée de «confiance fondée sur des preuves» au cœur du projet Precursor. Vous serez en mesure de savoir, jusqu'à la toute dernière porte logique du processeur, que votre appareil est sécurisé à 100%.

Transformez-le en téléphone rétro le plus sécurisé qui existe, ou faites-en une plate-forme de développement mobile pour la cryptographie et l'authentification à deux facteurs. Les possibilités sont, pour une fois, infinies. Presque.