Аппаратный хранитель паролей

На новой работе жесткая парольная политика. Пароли надо менять раз в 3 месяца и они должны быть достаточно сложными. Придумывать запоминающиеся пароли, соответствующие требованиям сложно и лень. Проще сгенерировать его но такой пароль сложно запомнить. Для ввода и хранения паролей есть много программ, но с ними нельзя ввести пароль в момент входа в компьютер.

Поэтому я начал поиски информации про аппаратные менеджеры паролей. Они представляют из себя USB устройство, иммитирующее клавиатуру, и по команде осуществляют ввод пароля.

Первым мне попался проект MemType. Он основан на МК ATTiny85 и позволяет вводить логины и пароли.

Достоинства:

  • Дешевый
  • Удобное управление
  • Малый размер

Недостатки:

  • Отсутствует экран, для отображения текущей учетной записи
  • ПО для ввода паролей в устройство существует только под Linux.
  • Глючит: вводишь один пароль, выдает немного другой. Не может хранить некоторые символы.

Но я все же сделал его и использовал довольно долгое время. У меня была макетка AVR-USB-TINY45 и она идеально для этого подошла.

Вот что получилось в результате. Из кода убрал запрос PIN, т.к. лень было его вводить . Выглядит кривенько, но вполне рабочая.

Отсутствие экрана меня напрягало больше всего. Добавить его в этот проект не получается из-за нехватки памяти. Поэтому продолжил поиски и нашел два варианта.

Первый. https://tproger.ru/articles/arduino-password-manager. На мой взгляд сильно перегружен: имеет большой размер, энкодер в качестве элемента управления слишком велик и две микросхемы памяти однозначно лишниие. Вот как выглядит набор деталей для его изготовления

Нашел еще один проект, но он плохо описан. https://kolotushkin.com/article.php?id=34

Так, что стал искать дальше и нашел такой проект: «Автоматизация ввода пароля без клавиатуры» на основе Arduino Pro Micro

В нем меня устроило почти все, кроме всего двух кнопок для управления и отсутствия USB разъема (надо использовать кабель).

Поэтому я решил взять его за основу и сделать свое.

Плату использую Arduino Leonardo Beetle

и к ней еще припаиваю разъем, чтобы устройство не болталось в гнезде и при помощи макетки наращиваю размер, для установки дополнительных компонентов (микроджойстика и OLED эрана).

Получилась такая конструкция

В готовом виде выглядит так

Так в корпусе

Так во включенном состоянии

В этой конструкции меня не устраивают великоватые размеры и стоимость ардуинки в 450 руб.

Недавно открыл для себя китайские микроконтроллеры CH32V003J4M6 по 15 руб. размером как ATTiny85, но с памятью 16 кб и частотой 48 Мгц. Думаю попробовать сделать на них меньше размером и дешевле. Памяти думаю должно хватить.

Коды текущего проекта на GitHub.

Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *