Yanıtlar:
Şifreleri (PIN'ler) şifrelemek istemezsiniz; bunları karma hale getirmek istersiniz . Birisi bir parola girdiğinde, bu parolayı hash eder ve hash'ı depolanan hash ile karşılaştırırsınız. Bu yöntemin avantajı (30 yılı aşkın bir süredir kullanılır), biri kaynağı ve karmaları ele geçirse bile, yeterince güçlü bir karma işlevi seçtiğiniz sürece, hangi PIN'lerin karmalarla eşleştiğini söyleyememesidir .
Şifrelemeyi kendiniz uygulamak istemezsiniz, özellikle de büyük bir topluluk tarafından test edilmiş açık bir uygulamaya sahip bir başkasının kütüphanesini kullanmak istersiniz. Şifreleme zordur, test etmek zordur ve şifreleme testi zordur, bu yüzden sizin için başka birini yapmasını sağlayın.
GPLv3 ile lisanslanan AVR Kripto Kütüphanesine göz atmalısınız . AVR için Skein'in bir uygulaması da var .
Hristos'un yayınladığı bu bağlantı, muhtemelen yararlı olsa da, kesinlikle "şifreleme" olarak sayılmaz. Gerçekten sadece "şaşkınlık".
Doğru kriptografinin, matematiği bilen insanlar için bile yanlış anlaşılması çok kolaydır.
Orijinal gönderiye yanıt olarak - birinin EEProm'daki PIN'lere erişmesine izin verecek saldırı yöntemleri nelerdir? Kuşkusuz elektroniklerinize bu kadar girmişlerse, sadece "kırmızı kabloyu kesip" kapıyı açabilirler mi?
Bir şekilde olursa yapmak saldırganlar zaten kapıyı açmak için yeterli erişimi olmadan EEPROM içeriğinin ele geçirebilecek bir sisteme sahip, muhtemelen yeniden tasarlamak istiyorum. Sen olabilir EEPROM t bir şifre çözme anahtarı içermesi gerekmez bu şekilde - - Unix şifre karma benzer tek yönlü hash fonksiyonları bakmak sorun PIN'lerini için arama alanı olduğunu çok küçük - Ben karma sürümünü indirebilirsiniz eğer PIN, 10.000 olası PIN'in tümünü hızlı bir şekilde deneyebilirim, herhangi bir modern-dizüstü bilgisayarın hepsini birkaç saniye içinde çalıştıracağından şüpheleniyorum.
Sorduğum sorun, pinlerinizi görebilirlerse, pinlerinizi şifreleyen / kontrol eden / şifresini çözen programınızı da görebilirler. Ayrıca, çipiniz varsa, girilen herhangi bir pim için her zaman olumlu bir sonuç vermek için (kontrolü etkin bir şekilde atlayarak) programı değiştiremezler.
Kullanıcının geçerli bir PIN girip girmediğini kontrol etmek için şifrelenmiş PIN kodlarının kodunu çözmeyi nasıl planlıyorsunuz? Şifre çözme anahtarını saklamanız gerekir ... bu noktada saldırgan eepromunuzu okuyabiliyorsa, şifreleme anahtarını bulmak için flaşınızı da okuyabilir. Temel olarak tüm şifrelemenizi tamamen işe yaramaz hale getirir. Ayrıca diğer insanların söylediği gibi, eğer zaten çipinizi okuma yeteneğine sahipse, sadece yeni bir program yazabilirdi. Sadece kapıyı açık tekmelemek çok daha basit, ben hiç kimse çip kesmek için çalışırken sorun giderdim şüpheliyim.
İşte C'de Arduino'ya kolayca taşınabilen basit bir encription yöntemi. Bu, verileri arduino'nun sınırlı kaynaklarıyla şifrelemenin en kolay yolu gibi görünüyor.
-EDIT- Anahtarı programınızın dışında tutmak için PIN'in yarısını anahtar haline getirebilirsiniz. Bu, programınızın EEProm'da depolanan şifreli 1/2 PIN'in şifresini çözmek için PIN'in anahtar yarısını aldığı anlamına gelir. EEProm'un şifresi çözülen anahtar, PIN'inizin anahtar olmayan kısmı ile eşleşirse, kapı kilidi açılır. Bu sadece davetsiz misafirlerin kapıyı kırmasının veya Arduino'yu yeniden programlamasının mümkün olmadığı bir durumda işe yarayacaktır.
Başka bir soru sorarken soruyu cevaplamaktan nefret ediyorum, ama ...
Cihazınızın kurcalamaya karşı korumasız olmasının bir nedeni var mı? Endişe ettiğiniz kurcalamayı tespit etmek için 'tezgahta' vida deliklerinde basma düğmesi anahtarları gördüm. Sonra .. işte bir şey sökmeden (veya çipe zarar vermeden) çipinizi almayı başaran bir bütan mikro meşale ile geliyor .. bir şekilde, (ayrıca, umarım) değişiklikleri tespit etmeyi içeren kurcalamaya dayanıklı sisteminizin tasarımını biliyordu ortam ışığı ve / veya ses. Kapak söndüğünde, ikisi de gece veya gündüz oldukça farklı hale gelir.
Bu durumda, açıkta kalan parçaların şifrelemenin daha kolay uygulandığı bir şeyle iletişim kurduğu iki parçalı bir sistem olmalıdır. Ayrıca, sağlama toplamları (yardım) meşale ile çocuk için hesap.
Sanırım bir tornavidadan çekiç olmasını istiyorsun.
Bu yorumlar gerçekten yerinde. Şifreleme hakkında bilgi edinmeyi denemede yanlış bir şey yoktur, ancak bu gerçekten bu tür şeyleri öğrenmek için iyi bir proje değildir. Gerçekten iyi bir ders kitabı ve bir bilgisayar istiyorsun ve @bigiain'in söylediği gibi, matematik yanlış anlaşılması çok kolay.
Kriptografinin nasıl çalıştığını ve neye karşı olduğunuzu daha iyi anlamak için , Uygulamalı Kriptografi El Kitabı mükemmel ve ücretsizdir:
Sadece projenizi güvence altına almak istiyorsanız, bu verimsiz bir yöntemdir. Şifreleme ile ilgileniyorsanız, bu kitapla ve bilgisayarla başlayın.