Ich entwickle kommerziell eingebettete Hardware mit Microchip dsPIC oder ähnlichen Prozessoren.
Die Firmware, die ich habe, ist manchmal sehr komplex und kostspielig und muss in der Hardware hacker- und manipulationssicher sein. Alle grundlegenden Softwareschutzmaßnahmen sind vorhanden, aber für 500 bis 1.000 US-Dollar kann der Hex-Code über mehrere ausländische Website-Dienste abgerufen werden, selbst wenn Sicherheitssicherungen vorhanden sind (die nur unbestimmte Manipulationen verhindern). Danach sind es nur noch wenige Monate und der Code kann mit einem Disassembler wie IDA Pro zurückentwickelt werden.
Wie kann ich das Hardwaredesign etwas besser schützen (kein militärischer Schutz erforderlich)?
Können Sie andere nicht lesbare Prozessoren oder vielleicht eine Ergänzung zu meinem bestehenden Design empfehlen?
Ich brauche nur wenige Funktionen zu verstecken, ich brauche nicht das ganze Produkt. Außerdem reicht es nicht aus, nur Daten in einem sicheren externen Speicher zu verstecken, ich muss ein Programm verstecken.
Update (basierend auf vielen Kommentaren): Ich habe dsPIC und 4 Vollzeitjahre an der Entwicklung von Firmware (wäre ziemlich anstrengend, es auf andere Weise von Grund auf neu zu machen):
1) Dieses Produkt wird bereits verkauft und Hacker haben Zugriff, wenn sie möchten
2) Die NEUE FIRMWARE ist noch nicht freigegeben. Enthält 5kB Code, den noch niemand von allen Mitbewerbern hat. Ich muss verhindern, dass irgendjemand es für etwa 12 Monate nach der Veröffentlichung leicht bekommt
3) Es gibt kein Budget, um sehr exotisch oder kompliziert zu werden, vielleicht zusätzlich 10 $ pro Produkt, plus oder minus
4) Eine Lösung wie eine zusätzliche SIM-Karte könnte ausreichen?
5) Die Funktion zum Ausblenden führt eine sehr knifflige Berechnung durch, die nicht dem Standard entspricht, um 16 Bytes zu entschlüsseln/verschlüsseln. Bekannte Prozesse können es nicht in 1 Jahr hacken, die Funktion wird benötigt, weshalb ich es ausblenden möchte.
6) Es macht mir nichts aus, ob es öffentlich sichtbar ist, wenn die Anfrage an „versteckte“ Hardware gesendet wird oder ob die Antwort öffentlich sichtbar ist. Muss nur den Prozess verbergen, der ihn berechnet, und kann sich nicht im dsPIC-Prozessor befinden.
Es gibt darauf spezialisierte Firmen. Atmel war einer von ihnen, ebenfalls in Sicherheit. Sie haben spezielle Hardware, die Ihren Bedürfnissen entsprechen kann. Aber wenn Sie wirklich wollen, dass es funktioniert, seien Sie bereit, die gesamte Kette von ihrem Asic-Lager bis zu Ihrer Produktionsstätte mit Tresoren und Wachen für die Sicherheitscodes zu sichern. Andernfalls verdienen Sie nur 1.000 $ für den Versuch von 10.000 $, während Sie eigentlich mindestens 1 Mio. $ benötigen.
Forscher am MIT haben eine Möglichkeit entwickelt, den Code mathematisch zu verschlüsseln, aber die Ausgabe gleich zu halten. Die Funktion wird nur ausgeführt, wenn Sie ihr den richtigen Schlüssel geben, der von Zeit zu Zeit heruntergeladen werden kann.
Dies könnte für Sie nützlich sein: http://spectrum.ieee.org/computing/software/scrambled-code-keeps-software-safe
Jim Dearden
Eingebetteter Typ
sehr
MSP430 security fuse
für ein Beispiel.Eingebetteter Typ
Jim Dearden
Eingebetteter Typ
RoyC
Spehro Pefhany
AndrejaKo
pjc50
AndrejaKo
Eingebetteter Typ
sehr
Eingebetteter Typ
Oldtimer
Oldtimer
Oldtimer
RoyC
Mahmud Hosseinipour
JimmyB