Ja, so etwas geht grundsätzlich. Man muss nur einen Prozessor auswählen,
der einen internen Schlüsselspeicher besitzt. Im Rahmen der Fertigung
werden dann die Schlüssel initialisiert und anschließend der Prozessor
"abgesperrt". Anschließend kann nur ein Prozessor, der die Schlüssel
besitzt, von dem externen Speicher booten.
Für ein Embedded-Linux-System benötigt man aber fast immer externes RAM.
In diesem befindet sich zumindest das entpackte, in der Ausführung
befindliche Linux-System. Dieses könnte ein Angreifer auslesen bzw. den
Schreibvorgang beim Entschlüsseln mitlauschen. Noch schlimmer wäre es,
wenn der Angreifer dann Schadcode in das RAM einbringt, der den internen
Schlüsselspeicher ausliest und dessen Inhalt extern zugänglich macht.
Die Lösung, um letzteres Problem zu umgehen, besteht darin, einen
Prozessor mit entsprechenden Schutzmechanismen einzusetzen, z.B. mit
TrustZone-Erweiterung. Dann kann man durch eine geeignete TEE-Umgebung
das Auslesen des Schlüsselspeichers und anderer kritischer Programmteile
und Daten verhindern. Solch ein System aufzusetzen ist aber absolut
keine triviale Angelegenheit, sondern erfordert ein sehr ausgeprägtes
Verständnis der Prozessorarchitektur und der Implementierung auf dem
Chip.
Sofern es nicht um ein kleines Bastelprojekt geht, sondern um ein
entsprechend sicherheitskritisches System, kann ich Dich/Euch da gerne
beraten. Das ist aber keine Sache von ein paar Minuten oder Stunden,
sondern beginnt mit einer Anforderungsanalyse, beinhaltet die Definition
des sog. Security Target und daraus abgeleitet die technischen und
organisatorischen Maßnahmen.