Это Phantomdrive — полностью open source USB-флешка, которая прикидывается обычным накопителем на 8 ГБ. Настоящий объём спрятан, и операционная система его не видит. Чтобы открыть скрытый раздел, нужно создать на видимой части текстовый файл со строкой password:ВАШ_ПАРОЛЬ. После этого диск сам размонтируется и подмонтирует второй раздел — с аппаратным AES-256 шифрованием на лету.
Внутри стоит китайский микроконтроллер CH569 (от того же производителя, что делает популярный CH340). Флешка использует интерфейс USB 3.0 и берёт память на SD-карте (не eMMC — из-за скачка цен на флеш-память из-за спроса на AI). Корпус залит эпоксидкой — вскрыть без разрушения не получится. Есть кнопка для обновления прошивки и UART-контакты для отладки.
Автор честно рассказывает о проблемах с безопасностью. Под давлением AI-сгенерированных issue на GitHub выяснилось, что поначалу он использовал AES-ECB и AES-CTR. AES-ECB — это плохо: одинаковые блоки дают одинаковый шифротекст, данные можно переставлять. AES-CTR быстрее (9 МБ/с запись, 20 МБ/с чтение), но есть риск повторного использования счётчика, если злоумышленник снимет шифротекст дважды. Сейчас в прошивке реализован AES-XTS — стандарт для дискового шифрования. Он медленнее (6/10 МБ/с), но решает проблему счётчика за счёт двух ключей и «твиков» для каждого сектора.
Функция вывода пароля работает хитро. Устройство не знает файловую систему — оно перехватывает все команды записи USB WRITE10/READ10 и ищет в сырых данных подстроку password:. Если находит — копирует пароль в RAM и затирает его в буфере, чтобы он не попал на диск. Из-за этого возможны ложные срабатывания, если внутри видимого раздела встретится случайное совпадение.
Ключевой вывод (KDF) — 100 000 раундов SHA-256 с уникальным соляным числом, которое берётся из серийного номера устройства (ID_SERIAL_SHORT). Более крутые алгоритмы вроде Argon2 не влезают по производительности — разблокировка и так длится ~3 секунды. Соль нужна, чтобы нельзя было вытащить SD-карту и вставить в другой Phantomdrive.