Zabezpieczanie Systemu Plików (Data at Rest & Integrity)

Szyfrowanie danych, weryfikacja integralności i Trusted Keys na STM32MP1. Od akceleracji sprzętowej po dm-verity i dm-crypt w Yocto.

O kursie

Co się stanie, gdy ktoś wyjmie kartę SD z Twojego urządzenia IoT? Jeśli odpowiedź brzmi “odczyta wszystkie dane i podmieni firmware” — to szkolenie jest dla Ciebie.

Ochrona danych w systemach embedded wymaga wielowarstwowego podejścia (Defense in Depth):

  • Integralność — czy mój system plików nie został zmodyfikowany offline?
  • Poufność — czy dane użytkownika są zaszyfrowane, nawet gdy ktoś ma fizyczny dostęp?
  • Wiązanie ze sprzętem — czy klucze szyfrujące są bezużyteczne na innym urządzeniu?

To szkolenie pokazuje, jak odpowiedzieć “TAK” na wszystkie te pytania, wykorzystując unikalne możliwości platformy STM32MP1: akceleratory kryptograficzne CRYP/HASH, pamięć OTP z HUK oraz Trusted Execution Environment (OP-TEE).

Czego NIE omawiamy: Secure Boot i Chain of Trust — zakładamy, że bootloader jest już zaufany (temat osobnego szkolenia).


🎯 Cel Projektowy: “Hardened Data Partition”

Podczas kursu budujemy kompletne rozwiązanie, nie tylko konfigurujemy pojedyncze narzędzia. Uczestnicy stworzą system, który:

Weryfikuje integralność rootfs przy każdym odczycie — dm-verity z Drzewem Merkle’a

Wykrywa próby modyfikacji offline — celowy “test destrukcyjny” na karcie SD

Szyfruje partycję danych użytkownika — dm-crypt z LUKS lub fscrypt

Automatycznie odblokowuje dysk bez hasła użytkownika — Trusted Keys z OP-TEE

Wiąże klucze ze sprzętem — klucz jest bezużyteczny na innym egzemplarzu procesora (HUK)

Wykorzystuje akcelerację sprzętową — AES-256 z CRYP, SHA-256 z HASH


📅 Program szkolenia

DZIEŃ 1: The Hardware – Fundamenty Sprzętowe i Kryptografia w Linuxie

Zanim szyfrujemy dyski, musimy zrozumieć, co oferuje nam krzem. STM32MP1 to nie PC — ma dedykowane peryferia kryptograficzne.

Moduł 1.1: Architektura Bezpieczeństwa STM32MP1

  • Peryferia kryptograficzne CRYP i HASH — możliwości sprzętowe
  • Alokacja zasobów między Secure World (OP-TEE) a Normal World (Linux)
  • Wpływ akceleracji sprzętowej na wydajność dm-verity i dm-crypt

Moduł 1.2: Pamięć OTP i Hardware Unique Key (HUK)

  • Kontroler BSEC i zarządzanie kluczami sprzętowymi
  • HUK — unikalny sekret procesora jako fundament bezpieczeństwa
  • Izolacja kluczy: Shadow Registers i ETZPC
  • Lab: Analiza cyklu życia urządzenia (Lifecycle State)

Moduł 1.3: Linux Crypto API — Warstwy Abstrakcji

  • Sterowniki kryptograficzne STM32 i ich integracja z jądrem
  • Crypto API — jednolity interfejs dla dm-crypt, fscrypt, TLS
  • Dostęp z przestrzeni użytkownika: AF_ALG, OpenSSL engine
  • Lab: Weryfikacja akceleracji sprzętowej w Device Tree i /proc/crypto

Moduł 1.4: Benchmarking — Sprzęt vs Program

  • Kiedy akceleracja sprzętowa NIE jest szybsza? (małe bloki, narzut DMA)
  • Porównanie wydajności: implementacja programowa vs sprzętowa
  • Lab: Pomiary wydajności i analiza obciążenia CPU

DZIEŃ 2: The Integrity – dm-verity i Niezmienność Systemu

Mount -o ro to za mało. Atakujący z dostępem fizycznym podmieni Ci /bin/login. dm-verity to rozwiązanie.

Moduł 2.1: Teoria Integralności i Wektory Ataku

  • Dlaczego flaga ro nie chroni przed atakami offline i malware z uprawnieniami root?
  • Drzewo Merkle’a — matematyczne podstawy dm-verity

Moduł 2.2: Architektura dm-verity

  • Struktura drzewa hashy i mechanizm weryfikacji przy odczycie
  • Root Hash jako “podsumowanie” całego systemu plików
  • Implikacje dla procesu aktualizacji

Moduł 2.3: Implementacja w Yocto (meta-security)

  • Klasa dm-verity-img i automatyzacja procesu budowania
  • Strategie przechowywania drzewa hashy: Append Mode vs Separate Partition
  • Lab: Konfiguracja i budowanie obrazu z dm-verity

Moduł 2.4: Zaufany Przekaz Root Hash

  • Problem zaufania: jak chronić Root Hash przed podmianą?
  • Metody: initramfs vs podpis w jądrze (Linux 5.4+)
  • Wpływ na czas startu systemu

Moduł 2.5: Test Destrukcyjny

  • Lab: Deployment obrazu i celowe uszkodzenie danych
  • Obserwacja reakcji dm-verity na manipulację

