Dnes sestavíme zařízení, které si pamatuje naše hesla a stisknutím tlačítka je automaticky zadáme do počítače. V takovém případě budou hesla chráněna. Autorem tohoto domácího produktu je Michael (kanál YouTube „Arturos TV“).
Pro nezávislou výrobu takového zařízení potřebujeme pouze 3 komponenty. Za prvé, je to samozřejmě platforma (prosím, nezaměňujte se arduino pro mini).
Tento arduino má nainstalován mikrokontrolér ATmega32u4, což znamená, že má vestavěný USB, to znamená, že počítač rozpoznává tento arduino jako myš nebo klávesnici. Dnešní projekt bude postaven kolem této funkce.
Také tento arduino má poněkud nestandardní pinout. S tímto se však setkáme o něco později. Kromě toho budeme muset procházet nabídkou a poté zadat heslo.
Pojďme se krátce zabývat principem své práce. Kodér má 2 kontakty zvané podmíněně, aab, podle toho, kterým směrem se kodér otočí.
Pokud jej například otočíme ve směru hodinových ručiček, kontakt „a“ se nejprve uzavře a teprve pak kontakt „b“. Na základě toho v programu můžeme pochopit, že kodér byl otočen ve směru hodinových ručiček. Pokud se otáčí proti směru hodinových ručiček, kontakt „b“ bude nejprve uzavřen a teprve pak kontakt „a“. Po každé revoluci je také cítit mírné kliknutí. Na tomto základě bude založeno heslo, které bude nutné zadat, abyste získali přístup k našemu zařízení.
Nabídka zařízení se zobrazí na známé, samozřejmě na sběrnici I2C.
A existuje mírná nuance. V arduino pro micro nejsou kontakty I2C na standardních portech A5 a A4, ale na kontaktech 2 a 3, takže zde musíte připojit displej.
Obecně schéma celého sestaveného zařízení vypadá takto:
Případ samozřejmě vytiskneme na 3d tiskárně.
Tentokrát se to ukázalo velmi dobře, ale z nějakého důvodu se autor rozhodl udělat design, a proto spodní kryt nebyl příliš krásný. Ale není co dělat, ale s rozměry pouzdra a vzdáleností mezi otvory se tentokrát všechno ukázalo velmi dobře. Všechny detaily padly na místo a s velmi malými obtížemi se ukázalo, že všechny šrouby dotáhly k upevnění dílů. Žhavé lepidlo bylo bohužel opět možné, ale v tomto projektu to už bylo trochu.
Nejzajímavější věcí na tomto projektu bylo samozřejmě psaní firmwaru.
Nebudeme se podrobně zabývat podrobnostmi, ale je nutné vám sdělit některé z jeho funkcí. V první řadě se jedná o použití knihovny keyboard.h.
Tato knihovna se používá pouze s mikrokartony arduino leonardo a arduino pro nebo s těmi, které mají vestavěné mikrokontroléry USB. Pokud se pokusíte s touto náčrtkou blesknout jakékoli jiné arduino, které nemá takový vestavěný USB, vývojové prostředí se přísahá, takže buďte opatrní. Další zajímavou knihovnou je EEPROM.h.
Jeho autor používá ke zkomplikování útočníků, kteří hackují naše zařízení. Více o tom později. Tato linie bude pro vás velmi zajímavá:
Zde nastavíme přístupový kód pro odblokování našeho zařízení. Trochu později o bezpečnosti, ale pamatujte si, že zde máme příležitost specifikovat buď „0“ nebo „1“. V tuto chvíli jsme nastavili heslo „101“.
A také velmi důležitý blok, to je vlastně místo, kde budou uložena hesla.
Vezměte prosím na vědomí, že se jedná o dvourozměrné pole a počet hesel je zde obecně neomezený. Přestože je přísně vzato omezeno pamětí zařízení, lze to zanedbat. Je velmi důležité dodržovat formát záznamu. Předpokládejme, že první pole je to, co se objeví v nabídce na zařízení. To je například „Správce“.
Poté, oddělenými čárkami a v uvozovkách, musíme napsat heslo, které chceme, aby zařízení vstoupilo do počítače. Například existuje sekce „Test“ (tato bude zapsána na obrazovku našeho zařízení).
A pokud stiskneme tlačítko, bude tento text vložen do počítače:
Krása tohoto zařízení spočívá v tom, že pokud je mikrokontrolér zablikán nějakým druhem náčrtu, není možné se odtud dostat. Pokud jste zde jednou nastavili všechna hesla a všechna jejich jména a poté je z tohoto firmwaru vymazali, nebude mít nikdo jiný přístup k vašim heslům, kromě toho, že útočník toto zařízení crackuje a pochopí, jak to funguje.
Toto je poměrně dlouhý firmware a nebudeme se zabývat jeho detaily. Můžete si jej stáhnout odkazem v popisu pod autorovým videem (odkaz ZDROJ na konci článku).
Takže jsme hotovi s firmwarem, takže teď se podívejme, jak toto zařízení funguje. Připojujeme jej k počítači, takže získává energii.
Naším úkolem je nyní zadat heslo. Heslo, jak si pamatujete, je nula a hesla, navíc „1“ je jedno kliknutí rotace kodéru ve směru hodinových ručiček a „0“ je rotace proti směru hodinových ručiček. To znamená, že protože jsme nastavili heslo 101, musíme posouvat páku 1krát doprava, 1krát doleva a poté znovu doprava.
Poté zadáme heslo kliknutím na kodér a můžeme získat přístup k heslu v počítači.
Upozorňujeme, že máme pouze 3 pokusy. Pokud je všechny utratíme, zařízení vás požádá o vyčkávání jednu minutu, než se pokusíme znovu zadat heslo.
A pro ty, kteří jsou obzvláště chytří, kteří chápou, že potřebují počkat minutu a odpojit zařízení od napájení, a pak se znovu připojit, zařízení jim řekne, že musí zastavit své zákeřné triky a že o nich vědí všechno, protože čas je stále potřebný čekání je neustále zaznamenáno v energeticky nezávislé paměti.
Doufám, že pochopíte, jak toto zařízení funguje. Děkuji za pozornost. Uvidíme se brzy!
Video: