blog/

Как и зачем мы создали защищенную флешку для хранения паролей

Что это за штука и зачем мы вообще занялись этой задачей – рассказываем о нашем личном опыте создания нового продукта, проблемах, с которыми мы столкнулись, и результатах, которых мы, несмотря на все, добились.

Казалось бы, защита своих учетных данных – это как гигиена, никто не должен сомневаться в ее необходимости. Однако то, что для меня было очевидным, было по началу совсем не очевидно для моих коллег, которым я рассказал о своей идее. Спустя некоторое время я всё-таки показал руководству нашей компании свои наработки по защищенной флешке для хранения и ввода паролей. И, несмотря на некоторые сомнения, проект получил поддержку, а через полтора года компания уже продавала первую партию аппаратного менеджера паролей «Крипто Какаду» своим первым клиентам.

 

От идеи к старту проекта

Как правильно и безопасно работать с паролями в теории знают уже почти все: использовать локальные и облачные менеджеры, не пренебрегать сервисами проверки и генерации паролей, включать двухфакторную аутентификацию и не увлекаться автосохранением в браузере и, конечно же, использовать уникальный сложный пароль для каждого аккаунта – никаких qwerty, 12345 и password!

На практике все эти условия почти никогда не выполняются. И если в бизнесе ИТ-отдел еще может наладить системную работу с паролями и учетными записями, то для рядового пользователя все ограничивается, в лучшем случае, одним-двумя паролями, которые используются во всех без исключения аккаунтах. Как говорится, до первого взлома. Но даже после таких неприятностей человек зачастую не задумывается о повышении надежности своих паролей, их регулярной смене и разнообразии. Чаще всего причина этого – банальная лень и нежелание напрягать свой мозг лишней информацией.

Как ни странно, в эпоху повсеместного распространения информационных технологий хранение паролей офлайн, «на бумажке», может оказаться самым надежным способом. Это подтверждается и регулярными новостями о сливах персональных данных. Но вот про удобство ввода здесь конечно говорить не приходится. Из этой боли – как одновременно безопасно хранить и легко вводить данные – и вырос проект аппаратного менеджера паролей.

По образованию я специалист в области информационной безопасности и поэтому немного параноик в вещах, касающихся личных данных в сети. Мне всегда хотелось иметь «железное» хранилище паролей, которое не зависит от подключения к Интернету и недоступно для вредоносных программ. Девайсы, которые можно было найти в сети, были, по сути, обычными флешками с пин-кодом, которые взламывались на раз-два. Мы начали разрабатывать собственное устройство, которое бы полностью устраивало в первую очередь нас.

Концепция и разработка прототипа

Основными требованиями к аппаратному менеджеру паролей были безопасность, универсальность и простота. Устройство должно было уметь шифровать данные, хранить их офлайн и вводить в нужные поля, при этом быть компактным и удобным, с интуитивно понятным интерфейсом. И желательно максимально дешевым.

Первый прототип в железе был собран за семь дней, базовая прошивка заняла еще пару недель. Я представил концепт руководству компании, и проект получил одобрение.

Устройство работает по принципу USB HID – эмулирует стандартную клавиатуру при подключении к компьютеру и по команде вводит текстовые данные в формы на сайтах и в приложениях. По этой же причине устройство нельзя заразить вирусами: компьютер распознает его как клавиатуру, на которую нельзя ничего передать. Структура хранения данных на устройстве древовидная – записи можно объединять в папки, по аналогии с Проводником в Windows. Для защиты данных мы выбрали проверенные надежные способы шифрования: алгоритм AES-256 и хеш-функцию SHA-256.

Первые прототипы представляли собой плату с электронными компонентами и USB-разъемом, позже к ним добавился дисплей. Для управления было решено использовать две кнопки и колесико-энкодер. В процессе разработки кнопки и энкодер несколько раз меняли свои места, чтобы устройством было удобно управлять, держа в руках. По размеру получилось раза в два больше обычной флешки.

 

Первые версии аппаратного менеджера паролей

 

Наш инженер-конструктор спроектировал больше 15 вариантов корпусов, все из которых строились вокруг выбранной конструкции платы и органов управления. Такой подход к проектированию электроники – сначала плата, потом корпус – стандартная практика для хардкорной радиоаппаратуры для связи или космоса, где важен не внешний вид изделия, а функциональность. Позже мы поняли, что для потребительской электроники лучше работает вариант, когда конструкция подстраивается под дизайн, а профессионального промдизайнера стоит привлекать уже на этапе идеи. Но в условиях ограниченного бюджета и времени было решено обойтись своими силами. В итоге у нас получилось нечто напоминающее mp3 плеер из 2000-х. Мы решили, что в этом даже есть какая-то ретро-изюминка и остановились на одном из вариантов дизайна. Между собой девайс звали просто «флешка», постоянное название придумали уже позже.

 

Некоторые варианты корпуса флешки в процессе их переосмысления

 

Параллельно с разработкой железа шла работа над софтом для записи паролей на флешку. Первую тестовую версию приложения сделали за три дня. На ней отработали логику отображения базы паролей и основные функции: создание записей (URL-логин-пароль) и папок, генерирование новых паролей, запись базы на флешку и в файл (резервная копия), установка пин-кода для доступа к флешке и мастер-пароля для доступа к резервной копии. После всех тестов, наш дизайнер сверстал конечный интерфейс, а разработчики собрали его в приложение для Windows и MacOS. Получился простой и удобный программный менеджер паролей, который можно использовать даже без самой флешки – для создания защищенной базы паролей.

(c) 2021