-
Notifications
You must be signed in to change notification settings - Fork 0
Security Model
Dawid Buszta edited this page Apr 3, 2026
·
1 revision
Celem modelu bezpieczeństwa jest ochrona:
- danych lokalnych po stronie węzłów,
- integralności procesu trenowania federacyjnego,
- poufności i autentyczności komunikacji między komponentami.
- Komunikacja REST i gRPC jest realizowana przez TLS.
- Certyfikaty serwera muszą być poprawnie skonfigurowane.
- Klienci weryfikują certyfikat CA (lub dedykowany truststore).
- Node clients uwierzytelniają się i otrzymują token JWT.
- Każde wywołanie API/gRPC powinno przekazywać ważny token.
- Wygasłe lub nieprawidłowe tokeny powodują odrzucenie żądania.
- Węzeł posiada klucz prywatny/publiczny.
- Rejestracja i/lub handshake może wykorzystywać podpis żądania.
- Agregator utrzymuje spójność tożsamości node i odrzuca niespójne dane.
- Aktualizacje modelu są przycinane (clipping).
- Dodawany jest szum Gaussa.
- Parametry DP mogą być centralnie sterowane per runda przez Aggregator:
dp_enableddp_noise_multiplier
- W trybie HE aktualizacje wag są szyfrowane po stronie node.
- HE Sidecar wykonuje agregację na szyfrogramach bez deszyfrowania.
- Agregator wymusza zgodność publicznego kontekstu HE między zgłoszeniami.
- Agregator stosuje robust aggregation (np. Multi-Krum/Bulyan).
- Podejrzane aktualizacje mogą być odrzucane.
- Odrzucenia i statusy są rejestrowane do obserwowalności.
Agregator może adaptacyjnie stroić:
fedprox_mudp_noise_multiplierdp_enabled
Korzyści:
- lepszy kompromis prywatność vs jakość modelu,
- szybsza reakcja na pogorszenie metryk,
- centralna kontrola polityki bezpieczeństwa treningu.
- Mitigacja: TLS, poprawna walidacja certyfikatów.
- Mitigacja: JWT + walidacja tożsamości węzła.
- Mitigacja: robust aggregation, monitorowanie odrzuceń, polityki quorum.
- Mitigacja: DP (clipping + noise), opcjonalnie HE.
- Mitigacja: walidacja
he_context_publici odrzucanie niespójnych payloadów.
- Regularna rotacja sekretów i certyfikatów.
- Minimalne uprawnienia kont i serwisów.
- Monitoring błędów auth/TLS/HE.
- Aktualizacje dependency i obrazów kontenerów.
- Separacja środowisk (dev/test/prod).
- Audyt logów oraz alerty na nietypowe zdarzenia.
- TLS włączony dla REST i gRPC.
- JWT aktywne, sekret ustawiony bez wartości domyślnych.
- Certyfikaty i sekrety trzymane poza kodem źródłowym.
- Konfiguracja DP świadomie ustawiona (zakresy i cele).
- HE przetestowane end-to-end (jeśli używane).
- Reguły agregacji odpornej aktywne i monitorowane.
- Dashboardy oraz alerty bezpieczeństwa skonfigurowane.
- Zidentyfikuj komponent (Aggregator, node, RabbitMQ, HE Sidecar).
- Sprawdź błędy autoryzacji i certyfikatów.
- Zweryfikuj integralność i źródło zgłoszeń node.
- Ogranicz wpływ: wyłącz podejrzane node / zaostrz politykę.
- Zbierz artefakty (logi, metryki, status rund).
- Przywróć działanie i wykonaj postmortem.
- Security Model#Warstwy bezpieczeństwa
- Security Model#1-Transport-security-TLS
- Security Model#2-Uwierzytelnianie-i-autoryzacja-JWT
- Security Model#4-Lokalna-prywatność-różnicowa-DP
- Security Model#5-Szyfrowanie-homomorficzne-HE
- Security Model#Checklist-bezpieczeństwa-przed-produkcją
- Architektura i Cykl Rundy FL#Cykl-pojedynczej-rundy-FL
- Architektura i Cykl Rundy FL#Dynamiczne-sterowanie-hiperparametrami
- Architektura i Cykl Rundy FL#HE-i-DP-w-architekturze
- Architektura i Cykl Rundy FL#Co-warto-monitorować
- Troubleshooting i FAQ#Szybka-diagnostyka-5-minut
- Troubleshooting i FAQ#Najczęstsze-problemy-i-rozwiązania
- Troubleshooting i FAQ#Runbook-incydentowy-skrót
- Quick Start#Uruchomienie-lokalne-Docker-Compose
- Quick Start#Kubernetes-skrót
- Quick Start#Szybki-test-działania-FL
- Architektura i Cykl Rundy FL#Stany-i-obserwowalność
- Architektura i Cykl Rundy FL#Co-warto-monitorować
- Troubleshooting i FAQ#Jak-sprawdzić-czy-system-faktycznie-trenuje