Оглавление:

Хранитель паролей на Aruino Pro Micro, или зачем сохранять простоту, когда существует продуманный способ !: 15 шагов (с изображениями)
Хранитель паролей на Aruino Pro Micro, или зачем сохранять простоту, когда существует продуманный способ !: 15 шагов (с изображениями)

Видео: Хранитель паролей на Aruino Pro Micro, или зачем сохранять простоту, когда существует продуманный способ !: 15 шагов (с изображениями)

Видео: Хранитель паролей на Aruino Pro Micro, или зачем сохранять простоту, когда существует продуманный способ !: 15 шагов (с изображениями)
Видео: Как прочитать прошивку из микроконтроллера. Краткий ликбез. 2024, Июль
Anonim
Хранитель паролей на Aruino Pro Micro, или зачем сохранять простоту, когда существует продуманный способ!
Хранитель паролей на Aruino Pro Micro, или зачем сохранять простоту, когда существует продуманный способ!

Похоже, что основная проблема с микроконтроллерами для любителей электроники (особенно начинающих) - это выяснить, где их применить:) В наши дни электроника, особенно цифровая, все больше похожа на черную магию. Только волшебники 80-го уровня могут что-то делать с крошечными компонентами. По этой причине платы Arduino становятся очень популярными. Они заключают в себе черную магию и немного дыма;) в доску с управляемыми людьми булавками.

Этот пост я хочу посвятить довольно простому проекту под названием PasswordKeeper на базе платы Aruino Pro Micro. На этой плате размещен чип ATmega32U4.

Шаг 1. Идея

Идея
Идея

Давно хотел сделать что-нибудь простое и полезное с каким-нибудь контроллером. И тут мой коллега подкинул интересную идею - ему лень каждый день вводить логин и пароль в свой компьютер. Поэтому он взял крошечную плату DigiSpark (ATTiny85) и создал устройство, которое отправляет логин + пароль на компьютер при нажатии кнопки. Вот эта штуковина.

Шаг 2: идея и проводка

Идея и проводка
Идея и проводка

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

Пересборка проекта Arduino и загрузка его в плату каждый раз при смене пароля - «Вы ищете не дроидов» [волна]. Это слишком просто. Мы бы пошли по гораздо более запутанному маршруту!

Устройство должно показать, как оно работает. Но всего три штатных светодиода на плате - для этого слишком мало. Поднимем количество светодиодов до 4099! Поэтому к проекту был добавлен небольшой дисплейный модуль OLED 128X32. Я довольно долго не мог придумать, где его размять. И это прекрасно вписалось в этот проект. Еще пара кнопок - и все готово!

В микросхеме ATTiny85 не хватило места для проекта - добавление вытянутого дисплея под графическую библиотеку + шрифты. Так что все это просто не влезло в память DigiSpark. Быстрый поиск осуществляется с подходящей платформой: Arduino Pro Micro.

Основная идея проекта заключается в том, что ATmega32U4 по умолчанию выдает себя за HID-устройство - USB-клавиатуру и USB-COM-порт. Драйверы для этих устройств уже предустановлены в большинстве операционных систем, и больше ничего настраивать не нужно.

Предлагаемый вашему вниманию PasswordKeeper - это чиндогу, имитирующий нажатие кнопок на клавиатуре. Эти клики могут передавать на компьютер логин и пароль. Даже вездесущие Ctrl-Alt-Del могут быть отправлены нажатием 1 кнопки вместо 3. Или любой другой последовательности клавиш в зависимости от вашего вкуса.

Форм-фактор выбранных модулей очень компактен, но, тем не менее, с ними легко связываться. С минимальными усилиями можно собрать небольшой и весьма полезный прибор. Электромонтаж просто не может быть проще.

Шаг 3: приготовление

Готовка
Готовка

Ингредиенты для хитрости:

1) Aruino Pro Micro - 1 шт.

2) OLED-дисплей 128x32 - 1 шт.

3) Пуговицы - 2 штуки (или любые другие - по дефектам).

4) Разъемы DuPont - 7 штук (или какой-нибудь провод для пайки - по вкусу).

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

Ой, подожди! Это статья не о кулинарии! Мои извинения.

Лучше соединить все это вручную - по схеме подключения и сэкономить пару эонов тряски.

Итак, прототип для отладки / тестирования скетча готов.

Шаг 4: Создание дела

Создание дела
Создание дела

Скетч вроде работает. Но пользоваться устройством в таком виде неудобно. Итак, небольшая работа в Sketchup дает нам небольшую оболочку.

Upd: Идея по делу.

Можно взять любую подходящую небольшую прозрачную пластиковую коробку.

Или возьмите тонкий прозрачный пластик из какой-нибудь упаковки. Согните его по геометрии устройства. Поместите электронику внутрь и заполните все свободное пространство прозрачным силиконом. Это должно дать вам довольно красивое устройство.

Шаг 5: 3D-печать

3D печать
3D печать

Закинул в ближайший 3д принтер.

Шаг 6: дело готово

