Wie verwendet ein Teil eines Mikroprozessors (Apple Secure Enclave) einen Mikrokernel (L4)?

Bitte entschuldigen Sie meine Unwissenheit. Ich bin ein „altmodischer“ Typ, der denkt, dass es nur „Software“ und „Hardware“ gibt – und das sind zwei verschiedene Dinge. Gemäß dieser Denkweise ist ein Betriebssystem Teil der Software und ein Mikrokernel ist Teil des Betriebssystems. (Ich bin mir der Debatte über Microkernels bewusst - und dass Linux nicht wirklich einen verwendet hat ).

Mir ist auch bewusst, dass Sie mit FPGAs ziemlich erstaunliche Dinge tun können - aber vielleicht bin ich davon ausgegangen, dass dies auf Mikrocode und DSP beschränkt ist .

Wenn ich also das Zitat höre:

Apple verwendet den L4-Kernel ... Es ist der Mikrokernel in der Secure Enclave

Ich bin fasziniert.

Mir ist bewusst, dass L4 der Mikrokernel ist , der sich gegenüber seiner Spezifikation als „korrekt erwiesen“ hat. Aber für mich - das ist Teil des Betriebssystems. (dh von der Platte in den Speicher geladen und dann werden Anweisungen über den Bus an die CPU übertragen.)

Meine Frage ist: Wie verwendet ein Teil eines Mikroprozessors (Apple Secure Enclave) einen Mikrokernel (L4)? (Ist das eine Art FPGA? Führen sie es in den Teil ein, der die Transistoren auslegt und die Software in Silizium „einbettet“?)

Die Secure Enclave ist ein separater CPU-Kern mit eigenem RAM, ROM usw., der seinen eigenen Kernel getrennt vom Rest des Geräts ausführt.
@Majenko - dein Kommentar scheint die Antwort zu sein. Würden Sie eine Antwort eingeben, dann kann das OP sie "akzeptieren".

Antworten (2)

Majenkos Antwort ist richtig, aber nicht ganz vollständig. Das Ganze beruht auf ARMs „TrustZone“ .

Dies ist eine stärkere Version des normalen Konzepts der "Ring 0"-Sicherheit, die in Betriebssystemen oder einem "Hypervisor" zu finden ist. Es ist ein Betriebssystem der obersten Ebene, das vom unbestechlichen ROM bootet, die MMU konfiguriert und dann das Betriebssystem des "Benutzers" (Telefon) bootet. Das Besondere an der ARM-Version ist ein zusätzlicher MMU-Schutz, sodass das Betriebssystem des Telefons nicht auf die gesamte Hardware oder den gesamten Speicher zugreifen kann.

Bearbeiten: siehe http://www.google.com/patents/US8775757

Es scheint sowohl ein eigener Prozessor innerhalb des SoC als auch der MMU-Schutz der „Vertrauenszone“ zu sein . Beide Prozessoren haben Zugriff auf den Hauptspeicher, einschließlich einer "Mailbox" für die Kommunikation zwischen den beiden, aber ein Teil des Speichers ist gegen den Zugriff durch irgendetwas anderes als den Prozessor der "sicheren Enklave" geschützt.

Das erste Nicht-Patent-Zitat dieses Dokuments lautet „ARM Security Technology Building a Secure System using TrustZone® Technology, Copyright © 2005-2009 ARM Limited. Alle Rechte vorbehalten, PRD29-GENC-009492C“.

Der Mikrokernel befindet sich also im ROM oder wird von der Disc geladen?
In den Diagrammen ist es nicht sehr klar; es ist höchstwahrscheinlich signiert/verschlüsselt und wird aus dem Flash geladen. Boot-ROMs sind klein und unflexibel. Es wird keine Disc im System geben, dies ist für Telefone.
Können Sie auf eine Dokumentation verweisen, die besagt, dass TrustZone das ist, was Apple verwendet, und nicht das, was @Majenko vorschlägt?
Siehe Bearbeiten. Jetzt habe ich festgestellt, dass die Diagramme des Patents deutlich machen, dass sich der Mikrokernel vollständig im ROM befindet.

Die Secure Enclave ist ein separater CPU-Kern innerhalb der CPU. Es verfügt über ein eigenes RAM, ROM usw. und führt folglich ein eigenes separates Betriebssystem aus.

Sie können es sich als einen Computer innerhalb eines Computers vorstellen, und dieser „innere“ Computer ist stark vom „äußeren“ Computer durch eine Firewall abgeschirmt, sodass nur bestimmte Daten von einem zum anderen übertragen werden können.

Die Theorie besagt, dass sich Ihre besonders sicheren Informationen (biometrische ID-Daten usw.) nur innerhalb des ultrasicheren Kerns befinden und für nichts anderes zugänglich sind.

Der Mikrokernel befindet sich also im ROM oder wird von der Disc geladen?