Pitanje:
Biblioteka šifriranja za Arduino
Fly
2009-11-12 04:33:45 UTC
view on stackexchange narkive permalink

Koristim Arduino za čitanje tipkovnice i otvaranje električnog udara nakon unosa PIN-a tipkovnice. Za ovu skicu želio sam upotrijebiti nekakvu laganu enkripciju za pohranu PIN-ova u EEProm. Zna li netko za takvu knjižnicu? Čuo sam da je to moguće pomoću TwoFish.

Sedam odgovori:
#1
+12
Craig Trader
2009-11-13 04:39:34 UTC
view on stackexchange narkive permalink

Ne želite šifrirati lozinke (PIN-ove) - želite ih raspršiti. Kada netko unese lozinku, ti je hashiraš i uspoređuješ hash s pohranjenom hešom. Prednost ove metode (koja se koristi više od 30 godina) je ta što čak i ako se netko domogne izvora i hashova, još uvijek ne može utvrditi koji se PIN-ovi podudaraju s hashovima, sve dok odaberete dovoljno jak hash funkcija.

Ne želite sami implementirati šifriranje - želite koristiti tuđu knjižnicu, posebno onu s otvorenom implementacijom koju je testirala velika zajednica. Šifriranje je teško, testiranje je teško, a testiranje šifriranja je prokleto teško, pa neka netko drugi to učini umjesto vas.

Trebali biste provjeriti AVR Crypto Library koja je licencirana s GPLv3. Tu je i implementacija Skein za AVR.

Glasao za - dobar resurs i to bi trebalo postaviti kao odgovor na pitanje.
#2
+9
bigiain
2009-11-12 07:26:23 UTC
view on stackexchange narkive permalink

Ta veza koju je Hristos objavio, iako je možda korisna, sigurno se ne računa kao "šifriranje". To je zapravo samo "zatajivanje".

Pravilnu kriptografiju poznato je lako pogriješiti, čak i za ljude koji znaju matematiku.

Kao odgovor na izvorni post - koje su metode napada to bi nekome omogućilo pristup PIN-ovima u EEPromu? Sigurno ako su toliko ušli u vašu elektroniku, mogu samo "otkinuti crvenu žicu" i otvoriti vrata?

Ako nekako do imate sustav u kojem bi se napadači mogli domoći EEProm sadržaja, a da već nemaju dovoljno pristupa da vam otvore vrata, vjerojatno ih želite redizajnirati. Mogli biste pogledati jednosmjerne hash funkcije slične Unixovom raspršivanju lozinke - na taj način EEProm ne treba sadržavati ključ za dešifriranje - problem je što je prostor za pretraživanje PIN-ova vrlo mali - ako uspijem preuzeti raspršenu verziju PIN-a, mogu prilično brzo isprobati svih 10 000 mogućih PIN-ova, pretpostavljam da će ih bilo koji suvremeni laptop pokrenuti za nekoliko sekundi.

Slažem se (i složio sam se gore), jednosmjerno raspršivanje bilo bi korisno i ako programirate sustav, možete napraviti pin koliko god želite, npr. 8 znamenki daje 100 000 000 kombinacija, što bi trebalo potrajati mnogo duže.
#3
+1
Hristos
2009-11-12 05:05:44 UTC
view on stackexchange narkive permalink

Ovdje je metoda jednostavnog upisivanja na C jeziku koja se lako može prenijeti na Arduino. Čini se da je ovo najlakši način šifriranja podataka s ograničenim resursima arduina.

-EDIT- Da biste onemogućili ključ u svom programu, polovicu PIN-a možete učiniti ključem. To znači da vaš program uzima ključnu polovicu PIN-a za dešifriranje šifriranog 1/2 PIN-a pohranjenog u EEPromu. Ako se dešifrirani ključ iz EEProma podudara s dijelom vaše igle koji nije ključ, vrata će se otključati. To bi funkcioniralo samo u situaciji kada uljezi ne mogu srušiti vrata ili reprogramirati Arduino.

Ali ako nemaju pristup vašem čipu, ne morate šifrirati pin.
#4
+1
Amos
2009-11-12 05:06:40 UTC
view on stackexchange narkive permalink