Дело готово
Дело готово

И, как обычно, при ловле блох необходима поспешность.

Первый вариант корпуса маловат и плата не подходит!

Акела промазал, оставив несколько пробелов. Так рисунок исправлен и перепечатан.

Второй проход был лучше - доска подошла идеально.

Шаг 7: примерка кейса

Примерка дела
Примерка дела

Вставить доску внутрь, надавить на нее и с характерным хрустом зафиксировать на месте.

Примеряем пуговицы - тоже подходят.

Шаг 8: Пайка. Провода

Пайка. Провода
Пайка. Провода

Кстати, долго искал хороший провод для прототипирования.

В результате я теперь использую в своих проектах провод 30AWG. Вы можете увидеть их на фото. Обматывает проволоку.

Мало кто сейчас помнит, для чего он нужен.

Но он отлично подходит и для пайки на плате. Цветные провода хороши для наведения порядка в обычном беспорядке, назначая разные цвета функциям проводов. Проволока тонкая. Изоляция хорошо выдерживает температуру паяльника. Типичная ПВХ изоляция сразу плавится во время пайки. Он размягчается, но сохраняет форму и позволяет время от времени касаться жала паяльника, не оплавляя его.

Шаг 9: PwKeeper готов

PwKeeper готов
PwKeeper готов

Таким образом, если собрать все это вместе, мы получим небольшой токен, который подключается к компьютеру и позволяет вам управлять и использовать

довольно большое количество логинов и паролей.

Шаг 10: PwKeeperPc - простое редактирование данных в токене

PwKeeperPc - Простое редактирование данных в токене
PwKeeperPc - Простое редактирование данных в токене

Количество входов ограничено объемом встроенной памяти EEPROM (1024 байта) и длиной паролей.

В памяти EEPROM хранится ряд записей.

Каждая запись содержит поле для комментариев и до 8 текстовых полей.

Два текстовых поля с названиями «Имя» и «Пароль» - просто для удобства управления.

Дисплей позволяет вам выбрать желаемый логин с полями для комментариев.

Он также позволяет редактировать данные в токене. Данные можно редактировать с помощью всего двух кнопок. Втиснул в токен какой-то Редактор. Но, честно говоря, вы должны быть мазохистом, чтобы использовать это.

Поэтому, чтобы упростить управление паролями, мне пришлось написать специальную программу для ПК (кстати - не забудьте переключить токен в режим USB при использовании этой программы).

Upd: Для людей * nix я добавил последовательную консоль TTY в прошивку PwKeeper v1.4. Эта консоль активируется из меню устройства. Подключитесь к нему с помощью любой подходящей терминальной программы - и вы сможете редактировать данные в PwKeeper с помощью нескольких команд, подобных VI. Консоль можно использовать и на платформе Windows. Просто нажмите Ctrl-Shift-M в Arduino IDE, и вы на месте (не забудьте предварительно активировать TTY в PwKeeper). Но мне кажется, что PwKeeperPc намного удобнее.

Шаг 11: PwKeeper запускается

PwKeeper работает!
PwKeeper работает!

Токен содержит очень конфиденциальные данные, поэтому следует приложить некоторые усилия для обеспечения безопасности.

Основной пароль для разблокировки токена существует.

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

Основной пароль - это определяемая пользователем последовательность одинарных и двойных щелчков кнопок вверх и вниз.

Шаг 12: поток мыслей

Теоретически можно зашифровать данные в EEPROM с помощью некоторого криптографического алгоритма - некоторое пространство все еще остается во флеш-памяти, но эти усилия не будут видны извне, поэтому я не стал беспокоиться.

Токен в нормальном состоянии не виден компьютеру. Чтобы перевести его в режим редактирования USB, вы должны сделать это физически, нажимая на нем кнопки. Аналогичным образом, чтобы отправить пароль, вы должны физически нажать кнопку ВВЕРХ. Чтобы злонамеренный хакер не украл ваши пароли с токена. Он бы поймал их на USB-порт, когда вы отправляете их с токена;)

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

Специально для своего коллеги я запрограммировал все остальные входы платы как кнопки быстрого доступа. От оставшихся входных контактов к земле можно подключить до 12 кнопок. Нажимая на одну из этих кнопок, вы переходите к соответствующему логину (если он существует). Таким образом, вам нужно только нажать кнопку ВВЕРХ, чтобы отправить его. Или удерживайте кнопку быстрого доступа немного дольше.

Шаг 13: Осмотр-1

Инспекция-1
Инспекция-1

Прежде чем стать публичным, PwKeeper прошел тщательную проверку.

Шаг 14: Осмотр-2

Инспекция-2
Инспекция-2

Начальник инспекции только что проснулся и не в настроении.

Но он всегда хмурится - почему публике предлагается явно недоделанный девайс.

Мои слова о том, что ему нужно проверять качество продукта, и это сложно сделать с закрытым делом, он просто проигнорировал.

Новерлесс (после взятки колбасой) выдал свидетельство о допущении.

Рекомендуемые: