Съдържание:

Пазител на пароли на Aruino Pro Micro или защо да го правите прост, когато съществува сложен начин!: 15 стъпки (със снимки)
Пазител на пароли на Aruino Pro Micro или защо да го правите прост, когато съществува сложен начин!: 15 стъпки (със снимки)

Видео: Пазител на пароли на Aruino Pro Micro или защо да го правите прост, когато съществува сложен начин!: 15 стъпки (със снимки)

Видео: Пазител на пароли на Aruino Pro Micro или защо да го правите прост, когато съществува сложен начин!: 15 стъпки (със снимки)
Видео: CS50 2013 - Week 9 2024, Ноември
Anonim
Пазител на парола на Aruino Pro Micro или защо да го правите прост, когато съществува сложен начин!
Пазител на парола на Aruino Pro Micro или защо да го правите прост, когато съществува сложен начин!

Изглежда, че основният проблем с микроконтролерите за почитателите на електрониката (особено начинаещите) е да разберат къде да ги прилагат:) В днешно време електрониката, особено цифровата, все повече прилича на черна магия. Само магьосници от 80 нива могат да направят нещо с малки компоненти. Това е причина дъските Arduino да станат много популярни. Те капсулират черна магия и малко дим;) в дъската с управляеми от човека щифтове.

Тази публикация, която искам да посветя на един доста прост проект, наречен PasswordKeeper, на базата на дъската Aruino Pro Micro. Тази платка е с чип ATmega32U4.

Стъпка 1: Идеята

Идеята
Идеята

Дълго време исках да направя нещо опростено и полезно с някакъв контролер. И тогава един мой колега хвърли интересна идея - беше твърде мързелив да въвежда всеки ден вход и парола в компютъра си. Затова той взе миниатюрна платка DigiSpark (ATTiny85) и създаде устройство, което при натискане на бутон изпраща данни за вход и парола към компютър. Ето тази измислица.

Стъпка 2: Идея и окабеляване

Идея и окабеляване
Идея и окабеляване

Отличната идея - помислих си. Защо не го вземете назаем и не приложите малко лудо творчество към него.

Възстановяване на проекта Arduino и презареждането му в дъската всеки път, когато се промени паролата - „Не търсите дроидите, които търсите“[вълна]. Твърде ясно е. Бихме поели по много по -заплетен маршрут!

Изграждането трябва да покаже как работи. Но само три стандартни вградени светодиода - това е твърде малко за тази цел. Нека повишим LED номера до 4099! Така че към проекта беше добавен малък дисплей OLED 128X32. Не можех да измисля къде да го стисна за известно време. И се вписваше идеално в този проект. Още няколко бутона - и всичко е готово!

Нямаше достатъчно място в чипа ATTiny85 за проекта - добавяне на дисплей, изтеглен за графична библиотека + шрифтове. Така че всички тези неща просто не се вписват в паметта на DigiSpark. Бързото търсене идва с подходяща платформа: Arduino Pro Micro.

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

PasswordKeeper, представен на вашето внимание, е chindogu, който имитира щракване на бутони на клавиатурата. Тези кликове могат да прехвърлят вход и парола към компютър. Дори вездесъщият Ctrl-Alt-Del може да бъде изпратен чрез натискане на 1 бутон вместо на 3. Или на всяка друга клавишна последователност по ваш вкус.

Форматният фактор на избраните модули е много компактен, но никога не е лесен за заплитане. Възможно е с минимални усилия да се сглоби малкото и доста полезно устройство. Окабеляването просто не може да бъде по -просто.

Стъпка 3: Готвене

Готвене
Готвене

Състав на съставка:

1) Aruino Pro Micro - 1 брой

2) OLED дисплей 128x32 - 1 брой

3) Бутони - 2 броя (или всеки друг тип - от flawor).

4) Конектори DuPont - 7 броя (или някакъв проводник за запояване на всички заедно - по вкус).

Сложете всичко в малък контейнер за храна и го разклатете добре. Според теорията на вероятностите елементите се свързват правилно в крайна сметка.

О, чакай! Това не е статия, свързана с готвенето! Моите извинения.

По -добре свържете всичко заедно ръчно - според схемата на свързване и си спестете няколко еона разклащане.

Така че прототипът за отстраняване на грешки / тестване на скици е готов.

Стъпка 4: Конструиране на случай

Изграждане на калъф
Изграждане на калъф

Скицата изглежда работи. Но е неудобно да използвате устройството в тази форма. Така че малко работа в Sketchup ни осигурява малък корпус.

Upd: Идея за случая.

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

