28.11.2020

Представлена платформа Precursor для создания свободных мобильных устройств


Эндрю Хуан (Andrew Huang), известный активист по продвижению идей свободного аппаратного обеспечения, удостоенный премии EFF Pioneer Award 2012, представил открытую платформу «Precursor«, предназначенную для создания концептов новых мобильных устройств. По аналогии с тем, как 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-язык 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.

Precursor позиционируется как платформа для создания и верификации прототипов, в то время как Betrusted представляет собой одно из готовых мобильных устройств, созданных на базе Precursor. Так как традиционные анклавы, применяемые для изолированного хранения криптоключей, не защищают от высокоуровневых атак, таких как сбор паролей при помощи кейлоггеров или доступ к сообщениям через создание скриншотов экрана, в Betrusted в реализацию анклава добавлены элементы взаимодействия с пользователем (HCI, Human-Computer Interaction), гарантирующие, что секретные данные, которые может прочитать человек, никогда не будут сохранены, показаны или переданы вне защищённого устройства.

Betrusted не пытается заменить собой мобильный телефон, а лишь образует защищённый анклав с вводом и выводом, доступными для аудита. Например, внешний смартфон может использоваться через Wi-Fi как не заслуживающий доверия канал передачи данных, но передаваемые зашифрованные сообщения набираются только на встроенной клавиатуре устройства Betrusted, а полученные сообщения отображаются только на встроенном экране.

Все компоненты Precursor и Betrusted являются открытыми и доступны для модификации и экспериментов под лицензией Open Hardware Licence 1.2, требующей открытия под той же лицензией всех производных работ. В том числе открыты схемы и полная проектная документация основной и вспомогательных плат, готовой реализации SoC Betrusted и управляющего контроллера (EC). Доступны модели для 3D-печати корпуса. В форме открытых проектов также развивается набор прошивок и специализированная операционная система Xous на основе микроядра.

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

Добавить комментарий