Посетители DEF CON в этом году получат не просто памятный значок, а полноценный аппаратный ключ безопасности, внутреннее устройство которого можно проверить вплоть до транзисторов. Новую плату для конференции создал известный разработчик аппаратуры Эндрю «bunnie» Хуан, а её основой стал почти полностью открытый микроконтроллер Baochip-1x.
Электронные значки давно стали одной из традиций DEF CON. Разработчики снабжают их головоломками, криптографическими заданиями, скрытыми функциями и необычными механизмами. В новой версии главным элементом стала не внешняя конструкция, а съёмный вычислительный модуль, который после конференции можно использовать как аппаратный ключ для входа в учётные записи.
Хуан работал над Baochip-1x около трёх лет. Разработчик опубликовал исходный код операционной системы, встроенного программного обеспечения, процессорного ядра, криптографических модулей и системы ввода-вывода. В основе микроконтроллера лежит открытая архитектура RISC-V, а операционная система написана на языке Rust.
Главное отличие Baochip-1x от большинства защищённых микросхем связано с возможностью проверить не только программный код, но и сам кристалл. Обычные микросхемы скрыты под непрозрачным пластиковым корпусом, поэтому покупатель вынужден верить, что на заводе в конструкцию не добавили посторонний элемент или скрытый доступ.
Корпус Baochip-1x пропускает инфракрасное излучение через обратную сторону кремниевого кристалла. С помощью специального оборудования специалисты могут рассмотреть внутренние структуры микросхемы и сравнить их с опубликованной схемой. Хуан планирует продемонстрировать это прямо на DEF CON.
Полностью открытой разработку назвать нельзя. Некоторые элементы физического проектирования и производства по 22-нанометровому технологическому процессу TSMC остаются закрытыми. Однако программная часть, процессорное ядро и ключевые защитные механизмы доступны для независимого анализа.
Съёмный модуль поддерживает стандарт FIDO , одноразовые пароли с ограниченным сроком действия и умеет хранить пароли. Для подключения к системам, которые проверяют личность, предусмотрена камера, считывающая QR-коды. Её разрешение намеренно ограничили, а устройство по умолчанию обрабатывает только чёрно-белые данные и не умеет сохранять фотографии.
Микроконтроллер получил защищённую загрузку, аппаратный генератор случайных чисел и резистивную энергонезависимую память. По словам Хуана, извлечь данные из такой памяти физическими методами сложнее, чем из обычной флеш-памяти. При этом разработчик не называет микросхему неуязвимой. Атаки стоимостью в десятки тысяч долларов она, вероятно, выдержит, но лаборатория с оборудованием на миллионы долларов сможет преодолеть защиту.
Внутри Baochip-1x работает процессор RISC-V с частотой 350 МГц, 2 Мбайт статической оперативной памяти и 4 Мбайт резистивной памяти. Дополнительные ядра обслуживают ввод и вывод данных. Микросхема уже поддерживает MicroPython и средства разработки на языках C и Rust, а в будущем сможет превратиться в аппаратный модуль защиты ключей или даже запускать Linux.
Всего организаторы выпустят около 27 000 значков. Организаторы массово раздадут их на DEF CON – это станет первым крупным испытанием для Baochip-1x. Хуан рассчитывает, что участники найдут уязвимости в коде и аппаратной части, а затем помогут сделать следующие версии микросхемы надёжнее.