Problem koji predviđam je da ako mogu vidjeti vaše igle, mogu vidjeti i vaš program koji šifrira / provjerava / dešifrira vaše igle. Osim toga, ako imaju vaš čip, ne mogu li samo izmijeniti program da uvijek daju pozitivan rezultat (učinkovito zaobilazeći provjeru) za bilo koji uneseni pin.

#5
+1
davr
2009-11-12 05:46:46 UTC
view on stackexchange narkive permalink

Kako planirate dekodirati šifrirane PIN-ove kako biste provjerili je li korisnik unio važeći PIN? Morat ćete spremiti ključ za dešifriranje ... u tom trenutku, ako napadač može pročitati vaš eeprom, on također može pročitati vaš blic kako bi pronašao ključ za šifriranje. U osnovi čineći cijelu vašu enkripciju potpuno beskorisnom. Kao što su drugi ljudi rekli, ako već ima mogućnost čitati vaš čip, mogao bi jednostavno napisati novi program. Puno je jednostavnije samo otvoriti vrata, sumnjam da bi se itko ikad potrudio pokušati hakirati vaš čip.

#6
+1
Lou
2009-11-12 19:27:24 UTC
view on stackexchange narkive permalink

Ovi su komentari doista uočljivi. Nema ništa loše u pokušaju eksperimentiranja kako biste naučili o šifriranju, ali ovo zapravo nije dobar projekt za učenje takvih stvari. Zaista želite dobar udžbenik i računalo, a kako kaže @bigiain, matematiku je notorno lako pogriješiti.

Da biste bolje razumjeli kako kriptografija djeluje i protiv čega se borite, Priručnik za primijenjenu kriptografiju izvrstan je i besplatan:

Ako samo želite osigurati svoj projekt, ovo je neučinkovit način. Ako vas zanima kriptografija, započnite s ovom knjigom i računalom.

Razumijem kriptografiju, čitao sam Brucea Schneiera i programiram više od dvadeset godina. Razumijem da je stvarna prijetnja samo razbiti vrata i proći pored bilo koje vrste Arduino kontrolera. Jednostavno ga ne mogu mirne savjesti instalirati s PIN-ovima čistog teksta u EEProm ako se to može izbjeći.
Postoji bilo koji broj jednostavnih metoda zamagljivanja koji bi bili jednako učinkoviti u ovoj ulozi ako želite izbjeći pohranu PIN-a s jasnim tekstom. Odgovori gore su vam samo pokušali pomoći da razumijete što kriptografija radi, a što ne. Evo AES biblioteke: http: //www.hoozi.com/Articles/AESEncryption.htmI ja bih to želio reći samo zato što ste programiran na 20 godina, ne znači da "razumijete" kriptografiju. To je potpuno drugačije područje. Dvadesetogodišnji automehaničar je vješta osoba, ali ne bih očekivao da će od nule dizajnirati CAN autobus. Provjerite svoj stav, molim vas.
O Bože ... 20 godina kodiranja i mislite da je moguće šifrirati runtime podatke ?????Prestati.
#7
+1
Tim Post
2009-11-12 23:59:44 UTC
view on stackexchange narkive permalink

Mrzim što ne odgovaram na pitanje dok pitam drugo, ali ...

Postoji li neki razlog zašto vaš uređaj nije zaštićen od neovlaštenog ponašanja? Vidio sam prekidače s gumbima u otvorima za vijke ugrađenim "na klupi" kako bi otkrio vrstu neovlaštenog ponašanja zbog koje ste zabrinuti. Onda .. dolazi klinac s butanskom mikro bakljom koja uspije dobiti vaš čip ne odvrćući ništa (ili oštetivši čip) .. nekako je znao dizajn vašeg sustava za zaštitu od neovlaštenog pristupa koji (također, nadamo se) uključuje otkrivanje promjena u ambijentalno svjetlo i / ili zvuk. Kada se poklopac skine, oboje se poprilično razlikuju .. danju ili noću.

Ako je to slučaj, to bi trebao biti dvodijelni sustav u kojem izloženi dijelovi komuniciraju s nečim gdje je enkripcija jednostavnija. Uz to, kontrolne sume (pomoć) uzimaju u obzir dijete s bakljom.

Mislim da tražite od odvijača da bude čekić.



Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 2.0 licenci pod kojom se distribuira.
Loading...