Моддинг ПК. Включение и пароли по RFID картам
Сегодня рядовой пользователь интернета имеет не один и не два, а достаточное количество аккаунтов на различных интернет ресурсах. Количество паролей с каждым годом возрастает с некоторой прогрессией, а это значит, что все их запоминать становится сложнее. Кто-то их начинает записывать (на листке бумаги или в файле, хранящимся на том же компьютере), кто-то все еще пытается запоминать их, а кто-то, пренебрегая безопасностью, копирует везде один и тот же пароль, повышая шанс взлома или потери доступа к своим ресурсам. Сегодняшней темой я надеюсь сделать маленький шажок к решению этих проблем. Идея заключается в том, что RFID карты имеют свой уникальный идентификационный номер. Используя эти уникальные данные, не будет надобности запоминать пароли, а достаточно будет просто использовать нужную карту или брелок.
Таким образом, вслед за идеей родилась схема устройства.
Схема имеет 2 назначения, работающие независимо друг от друга: передачу идентификационного номера карты по USB и включение ПК по совпадению сохраненного номера карты в памяти микроконтроллера. Для данной схемы используются RFID карты 13,56 МГц (Mifare s50 и подобные). Считыватель карт построен на модуле RC522 (MOD1), в основе которого микроконтроллер MFRC522 NXP Semiconductors. Модуль имеет интерфейс SPI, при помощи которого подключается к основному микроконтроллеру STM32F103C8T6. STM32 питается напряжением 3,3 Вольта, поэтому необходим понижающий стабилизатор с 5 Вольт USB или дежурного источника блока питания ATX. Для этой цели подойдет любой стабилизатор, например AMS1117 3v3 и ему подобные. Для ввода паролей на компьютере устройство имеет USB интерфейс. Для простоты используется USB HID (устройство ввода – клавиатура), что позволяет просто подключить устройство, и оно сразу заработает без установки дополнительных драйверов. Функционал включения компьютера по беспроводным картам реализован на следующих элементах. Вместо кнопки к контактам на материнской плате подключается реле (нормально разомкнутый контакт и общий контакт). Так как напряжение дежурного источника блока питания составляет 5 Вольт, то и реле необходимо использовать на 5 Вольт. Чтобы реле не срабатывало после включения компьютера на контакт PB9 микроконтроллера через делитель напряжения на резисторах R4 и R5 подается напряжение 5 Вольт, которое не связано с дежурным источником. Таким образом формируется сигнал о работе блока питания компьютера и соответственно о том, что компьютер включен. Перемычка Jmp1 используется для стирания памяти карт. Чтобы стереть память, необходимо установить перемычку (то есть замкнуть контакт PB8 на плюс питания) и нажать кнопку reset S1 или отключить и включить питание. Через секунду память будет уже стерта и перемычку необходимо снять, чтобы при следующем перезапуске память не стерлась снова. Когда память карт пуста, первая приложенная карта автоматически сохраняется как мастер карта. Данная версия прошивки поддерживает сохранение до трех карт в памяти микроконтроллера. Чтобы добавить в память новые карты необходимо поднести к считывателю мастер карту, это активирует на 3 секунды возможность сохранить новую карту в память микроконтроллера при условии, что место в памяти еще есть. После сохранения новой карты в памяти этот режим сразу же деактивируется. Очистить память можно только сразу всю методом, описанным выше при помощи перемычки.
Устройство имеет стандартную схематику и может быть собрано за полчаса на стандартных модулях, необходимо лишь правильно соединить все контакты и загрузить прошивку в микроконтроллер. Для прошивки нам понадобится программатор ST-Link и STM32 ST-LINK Utility.
Размеры модулей хорошо вписываются в заглушку на передней части корпуса ПК. При помощи двухстороннего скотча модули можно установить на нее без возможности испортить внешний вид корпуса. Скотч должен быть типа 3М для того, чтобы со временем модули не отвалились. Так с лицевой стороны можно оставить все в стандартном виде, а при желании в месте расположения RFID считывателя наклеить стикер, указывающий куда прикладывать карту.
Для подключения к компьютеру необходимо внутри корпуса подключить устройство к USB и к блоку питания. Для подключения к USB можно использовать свободные разъемы PLS на материнской плате или использовать USB разъемы. Чтобы подключиться к питанию, необходимо подключить дополнительные провода в разъеме к фиолетовому проводу (+5 Вольт дежурного питания), черному (земля, GND) и красному (+5 Вольт). Способ подключения к этим проводам не очень простой, т.к. резать провода совсем не хочется, чтобы подпаяться к ним, поэтому нужно, подогнув ушки контактов внутри пластикового разъема, извлечь этот контакт и либо припаять свой провод, либо ослабить обжим, вставить дополнительно свой провод и заново обжать контакт.
Собираем устройство в корпуса компьютера, размещаем модули на передней заглушке, подключаем контакты к разъемам блок питания и материнской платы.
При включении блока питания компьютера в розетку наше устройство должно сразу заработать, если блок питания исправен. А при подключении к USB устройство должно определиться как стандартная клавиатура.
Теперь сохраняем мастер карту (первую приложенную к считывателю карту) и устройство готово к использованию.
Чтобы устройство вводило пароль только на английском, используются горячие клавиши CTRL+0. Это сочетание клавиш включает тот язык, к которому оно привязано. Данное сочетание задается в параметрах языковой панели. По умолчанию горячие клавиши языков не используются, поэтому эту настройку необходимо сделать вручную.
Таким образом, при включенном компьютере устройство сначала передает сочетание клавиш CTRL+0 для перехода на английскую раскладку, далее следуют 5 байт уникального идентификатора RFID карты в шестнадцатеричной форме, то есть десять символов шестнадцатеричной кодировки и в конце нажатие клавиши Enter. При вводе пароля при помощи этого устройства необходимо, чтобы курсор был установлен именно в том поле, куда должен вводиться пароль.
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин |
---|---|---|---|---|---|
IC1 | МК STM32 | STM32F103C8 | 1 | Поиск в Fivel | |
VR1 | Линейный регулятор | AMS1117-3.3 | 1 | Поиск в Fivel | |
T1 | MOSFET-транзистор | IRLML2402 | 1 | Поиск в Fivel | |
VD1, VD2 | Выпрямительный диод | 1N4007 | 2 | Поиск в Fivel | |
Z1 | Кварц | 8 МГц | 1 | Поиск в Fivel | |
R1 | Резистор | 390 Ом | 1 | Поиск в Fivel | |
R2 | Резистор | 100 Ом | 1 | Поиск в Fivel | |
R3, R4, R6, R7 | Резистор | 10 кОм | 4 | Поиск в Fivel | |
R5 | Резистор | 3.3 кОм | 1 | Поиск в Fivel | |
R8, R9 | Резистор | 22 Ом | 2 | Поиск в Fivel | |
R10 | Резистор | 1 кОм | 1 | Поиск в Fivel | |
C1, C5, C7-C10 | Конденсатор | 0.1 мкФ | 6 | Поиск в Fivel | |
C2, C4 | Конденсатор | 22 пФ | 2 | Поиск в Fivel | |
C3 | Электролитический конденсатор | 220 мкФ | 1 | Поиск в Fivel | |
C6 | Электролитический конденсатор | 100 мкФ | 1 | Поиск в Fivel | |
S1 | Кнопка тактовая | 1 | Поиск в Fivel | ||
Rel1 | Реле | 5В | 1 | Поиск в Fivel | |
Jmp1 | Перемычка | Джампер | 1 | Поиск в Fivel | |
MOD1 | Модуль | RC522 | 1 | Поиск в Fivel | |
X1 | Разъем | USB | 1 | любой подходящий — micro, mini, A, B | Поиск в Fivel |
Скачать список элементов (PDF)
Прикрепленные файлы:
- MFRC522.pdf (814 Кб)
- 23(2).hex (47 Кб)
Sorry, the comment form is closed at this time.