Seminar / Training
Die Sicherheitsfunktionen von OpenTitan werden erst durch das kontrollierte Zusammenspiel von Hardware und Firmware vollständig nutzbar. Das Seminar strukturiert die Device-Software vom unveränderlichen ROM über ROM_EXT und Owner-Stufen bis zu Diagnose-, Test- und Hostwerkzeugen.
Alle Arbeitsschritte werden entlang eines reproduzierbaren Entwicklungsablaufs behandelt: Zielkonfiguration auswählen, Hardwarezugriffe kapseln, Zustände prüfen, Fehler sicher behandeln, Firmware bauen, auf einer Zielplattform ausführen und die Ergebnisse nachvollziehbar dokumentieren.
Inhaltsübersicht
- Seminarziel
- Zielgruppe
- Voraussetzungen
- Lernziele
- Seminarinhalte
- Firmwarearchitektur und Vertrauensstufen
- Repositorystruktur und Zielkonfiguration
- Hardwarezugriff mit DIFs und Laufzeitdiensten
- Manifeste, Messwerte und sichere Übergaben
- On-Device-Testframework und Diagnose
- Hostkommunikation und Werkzeuge
- Secure-Coding- und Freigabeprozess
- Praxisübungen
Seminarziel
Firmware für OpenTitan soll strukturiert entwickelt, sicher an Hardware-IP angebunden, mit den vorgesehenen Build- und Testmechanismen geprüft und in eine belastbare Boot- und Freigabekette eingeordnet werden können.
Zielgruppe
Embedded-Entwickler, Firmware Engineers, Security Engineers, technische Integratoren, Testentwickler und Verantwortliche für sichere Boot- und Updatekomponenten.
Voraussetzungen
Sichere C-Grundkenntnisse, Erfahrung mit eingebetteten Systemen und grundlegendes Verständnis von Speicherabbild, Interrupts, Registern und sicheren Bootketten. Linux- und Git-Grundkenntnisse werden vorausgesetzt.
Lernziele
- Firmwarestufen und ihre jeweiligen Vertrauensgrenzen unterscheiden
- Hardware-IP über Device Interface Functions kontrolliert ansprechen
- Manifeste, Messwerte, Versionsregeln und Fehlerpfade in die Firmwarearchitektur integrieren
- On-Device-Tests mit dem vorgesehenen Testframework strukturieren
- Build-, Flash-, Ausführungs- und Diagnoseabläufe reproduzierbar dokumentieren
Seminarinhalte
Schritt 1: Firmwarearchitektur und Vertrauensstufen
- ROM, ROM_EXT, Owner-Bootstufe und Laufzeitfirmware nach Veränderbarkeit und Verantwortung ordnen
- Übergaben zwischen den Stufen mit Eingaben, geprüften Eigenschaften und Fehlerreaktionen beschreiben
- Creator- und Owner-Anteile in der Softwarestruktur kennzeichnen
- Angriffsflächen durch externe Eingaben, Debugpfade und gemeinsam genutzte Speicher erfassen
Schritt 2: Repositorystruktur und Zielkonfiguration
- Device-Libraries, Bootkomponenten, Tests und Hostwerkzeuge im Repository auffinden
- Top-Level-, Plattform- und Chipkonfiguration für den vorgesehenen Build auswählen
- Compiler-, Linker- und Bazel-Ziele den erzeugten Artefakten zuordnen
- Buildparameter und Abhängigkeiten in einer wiederholbaren Arbeitsumgebung festhalten
Schritt 3: Hardwarezugriff mit DIFs und Laufzeitdiensten
- Registerzugriffe über Device Interface Functions statt unkontrollierter Direktzugriffe strukturieren
- Initialisierung, Konfiguration, Statusabfrage und Fehlerbehandlung eines IP-Blocks trennen
- Interrupt- und Alertpfade in den Firmwareablauf integrieren
- Timeouts, Polling, asynchrone Ereignisse und sichere Rückgabewerte einheitlich behandeln
Schritt 4: Manifeste, Messwerte und sichere Übergaben
- Manifestfelder für Codebereich, Signatur, Version und Einstiegspunkt einordnen
- Prüfreihenfolge für Grenzen, Integrität, Authentizität und Rollbackschutz definieren
- Messwerte und Bindungsdaten an nachfolgende Firmwarestufen übergeben
- Fehlerfälle so gestalten, dass kein unsicherer Teilzustand fortgesetzt wird
Schritt 5: On-Device-Testframework und Diagnose
- Testprogramme mit Initialisierung, Testkörper und eindeutigem Ergebnisstatus aufbauen
- UART-, Log- und Testprotokolle für automatisierte Auswertung strukturieren
- Hardwareabhängige Tests für Simulation, FPGA und Silizium parametrisieren
- Fehler durch Assertions, Statusregister, Dumps und reproduzierbare Testdaten eingrenzen
Schritt 6: Hostkommunikation und Werkzeuge
- Transport, Zielgerät und Kommunikationskanal für Hostwerkzeuge konfigurieren
- Firmware laden, starten und Statusinformationen auslesen
- Kommandos und strukturierte Daten zwischen Host und Device robust austauschen
- Berechtigungen, Geheimnisse und Protokolldaten im Laborbetrieb begrenzen
Schritt 7: Secure-Coding- und Freigabeprozess
- Eingaben, Längen, Zustände und Rückgabewerte defensiv prüfen
- Geheime Werte, temporäre Puffer und Fehlertexte nach Schutzbedarf behandeln
- Codeanalyse, Tests und Reviewkriterien in eine Freigabekette einordnen
- Artefakte, Konfiguration, Teststand und bekannte Einschränkungen versioniert dokumentieren
Praxisübungen
- Ein kleines Device-Programm bauen, ausführen und anhand definierter Statusausgaben verifizieren
- Einen Hardware-IP-Block über seine DIF initialisieren, konfigurieren und mit Fehlerfällen testen
- Ein vereinfachtes Firmwaremanifest prüfen und sichere Abbruchbedingungen formulieren
- Einen automatisierbaren On-Device-Test mit Hostauswertung erstellen
- Eine Firmwareänderung mit Buildprotokoll, Testergebnissen und Freigabekriterien dokumentieren
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Embedded-Entwickler, Firmware Engineers, Security Engineers, technische Integratoren, Testentwickler und Verantwortliche für sichere Boot- und Updatekomponenten. |
| Voraussetzungen: | Sichere C-Grundkenntnisse, Erfahrung mit eingebetteten Systemen und grundlegendes Verständnis von Speicherabbild, Interrupts, Registern und sicheren Bootketten. Linux- und Git-Grundkenntnisse werden vorausgesetzt. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