Или вземете тънка прозрачна пластмаса от някаква опаковка. Огънете го според геометрията на устройството. Поставете електроника вътре и запълнете цялото свободно пространство с прозрачен силиций. Това трябва да ви даде относително хубаво изглеждащо устройство.

Стъпка 5: 3D отпечатване

3D отпечатване
3D отпечатване

Хвърли го в най -близкия 3D принтер.

Стъпка 6: Калъфът е готов

Калъфът е готов
Калъфът е готов

И както обикновено, бързането е необходимо при улов на бълхи.

Първата версия на корпуса е малко малка и платката не пасва!

Акела пропусна да остави някои празнини. Така че рисунката се коригира и препечатва.

Второто преминаване беше по -добро - дъската пасва идеално.

Стъпка 7: Изпробвайте случая

Пробвам калъф
Пробвам калъф

Поставете дъската вътре, натиснете върху нея и с характерна хрускане я заключи на мястото си.

Пробвайте бутони - те също пасват.

Стъпка 8: Запояване. Проводници

Запояване. Проводници
Запояване. Проводници

Между другото, от доста време търся добра тел за прототипиране.

В резултат на това сега използвам 30AWG тел в моите проекти. Може да ги видите на снимката. Това е опаковъчна тел.

Малко хора сега си спомнят за какво служи.

Но той пасва идеално и за бордови спойки. Цветните проводници са подходящи за подреждане на обичайната бъркотия чрез присвояване на различни цветове на функциите на проводника. Телта е тънка. Изолацията издържа на температурата на кладенеца за поялник. Типичната PVC изолация се топи по време на запояването веднага. Този се омекотява, но запазва формата си и позволява от време на време докосване на върха на поялника, без да се топи до сърцевината.

Стъпка 9: PwKeeper е готов

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

Така че сглобяването на всичко ни дава малък знак, който се свързва с компютър и ви позволява да управлявате и използвате

доста голям брой влизания и пароли.

Стъпка 10: PwKeeperPc - Лесно редактиране на данни в Token

PwKeeperPc - Лесно редактиране на данни в жетон
PwKeeperPc - Лесно редактиране на данни в жетон

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

Паметта на EEPROM съхранява редица записи.

Всеки запис съдържа поле за коментар и до 8 текстови полета.

Две текстови полета с име и парола - само за удобство при управление.

Дисплеят ви позволява да изберете желания вход, като ви показва полетата за коментари.

Той също така ви позволява да редактирате данните в маркера. Данните могат да се редактират само с два бутона. Стиснах някакъв редактор в жетона. Но, честно казано, трябва да сте мазохист, за да го използвате.

Ето защо, за да опростя управлението на паролите, трябваше да напиша специална програма за компютъра (между другото - не забравяйте да превключвате маркера в USB режим, когато използвате тази програма).

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

Стъпка 11: PwKeeper работи

PwKeeper работи!
PwKeeper работи!

Токенът съдържа много чувствителни данни, така че трябва да се положат известни усилия за сигурност.

Основната парола за отключване на маркера съществува.

Той е празен по подразбиране, но докато го задавате в маркера, трябва да го въвеждате всеки път след включване.

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

Стъпка 12: Поток от мисли

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

Токенът в нормалното си състояние не се вижда от компютъра. За да го поставите в режим за редактиране на USB, трябва физически да го направите, като натиснете бутоните върху него. По същия начин, за да изпратите парола, трябва физически да натиснете бутона НАГОРЕ. Така че злонамереният хакер не би откраднал вашите пароли от токена. Той би ги хванал на USB порт, когато ги изпратите от жетон;)

Резултатът от този проект е измислица, където съхранявам пароли за банковите си сметки и форуми. Също така родителите ми намериха полезно за влизане в уеб поща и няколко други сайтове.

Специално за моя колега програмирах всички останали входове на платката като бутони за бърз достъп. До 12 бутона могат да бъдат свързани от останалите входни щифтове към земята. Като щракнете върху един от тези бутони, преминавате към съответния вход (ако съществува). Така че трябва само да натиснете бутона НАГОРЕ, за да го изпратите. Или задръжте бутона за пряк път още малко.

Стъпка 13: Инспекция-1

Проверка-1
Проверка-1

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

Стъпка 14: Проверка-2

Проверка-2
Проверка-2

Ръководителят на инспекцията току -що се събуди и не е в настроение.

Но той винаги се мръщи- защо явно недовършено устройство се предлага на обществеността.

Моите думи, че той трябва да провери качеството на продукта и че е трудно да се направи със затворен случай, бяха просто игнорирани от него.

Непоколебим (след подкупване с наденица) той издава удостоверението за одобрение.

Препоръчано: