Talaan ng mga Nilalaman:

Tagatago ng Password sa Aruino Pro Micro o Bakit Panatilihing simple Ito Kapag Umiiral ang Masalimuot na Paraan !: 15 Hakbang (na may Mga Larawan)
Tagatago ng Password sa Aruino Pro Micro o Bakit Panatilihing simple Ito Kapag Umiiral ang Masalimuot na Paraan !: 15 Hakbang (na may Mga Larawan)

Video: Tagatago ng Password sa Aruino Pro Micro o Bakit Panatilihing simple Ito Kapag Umiiral ang Masalimuot na Paraan !: 15 Hakbang (na may Mga Larawan)

Video: Tagatago ng Password sa Aruino Pro Micro o Bakit Panatilihing simple Ito Kapag Umiiral ang Masalimuot na Paraan !: 15 Hakbang (na may Mga Larawan)
Video: CS50 2013 - Week 9 2024, Nobyembre
Anonim
Tagatago ng Password sa Aruino Pro Micro o Bakit Panatilihing simple Ito Kapag Umiiral ang Masalimuot na Paraan!
Tagatago ng Password sa Aruino Pro Micro o Bakit Panatilihing simple Ito Kapag Umiiral ang Masalimuot na Paraan!

Tila, na ang pangunahing problema sa mga microcontroller para sa fan ng electronics (lalo na ang mga nagsisimula) ay upang malaman kung saan ilalapat ang mga ito:) Ang electronics ng Nowaday, lalo na ang digital, ay mas mukhang isang itim na mahika. Ang 80-Lvl na hangarin lamang ang makakagawa ng isang bagay doon na may maliliit na bahagi. Iyon ang isang dahilan kung bakit ang Arduino boards ay naging tanyag. Naka-encapsulate ang mga ito ng itim na mahika at ilang mga usok;) sa board na may mga pin na mapapamahalaan ng tao.

Ang post na ito nais kong italaga sa isang medyo simpleng proyekto, na pinangalanang PasswordKeeper, sa base ng Aruino Pro Micro board. Ang board na ito ay nag-host ng ATmega32U4 chip.

Hakbang 1: Ang Ideya

Ang ideya
Ang ideya

Sa loob ng mahabang panahon ay nais kong gumawa ng isang bagay na simpe at kapaki-pakinabang sa ilang controller. At pagkatapos ay ang isang kasamahan ko ay nagtapon ng isang kagiliw-giliw na ideya - siya ay masyadong tamad na mag-key-in sa pag-login at password sa kanyang computer araw-araw. Kaya kumuha siya ng maliit na board na DigiSpark (ATTiny85) at lumikha ng isang aparato, na nagpapadala ng pag-login + password sa isang computer kapag na-click ang pindutan. Narito ang salungat na ito.

Hakbang 2: Idea at Mga Kable

Idea at Kable
Idea at Kable

Ang mahusay na ideya - Akala ko. Bakit hindi hiramin ito at maglapat ng ilang nakababaliw na pagkamalikhain dito.

Muling pagbuo ng proyekto ng Arduino at i-reload ito sa pisara sa tuwing magbabago ang password - "Hindi ang droid na iyong hinahanap" [alon]. Masyadong prangka. Dadalhin namin ang mas maraming gusot na ruta!

Dapat ipakita ng contraption kung paano ito gumagana. Ngunit tatlong karaniwang mga on-board LED lamang - napakaliit nito para sa hangaring ito. Hayaang itaas ang numero ng LED sa 4099! Kaya't isang maliit na OLED 128X32 display module ang naidagdag sa proyekto. Hindi ko maisip kung saan ito bubulutin nang medyo matagal. At ganap na umaangkop sa proyektong ito. Ang isang pares ng higit pang mga pindutan - at ang lahat ay handa na upang pumunta!

Walang sapat na puwang sa ATTiny85 chip para sa proyekto - pagdaragdag ng display na nakuha para sa graphic library + mga font. Kaya't ang lahat ng bagay na ito ay hindi umaangkop sa memorya ng DigiSpark. Ang mabilis na paghahanap ay may angkop na platform: Arduino Pro Micro.

Ang pangunahing ideya ng proyekto ay ang ATmega32U4 bilang default na nagpapanggap na HID aparato - USB keyboard at USB COM port. Ang mga driver para sa mga aparatong ito ay paunang naka-install sa karamihan ng operating system - at wala nang iba pang kailangang mai-set up.

Ang PasswordKeeper, na binigyang pansin mo, ay isang chindogu na gumagaya sa pag-click ng mga pindutan sa keyboard. Maaaring maglipat ang mga cliks ng isang pag-login at isang password sa isang computer. Kahit na sa lahat ng lugar sa Ctrl-Alt-Del ay maaaring maipadala sa pamamagitan ng pag-click ng 1 pindutan sa halip na 3. O anumang iba pang pangunahing pagkakasunud-sunod ng iyong lasa.

Ang form factor ng mga napiling module ay napaka-siksik, ngunit sa kabila nito, madaling makubal. Posible sa pinakamaliit na pagsisikap na tipunin ang maliit at sa halip kapaki-pakinabang na aparato. Ang mga kable ay hindi maaaring maging mas simple.

Hakbang 3: Pagluluto

Nagluluto
Nagluluto

Mga Sangkap ng Contraption:

1) Aruino Pro Micro - 1 piraso

2) OLED display 128x32 - 1 piraso

3) Mga Pindutan - 2 piraso (o anumang iba pang uri - sa pamamagitan ng kapintasan).

4) Mga konektor ng DuPont - 7 piraso (o ilang kawad para sa paghihinang nito nang magkasama - ayon sa lasa).

Ilagay ang lahat sa maliit na lalagyan ng pagkain at iling itong mabuti. Ayon sa posibilidad na ang mga item ng teorya ay magkakaugnay sa ating sarili ng tamang paraan sa paglaon.

Ay, teka! Hindi ito artikulo na nauugnay sa pagluluto! Humihingi ako ng paumanhin.

Mas mahusay mong ikonekta ang lahat ng ito nang manu-mano - ayon sa diagram ng mga kable at i-save ang iyong sarili ng ilang eon ng pag-alog.

Kaya ang prototype para sa sketch debugging / pagsubok ay handa na.

Hakbang 4: Pagbubuo ng isang Kaso

Bumubuo ng isang Kaso
Bumubuo ng isang Kaso

Tila gumagana ang sketch. Ngunit hindi maginhawa ang paggamit ng aparato sa form na ito. Kaya't ang isang maliit na trabaho sa Sketchup ay nagbibigay sa amin ng isang maliit na pambalot.

Mga Update: Isang ideya tungkol sa kaso.

Maaari kang kumuha ng anumang naaangkop na maliit na transparent na kahon ng plastik.

O kumuha ng manipis na transparent na plastik mula sa ilang mga pakete. Bend ito ayon sa aparato geometry. Ilagay ang electronics sa loob at punan ang lahat ng libreng puwang ng transparent silicon. Dapat itong bigyan ka relatifully maganda ang hitsura ng aparato.

Hakbang 5: 3D Prining

3D Prining
3D Prining

I-tornilyo ito sa pinakamalapit na 3D printer.

Hakbang 6: Handa Na ang Kaso

Kaso Handa Na
Kaso Handa Na

At tulad ng dati, kinakailangan ang pagmamadali kapag nakahahalina ng pulgas.

Ang unang bersyon ng pambalot ay medyo maliit at ang board ay hindi umaangkop!

Nakaligtaan si Akela na umalis ng ilang mga puwang. Kaya't ang pagguhit ay naitama at muling nai-print.

Ang pangalawang pass ay mas mahusay - ang board ay perpektong umaangkop.

Hakbang 7: Sinusubukang Kaso

Sinusubukang Kaso
Sinusubukang Kaso

Ilagay ang board sa loob, pindutin ito at may isang katangian na langutngot na naka-lock sa lugar.

Sinusubukan ang mga pindutan - umaangkop din sila.

Hakbang 8: Paghihinang. Mga wire

Paghihinang. Mga wire
Paghihinang. Mga wire

Sa pamamagitan ng paraan, naghahanap ako ng mahabang panahon para sa isang mahusay na prototyping wire.

Bilang isang resulta, gumagamit ako ngayon ng 30AWG wire sa aking mga proyekto. Maaari mong makita ang mga ito sa larawan. Ito ay pambalot na kawad.

Ilang mga tao ngayon ang naaalala kung para saan ito.

Ngunit perpektong umaangkop ito para sa on-board na paghihinang din. Maganda ang mga kulay na wires para sa pag-ayos ng karaniwang gulo sa pamamagitan ng pagtatalaga ng mga natatanging kulay sa mga pag-andar ng kawad. Ang wire ay manipis. Pinipigilan ng pagkakabukod ang temperatura ng mahusay na panghinang. Ang karaniwang pagkakabukod ng PVC ay natutunaw sa panahon ng paghihinang kaagad. Ang isang ito ay naging malambot, ngunit nagtataglay ng hugis nito at pinapayagan ang paminsan-minsang pag-ugnay ng isang panghinang na tip na hindi natutunaw sa core.

Hakbang 9: Handa na ang PwKeeper

Handa na ang PwKeeper
Handa na ang PwKeeper

Kaya't ang pagsasama-sama ng lahat ay nagbibigay sa amin ng isang maliit na token na kumokonekta sa isang computer at pinapayagan kang pamahalaan at gamitin

isang malaking bilang ng mga pag-login at password.

Hakbang 10: PwKeeperPc - Madaling Pag-edit ng Data sa Token

PwKeeperPc - Madaling Pag-edit ng Data sa Token
PwKeeperPc - Madaling Pag-edit ng Data sa Token

Ang bilang ng mga pag-login ay limitado ng dami ng on-board na memorya ng EEPROM (1024 bytes) at ang haba ng mga password.

