Hallo, Es sind EEPROMs gegen beabsichtigtes und unbeabsichtigtes Verändern zu schützen - vorzugweise als Hardware-Lösung. Lötbrücke wurde bereits abgelehnt, Leiterbahn durchtrennen soll auch keine Lösung sein. Es muß doch Bauteile geben, die genau für den Zweck „Schutz gegen Manipulation des EEPROM-Inhaltes” geeignet sind. Noch habe ich keine Vorstellung davon, was da ginge.
Soll das reversibel sein, oder dann dauerhaft write protected? Evtl eine ganz kleine SMD-Sicherung nutzen und die nach dem Schreibvorgang durchbrennen? Oder den Klassiker: Jumper.
Versteckte Prüüfsumme, nach einer Änderung läuft nichts mehr.
Warum eigentlich keinen nicht wieder beschreibbaren Speicher?
Wie groß ist der Inhalt? Wie oft soll dieser geändert werden?
Matthias K. schrieb: > Hallo, Es sind EEPROMs gegen beabsichtigtes und unbeabsichtigtes > Verändern zu schützen Ist nicht möglich.
Matthias K. schrieb: > Es sind EEPROMs gegen beabsichtigtes und unbeabsichtigtes Verändern zu > schützen - vorzugweise als Hardware-Lösung einfach die R/!W Leitung auf High schalten. Mein EEPROM im PC1500 hat alles vergessen, Programmiert 2005, Datenblatt sagt garantierte Datenerhaltung 10 Jahre, die waren wohl um. Kennt einer OTP ROMs auf Fuse Basis?, AND oder NOR egal, hauptsache JEDEC
:
Bearbeitet durch User
Klar gibt's das, z. B. manche (spezielle!) Varianten bei I2C- oder SPI- EPROMS: M24128 oder M95512. Die haben eine "Identification Page", ein spezieller kleiner Speicherbereich, der durch ein spezielles Kommando irreversibel schreibgeschützt werden kann. Berechnet man einen Hash über den "normalen" Speicherinhalt und schreibt den Hash in diese Identification Page ... Oder AT24MAC402, da gibt's permanenten Schreibschutz für eine Hälfte des Speichers. Das einzig ärgerliche bei allen Varianten dabei ist: man legt sich auf einen Hersteller fest. Oder man nimmt gleich einen STM32G030J6, der hat ein 1K OTP drin. Als I2C- oder SPI-Slave ... Da kann man natürlich auch gleich softwaremäßig ein größeres EEPROM mit simulieren.
Matthias K. schrieb: > Es sind EEPROMs gegen beabsichtigtes und unbeabsichtigtes Verändern zu > schützen - vorzugweise als Hardware-Lösung. Viele I2C-EEPROM haben einen WP-Pin (Write Protect), z.B. AT24C512C http://ww1.microchip.com/downloads/en/devicedoc/atmel-8720-seeprom-at24c512c-datasheet.pdf
Joachim B. schrieb: > Mein EEPROM im PC1500 hat alles vergessen, Programmiert 2005, Datenblatt > sagt garantierte Datenerhaltung 10 Jahre, die waren wohl um. Da hat viel eher der PC1500 rumgesponnen und den EEPROM gelöscht. Oder wars im RAM und die Stützbatterie war leer?
:
Bearbeitet durch User
Peter D. schrieb: > Da hat viel eher der PC1500 rumgesponnen und den EEPROM gelöscht. nein der lag 14 Jahre in der Schublade! also nix EEPROM gelöscht oder rumgesponnen. Nach dem Einbau mit Befehlserweiterung neue ROM Table funktionierte alles einwandfrei! Peter D. schrieb: > Oder wars im RAM und die Stützbatterie war leer? Nein ein EEPROM braucht keine Stützbatterie, das weisst du aber und im RAM war nichts. Das EEPROM hat einfach teilweise Daten verloren, was sich nach Reset in einen Absturz äusserte, die ROM Table wurde wohl noch angesprungen, aber danach hing er. Dann habe ich die /CS Leitung abgelötet und siehe da kaum ist die ROM Table in meinem EEPROM nicht mehr eingebunden funktioniert er wieder. Das OS hat ja echte ROMs, aber für Erweiterungen prüft das OS ob Erweiterungen, CE-150, CE-158 angeschlossen sind, sowie meine ROM(EEPROM) Erweiterung, das ging dann halt schief. Idee /CS mit dem freien PB1 auf LH5811 undieren, erst Reset, Neustart ohne EEPROM, dann /CS freischalten und EEPROM neu bespielen.
:
Bearbeitet durch User
Matthias K. schrieb: > Es sind EEPROMs gegen beabsichtigtes und unbeabsichtigtes Verändern zu > schützen - vorzugweise als Hardware-Lösung. > Lötbrücke wurde bereits abgelehnt, Leiterbahn durchtrennen soll auch > keine Lösung sein. Und was ist mit einem DIP-Switch oder Jumper? WE (write enable) Pins haben viele EEPROMs. Größe? Interface? Ansonsten mal wieder viel viel zu wenig Informationen. Soll das ein Selbstschutz gegen ein amoklaufendes Programm sein? Oder eine Sicherheitsmaßnahme gegen einen Angreifer? Und soll es den Bengel von nebenan fern halten oder den CCC oder die NSA? "Hardware-Lösung" klingt so, als wäre es akzeptabel, wenn man zum Setzen/Entfernen des Schreibschutzes physisch an das Gerät muß. Das ist gut, weil es im Gegensatz zu irgendwelchen Soft-Locks mit Magic Patterns zumindest überhaupt funktionieren kann. Der beste Schreibschutz wäre natürlich ein OTP Speicher. Wobei ein Angreifer den natürlich auch auslöten und ersetzen könnte.
die alten 2864 EEPROMS hatten einen Schreibschutz: Wenn man in einer (abenteuerlichen) Sequenz geschrieben oder gelesen hat, dann wurde dieser aktiviert oder deaktiviert. Siehe Datenblatt Beispiel: https://www.microchip.com/wwwproducts/en/AT28C64B
Joachim B. schrieb: > nein der lag 14 Jahre in der Schublade! > also nix EEPROM gelöscht oder rumgesponnen. Ich glaub trotzdem nicht, daß der EEPROM vergeßlich wurde. So ein Glitch auf dem /WE ist schnell passiert. Viele Geräte haben oft auch keinen richtigen Reset-IC, sondern nur ein arme-Leute-Reset mit RC-Glied. Wenn da die VCC nicht schnell von 0V an ansteigt, macht die CPU alles Mögliche. Es gibt daher EEPROMs mit Software Data Protection, z.B. AT28C256. Vor jedem Pagewrite muß mit einer speziellen 3-Byte Sequenz das Schreiben enabled werden. Die SDP muß aber erst eingeschaltet werden, ab Werk ist sie das nicht.
abc.def schrieb: > die alten 2864 EEPROMS hatten einen Schreibschutz: > Wenn man in einer (abenteuerlichen) Sequenz geschrieben oder gelesen > hat, dann wurde dieser aktiviert oder deaktiviert. > Siehe Datenblatt Beispiel: > https://www.microchip.com/wwwproducts/en/AT28C64B interssant aber, lt. Datenblatt: Data Retention (Years) 10 nicht unbedingt brauchbar (jedenfalls für mich) Joachim B. schrieb: > Mein EEPROM im PC1500 hat alles vergessen, Programmiert 2005, Datenblatt > sagt garantierte Datenerhaltung 10 Jahre, die waren wohl um. ich suche also immer noch ein OTP auf fuse Basis Dem TO mag ein simpler Schreibschutzschalter helfen 1x UM auch als DIP Switch mit pulldown und einem NAND Gatter R/!W & pulldown über DIP Switch gibt am NAND Ausgang immer high am R/!W und damit wäre der schreibgeschützt. muss man noch mal aufmalen, vermutlich braucht man ein oder mehr Gatter Zum Programmieren den Schalter umlegen Wahrheitstabelle switch_low, write low, CS low -> !W & !CS switch_low, write low, CS high -> !W & CS switch_low, write high, CS low -> R & !CS switch_low, write high, CS high -> R & CS usw. kann jemand anderes fertig stellen 3 Bits 8 Zustände auf !CS und R/!W ausgeben Schreibschutz bei switch low (oder high nach belieben) !CS und R/!W muss erhalten bleiben bei Schreibschutz nicht geschaltet.
Peter D. schrieb: > So ein Glitch > auf dem /WE ist schnell passiert. Glitchdetect war beschaltet, die Zeitkonstante ausreichend für alle PC1500, da wurde weder RAM noch EEPROM selectiert! Ist im Original immer funktionierend gewesen seit dem Erscheinen! Du erklärst damit nicht warum mein EEPROM Inhalt etliche Einschaltungen überlebt hat aber nicht die Jahre in der Schublade! OK du glaubst an Glitch ich an EEPROM Verlust einzelner Bits durch Langzeitlagerung. Peter D. schrieb: > Es gibt daher EEPROMs mit Software Data Protection, z.B. AT28C256 und immer noch 10 Jahre in Datenblatt die lange vorbei sind und das schreibt nur Atmel, keine Ahnung was ich eingebaut hatte 28C64 halt
:
Bearbeitet durch User
A. B. schrieb: > Klar gibt's das, z. B. manche (spezielle!) Varianten bei I2C- oder > SPI- > EPROMS: M24128 oder M95512. > Die haben eine "Identification Page", ein spezieller kleiner > Speicherbereich, der durch ein spezielles Kommando irreversibel > schreibgeschützt werden kann. > Berechnet man einen Hash über den "normalen" Speicherinhalt und schreibt > den Hash in diese Identification Page ... Es sind EEPROMS, die per i2c angesprochen werden. (bisher 24LC32; 24LC128) Es wir nun ein Schreibschutz gefordert, der folgende Eigenschaften haben soll - nach dem Eintragen von Meßwerten und Iderntifikationsnummer darf der Inhalt des EEPROM nicht mehr (einfach) verändert werden können. - Das Schützen des Inhaltes soll vorzugsweise per Hardware erfolgen (= Wunsch des Auftraggebers) - Das Schützen des Inhaltes muß für den Operator, der die Baugruppen prüft und verschließt, einfach und schnell zu erledigen sein (Löten ist zu umständlich). - Die Daten sollen mit dem Schutz fälschungssicher sein (Es gibt da eine Norm, die einzuhalten ist - muß ich mal erfragen) - auf den bestehenden Leiterplatten ist nur sehr wenig Platz CRC32 wurde als Lösung bereits erwogen, aber nicht sehr begrüßt > Das einzig ärgerliche bei allen Varianten dabei ist: man legt sich auf > einen Hersteller fest. das ist wirklich ein Problem > Oder man nimmt gleich einen STM32G030J6, der hat ein 1K OTP drin. Als > I2C- oder SPI-Slave ... > Da kann man natürlich auch gleich softwaremäßig ein größeres EEPROM mit > simulieren. (STM32G030J6 könnte für ein zukünftiges Projekt gut sein.) OTP ist ein gutes Stichwort. Es gibt wohl OTP-EPROMs mit nur wenigen Bytes. So ein Mini-EPROM ohne Löschfenster könnte die Lösung sein. Das ist vielleicht noch besser als eine reine Hardware-Lösung. (Ich hatte mir ein Bauteil vorgestellt, bei dem z.B. ein verborgener Kontakt durchstoßen wird.) Vielleicht gibt es sogar EEPROMS für i2c-Bus mit OTP, die mit dem MSOP-Footprint der 24LC32 kompatibel sind. Ich werde mich auf die Suche begeben. Wenn ich ohnehin das Layout ändern muß, könnte schon ein m24128-df in die engere Wahl kommen.
Paul schrieb: > Warum eigentlich keinen nicht wieder beschreibbaren Speicher? Zunächst müssen Werte an verschiedenen Stationen geändert werden können. Doch das läßt sich vielleicht durch andere Organisation auf einmaliges Beschreiben reduzieren. - wäre zu prüfen.
Joachim B. schrieb: … > einfach die R/!W Leitung auf High schalten. Für solch eine Lösung hatte ich den "Einmal-Schalter" gedacht. … > Kennt einer OTP ROMs auf Fuse Basis?,… OTP-EEPRROM oder Fuse-bit-Gechichten - muß ich mal verfolgen
Axel S. schrieb: … > "Hardware-Lösung" klingt so, als wäre es akzeptabel, wenn man zum > Setzen/Entfernen des Schreibschutzes physisch an das Gerät muß. > Das ist gut, weil es im Gegensatz zu irgendwelchen Soft-Locks mit Magic > Patterns zumindest überhaupt funktionieren kann. Der beste Schreibschutz > wäre natürlich ein OTP Speicher. Wobei ein Angreifer den natürlich auch > auslöten und ersetzen könnte. - ja, es wäre akzeptabel, wenn zur Manipulation das verklebte Gehäuse geöffnet und ein Bauteil ersetzt werden muß. (Jumper reicht nicht.) OTP-Speicher ist ein gutes Stichwort. Es wird wohl darauf hinauslaufen, entweder ein EEPROM mit OTP-Funktion zu finden oder einen kleinen OTP-EPROM, der wie eine Hardware-Lösung oder Sicherung wirkt. (bisherige EEPROM sind 24LC32 und 24LC128)
Man könnte einen kleinen MC nehmen, der nach außen I2C spricht und die Daten im internen Flash ablegt. Über ein I2C-Kommando werden die dann für alle Zeit schreibgeschützt. Z.B. der ATtiny85 im QFN (4*4mm²) hat 8kB Flash und läuft mit 1,8..5,5V.
Matthias K. schrieb: > CRC32 wurde als Lösung bereits erwogen, aber nicht sehr begrüßt Ja, das ist auch vergleichsweise schwach. Eher SHA256 oder so. Außedem muss man dabei natürlich Padding beachten: ggf. nicht benötigte Bereiche MÜSSEN mit einem vorgegebenen Muster gefüllt und auf Veränderungen geprüft werden. Oder der Hash wird nur über die tatsächlich benutzten Bereiche berechnet. Sonst hat ein Angreifer zu viele Freiheitsgrade.
holger schrieb: > Was für EEPROMs? Parallel, I2C, SPI? i2c ist verbaut. Die Schaltung soll "nur" noch um die Sicherheitsfunktion ergänzt werden.
Sven S. schrieb: > Soll das reversibel sein, oder dann dauerhaft write protected? > > Evtl eine ganz kleine SMD-Sicherung nutzen und die nach dem > Schreibvorgang durchbrennen? … es gibt zwar extrem kleine SMD-Sicherungen, ich habe aber A - noch keine Idee, wo ich die sinnvoll in der Schaltung plazieren sollte. B - noch keine Idee, wie der Operator die ohne Aufwand durchbrennen soll Ich stelle mir ienen Aufwand vor, der ähnlich dem Setzen eines Lötpunktes wäre. Solch ein Aufwand ist bereits abgelehnt.
Vorstellung zu OTP-Ergänzung - kleiner OTP-EPROM im SOT23 (oder kleiner) Gehäuse könnte noch auf die LP zu kriegen sein. Doch bisher habe ich kleine OTP-EPROM nur für 1wire gefunden. i2c zu 1wire sprengt wahrscheinlich Kostenrahmen und Platzbedarf. Die Lösungsmöglichkeit verdichtet sich zu m24128-df und ähnlichen ICs
Moin, Matthias K. schrieb: > A - noch keine Idee, wo ich die sinnvoll in der Schaltung plazieren > sollte. Mal was voellig abgefahrenes: vielleicht am WP(=WriteProtect) Pin? > B - noch keine Idee, wie der Operator die ohne Aufwand durchbrennen soll Einen Spannungsteiler zwischen Vss und Vcc aus 0402 Widerstaenden mit z.B. einem 4k7 nach Vcc und einem 47 Ohm nach Vss. Abriff auf den WP Pin und ein Loetpad. Schreibschutz wird aktiviert, indem das Loetpad so lange mit Vcc verbunden wird, bis die 47 Ohm durchgeschmurgelt sind... Schreiben wird wieder ermoeglicht durch Wechseln des 47 Ohm Widerstands. Gruss WK
Beitrag #6000822 wurde vom Autor gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.