manipulationssicherer eingebetteter Mikroprozessor

8

Ich entwickle kommerziell eingebettete Hardware mit Microchip dsPIC oder ähnlichen Prozessoren.

Die Firmware, die ich habe, ist manchmal sehr komplex und kostspielig und muss hacker- und manipulationssicher in der Hardware sein. Alle grundlegenden Softwareschutzfunktionen 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 (um nur nicht festgestellte Manipulationen zu verhindern). Danach sind es nur noch wenige Monate, und der Code kann mithilfe eines Disassemblers wie IDA Pro rückentwickelt werden.

Wie kann ich das Hardware-Design etwas besser schützen (kein militärischer Schutz erforderlich)?

Können Sie andere nicht lesbare Prozessoren oder eine Ergänzung zu meinem vorhandenen Design empfehlen?

Ich brauche nur wenige Funktionen zu verbergen, ich brauche nicht das ganze Produkt. Es reicht auch nicht aus, nur Daten in einem sicheren externen Speicher zu verstecken, ich muss ein Stück Programm verstecken.

Update (basierend auf vielen Kommentaren): Ich habe dsPIC und 4 Jahre Entwicklungszeit auf Firmware (würde einen ziemlichen Aufwand erfordern, um es auf eine andere Weise von Grund auf neu zu machen):

1) Dieses Produkt verkauft sich bereits und Hacker haben Zugriff, wenn sie wollen

2) Die NEUE FIRMWARE ist noch nicht veröffentlicht. Enthält 5kB Code, den noch niemand von allen Mitbewerbern hat. Ich muss verhindern, dass jemand es für ungefähr 12 Monate nach der Veröffentlichung leicht bekommt

3) Es gibt kein Budget, um sehr exotisch oder kompliziert zu werden, vielleicht zusätzliche 10 USD pro Produkt, plus oder minus

4) Eine Lösung wie eine hinzugefügte SIM-Karte könnte den Trick machen?

5) Die Funktion zum Ausblenden führt eine sehr schwierige, nicht standardmäßige Berechnung zum Entschlüsseln / Verschlüsseln von 16 Bytes durch. 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, wenn es öffentlich sichtbar ist, wenn die Anfrage an "versteckte" Hardware gesendet wird oder wenn die Antwort öffentlich sichtbar ist. Sie müssen den Prozess zur Berechnung nur ausblenden und dürfen sich nicht im dsPIC-Prozessor befinden.

EmbeddedGuy
quelle
1
user1831847: das funktioniert nicht wirklich, siehe die Frage und $ 1.000 (ich habe es selbst mit meinem eigenen sicheren Code gesehen)
EmbeddedGuy
2
Dann ist es, wie Sie wissen, nicht so einfach - selbst bei Mikroprozessoren, die "sicher" sind. Wenn Sie genügend Ressourcen darauf werfen, ist fast alles knackbar. Zumindest wenn Sie einen Dritten einstellen, können Sie ihn immer verklagen, wenn es schief geht;)
JIm Dearden
2
@ Jim Dearden 2. Regel, Sicherheit durch Dunkelheit ist keine Sicherheit. Es wäre jedoch eine gute Idee, einen Spezialisten einzustellen. Kerl. Sicherheit ist niemals absolut, es ist immer ein Faktor für Zeit und Geld. Können Sie uns einen Hinweis geben, nach welchem ​​Schutzniveau Sie in diesen Begriffen suchen?
RoyC
2
Wenn Sie so etwas wie Online-Authentifizierung nicht haben, sind Sie meiner Meinung nach ziemlich SOL. Wie Sie sagen, ist es billig genug, um einfache Schutzfunktionen zu unterbrechen (sie können die Kapselung entfernen und verschiedene Techniken verwenden, um Schutzfunktionen zu deaktivieren, zu umgehen oder neu zu verdrahten, wenn nichts einfacher funktioniert). Sie können die Security SE ausprobieren. Wenn Ihr Produkt gut ist, wird es kopiert, und selbst wenn Sie die Firmware sichern könnten, wie schwierig wäre es wirklich , es neu zu schreiben? Ein Großteil der Kosten entfällt auf die Festlegung der technischen Daten usw., die der Kopierer nicht ausführen muss.
Spehro Pefhany
1
Was ist mit den verschiedenen Smartcard-Systemen?
pjc50

Antworten:

1

Darauf sind Unternehmen spezialisiert. Atmel war einer von ihnen, auch drinnen sicher. Sie haben spezielle Hardware, die Ihren Anforderungen entspricht. Wenn Sie jedoch möchten, dass es wirklich funktioniert, sollten Sie darauf vorbereitet sein, die gesamte Kette von ihrem Lager bis zu Ihrer Produktionsstätte mit Tresoren und Schutzvorrichtungen für die Sicherheitscodes zu sichern. Andernfalls verdienen Sie nur $ 1k für den Versuch $ 10k, während Sie tatsächlich mindestens $ 1M benötigen.

Gregory Kornblum
quelle
Ich höre was du meinst. 1 Mio. USD sind in Ordnung, wenn das Produkt für 10 Mio. USD / Jahr verkauft wird, was nicht mein Fall ist. Aber die sichere Hardware ohne Tresore und Schutzvorrichtungen könnte ausreichen. Für diese zusätzliche Berechnungssicherheit benötige ich nur einen kleinen CPU-Typ.
EmbeddedGuy
Dann feuern Sie die Wachen :)
Gregory Kornblum
Basierend auf Ihrem Update-Aufruf in Secure.
Gregory Kornblum
Gregory: Entschuldigung, ich verstehe nicht, was Sie mit "inside Secure" meinen
EmbeddedGuy
1
insidesecure.com
Christian
1

Forscher am MIT haben eine Methode entwickelt, um 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 kann für Sie hilfreich sein: http://spectrum.ieee.org/computing/software/scrambled-code-keeps-software-safe

Spannungsspitze
quelle
Obwohl noch keine praktische Lösung, danke für eine interessante lehrreiche Lektüre.
EmbeddedGuy