Ta strona opisuje docelowy tryb wzajemnego uwierzytelniania TLS (mTLS) dla ruchu konektorów ipIII — profil bank/partner, klient bez ważnego certyfikatu odrzucony na styku transportu. To jest specyfikacja do przeglądu bezpieczeństwa i planowania, nie ogłoszenie wdrożonej funkcji. Doktryna claim ≤ proof: dziś działa jednostronny TLS + tokeny/HMAC (LIVE); mTLS jest ROADMAP.
Wymiana pakietów dowodowych i ticketów remediacji z systemami po stronie klienta (ticketing, SIEM, CI/CD, DefectDojo) działa dziś przez standardowe HTTPS z uwierzytelnianiem po stronie klienta na poziomie tokena (bearer/basic) lub podpisu HMAC — patrz Connectors. Serwer nie wymaga dziś certyfikatu klienckiego od żadnego wywołującego. Dla klientów enterprise, których polityka bezpieczeństwa sieci wymaga wzajemnego uwierzytelniania certyfikatami (typowe w sektorze regulowanym), ta specyfikacja opisuje opcjonalny tryb transportowy dodatkowego hardeningu — mTLS connector mode.
Kolumna Status: LIVE = mechanizm działa dziś w routes/ip3-transport.js · ROADMAP = opisany w spec, brak implementacji w repo. Data weryfikacji: 2026-07-05.
| Warstwa | Mechanizm | Status | Uwaga |
|---|---|---|---|
| Transport | Standardowe HTTPS (TLS 1.2+), walidacja certyfikatu serwera po stronie klienta. | LIVE | Chroni poufność i integralność danych w tranzycie. Nie uwierzytelnia klienta — to zadanie warstwy tokenowej poniżej. |
| Uwierzytelnianie konektora | Bearer token (GitHub), Basic + token API (Jira), opcjonalny podpis HMAC (X-IP3-Signature, generyczny webhook). |
LIVE | Wraz z bramką potrójną (intencja ?send=true + flaga środowiskowa + obecność sekretu) — bez tego egzekwowania egress nie zachodzi. |
| Certyfikat klienta na bramie API | Walidacja łańcucha zaufania do skonfigurowanego CA, ważności, statusu odwołania (CRL/OCSP), opcjonalny allow-list SAN. | ROADMAP | Brak w kodzie dziś. Cel: klient bez certyfikatu lub z certyfikatem nieważnym/odwołanym jest odrzucany na etapie handshake TLS lub bezpośrednio po nim, przed przetworzeniem żądania na poziomie aplikacji. |
| Profil bank/partner | Tryb mTLS włączany per tenant, per konektor — nie jako globalny przełącznik. | ROADMAP | Tenant, który nie włączył trybu mTLS, dalej korzysta z dzisiejszego modelu token/HMAC — istniejące konektory nie są dotknięte do czasu jawnej migracji. |
| Rotacja i odwołanie certyfikatu | Okno ważności (parametr polityki, nie sztywna wartość), okres nakładki przy rotacji, natychmiastowe odrzucenie po odwołaniu (CRL/OCSP lub deny-list po numerze seryjnym). | ROADMAP | Docelowo alert przy zbliżającej się dacie wygaśnięcia certyfikatu, widoczny na istniejących stronach statusu — bez konieczności pełnego redeployu przy odwołaniu. |
Zgodnie ze specyfikacją, po włączeniu trybu on dla danego tenanta/konektora: klient bez certyfikatu, z certyfikatem wygasłym, niepodpisanym przez skonfigurowane CA lub odwołanym musi zostać odrzucony — bez awaryjnego powrotu do samego uwierzytelniania tokenem. Odrzucone połączenia są logowane (podmiot certyfikatu, powód, znacznik czasu, źródło) do istniejącego rejestru dowodowo-audytowego, bez zapisywania materiału klucza prywatnego ani pełnej treści PEM w logu domyślnie. To jest opis docelowego zachowania — nie ma dziś w repozytorium kodu, który to egzekwuje.
Wzorzec spójny z już istniejącym w kodzie podejściem dla OIDC (routes/ip3-oidc.js) i bramki potrójnej dla transportu — nie nowa filozofia aktywacji.
Funkcja nie istnieje dla tenanta. Brak zmiany zachowania.
Certyfikaty klienckie są walidowane i wynik logowany (zaakceptowano/odrzucono + powód), bez faktycznego odrzucania. Cel: sprawdzić paczkę CA i proces rotacji na realnym ruchu klienta, nie narażając produkcji na lockout.
Twarde egzekwowanie — klienci niespełniający warunków są odrzucani. Przejście shadow→on wymaga jawnej decyzji operator/klient (ACK-gate), analogicznie do istniejącej bramki dla IP3_OIDC, IP3_RLS, IP3_TENANT_SCOPE.
Źle skonfigurowana paczka CA lub luka w rotacji, wymuszona bez okresu shadow, ryzykuje zablokowanie legalnego konektora klienta — to realne ryzyko dostępności, nie formalność.
| Zmienna (proponowana) | Cel |
|---|---|
IP3_MTLS_CONNECTOR | off (domyślnie) / shadow / on — wzorzec identyczny z OIDC. |
IP3_MTLS_CA_BUNDLE | ścieżka/referencja do skonfigurowanej paczki CA per tenant. |
IP3_MTLS_CRL_OR_OCSP | konfiguracja mechanizmu/endpointu sprawdzania odwołania. |
IP3_MTLS_CERT_ALLOWLIST | opcjonalna lista dopuszczonych podmiotów/SAN per konektor. |
Atakujący z ważnym tokenem/bearer (np. po wycieku, phishingu, błędzie konfiguracji sekretu), ale bez odpowiadającego certyfikatu klienckiego/klucza prywatnego, nie uwierzytelni się jako legalny konektor. Zmniejsza skutek samego wycieku tokena, wymagając drugiego, trudniejszego do wyeksfiltrowania poświadczenia.
Kompromitacją punktu przechowującego sam klucz prywatny. Błędami autoryzacji na poziomie aplikacji — mTLS uwierzytelnia stronę transportu, nie użytkownika/akcję; kontrola ról, zakresu tenanta i audyt pozostają osobnym zadaniem. Nie zastępuje pracy nad izolacją tenanta (model tenant/org/project). Sam w sobie nie stanowi żadnej konkretnej certyfikacji regulacyjnej — to kontrola techniczna wspierająca własny pakiet dowodowy klienta, nie zastępująca go.
| Tryb wdrożenia | Znaczenie mTLS connector mode |
|---|---|
| SaaS (UE), multi-tenant — dziś LIVE | Standardowy TLS dla całego ruchu; uwierzytelnianie konektora token/HMAC jak wyżej. mTLS connector mode nie jest dostępny w tym trybie dziś. |
| Private tenant / VPC ROADMAP | Tryb projektowany głównie dla tego kształtu wdrożenia — dedykowana granica tenanta czyni konfigurację CA per tenant praktyczną. |
| On-prem / u klienta ROADMAP | Najbardziej naturalne dopasowanie do CA wystawianego przez klienta i w pełni kontrolowanej przez klienta rotacji. |
Żaden tryb wdrożenia dostępny dziś nie zapewnia egzekwowania mTLS na konektorach. Rozmowa procurement odwołująca się do mTLS powinna traktować to jako pozycję roadmapy z projektem (ta specyfikacja), bez ustalonej daty dostawy.
shadow działający na realnym konektorze klienta przez zdefiniowany okres obserwacji, zero fałszywych odrzuceń w logu.shadow do on na produkcji.Żadna z powyższych pozycji nie istnieje jeszcze. Ta lista definiuje „gotowe", nie stan bieżący.
Ta specyfikacja to wsparcie decyzji i artefakt planowania technicznego — nie porada prawna i nie przegląd bezpieczeństwa sam w sobie.
Powiązane: architektura bezpieczeństwa (kontekst spec) → /security-architecture · tożsamość enterprise (OIDC/SSO, osobny tor) → /auth-enterprise · dzisiejsze konektory i ich uwierzytelnianie → /connectors · pełny rejestr znanych ograniczeń → /known-limitations.