- Was ist der beste Weg, um Code, der auf ein AVR-basiertes Gerät geflasht wurde, vor Reverse Engineering zu schützen?
- Was ist eine einfache Möglichkeit, Endbenutzern Updates bereitzustellen, damit sie selbstständig flashen können, ohne den Code preiszugeben? (Entschlüsselt ein Bootloader ein verschlüsseltes Image?)
Flamme mich nicht für die Förderung von DRM, ich bin für offene Plattformen - ich bin nur neugierig, wie das funktionieren würde.
Antworten:
Zuerst:
Auf dem Chip befinden sich Sicherungen, die eingestellt werden können, um zu verhindern, dass externe Werkzeuge den Code vom Chip lesen. Suchen Sie in Ihrem Datenblatt und / oder in Ihrer Programmierdokumentation nach den Schutzsicherungen.
Es ist nicht perfekt, aber es schützt Sie vor einfachen Angriffen.
Zweite:
Sie können die Firmware nicht sicher herunterladen. Der AVR kann geschützte Bereiche nicht selbst programmieren:
http://www.atmel.com/dyn/resources/prod_documents/doc1644.pdf
Das Beste, was Sie tun können, ist, eine verschlüsselte Tokensprache (z. B. Basic oder 4) zu verwenden und den Interpreter mit einem Bootloader auf dem Chip zu schützen, der die verschlüsselten Token in einem offenen Bereich programmieren kann. Während des Betriebs würde der Chip die Anweisungen im laufenden Betrieb entschlüsseln und ausführen.
quelle
Wenn es so wichtig ist und Sie sich besonders Sorgen darüber machen, dass Konkurrenten Ihren Code stehlen, schließen Sie den IP-Schutz für Ihre Codesegmente ab. Sie sollten dies prüfen, wenn Sie trotzdem versuchen möchten, mit einem Projekt Geld zu verdienen.
Bestimmte Codeelemente können entweder patentiert werden (für bestimmte Verarbeitungsmethoden und neuartige Algorithmen) oder als Industriedesign registriert werden (Aussehen, Layout und Anwendung Ihres Codes auf ein Gerät). Möglicherweise möchten Sie einen IP-Anwalt zu diesem Thema konsultieren.
quelle
Wenn Sie einen eigenen Bootloader geschrieben haben, der verschlüsselte Daten über die serielle Schnittstelle akzeptiert, entschlüsselt und im Codespeicherbereich gespeichert hat, können Sie ein sicheres Code-Firmware-Update durchführen. Jedes Gerät kann sogar einen eigenen Entschlüsselungsschlüssel in Ihrem benutzerdefinierten Bootloader haben.
quelle