В отличие от других проектов, Precursor предлагает энтузиастам не просто плату, а готовый прототип портативного устройства с алюминиевым корпусом размером 69 x 138 x 7.2 мм, LCD-экраном (336×536), аккумулятором (1100 mAh Li-Ion), миниатюрной клавиатурой, громкоговорителем, вибромотором, акселерометром и гироскопом. Вычислительный модуль поставляется не с готовым процессором, а с программно определяемым SoC на базе FPGA Xilinx XC7S50, на базе которого организована эмуляция 32-разрядного CPU RISC-V, работающего на частоте 100MHz. При этом нет никаких ограничений по эмуляции других аппаратных компонентов, например, может быть эмулирована работа различных процессоров, от 6502 и Z-80 до AVR и ARM, а также звуковых чипов и различных контроллеров. Плата включает 16 MB SRAM, 128 MB Flash, Wi-Fi Silicon Labs WF200C, USB type C, SPI, I²C, GPIO.

Из возможностей, связанных с безопасностью, отмечается наличие двух аппаратных генераторов псевдослучайных чисел. Интересно, что устройство принципиально поставляется без встроенного микрофона — подразумевается, что приём звука возможен только при явном подключении гарнитуры, а если гарнитура отключена то физически невозможно организовать подслушивание, даже если программное обеспечение устройства было скомпрометировано.
Чип для беспроводной связи (Wi-Fi) аппаратно изолирован от остальной платформы и работает в отдельном окружении. Для защиты от несанкционированного доступа также применяется запираемый корпус, отдельный RTC для отслеживания целостности, мониторинг движения в режиме ожидания (всегда включённые акселерометр и гироскоп). Предусмотрено также наличие цепи саморазрушения и мгновенной очистки всех данных, активируемой при помощи AES-ключа.
Для описания аппаратных компонентов применяется FHDL-язык Migen (Fragmented Hardware Description Language), основанный на Python. Migen входит в состав фреймворка LiteX, который предоставляет инфраструктуру для создания электронных схем. На базе Precursor при помощи FPGA и LiteX подготовлен эталонный SoC Betrusted, включающий 100 MHz CPU VexRISC-V RV32IMAC, а также встраиваемый контроллер Betrusted-EC с ядром 18 MHz LiteX VexRISC-V RV32I.
В SoC Betrusted предоставляется встроенный набор криптографических примитивов, таких как генератор псевдослучайных чисел, AES-128, -192, -256 с режимами ECB, CBC и CTR, SHA-2 и SHA-512, криптодвижок на базе эллиптических кривых Curve25519. Криптодвижок написан на SystemVerilog и основан на криптоядрах от проекта Google OpenTitan.
Так как традиционные анклавы, применяемые для изолированного хранения криптоключей, не защищают от высокоуровневых атак, таких как сбор паролей при помощи кейлоггеров или доступ к сообщениям через создание скриншотов экрана, в Betrusted в реализацию анклава добавлены элементы взаимодействия с пользователем (HCI, Human-Computer Interaction), гарантирующие, что секретные данные, которые может прочитать человек, никогда не будут сохранены, показаны или переданы вне защищённого устройства.
Betrusted не пытается заменить собой мобильный телефон, а лишь образует защищённый анклав с вводом и выводом, доступными для аудита. Например, внешний смартфон может использоваться через Wi-Fi как не заслуживающий доверия канал передачи данных, но передаваемые зашифрованные сообщения набираются только на встроенной клавиатуре устройства Betrusted, а полученные сообщения отображаются только на встроенном экране.
Precursor позиционируется как платформа для создания и верификации прототипов, в то время как Betrusted представляет собой одно из готовых мобильных устройств, созданных на базе Precursor. Все компоненты Precursor и Betrusted являются открытыми и доступны для модификации и экспериментов под лицензией Open Hardware Licence 1.2, требующей открытия под той же лицензией всех производных работ.
В том числе открыты схемы и полная проектная документация основной и вспомогательных плат, готовой реализации SoC Betrusted и управляющего контроллера (EC). Доступны модели для 3D-печати корпуса. В форме открытых проектов также развивается набор прошивок и специализированная операционная система Xous на основе микроядра.

Источник: http://www.opennet.ru/opennews/art.shtml?num=53751