company_banner

Precursor — собери сам свое open-source мобильное устройство с криптографической защитой


    На днях представлен проект открытой программной платформы для создания мобильных устройств. Он получил название Precursor. По словам автора, это Arduino или Raspberry Pi для мобильной отрасли. На базе платформы можно собрать любой мобильный девайс.

    В отличие от тех же одноплатников, Precursor поставляется в корпусе, с готовой клавиатурой и дисплеем. Подробнее о проекте — под катом.

    Характеристики устройства


    Корпус изготовлен из алюминия, его размеры — 69 x 138 x 7.2 мм. Есть LCD-экран (336*536), аккумулятор на 110 мА*ч, клавиатура, динамик, вибромотор и акселерометр.

    Основа девайса — программно-определяемый 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. Он входит в состав фреймворка LiteX, предоставляющий инфраструктуру для создания электронных схем. Кроме того, разработчик подготовил эталонный SoC Betrusted, включающий 100 MHz CPU VexRISC-V RV32IMAC, а также встраиваемый контроллер Betrusted-EC с ядром 18 MHz LiteX VexRISC-V RV32I.

    Предусмотрен и набор криптографических примитивов, включая AES-128, -192, -256 с режимами ECB, CBC и CTR, SHA-2 и SHA-512, криптодвижок на базе эллиптических кривых Curve25519. Основа движка — криптоядра Google OpenTitan.


    Автор проекта называет Precursor платформой для создания и верификации прототипов. А вот Betrusted — готовое устройство на базе платформы. Автор использовал элементы взаимодействия с пользователем для того, чтобы исключить возможность сохранения, демонстрации или передачи защищенных данных вне устройства.

    Betrusted — не мобильный телефон, а скорее цифровой ассистент, позволяющий повысить безопасность приема и передачи данных.


    Автор проекта — Эндрю Хуан (Andrew Huang), ранее получивший премию EFF Pioneer Award 2012. Как поклонник open source, он открыл ПО и аппаратное обеспечение как Precursor, так и Betrusted. Используемая лицензия — Open Hardware Licence 1.2. Эндрю Хуан открыл схемы, проектную документацию плат, SoC Betrusted и управляющего контроллера. Подготовлены и 3D-модели для желающих распечатать корпус. Готовы прошивки и ОС Xous.

    С полным описанием проекта можно ознакомиться здесь.

    Selectel
    ИТ-инфраструктура для бизнеса

    Комментарии 12

      0
      100MHz RISC-V… не густо( На Xilinx должно быть свое RISC софтядро MicroBlaze. Оно не будет работать быстрее? Зачем изобретать велосипед? И для него Linux тоже есть
        +4
        MicroBlaze — закрытое ядро, а автор делает акцент на свободном ПО и железе.
        +7
        Open Hardware такой Open…
        ИМХО пока этот проект такой же «открытый» как rapsberry pi называть «открытым» проектом

        Xilinx XC7S50

        использование FPGA в проекте только лишь для эмуляции слабенького ядра микроконтроллера, очень сомнительное преимущество,
        Хотя я на вскидку не назову МК с возможностью нормального шифрования с полностью открытой документацией.

        Wi-Fi Silicon Labs WF200C

        тоже не назвать открытым продуктом.
        Хотите максимально параноидальной открытости — тогда и вайфай надо было делать через FPGA и свч компоненты, чего уж мелочиться.

        Смотрю гитхаб — проект печатной платы сделать в Altium — платном проприетарном ПО…
        Там есть конечно лицензии для обучения но для
        Эндрю Хуан (Andrew Huang), известный активист по продвижению идей свободного аппаратного обеспечения, удостоенный премии EFF Pioneer Award 2012

        выглядит как то странно.
        Проект такого уровня сейчас без проблем делается на открытом ПО Kicad.

        Для работы с аппаратными модулями используется FHDL-язык Migen (Fragmented Hardware Description Language), основанный на Python. Он входит в состав фреймворка LiteX, предоставляющий инфраструктуру для создания электронных схем.

        Весьма интригующий проект, но с ним тоже как то все мутно, в мануалах Migen попросту не написаны главы синтеза кода в прошивку fpga (что грубо эквивалентно компиляции исходников в машинный код конкретного процессора) у LiteX указан «interface to vendor toolchains», что есть самая проприетарная мякотка от производителей FPGA.
        Если кто-то лучше разбирается в этих проектах, просьба меня поправить.

          +1
          Я думаю, это повод завести issues в проекте. Возможно, допилят.
            +1
            Хотите максимально параноидальной открытости — тогда и вайфай надо было делать через FPGA и свч компоненты, чего уж мелочиться.
            И получить бан от FCC с конфискацией всех устройств если их продавать.
            0
            аккумулятор на 110 мА*ч,
            серьёзно?
              +2
              В оригинале 1100 мАч
              «1100 mAh Li-Ion battery
              — Approx. 100 hours standby with wifi+EC+static display enabled
              — Approx. 700 mW „on-state“ (most features enabled and active, backlight off) power draw or 5.5 hours continuous use»
              +2
              Похоже, любителям физической клавиатуры в 2020м остаётся только таким и довольствоваться :(
              0
              Сотового радиомодуля просто нет…
                0

                Так в этих стандартах куча дыр. Непойдёт для "паранойно-условно-открытого по/хардваре"
                Хотя мысль с фпга прикольная, жаль никто не хочет делать удобную систему с простыми настройками для пользователей. Посмотрим к чему всё придёт

                0

                Может я чего не понимаю, но 100МГц это не густо для софткор. Ибо ядра что у меня крутятся(моё хобби), даже в 1тактном варианте берут 60МГц стабильно, многотактный 4-1глубиной 120МГц, а 3х конвейер 170МГц.
                Хотя может дело в энергопотреблении, в этом плане я ещё не разобрался

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое