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
ronie 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-imgi 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.
| Zakres | Dzień 1 + Dzień 2 (Sprzęt, Crypto API, dm-verity, Yocto) |
| Efekt | Niezmienny system plików z weryfikacją blokową |
| Cena | 3 400 PLN netto / os. |
| Min. grupa | 5 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.
| Zakres | Cały program (Dni 1-3) |
| Efekt | Kompletne rozwiązanie: integralność + poufność + wiązanie ze sprzętem |
| Cena | 4 500 PLN netto / os. |
| Min. grupa | 5 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 STM32MP1 | Wykorzystujemy CRYP, HASH, HUK i OP-TEE — nie ogólne rozwiązania z PC |
| Defense in Depth | Wielowarstwowe 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