Эндрю Хуан (), известный активист по продвижению идей свободного аппаратного обеспечения, удостоенный премии , открытую платформу ««, предназначенную для создания концептов новых мобильных устройств. По аналогии с тем, как Raspberry Pi и Arduino позволяют создавать устройства для интернета-вещей, Precursor нацелен на предоставление возможности спроектировать и собрать своими руками различные мобильные устройства для решения своих задач.
В отличие от других проектов, 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-язык (Fragmented Hardware Description Language), основанный на Python. Migen входит в состав фреймворка , который предоставляет инфраструктуру для создания электронных схем. На базе Precursor при помощи FPGA и LiteX подготовлен эталонный SoC , включающий 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 и основан на криптоядрах от проекта .
Precursor позиционируется как платформа для создания и верификации прототипов, в то время как Betrusted представляет собой одно из готовых мобильных устройств, созданных на базе Precursor. Так как традиционные анклавы, применяемые для изолированного хранения криптоключей, не защищают от высокоуровневых атак, таких как сбор паролей при помощи кейлоггеров или доступ к сообщениям через создание скриншотов экрана, в Betrusted в реализацию анклава добавлены элементы взаимодействия с пользователем (, Human-Computer Interaction), гарантирующие, что секретные данные, которые может прочитать человек, никогда не будут сохранены, показаны или переданы вне защищённого устройства.
Betrusted не пытается заменить собой мобильный телефон, а лишь образует защищённый анклав с вводом и выводом, доступными для аудита. Например, внешний смартфон может использоваться через Wi-Fi как не заслуживающий доверия канал передачи данных, но передаваемые зашифрованные сообщения набираются только на встроенной клавиатуре устройства Betrusted, а полученные сообщения отображаются только на встроенном экране.
Все компоненты Precursor и Betrusted являются открытыми и доступны для модификации и экспериментов под лицензией , требующей открытия под той же лицензией всех производных работ. В том числе открыты и полная проектная документация , готовой реализации и (). Доступны модели для 3D-печати корпуса. В форме открытых проектов также развивается и специализированная Xous на основе микроядра.
Источник: opennet.ru