Ang memorya ng EEPROM ay nagpapanatili ng isang bilang ng mga talaan.

Naglalaman ang bawat tala ng patlang ng komento at hanggang sa 8 mga patlang ng teksto.

Dalawa sa mga patlang ng teksto ang pinangalanan ang Pangalan at ang Password - para lamang sa pamamahala ng pamamahala.

Pinapayagan ka ng display na piliin ang nais na pag-login na nagpapakita sa iyo ng mga field ng komento.

Pinapayagan ka ring i-edit ang data sa token. Maaaring mai-edit ang data sa pamamagitan lamang ng dalawang mga pindutan. Nag-squees ako ng ilang uri ng Editor sa token. Ngunit, sa totoo lang, dapat kang maging isang masokista upang magamit ito.

Samakatuwid, upang gawing simple ang pamamahala ng mga password kailangan kong magsulat ng isang espesyal na programa para sa PC (sa pamamagitan ng paraan - huwag foget upang ilipat ang token sa USB mode kapag ginamit mo ang program na ito).

Mga Update: Para sa * nix na tao ay nagdagdag ako ng serial TTY console sa PwKeeper v1.4 firmware. Ang console na ito ay naaktibo mula sa menu ng aparato. Kumonekta dito sa anumang naaangkop na programa ng terminal - at maaari mong i-edit ang data sa PwKeeper na may maraming mga katulad na utos na VI. Posibleng gamitin ang console sa Windows platform din. Pindutin lamang ang Ctrl-Shift-M mula sa Arduino IDE at nandiyan ka (huwag kalimutang buhayin ang TTY sa PwKeeper bago). Ngunit ang PwKeeperPc ay mas maginhawa, sa palagay ko.

Hakbang 11: Tumatakbo ang PwKeeper

Tumatakbo ang PwKeeper!
Tumatakbo ang PwKeeper!

Naglalaman ang token ng napaka-sensitibong data kaya't ang ilang mga pagsisikap ay dapat na ilagay sa seguridad.

Ang pangunahing password upang i-unlock ang token ay mayroon.

Walang laman ito bilang default, ngunit habang itinatakda mo ito sa token, dapat mo itong ipasok sa bawat oras pagkatapos ng power-on.

Ang pangunahing password ay isang tinukoy ng gumagamit na pagkakasunud-sunod ng solong at doble na pag-click ng pataas at pababang mga pindutan.

Hakbang 12: Daloy ng Mga Saloobin

Sa teoretikal, posible na i-encrypt ang data sa EEPROM gamit ang ilang cryptographic algorithm - ang ilang puwang naiwan pa rin sa flash. Ngunit ang mga pagsisikap na ito ay hindi makikita mula sa labas - kaya't hindi ako nag-abala.

Ang token sa normal na estado nito ay hindi nakikita ng computer. Upang ilagay ito sa mode na pag-edit ng USB dapat mo itong pisikal na gawin sa pamamagitan ng pagpindot dito. Gayundin, upang magpadala ng isang password dapat mong pisikal na pindutin ang isang pindutan UP. Kaya't ang nakakahamak na hacker ay hindi nakawin ang iyong mga password mula sa token. Mahuhuli niya sila sa isang USB port kapag ipinadala mo sila mula sa token;)

Ang resulta ng proyektong ito ay isang contraption kung saan nag-iimbak ako ng mga password para sa aking mga bank account at forum. Gayundin natagpuan ng aking mga magulang na kapaki-pakinabang para sa pag-log in sa web mail at maraming iba pang mga site.

Lalo na para sa aking kasamahan na nai-program ko ang lahat ng natitirang mga input ng board bilang mabilis na mga pindutan sa pag-access. Hanggang sa 12 mga pindutan ay maaaring konektado mula sa natitirang mga input pin hanggang sa lupa. Sa pamamagitan ng pag-click sa isa sa mga pindutan na ito tumatalon ka sa kaukulang pag-login (kung mayroon ito). Kaya kailangan mo lamang pindutin ang pindutan ng UP upang maipadala ito. O pindutin nang matagal ang isang pindutan ng shortcut.

Hakbang 13: Inspeksyon-1

Pag-iinspeksyon-1
Pag-iinspeksyon-1

Bago magpunta sa publiko ang PwKeeper ay sumailalim sa masusing pagsusuri.

Hakbang 14: Inspeksyon-2

Pag-iinspeksyon-2
Pag-iinspeksyon-2

Ang Head Of Inspection ay kagigising lamang at wala sa mood.

Ngunit nakasimangot siya - bakit malinaw na inalok ang publiko sa publiko na malinaw na hindi natapos na aparato.

Ang mga salita ko, na kailangan niyang i-verify ang kalidad ng produkto at mahirap gawin sa saradong kaso, ay hindi na lamang niya pinansin.

Wala nang bago (pagkatapos magbigay ng sausage) naglabas siya ng sertipiko ng pag-apruba.

Inirerekumendang: