Készülék egyedi szériaszámozása
Készülék egyedi szériaszámozása
Sziasztok!
Mivel oldanátok meg az egyedi szériaszám megvalósítását?
Kézenfekvő megoldásnak tűnik egy DS2401 beépítése, ám jó lenne, ha az adott AVR/ATtiny szériaszámát is ki lehetne olvasni (így nem kellene plusz alkatrészt beépíteni)... próbálkozott már ezzel valaki?
Mivel oldanátok meg az egyedi szériaszám megvalósítását?
Kézenfekvő megoldásnak tűnik egy DS2401 beépítése, ám jó lenne, ha az adott AVR/ATtiny szériaszámát is ki lehetne olvasni (így nem kellene plusz alkatrészt beépíteni)... próbálkozott már ezzel valaki?
-
Hooligan01
Nem akarom a tiltó fuse-bit-eket beállítani, mert például "távprogramozás" esetén jól jönne (user fel tudja tölteni az új verzót, de tudjon belőle gyártani/ne tudja másolni - hiába lesz meg neki a hex/bin, csak adott szériaszámmal működne (eeprom-ban tárolás ezért nem lenne optimális)).Hooligan01 írta:Kontroller belső eepromjába tárolni esetleg?
- De akkor hogyan/mi szerint generálod a "sorszámot" ? egyesével kézzel?
Mire gondoltál pontosan, hogy kiolvasható legyen? Milyen céllal?
Valószínűleg ez lesz, de gondoltam megkérdezem a nálam okosabbakatHooligan01 írta: Egyébként DS2401 a tuti, biztos hogy egyedi...
EEPROM _és_ a boot loader részbe sorozatszám.
Booptloader ellenőrzi, hogy jó-e.
FUSE biteknél a "Bootloader LPM/SPM" illetve a Serial/Paralell programming tilt. Így a firmware frissíthető marad.
EEPROMba mehet így serial (pl.fordítás dátuma/bascom verzió, mint Firmware jellemző)
Bootloaderben a memória &h42. byte-ja AA értéket vesz fel. Ezt a Bootloaderben az EEPROMban tárolt Firmware jellemzővel a 4. 6. és 9. byte-n XOR-olod és lemented a memória fix címére (Overlay).
A főpropgramban ezekkel az értékekkel _is_ számolsz. DE: ne a program elején egy "If-then"-nel döntsd el jó-e (igaz ez a külső 1Wire serialra is (kommunikáció lehlallgathó -> lsd később), hanem _véletlenszerűen_ egy belső szaámláló/RND alapján 1x-1x hibázzon véletlenszerűen... A program különböző helyein. legyen pl. a SETUPot állandóan be kell állítani, elmászik a sorosport sebessége, az idő elállítódik +/- 1-20 perceket és néha éveket. De total sztöhasztikus. Innen koppantáskor SWhibára legkevésbé gondolnak...
Fontos!
Ha a kommunikáció lehallgatható, akkor reprodukálható is. 1W slave-t most írom:) - Bascomul.... I2C meg ismert.
Ha a Firmware FIX, akkor teljesen védhető.
Érdemes esetleg egy DES/AES kódolt bootloader+uploader+firmware hármast összehozni, így a firmware sem lesz publikus... (azaz asm-be visszafejthető). Én ilyen esetben _fix_ firmware-t adnék és a csere esete az chip visszaküldéssel lenne firmware frissíthető... ezzel tudod kivédeni leginkább...
Booptloader ellenőrzi, hogy jó-e.
FUSE biteknél a "Bootloader LPM/SPM" illetve a Serial/Paralell programming tilt. Így a firmware frissíthető marad.
EEPROMba mehet így serial (pl.fordítás dátuma/bascom verzió, mint Firmware jellemző)
Bootloaderben a memória &h42. byte-ja AA értéket vesz fel. Ezt a Bootloaderben az EEPROMban tárolt Firmware jellemzővel a 4. 6. és 9. byte-n XOR-olod és lemented a memória fix címére (Overlay).
A főpropgramban ezekkel az értékekkel _is_ számolsz. DE: ne a program elején egy "If-then"-nel döntsd el jó-e (igaz ez a külső 1Wire serialra is (kommunikáció lehlallgathó -> lsd később), hanem _véletlenszerűen_ egy belső szaámláló/RND alapján 1x-1x hibázzon véletlenszerűen... A program különböző helyein. legyen pl. a SETUPot állandóan be kell állítani, elmászik a sorosport sebessége, az idő elállítódik +/- 1-20 perceket és néha éveket. De total sztöhasztikus. Innen koppantáskor SWhibára legkevésbé gondolnak...
Fontos!
Ha a kommunikáció lehallgatható, akkor reprodukálható is. 1W slave-t most írom:) - Bascomul.... I2C meg ismert.
Ha a Firmware FIX, akkor teljesen védhető.
Érdemes esetleg egy DES/AES kódolt bootloader+uploader+firmware hármast összehozni, így a firmware sem lesz publikus... (azaz asm-be visszafejthető). Én ilyen esetben _fix_ firmware-t adnék és a csere esete az chip visszaküldéssel lenne firmware frissíthető... ezzel tudod kivédeni leginkább...
AVR + DES bootloader:
http://www.avrfreaks.net/index.php?modu ... tem_id=500
Az atmel oldalon a "AVR230: DES Bootloader"-ben minden benne van... na jó, HEXet fordítani kell:(.
Leírás, igaz németül... A képek angolul vannak
:
http://www.ifas.htwk-leipzig.de/easytow ... 09_web.pdf
http://www.avrfreaks.net/index.php?modu ... tem_id=500
Az atmel oldalon a "AVR230: DES Bootloader"-ben minden benne van... na jó, HEXet fordítani kell:(.
Leírás, igaz németül... A képek angolul vannak
http://www.ifas.htwk-leipzig.de/easytow ... 09_web.pdf