Beschuldigen Sie mich nicht, weil ich DRM befürworte, ich bin für offene Plattformen – ich bin nur neugierig, wie das funktionieren würde.
Erste:
Auf dem Chip befinden sich Sicherungen, die eingestellt werden können, um zu verhindern, dass externe Tools den Code vom Chip lesen. Suchen Sie in Ihrem Datenblatt und/oder der Programmiererdokumentation 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 Token-Sprache (wie Basic oder Forth) zu verwenden und den Interpreter auf dem Chip mit einem Bootloader zu schützen, der die verschlüsselten Token in einen offenen Bereich programmieren kann. Beim Ausführen würde der Chip die Anweisungen im laufenden Betrieb entschlüsseln und ausführen.
Wenn es so wichtig ist und Sie sich besonders Sorgen darüber machen, dass Konkurrenten Ihren Code stehlen könnten, nehmen Sie IP-Schutz für Ihre Codesegmente vor. Sie sollten sich damit befassen, wenn Sie sowieso versuchen, mit einem Projekt Geld zu verdienen.
Bestimmte Codeelemente können entweder patentiert (für bestimmte Verarbeitungsmethoden und neuartige Algorithmen) oder als Industriedesigns (das Aussehen, Layout und die Anwendung Ihres Codes auf einem Gerät) registriert werden. Vielleicht möchten Sie diesbezüglich einen IP-Anwalt konsultieren.
Wenn Sie Ihren eigenen Bootloader geschrieben haben, der verschlüsselte Daten über die serielle Schnittstelle akzeptiert, entschlüsselt und im Codespeicherbereich gespeichert hat, könnten Sie ein sicheres Code-Firmware-Update haben. Jedes Gerät könnte sogar seinen eigenen eindeutigen Entschlüsselungsschlüssel in Ihrem benutzerdefinierten Bootloader haben.
Connor Wolf