DZIEŃ 3: The Confidentiality – Szyfrowanie Danych i Trusted Keys

Integralność mamy. Teraz poufność. Ale skąd wziąć klucz przy starcie, jeśli nie ma użytkownika?

Moduł 3.1: dm-crypt vs fscrypt — Wybór Architektury

  • Szyfrowanie blokowe (dm-crypt/LUKS) vs szyfrowanie na poziomie plików (fscrypt)
  • Porównanie: metadane, granularność kluczy, wydajność
  • Rekomendacje dla systemów embedded

Moduł 3.2: dm-crypt z LUKS — Implementacja

  • LUKS1 vs LUKS2 — różnice i wybór dla embedded
  • Problem “Bezobsługowego Rozruchu” (Unattended Boot) w IoT
  • Rozwiązanie: wiązanie klucza ze sprzętem (Hardware Binding)
  • Lab: Tworzenie i konfiguracja wolumenu LUKS

Moduł 3.3: Trusted Keys i OP-TEE — Klucz Związany ze Sprzętem

  • Mechanizm Trusted Keys: generacja, pieczętowanie (sealing), odpieczętowanie
  • Rola HUK — dlaczego blob jest bezużyteczny na innym urządzeniu?
  • Integracja z Kernel Keyring i dm-crypt
  • Lab: Pieczętowanie klucza i automatyczne otwieranie wolumenu przy starcie

Moduł 3.4: fscrypt — Szyfrowanie Granularne

  • Szyfrowanie na poziomie katalogów w ext4
  • Polityki i zarządzanie kluczami per katalog
  • Lab: Szyfrowanie wybranych katalogów z danymi użytkownika

Moduł 3.5: Podsumowanie i Q&A

  • Porównanie wydajności dm-crypt vs fscrypt na STM32MP1
  • Zarządzanie kluczami w produkcji: KMS, HSM, SSP
  • Konsultacje własnych projektów

💰 Cennik i Modele Uczestnictwa

Oferuję elastyczny model dostosowany do zakresu potrzebnej wiedzy.

Opcja A: INTEGRITY FOCUS (2 Dni)

Idealna dla zespołów, które potrzebują ochrony integralności (dm-verity), ale nie wymagają szyfrowania danych użytkownika.

ZakresDzień 1 + Dzień 2 (Sprzęt, Crypto API, dm-verity, Yocto)
EfektNiezmienny system plików z weryfikacją blokową
Cena3 400 PLN netto / os.
Min. grupa5 osób

Opcja B: FULL ENCRYPTION (3 Dni) ⭐ Rekomendowane

Pełne szkolenie z szyfrowaniem danych i Trusted Keys. Niezbędne dla produktów przetwarzających dane osobowe (RODO) lub wymagających certyfikacji.

ZakresCały program (Dni 1-3)
EfektKompletne rozwiązanie: integralność + poufność + wiązanie ze sprzętem
Cena4 500 PLN netto / os.
Min. grupa5 osób

Promocja: Decydując się od razu na pakiet 3-dniowy, oszczędzasz 400 PLN względem dokupowania 3. dnia osobno.

Małe zespoły: Dla zespołów mniejszych niż 5 osób - stawki ustalane są indywidualnie.


🏆 Dlaczego warto?

KorzyśćOpis
Specyfika STM32MP1Wykorzystujemy CRYP, HASH, HUK i OP-TEE — nie ogólne rozwiązania z PC
Defense in DepthWielowarstwowe podejście: integralność + poufność + wiązanie ze sprzętem
Praktyczne laby“Test destrukcyjny” z dm-verity, Trusted Keys z OP-TEE — widzisz, że działa
WydajnośćBenchmarking sprzęt vs software — podejmuj świadome decyzje architektoniczne

🛠️ Wymagania

Sprzęt (zapewniony):

  • Płytka STM32MP157C-DK2
  • Karta microSD 16GB (klasa 10)
  • Kabel USB Type-C, konwerter USB-UART

Oprogramowanie:

  • Ubuntu 20.04/22.04 LTS
  • OpenSTLinux SDK (Kirkstone/Scarthgap)
  • STM32CubeProgrammer

Wiedza uczestnika:

  • Podstawy Linux (shell, montowanie partycji)
  • Podstawy Yocto (budowanie obrazu)
  • Znajomość koncepcji Device Tree (pomocna, nie wymagana)

🎁 Sprzęt po warsztatach zostaje u uczestników!

Chcesz zarezerwować termin dla swojego zespołu? Skontaktuj się, aby ustalić szczegóły. Zaszyfruj swoje dane, zanim ktoś je odczyta.

Zainteresowany szkoleniem?

Skontaktuj się, aby omówić szczegóły, dostosować program do potrzeb Twojego zespołu lub umówić termin.

Kontakt ← Wszystkie szkolenia
Informacje o szkoleniu
  • Czas trwania:
    2-3 dni
  • Poziom:
    Zaawansowany
  • Wymagania:
    Linux basics, Yocto fundamentals
Kategorie
Security Linux Storage STM32MP1
Zapytaj o szkolenie

Dostosowuję program do potrzeb uczestników. Szkolenia prowadzę stacjonarnie, zdalnie lub hybrydowo.

Kontakt