1/55
Bezpieczna wymiana informacji: PKI, TLS i uwierzytelnianie
Cel slajdu: Slajd wprowadza w tematykę bezpiecznej wymiany informacji poprzez PKI, TLS i uwierzytelnianie.

Kryptologia i bezpieczna wymiana informacji

Część 5 - Bezpieczna wymiana informacji: PKI, TLS i uwierzytelnianie

Bezpieczna wymiana informacji (ang. Secure information exchange): To proces zapewnienia poufności, integralności i autentyczności danych przesyłanych przez sieć. Opiera się na współpracy infrastruktury klucza publicznego PKI, protokołu TLS oraz mechanizmów uwierzytelniania tożsamości. Dzięki temu odbiorca może potwierdzić nadawcę, wykryć zmiany wiadomości i chronić ją przed podsłuchem.
2/55
Spis treści części 5
Cel slajdu: Slajd przedstawia spis treści części piątej, porządkujący drogę od certyfikatów po Zero Trust.

Plan wykładu

Plan wykładu (ang. Lecture outline): To uporządkowany spis treści prowadzący od certyfikatów i PKI przez TLS aż po tożsamość i Zero Trust. Układa zagadnienia warstwowo, tak aby każde kolejne pojęcie wykorzystywało wcześniej wprowadzone mechanizmy. Taka kolejność ułatwia zrozumienie powiązań między kryptografią a praktycznymi architekturami bezpieczeństwa.
3/55
Cele uczenia się
Cel slajdu: Slajd określa cele uczenia się, czyli umiejętności zdobywane przy PKI, TLS i tożsamości.

Po tej części student potrafi

  • W3: wyjaśnić rolę funkcji skrótu (SHA-2, SHA-3) i podpisów cyfrowych w weryfikacji certyfikatów X.509 oraz w zabezpieczeniu wymiany danych (m.in. JWT, S/MIME).
  • W4: scharakteryzować infrastrukturę klucza publicznego (PKI), certyfikaty X.509 i protokół TLS.
  • U1: dobrać odpowiednie mechanizmy (algorytmy, protokoły, tokeny) do danego zastosowania.
  • U4: zaprojektować i zweryfikować bezpieczny proces wymiany danych (certyfikat, konfiguracja TLS, uwierzytelnianie).
  • K2, K3: krytycznie oceniać bezpieczeństwo kryptograficzne oraz stosować zasady etyczne i prawne (m.in. RODO, PCI DSS) przy doborze środków ochrony (TLS, PKI, Kerberos/SSO).
Cele uczenia się (ang. Learning outcomes): To zestaw wiedzy, umiejętności i kompetencji zdobywanych w zakresie PKI, TLS i zarządzania tożsamością. Obejmują wyjaśnianie roli funkcji skrótu i podpisów, charakteryzowanie certyfikatów X.509 oraz dobór protokołów do zastosowań. Kładą też nacisk na krytyczną ocenę bezpieczeństwa oraz zgodność z przepisami RODO i PCI DSS.
4/55
Infrastruktura klucza publicznego (PKI)
Cel slajdu: Slajd wprowadza infrastrukturę klucza publicznego jako system zaufania do kluczy publicznych.

PKI - co to jest?

  • Cel: zbudowanie zaufania w jawnej wymianie kluczy (bez wcześniejszego kontaktu stron).
  • Komponenty: CA (podmiot certyfikacji), RA (rejestracja), repozytoria, listy unieważnień (CRL/OCSP), magazyny kluczy. Uwaga terminologiczna: potocznie "urząd certyfikacji" (ang. Certification Authority), w prawie UE - podmiot wydający certyfikaty i kwalifikowany dostawca usług zaufania (eIDAS, ustawa o usługach zaufania).
  • Kluczowa rola: rozstrzyga, czy klucz publiczny w rzeczywistości należy do podanego podmiotu.
Infrastruktura klucza publicznego (ang. Public Key Infrastructure): To system sprzętu, oprogramowania i procedur umożliwiający wydawanie, unieważnianie i weryfikację certyfikatów. Wiąże klucz publiczny z tożsamością podmiotu, dzięki czemu możliwa jest jawna wymiana kluczy bez wcześniejszego kontaktu stron. Rozstrzyga kluczowe pytanie, czy dany klucz rzeczywiście należy do deklarowanego właściciela.
5/55
Komponenty PKI
Cel slajdu: Slajd opisuje komponenty PKI: urzędy CA i RA, repozytoria oraz podmioty końcowe.

Urząd certyfikacji (CA) i rola RA

  • CA (Certificate Authority) - zaufana jednostka, która wydaje certyfikaty i podpisuje je własnym kluczem prywatnym (poświadcza związek między tożsamością a kluczem; samo w sobie nie gwarantuje prawdziwości danych - zaufanie opiera się na weryfikowalności łańcucha i na odpowiedzialności za wystawiony certyfikat).
  • RA (Registration Authority) - pośrednik: przyjmuje wnioski, weryfikuje tożsamość wnioskodawcy, ale nie podpisuje certyfikatów.
  • CA nadrzędne i podrzędne: hierarchia urzędów (root -> intermediate -> end-entity).
  • Przykłady CA: publiczne (DigiCert, Let's Encrypt), firmowe (enterprise CA w Active Directory), państwowe/narodowe (np. certyfikaty podpisu zaufanego i e-dowodu).
Urząd certyfikacji (ang. Certificate Authority): To zaufana jednostka wydająca certyfikaty i podpisująca je własnym kluczem prywatnym. Współpracuje z urzędem rejestracji RA, który przyjmuje wnioski i weryfikuje tożsamość wnioskodawców. Wyróżnia się urzędy główne, pośrednie oraz publiczne, firmowe i państwowe o różnym zakresie zaufania.
6/55
Hierarchia zaufania - łańcuch certyfikatów
Cel slajdu: Slajd wyjaśnia hierarchię zaufania jako łańcuch certyfikatów od roota po certyfikat serwera.

Łańcuch certyfikatów (chain of trust)

  • Root CA - najwyższy, samopodpisany certyfikat (w magazynie zaufania przeglądarki).
  • Intermediate CA - podpisane przez Root; podpisują certyfikaty końcowe (ułatwia rotację root).
  • End-entity - certyfikat serwera/klienta; klient weryfikuje łańcuch od serwera do Root.
  • Każda zmiana w łańcuchu (inny root niż oczekiwany) = alert w przeglądarce.
Łańcuch zaufania (ang. Chain of trust): To sekwencja certyfikatów, w której każdy certyfikat jest podpisany kluczem urzędu nadrzędnego aż do samopodpisanego urzędu głównego. Klient weryfikuje łańcuch od certyfikatu serwera przez urzędy pośrednie do roota zapisanego w magazynie zaufania. Niezgodność któregokolwiek ogniwa powoduje ostrzeżenie przeglądarki i zablokowanie połączenia.
7/55
Certyfikat X.509 - struktura
Cel slajdu: Slajd opisuje strukturę certyfikatu X.509 z polami podmiotu, klucza i podpisu CA.

Co zawiera certyfikat?

  • Wersja (v1/v2/v3 - z rozszerzeniami zawsze v3), numer seryjny (unikalny u danego CA).
  • Issuer - kto wydał (CA); Subject - czyj to certyfikat (domena, organizacja).
  • Okres ważności: notBefore / notAfter.
  • Klucz publiczny podmiotu + rozszerzenia (v3: SAN, Key Usage...).
  • Podpis CA - CA podpisuje część TBSCertificate (integralność + autentyczność). Certyfikat = TBSCertificate + algorytm podpisu + wartość podpisu, więc pole signatureValue samo nie jest objęte podpisem.
Certyfikat X.509 (ang. X.509 certificate): To standardowa struktura wiążąca klucz publiczny z podmiotem, zawierająca wersję, numer seryjny, wystawcę, podmiot i okres ważności. Obejmuje część podpisywaną TBSCertificate oraz algorytm i wartość podpisu urzędu certyfikacji. Integralność całości gwarantuje podpis, więc zmiana dowolnego pola jest wykrywalna przy weryfikacji.
8/55
Certyfikat X.509 - rozszerzenia (v3)
Cel slajdu: Slajd przedstawia rozszerzenia v3 certyfikatu X.509, w tym użycie klucza i nazwy alternatywne.

Rozszerzenia wersji 3

  • Subject Alternative Name (SAN) - lista domen/IP/e-mail, dla których certyfikat jest ważny (dziś standard dla HTTPS, nie CN!).
  • Key Usage - dozwolone użycie klucza (digitalSignature, keyEncipherment, keyCertSign...).
  • Basic Constraints - czy to certyfikat CA (CA:TRUE/FALSE) - ochrona przed "podrobionym" urzędem.
  • Authority Key Identifier / Subject Key Identifier - pomoc w budowaniu łańcucha.
  • CRL Distribution Points, OCSP URL - gdzie sprawdzać unieważnienie.
Rozszerzenia X.509 v3 (ang. X.509 v3 extensions): To dodatkowe pola certyfikatu precyzujące jego dozwolone zastosowanie i sposób weryfikacji. Najważniejsze to nazwy alternatywne SAN, użycie klucza Key Usage oraz ograniczenia urzędu Basic Constraints. Zawierają też identyfikatory kluczy i adresy punktów CRL oraz OCSP do sprawdzania unieważnienia.
9/55
Formaty i kodowanie certyfikatów
Cel slajdu: Slajd porównuje formaty i kodowanie certyfikatów PEM, DER i magazyny PKCS.

PEM, DER, PKCS#12

  • PEM - tekst Base64 otoczony nagłówkami -----BEGIN CERTIFICATE-----; najczęstszy w serwerach.
  • DER - forma binarna (ASN.1 DER); używana w urządzeniach, Javie, Windows (cer).
  • PKCS#12 (.p12/.pfx) - kontener łączący klucz prywatny + certyfikat(-y), chroniony hasłem.
  • Konwersje wykonuje openssl (pem<->der, pkcs12 export/import).
Format PEM (ang. Privacy-Enhanced Mail): To tekstowe kodowanie certyfikatu w Base64 z nagłówkami BEGIN CERTIFICATE, powszechne w serwerach linuksowych. Obok niego istnieje binarny format DER używany w Javie i urządzeniach oraz kontener PKCS#12 łączący klucz prywatny z certyfikatami pod ochroną hasła. Konwersje między formatami wykonuje narzędzie openssl.
10/55
Proces wydawania certyfikatów
Cel slajdu: Slajd opisuje proces wydawania certyfikatów od żądania CSR po podpis urzędu CA.

Od wniosku do wdrożenia

  1. Generacja kluczy (np. openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048).
  2. Utworzenie CSR (Certificate Signing Request) - podpisany wniosek z kluczem publicznym i danymi podmiotu.
  3. Weryfikacja tożsamości przez RA/CA (domena, firma, OV/EV).
  4. Wydanie i podpisanie certyfikatu przez CA.
  5. Wdrożenie na serwerze (plik certyfikatu + klucz prywatny).
Wniosek o certyfikat (ang. Certificate Signing Request): To podpisany wniosek zawierający klucz publiczny i dane podmiotu, przy czym klucz prywatny nigdy nie opuszcza wnioskodawcy. Po weryfikacji tożsamości przez RA i CA następuje wydanie i podpisanie certyfikatu oraz jego wdrożenie na serwerze. Automatyzację tego procesu dla domen realizuje protokół ACME stosowany przez Let's Encrypt.
11/55
Unieważnianie certyfikatów - CRL
Cel slajdu: Slajd wyjaśnia unieważnianie certyfikatów poprzez listy CRL publikowane przez CA.

CRL (Certificate Revocation List)

  • Kiedy unieważniamy? utrata/kompromitacja klucza prywatnego, koniec usługi, zmiana nazwy/organizacji.
  • Forma: CA publikuje podpisaną listę; klient okresowo ją pobiera i sprawdza numer seryjny.
  • Wady CRL: duży rozmiar listy, opóźnienie świeżości (aktualizacja co godziny lub dni), brak informacji "on-line".
Lista unieważnionych certyfikatów (ang. Certificate Revocation List): To podpisana przez urząd lista numerów seryjnych certyfikatów cofniętych przed upływem ważności. Publikowana jest okresowo z powodu kompromitacji klucza, zmiany danych lub zakończenia usługi. Jej wadą jest duży rozmiar i opóźniona aktualność, dlatego nie daje informacji o statusie na żywo.
12/55
Unieważnianie certyfikatów - OCSP
Cel slajdu: Slajd przedstawia protokół OCSP jako bieżące sprawdzanie statusu certyfikatu online.

OCSP (Online Certificate Status Protocol)

  • OCSP - protokół zapytań o aktualny status pojedynczego certyfikatu (na żywo, zamiast pobierania całej listy CRL).
  • Zapytanie: klient wysyła numer seryjny + issuer; odpowiedź (podpisana przez respondera OCSP, działającego z upoważnienia CA): good / revoked / unknown.
  • Zalety: aktualny status, małe odpowiedzi, brak dużych list.
  • Ograniczenia: potrzeba dostępu do respondera (prywatność! wyciek informacji - kto pyta o jaki certyfikat), OCSP stapling - serwer sam dołącza odpowiedź (lepsza prywatność, mniej zapytań).
Protokół OCSP (ang. Online Certificate Status Protocol): To protokół zapytań o bieżący status pojedynczego certyfikatu zamiast pobierania całej listy CRL. Klient wysyła numer seryjny, a responder zwraca podpisaną odpowiedź dobrą, cofniętą lub nieznaną. Technika zszywania OCSP stapling poprawia prywatność i wydajność, bo odpowiedź dołącza sam serwer w trakcie TLS.
13/55
Zarządzanie kluczami w PKI
Cel slajdu: Slajd omawia zarządzanie kluczami w PKI: generowanie, przechowywanie i rotację.

Cykl życia klucza i certyfikatu

  • Generacja - u zaufanego dostawcy/sprzętu (HSM), z mocnego generatora liczb losowych (CSPRNG).
  • Użytkowanie - zgodnie z Key Usage; klucz prywatny NIGDY nie opuszcza urządzenia (HSM/token).
  • Rotacja - wymiana przed wygaśnięciem; odcięcie poprzedniego klucza po migracji.
  • Unieważnienie i zniszczenie - bezpieczne usunięcie (zeroizing), unikanie pozostałości w pamięci/logach.
Cykl życia klucza (ang. Key lifecycle): To etapy generowania, użytkowania, rotacji, unieważniania i bezpiecznego niszczenia kluczy w PKI. Generowanie wymaga silnego generatora losowego i często modułu HSM, a klucz prywatny nie powinien opuszczać bezpiecznego urządzenia. Rotacja przed wygaśnięciem oraz zerowanie kopii chronią przed przejęciem i pozostałościami w pamięci.
14/55
TLS - Transport Layer Security
Cel slajdu: Slajd wprowadza protokół TLS jako szyfrowane i uwierzytelnione połączenie transportowe.

Protokół ochrony warstwy transportu

  • Historia: SSL 2.0/3.0 (Netscape, 1995/1996) -> TLS 1.0 (1999) -> TLS 1.1 (2006) -> TLS 1.2 (2008) -> TLS 1.3 (RFC 8446, 2018).
  • Zapewnia: poufność (szyfrowanie), integralność (AEAD/MAC), autentyczność (certyfikaty serwera).
  • Stosowane w: HTTPS (port 443), SMTPS/IMAPS, VPN, IoT (DTLS na UDP).
Protokół TLS (ang. Transport Layer Security): To protokół kryptograficzny działający między warstwą transportu a aplikacją, zapewniający poufność, integralność i uwierzytelnianie. Jest następcą SSL i występuje obecnie głównie w wersjach 1.2 oraz 1.3 opisanej w RFC 8446. Stosowany jest w HTTPS, poczcie, VPN oraz w wariancie DTLS dla UDP i IoT.
15/55
TLS 1.2 - architektura
Cel slajdu: Slajd opisuje architekturę TLS 1.2 z podprotokołami handshake, record i alert.

Warstwy i podprotokoły TLS 1.2

  • Record layer - fragmentacja, szyfrowanie, MAC (kompresja TLS: wylaczona wg RFC 7525, usunięta w TLS 1.3); "cegły" całego TLS.
  • Handshake - uzgodnienie parametrów i kluczy (negocjacja).
  • ChangeCipherSpec - sygnał: "od teraz szyfrujemy".
  • Alert - komunikaty o błędach/zakończeniu (np. certificate_expired, bad_certificate).
  • Application Data - właściwe, chronione dane aplikacji.
Warstwa rekordów TLS (ang. TLS record layer): To najniższa warstwa TLS 1.2 odpowiedzialna za fragmentację, szyfrowanie i ochronę integralności danych. Nad nią działają podprotokoły uzgadniania Handshake, sygnalizacji ChangeCipherSpec, alertów oraz danych aplikacji. Taki podział oddziela negocjację parametrów od właściwego przesyłania chronionych danych.
16/55
TLS 1.2 - uwierzytelnianie serwera i wymiana klucza
Cel slajdu: Slajd wyjaśnia uwierzytelnianie serwera i wymianę klucza w TLS 1.2 krok po kroku.

Jak i czym uwierzytelniamy?

  • Uwierzytelnianie serwera (zwykle): serwer pokazuje certyfikat X.509 podpisany przez zaufane CA; klient weryfikuje łańcuch + zgodność nazwy.
  • Uwierzytelnienie klienta (opcjonalne, mTLS): klient także pokazuje certyfikat (bankowość korporacyjna, IoT).
  • Wymiana kluczy: klasycznie RSA key exchange (brak forward secrecy!) vs DH/ECDHE (forward secrecy).
  • Nazwa suite'u: TLS_[wymiana kluczy]_[uwierzytelnienie]_[szyfr]_[MAC], np. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. Przestarzałe: TLS_RSA_... (brak forward secrecy). Zalecane w TLS 1.2: ECDHE; DHE dziala, ale jest wolniejsze i wymaga wlasnych parametrow DH.
Uwierzytelnianie serwera w TLS (ang. Server authentication in TLS): To przedstawienie przez serwer certyfikatu X.509 i weryfikacja łańcucha oraz zgodności nazwy przez klienta. Opcjonalne uwierzytelnianie klienta mTLS wymaga certyfikatu także od drugiej strony. Bezpieczeństwo sesji zależy od wymiany kluczy, przy czym RSA nie daje tajemnicy przyszłościowej, a ECDHE ją zapewnia.
17/55
TLS 1.3 - najnowsza wersja
Cel slajdu: Slajd przedstawia TLS 1.3 jako najnowszą wersję z szybszym i bezpieczniejszym handshake.

Co zmieniło się w TLS 1.3 (RFC 8446)

  • Uproszczony handshake: 1-RTT (jedno okrążenie) zamiast 2-RTT; 0-RTT (early data) jako opcja.
  • Tylko ECDHE/DHE: w pełnym (niewznowieniowym) handshake wymiana kluczy zawsze ephemeral (efemeryczna) => forward secrecy domyślnie.
  • Wyłącznie AEAD (AES-GCM, ChaCha20-Poly1305) - usunięto CBC + MAC i kompresję TLS (eliminacja ataków padding oracle i CRIME).
  • Usunięto przestarzałe: RSA key exchange, RC4, SHA-1, CBC, kompresja.
  • Zmiany strukturalne: key_share w ClientHello, nowy podział kluczy (sekrety wczesne, handshake i aplikacyjne); podpis CertificateVerify liczony z transkryptu handshake (uzależniony od uzgodnionego sekretu).
Protokół TLS 1.3 (ang. Transport Layer Security version 1.3): To gruntownie uproszczona i bezpieczniejsza wersja TLS z uzgadnianiem w jednym okrążeniu 1-RTT oraz opcją 0-RTT. Wymusza wymianę efemeryczną ECDHE lub DHE oraz wyłącznie szyfrowanie uwierzytelnione AEAD. Usuwa przestarzałe mechanizmy RSA, RC4, SHA-1, CBC i kompresję, eliminując całe klasy ataków.
18/55
TLS 1.3 - handshake krok po kroku
Cel slajdu: Slajd opisuje handshake TLS 1.3 krok po kroku z forward secrecy i 0-RTT.

Sekwencja na żywo (Wireshark/demonstracja)

  1. ClientHello: wersje, cipher suites, key_share (np. X25519), ALPN (h2, http/1.1), rozszerzenia (SNI).
  2. ServerHello: wybór wersji/suite + key_share serwera -> obie strony potrafią już policzyć sekret.
  3. EncryptedExtensions + Certificate + CertificateVerify (podpis) - wszystko szyfrowane.
  4. Finished obu stron - potwierdzenie integralności całego handshake.
  5. Application Data - już po pełnym 1-RTT (przy wznowieniu sesji wystarcza 1-RTT; opcja 0-RTT / early data - od razu, tylko dla żądań idempotentnych).
Uzgadnianie TLS 1.3 (ang. TLS 1.3 handshake): To sekwencja ClientHello z udziałem key_share, ServerHello, zaszyfrowanych rozszerzeń, certyfikatu i podpisu CertificateVerify oraz komunikatów Finished. Klient i serwer wyliczają wspólny sekret już po pierwszej wymianie i potwierdzają integralność transkryptu. Przy wznowieniu sesji możliwe jest przyspieszenie do 1-RTT lub trybu wczesnych danych 0-RTT.
19/55
Certificate Transparency (CT)
Cel slajdu: Slajd wprowadza Certificate Transparency jako publiczne logi wykrywające fałszywe certyfikaty.

Przejrzystość certyfikatów

  • Problem: trudno wykryć, że CA wydało fałszywy certyfikat dla naszej domeny (bez zgody).
  • CT (RFC 6962): każdy certyfikat publiczny trafia do publicznych, niezaprzeczalnych dzienników (log) - CA wysyła certyfikat, dziennik potwierdza SCT.
  • SCT (Signed Certificate Timestamp) - dowód wpisania certyfikatu do dziennika; przeglądarka wymaga go dla public trust.
  • Korzyść: właściciel domeny może monitorować wydane na nią certyfikaty (np. na crt.sh) i wykryć nadużycia.
Przejrzystość certyfikatów (ang. Certificate Transparency): To system publicznych, niezaprzeczalnych dzienników, do których trafia każdy certyfikat publiczny zgodnie z RFC 6962. Urząd otrzymuje potwierdzenie SCT wymagane przez przeglądarki dla zaufania publicznego. Dzięki temu właściciel domeny może monitorować wydane certyfikaty i wykrywać fałszywe wystawienia.
20/55
HTTPS - TLS w praktyce WWW
Cel slajdu: Slajd pokazuje HTTPS jako zastosowanie TLS w przeglądarkach z kłódką i łańcuchem zaufania.

HTTPS (HTTP + TLS)

  • HTTPS - HTTP na połączeniu TLS opartym na certyfikacie; port 443.
  • Identyfikacja: przeglądarka = kłódka, zielona/nazwa domeny; kliknij certyfikat, by sprawdzić szczegóły.
  • HSTS (HTTP Strict Transport Security) - nagłówek Strict-Transport-Security zmuszający klientów do wyłącznie HTTPS (chroni przed SSL-stripping).
  • Downgrade guard: obowiązuje przez czas określony w max-age i tylko dla domeny, która go wysłała (dla subdomen dopiero po dodaniu includeSubDomains) - nie dla pozostałych stron. Brak lub błędne max-age oznacza, że przeglądarka ma nagłówek zignorować. Pierwszej wizyty nie chroni (TOFU), dlatego stosuje się listę preload (wymaga co najmniej roku ważności).
Protokół HTTPS (ang. HyperText Transfer Protocol Secure): To protokół HTTP na połączeniu TLS na porcie 443, którego stan sygnalizuje ikona kłódki i szczegóły certyfikatu. Nagłówek HSTS wymusza korzystanie wyłącznie z HTTPS przez czas max-age i chroni przed obniżaniem do HTTP. Lista preload rozszerza tę ochronę także na pierwszą wizytę użytkownika.
21/55
Porównanie TLS i VPN
Cel slajdu: Slajd porównuje TLS i VPN pod względem warstwy ochrony oraz typowych zastosowań.

Kiedy TLS, a kiedy VPN?

  • TLS/HTTPS - ochrona jednego połączenia aplikacji (stos: aplikacja+TCP); proste, bez dodatkowej infrastruktury.
  • VPN (IPsec, WireGuard, OpenVPN) - ochrona całego ruchu sieciowego (IP lub aplikacji) między urządzeniami; tunel do sieci prywatnej.
  • Wybór: pojedyncza strona/serwis -> TLS; zdalny dostęp do całej sieci lub filii -> VPN.
  • Wydajność i złożoność: TLS = mniejszy narzut na jedno połączenie; VPN = centralne zarządzanie, szyfrowanie każdego pakietu.
Porównanie TLS i VPN (ang. TLS versus VPN comparison): To rozróżnienie ochrony pojedynczego połączenia aplikacji przez TLS od ochrony całego ruchu sieciowego przez tunel VPN. TLS wystarcza dla pojedynczej strony lub API, natomiast VPN sprawdza się przy zdalnym dostępie do całej sieci. VPN centralizuje zarządzanie, lecz wprowadza większy narzut na każdy pakiet.
22/55
Uwierzytelnianie - wprowadzenie
Cel slajdu: Slajd wprowadza uwierzytelnianie jako weryfikację tożsamości odrębną od poufności.

Czym jest uwierzytelnianie?

  • Trzy czynniki: coś, co wiesz (hasło), coś, co masz (token, telefon), coś, czym jesteś (biometria: odcisk, tęczówka).
  • MFA (2FA) - użycie co najmniej dwóch różnych czynników z kategorii: wiedza (hasło), posiadanie (token), cecha biometryczna (np. hasło + kod z aplikacji). 2FA to popularna nazwa przypadku dokładnie dwóch czynników.
  • Silniejsza weryfikacja (krok 2) przy zmianie danych/hasła, logowaniu z nowego urządzenia.
Uwierzytelnianie (ang. Authentication): To proces potwierdzania tożsamości podmiotu, odrębny od autoryzacji określającej uprawnienia i rozliczalności rejestrującej działania. Wykorzystuje czynniki wiedzy, posiadania i biometrii, a połączenie co najmniej dwóch różnych czynników tworzy uwierzytelnianie wieloskładnikowe MFA. W sytuacjach podwyższonego ryzyka system żąda dodatkowej weryfikacji warunkowej.
23/55
Hasła i ich przechowywanie
Cel slajdu: Slajd omawia hasła i ich przechowywanie z solą oraz funkcjami pamięciowo-trudnymi.

Bezpieczne hasła - po stronie użytkownika i serwisu

  • Słabe hasła: słownikowe, powtarzane, krótkie - łamane w sekundy (hashcat/John).
  • Bez przechowywania w postaci jawnej: tylko hash + sól + iteracje (bcrypt/scrypt/Argon2/pbkdf2).
  • Sól (salt): losowa, niepowtarzalna wartość generowana osobno dla każdego hasła; zapobiega skuteczności tablic tęcznych (rainbow tables) i umożliwia użycie jednego hasła dla wielu kont.
  • Menedżery haseł: generują i przechowują silne, unikalne hasła (szyfrowany magazyn + master password).
  • Polityki: minimalna długość, unikanie wymogu częstej zmiany (bo użytkownicy zmieniają na "Haslo1!", "Haslo2!"...), MFA, blokowanie po N próbach.
Bezpieczne przechowywanie haseł (ang. Secure password storage): To zapisywanie wyłącznie skrótu hasła z unikalną solą i wieloma iteracjami przy użyciu funkcji bcrypt, scrypt, Argon2 lub PBKDF2. Sól losowa dla każdego hasła niweczy tęczowe tablice i różnicuje identyczne hasła. Uzupełnieniem są menedżery haseł, polityka długości, blokowanie prób oraz MFA.
24/55
Kerberos - wprowadzenie
Cel slajdu: Slajd wprowadza protokół Kerberos jako centralne uwierzytelnianie biletowe w sieciach.

Protokół uwierzytelniania MIT

  • Model: klient (user), KDC (Key Distribution Center), usługi (serwery).
  • Założenie: serwery i KDC znają hasła/klucze; hasło użytkownika nigdy nie jest wysyłane przez sieć.
  • Wykorzystanie: Active Directory (Windows), Unix/Linux (krb5), aplikacje sieciowe.
Protokół Kerberos (ang. Kerberos protocol): To protokół uwierzytelniania oparty na kryptografii symetrycznej, umożliwiający jednokrotne logowanie SSO do wielu usług. Składa się z klienta, centrum dystrybucji kluczy KDC oraz serwerów usług, a hasło użytkownika nigdy nie jest przesyłane siecią. Jest domyślnym mechanizmem w Active Directory oraz systemach krb5.
25/55
Kerberos - architektura i elementy
Cel slajdu: Slajd opisuje architekturę Kerberos z KDC, TGT i biletami usługowymi.

KDC: AS + TGS

  • KDC składa się z AS (Authentication Service) i TGS (Ticket Granting Service) - mogą być tym samym serwerem.
  • TGT (Ticket Granting Ticket) - "przepustka" do TGS; pozyskiwana po uwierzytelnieniu (musi być ważna czasowo).
  • Service Ticket (ST) - bilet do konkretnej usługi; wystawiany przez TGS na podstawie TGT.
  • Klucze sesyjne: K_klient-TGS (z TGT) i K_klient-serv (z ST) - chronią komunikację.
  • Znaczniki czasu - ochrona przed replay attack (potrzebny skew NTP).
Centrum dystrybucji kluczy (ang. Key Distribution Center): To centralny element Kerberos złożony ze służby uwierzytelniania AS i służby biletów TGS. Wystawia bilet TGT jako przepustkę do TGS oraz bilety usługowe ST wraz z kluczami sesyjnymi. Poprawność działania wymaga synchronizacji czasu NTP i ochrony przed powtórzeniami dzięki znacznikom czasu.
26/55
Kerberos - przepływ uwierzytelniania
Cel slajdu: Slajd wyjaśnia przepływ uwierzytelniania Kerberos od logowania po dostęp do usługi.

Krok po kroku

  1. AS-REQ: klient wysyła do AS swoją tożsamość (żądanie biletu TGT; przy włączonej preautoryzacji - dodatkowo zaszyfrowany znacznik czasu).
  2. AS-REP: AS zwraca TGT + klucz sesyjny zaszyfrowane hasłem/kluczem klienta.
  3. TGS-REQ: klient (mając TGT) prosi TGS o Service Ticket dla usługi.
  4. TGS-REP: TGS zwraca ST + klucz sesyjny dla serwisu.
  5. AP-REQ: klient przedstawia ST usłudze (z authenticatorem); serwis weryfikuje i udziela dostępu. Serwis odpowiada komunikatem AP-REP, który potwierdza powodzenie i chroni powtórzenie tego samego AP-REQ przez podsłuchującego.
Przepływ Kerberos (ang. Kerberos authentication flow): To sekwencja żądań AS-REQ i AS-REP prowadząca do uzyskania biletu TGT, a następnie TGS-REQ i TGS-REP dla biletu usługowego. Na końcu klient przedstawia usłudze bilet ST z weryfikatorem w komunikacie AP-REQ i otrzymuje potwierdzenie AP-REP. Preautoryzacja znacznikiem czasu utrudnia ataki słownikowe offline na odpowiedzi serwera.
27/55
Podatności Kerberos
Cel slajdu: Slajd omawia podatności Kerberos, w tym ataki Golden Ticket i Pass-the-Ticket.

Znane ataki i obrona

  • Pass-the-Ticket / Pass-the-Hash: atakujący kradnie TGT lub hash i używa go zamiast hasła - obrona to ograniczenie możliwości kradzieży i rotacja poświadczeń: ograniczone delegacje, wyłączenie NTLM / tryb Protected Users, ochrona kont uprzywilejowanych (LAPS dla haseł lokalnych, PAM, konta zarządzane), detekcja EDR/XDR.
  • Golden Ticket: fałszerstwo TGT z kompromitowanym kluczem KRBTGT - pełna kontrola domeny: ochrona i rotacja klucza KRBTGT (dwie niezależne kopie), detekcja nietypowych TGT w logach.
  • Silver Ticket: fałszerstwo ST dla jednej usługi (znany klucz usługi).
  • AS-REP Roasting: atak na konta bez wymaganej preautoryzacji (pre-auth) - wyłapywanie skrótów i brute-force.
Złoty bilet (ang. Golden Ticket): To sfałszowany bilet TGT wystawiony po kompromitacji klucza KRBTGT, dający pełną kontrolę nad domeną Kerberos. Podobne zagrożenia to srebrny bilet dla jednej usługi oraz ataki pass-the-ticket, pass-the-hash i AS-REP roasting. Obrona obejmuje rotację kluczy, silne hasła usług, ograniczenie delegacji i monitorowanie logów.
28/55
RADIUS i TACACS+
Cel slajdu: Slajd przedstawia protokoły RADIUS i TACACS jako centralne uwierzytelnianie dostępu sieciowego.

Protokoły AAA

  • RADIUS - standard AAA w sieciach dostępowych i Wi-Fi (802.1X, VPN).
  • TACACS+ - protokół Cisco (szyfruje CAŁY pakiet, rozdziela autoryzację).
  • Role: klient/NAS (urządzenie sieciowe) -> serwer RADIUS (weryfikacja), może odpytywać LDAP/AD.
  • Porty: RADIUS: UDP 1812 (auth)/1813 (acct); TACACS+: TCP 49.
Protokoły AAA (ang. Authentication Authorization Accounting protocols): To centralne protokoły uwierzytelniania, autoryzacji i rozliczania dla dostępu sieciowego. RADIUS działa na UDP 1812 i 1813 oraz szyfruje głównie hasła, wspierając Wi-Fi i VPN. TACACS+ działa na TCP 49, szyfruje cały pakiet i rozdziela autoryzację, służąc zwykle administracji urządzeń Cisco.
29/55
802.1X - uwierzytelnianie portu
Cel slajdu: Slajd wyjaśnia standard 802.1X jako uwierzytelnianie portu sieciowego z EAP.

Port-based Network Access Control

  • 802.1X - kontrola dostępu do portu LAN/Wi-Fi przed przyznaniem łączności.
  • Role: Supplicant (klient), Authenticator (switch/AP - port), Authentication Server (RADIUS).
  • Brak uwierzytelnienia = brak dostępu (port pozostaje w stanie blocked).
  • EAP (Extensible Authentication Protocol) - nośnik metod: EAP-PEAP, EAP-TLS, EAP-MSCHAPv2.
  • Zastosowania: sieci Wi-Fi firmowe (WPA-Enterprise), przełączniki, VoIP.
Standard 802.1X (ang. Port-based Network Access Control): To kontrola dostępu do portu LAN lub Wi-Fi przed przyznaniem łączności sieciowej. Definiuje role suplikanta, uwierzytelniającego portu oraz serwera RADIUS, a brak uwierzytelnienia pozostawia port zablokowany. Jako nośnik metod stosuje protokół EAP, na przykład EAP-TLS, PEAP lub MSCHAPv2.
30/55
OAuth 2.0 - autoryzacja dla aplikacji
Cel slajdu: Slajd przedstawia OAuth 2.0 jako delegowaną autoryzację aplikacji bez ujawniania hasła.

OAuth 2.0 (RFC 6749)

  • Role: Resource Owner (użytkownik), Client (aplikacja), Authorization Server (AS), Resource Server (API).
  • Granty autoryzacyjne: authorization code (z redirect), client credentials, device code; dawniej także implicit i hasło (ROPC) - dziś odradzane; refresh token to osobny mechanizm odnowienia dostępu.
  • PKCE (Proof Key for Code Exchange) - ochrona auth code przed przechwyceniem (mobilne/SPA).
  • Tokeny dostępu (short-lived, scope) i odświeżające (long-lived, ponowne wystawienie).
Protokół OAuth 2.0 (ang. OAuth 2.0 authorization framework): To protokół delegowanej autoryzacji pozwalający aplikacji uzyskać ograniczony dostęp do zasobów bez poznawania hasła. Definiuje role właściciela, klienta, serwera autoryzacji i serwera zasobów oraz przepływy kodu autoryzacji, klienta i urządzenia. Bezpieczeństwo wzmacniają krótkie tokeny dostępu, tokeny odświeżające i rozszerzenie PKCE.
31/55
OpenID Connect (OIDC)
Cel slajdu: Slajd opisuje OpenID Connect jako warstwę tożsamości nad OAuth 2.0.

OAuth 2.0 + tożsamość

  • OIDC (OpenID Connect) - warstwa identyfikacyjna na OAuth 2.0: poza access_token dostarcza ID Token (kim jesteś?).
  • ID Token: JWT z tożsamością (sub, name, email, exp, iss, aud).
  • Standardyzacja: discovery (.well-known/openid-configuration), JWKS (klucze publiczne), userinfo endpoint.
  • Zastosowania: SSO - "Zaloguj się przez Google/GitHub"; pracodawcy - federacja tożsamości.
  • OIDC + PKI: podpis ID Token algorytmem RS256, zweryfikowany kluczem z JWKS (opublikowanym przez IdP).
Protokół OIDC (ang. OpenID Connect): To warstwa tożsamości zbudowana na OAuth 2.0, dodająca token ID potwierdzający, kim jest użytkownik. Token ma postać JWT z oświadczeniami podmiotu, wystawcy, adresata i ważności, weryfikowany kluczem z JWKS. Standaryzuje wykrywanie konfiguracji i punkt userinfo, umożliwiając logowanie federacyjne SSO.
32/55
JWT - JSON Web Tokens
Cel slajdu: Slajd wyjaśnia tokeny JWT jako samowystarczalne, podpisane oświadczenia o tożsamości.

Struktura i bezpieczeństwo JWT

  • Header - algorytm (alg), typ tokenu; Payload - claims (sub, exp, iat, scope...); Signature - podpis/MAC.
  • Algorytmy: HS256 (symetryczny - wspólny sekret), RS256/ES256 (asymetryczny - klucze publiczne dostępne przez JWKS).
  • Podatności: alg:none (usunięcie podpisu!), alg confusion (HS vs RS - użycie klucza publicznego jako sekretu), słabe sekrety HS.
  • Praktyka: waliduj alg, exp, iss/aud; używaj tylko asymetrycznych podpisów, gdzie to możliwe.
Token JWT (ang. JSON Web Token): To zwarty, samowystarczalny token o strukturze nagłówek, ładunek i podpis w kodowaniu Base64URL. Przenosi oświadczenia podmiotu, wystawcy i ważności, podpisywane symetrycznie HS256 lub asymetrycznie RS256 i ES256. Wymaga ścisłej walidacji algorytmu i czasów, bo grożą mu ataki alg none oraz pomylenia algorytmów.
33/55
Bezpieczna wymiana danych - studium przypadku
Cel slajdu: Slajd pokazuje studium bezpiecznej wymiany danych łączące TLS, certyfikaty i uwierzytelnianie.

Projekt: bezpieczna transmisja między serwerami

  • Wymaganie: serwer A ma bezpiecznie wysyłać dane do serwera B (API, baza) przez niepewną sieć.
  • Rozwiązanie: mTLS - wzajemne certyfikaty klienta i serwera (obustronna weryfikacja X.509) + TLS 1.3.
  • Alternatywnie: OAuth2/OIDC + JWT (kontekst użytkownika), IPsec (cała sieć), WireGuard (tunel).
  • Zarządzanie kluczami: wewnętrzne CA, krótkie certyfikaty, rotacja, monitorowanie wygaśnięcia.
  • Testy: wymuś wygasłe certyfikaty, sprawdź odrzucanie IP/podszywanie.
Wzajemny TLS (ang. Mutual TLS): To rozwiązanie bezpiecznej wymiany danych między serwerami, w którym obie strony weryfikują certyfikaty X.509 w TLS 1.3. Wymaga wewnętrznego urzędu, krótkich certyfikatów, rotacji i monitorowania wygaśnięcia. Alternatywą są tokeny OAuth, tunele IPsec lub WireGuard zależnie od kontekstu użytkownika i sieci.
34/55
Transakcje elektroniczne - wprowadzenie
Cel slajdu: Slajd wprowadza transakcje elektroniczne jako zastosowanie podpisów i szyfrowania w handlu.

Bezpieczeństwo transakcji

  • Wymagania: C-I-A + niezaprzeczalność (podpis cyfrowy, dzienniki, dowody).
  • Protokoły: SET (historyczny, Visa/Mastercard), współcześnie TLS 1.2/1.3 + 3-D Secure (płatności kartą).
  • Norma: PCI DSS - obowiązki podmiotów przetwarzających dane kart płatniczych.
  • Przykłady systemów: banki (BLIK, przelewy), e-commerce, podpisy kwalifikowane, mObywatel.
Transakcja elektroniczna (ang. Electronic transaction): To operacja sieciowa taka jak płatność czy podpis dokumentu, wymagająca poufności, integralności, autentyczności i niezaprzeczalności. Historyczny protokół SET zastąpiono połączeniem TLS i mechanizmami 3-D Secure. Podmioty kartowe muszą spełniać normę PCI DSS dotyczącą ochrony danych płatniczych.
35/55
Płatności online - przepływ i bezpieczeństwo
Cel slajdu: Slajd opisuje przepływ i bezpieczeństwo płatności online od koszyka po autoryzację 3D Secure.

Od karty do autoryzacji

  • Uczestnicy: klient, merchant (sklep), bramka płatnicza, Acquirer (agent rozliczeniowy), Issuer (bank wydawca karty).
  • Tokenizacja: numer karty (PAN) zamieniany na token - sklep nie przechowuje danych karty (PCI DSS); token + bramka.
  • 3-D Secure v2: dodatkowe potwierdzenie płatności (biometria/OTP); analiza ryzyka w czasie rzeczywistym; bez przerywania przepływu, gdy niskie ryzyko.
  • Efekt: poufność PAN, autoryzacja transakcji przez właściwego właściciela, ograniczenie chargebacków.
Tokenizacja kart (ang. Payment tokenization): To zastąpienie numeru karty PAN losowym tokenem, dzięki czemu sklep nie przechowuje wrażliwych danych. Przepływ obejmuje klienta, sklep, bramkę, agenta rozliczeniowego i bank wydawcę, a ryzyko ograniczają potwierdzenia 3-D Secure v2. Europejskie silne uwierzytelnianie dodatkowo wymaga co najmniej dwóch niezależnych czynników.
36/55
Szyfrowanie poczty elektronicznej
Cel slajdu: Slajd przedstawia szyfrowanie poczty elektronicznej standardami S/MIME i PGP.

Trzy mechanizmy ochrony e-mail

  • S/MIME - szyfrowanie i podpisy oparte na certyfikatach X.509 (PKI/CA); odbiorca weryfikuje podpis przez łańcuch zaufania (formaty .p7m/.p7s).
  • OpenPGP/GPG - hybrydowe szyfrowanie (klucz sesji + asymetryka) i podpisy; zaufanie przez web of trust, bez centralnej CA.
  • TLS (STARTTLS) - szyfrowanie transportu SMTP/IMAP/POP3; chroni tylko transmisję, nie przechowywaną skrzynkę.
  • Porównanie: S/MIME wygodny w firmie (AD + CA), GPG popularny poza nią; przypadki użycia: e-Doręczenia (CAdES/CMS), poczta dziennikarzy/aktywistów (GPG), pełna ochrona end-to-end.
Protokół S/MIME (ang. Secure Multipurpose Internet Mail Extensions): To standard szyfrowania i podpisywania poczty oparty na certyfikatach X.509 i infrastrukturze PKI. Alternatywą jest hybrydowy OpenPGP bez centralnego urzędu oraz transportowe STARTTLS chroniące tylko transmisję. W firmach wygodniejszy jest S/MIME, poza nimi popularny jest GPG, a pełną ochronę daje jedynie szyfrowanie końcowe.
37/55
GPG - web of trust
Cel slajdu: Slajd wyjaśnia sieć zaufania GPG jako rozproszoną alternatywę dla hierarchii CA.

Zaufanie bez centralnej CA

  • Brak centralnej CA: każdy użytkownik podpisuje klucze innych (signing parties); zaufanie płynie od zaufanych osób.
  • Trust levels: unknown / none / marginal / full / ultimate - zaufanie stopniowe, zależne od liczby i stopnia podpisów.
  • Fingerprint (odcisk palca): pełny skrót klucza publicznego - dla wersji v4 160 bitów, czyli 40 znaków hex (np. C959 BDBA FA32 A2F8 9A15 3B67 8CFD E121 9796 5A9A); weryfikowany poza pasmem (portfel, strona WWW). Key ID to tylko dolne 64 bity odcisku - zbyt małe, by rozstrzygać o tożsamości klucza.
  • Ograniczenia praktyczne: wysoki próg upowszechnienia, brak automatycznej dystrybucji, ryzyko fałszywego klucza przy braku weryfikacji.
Sieć zaufania (ang. Web of trust): To zdecentralizowany model OpenPGP, w którym zaufanie wynika z wzajemnych podpisów kluczy użytkowników. Poziomy zaufania są stopniowane od nieznanego do pełnego, a tożsamość klucza potwierdza odcisk palca weryfikowany poza siecią. Model nie wymaga urzędu, lecz potrzebuje spotkań podpisywania i starannej weryfikacji kluczy.
38/55
IPsec - bezpieczeństwo warstwy sieciowej
Cel slajdu: Slajd wprowadza IPsec jako bezpieczeństwo warstwy sieciowej z trybami tunel i transport.

Protokół ochrony IP (RFC 4301)

  • AH (Authentication Header) - tylko integralność i autentyczność (bez szyfrowania).
  • ESP (Encapsulating Security Payload) - szyfrowanie + integralność (najczęściej stosowany).
  • Tryby: transport (tylko payload; host-host), tunel (cały pakiet; VPN site-to-site).
  • Zarządzanie kluczami: IKEv2 (Internet Key Exchange) - uzgadnia klucze i parametry (SA) z użyciem DH.
  • Zastosowania: VPN site-to-site, zdalne łącza; w bankowości połączenia między oddziałami i systemami płatniczymi.
Protokół IPsec (ang. Internet Protocol Security): To architektura ochrony pakietów na warstwie IP zapewniająca poufność, integralność i autentyczność. Wykorzystuje nagłówek AH tylko do uwierzytelniania oraz ładunek ESP do szyfrowania i uwierzytelniania. Pracuje w trybie transportu dla hostów lub tunelu dla VPN, a klucze negocjuje protokół IKEv2.
39/55
Współczesne VPN - WireGuard
Cel slajdu: Slajd przedstawia WireGuard jako nowoczesny, prosty protokół VPN oparty o Noise.

Nowoczesny, prosty i szybki VPN

  • Kryptografia: Curve25519, ChaCha20-Poly1305, BLAKE2s, WireGuard ma jedną stałą konfigurację (brak negocjacji szyfrów = mniej okazji do błędów).
  • Model: każda para uruchamia ten sam wzorzec Noise_IKpsk2 z biblioteki Noise; preshared key opcjonalnie - dodatkowa warstwa symetryczna mieszana z kryptografią klucza publicznego (częściowa odporność post-quantum).
  • Zalety: szybki (kernel), roaming, proste wdrożenie; rotacja kluczy przez ręczne zarządzanie.
  • Porównanie: OpenVPN (TLS, wolniejszy, starszy) vs WireGuard (szybszy, prostszy) vs IPsec (standard, trudniejszy).
Protokół WireGuard (ang. WireGuard VPN protocol): To minimalistyczny protokół VPN oparty na Curve25519, ChaCha20-Poly1305 i BLAKE2s, liczący około czterech tysięcy linii kodu. Stosuje jedną stałą konfigurację kryptograficzną we wzorcu Noise IKpsk2 bez negocjacji szyfrów. Działa szybko w jądrze, obsługuje roaming i opcjonalny klucz współdzielony dla dodatkowej odporności.
40/55
Bezpieczeństwo DNS - DNSSEC i DoH/DoT
Cel slajdu: Slajd omawia bezpieczeństwo DNS poprzez DNSSEC oraz szyfrowane zapytania DoH i DoT.

Chronimy DNS przed spoofingiem

  • Rekordy: DNSKEY (klucz publiczny strefy), RRSIG (podpis rekordu), DS (zgodność z rodzicem), NSEC/NSEC3 (negatywne odpowiedzi).
  • Chain of trust: root -> TLD -> strefa -> rekord; weryfikacja podpisów krok po kroku.
  • Adopcja: rosnąca w strefach komercyjnych (banki, .pl), wymóg w niektórych domenach rządowych.
  • Uzupełnienia: DoH (DNS over HTTPS) / DoT (over TLS) - szyfrowany transport zapytań; ochrona przed podsłuchem (ale nie zawsze kombinacja z DNSSEC).
Rozszerzenia DNSSEC (ang. DNS Security Extensions): To podpisy cyfrowe rekordów DNS tworzące łańcuch zaufania od roota przez TLD do strefy. Wykorzystują rekordy kluczy DNSKEY, podpisów RRSIG, delegacji DS oraz odpowiedzi negatywnych NSEC. Chronią przed zatruwaniem pamięci podręcznej, a poufność zapytań uzupełniają szyfrowane transporty DoH i DoT.
41/55
SPF, DKIM, DMARC - bezpieczna wymiana poczty
Cel slajdu: Slajd przedstawia mechanizmy SPF, DKIM i DMARC jako obronę poczty przed podszywaniem.

Walka z podszywaniem się w e-mailu

  • SPF (Sender Policy Framework) - rekord DNS: które serwery mogą wysyłać pocztę z mojej domeny (lista IP).
  • DKIM (DomainKeys Identified Mail) - podpis cyfrowy nagłówka/treści kluczem prywatnym domeny; odbiorca sprawdza kluczem publicznym w DNS.
  • DMARC (Domain-based Message Authentication, Reporting and Conformance) - polityka dla wiadomości nieprzechodzących SPF/DKIM: none / quarantine / reject + raporty.
  • Efekt: ograniczenie phishingu i spoofingu domen (np. fałszywe faktury).
Polityka DMARC (ang. Domain-based Message Authentication Reporting and Conformance): To polityka postępowania z pocztą niespełniającą weryfikacji SPF i DKIM z trybami none, quarantine i reject. SPF wskazuje uprawnione serwery nadawcze w DNS, a DKIM podpisuje nagłówek i treść kluczem domeny. Razem ograniczają phishing i podszywanie się pod domeny, na przykład fałszywe faktury.
42/55
Zero Trust - model bezpieczeństwa
Cel slajdu: Slajd wprowadza model Zero Trust jako zasadę nigdy nie ufaj i zawsze weryfikuj.

Never trust, always verify

  • Zasady: never trust, always verify - każda próba dostępu weryfikowana (tożsamość, urządzenie, kontekst).
  • Mikrosegmentacja: podział sieci na małe strefy; kompromitacja jednej nie daje dostępu do reszty.
  • Najmniejsze uprawnienia (least privilege): minimalny zakres praw, dostęp just-in-time, krótkotrwałe tokeny.
  • Ciągłe monitorowanie: analiza zachowań, telemetria, automatyczna reakcja (unieważnianie sesji).
Model Zero Trust (ang. Zero Trust security model): To podejście zakładające brak domyślnego zaufania niezależnie od lokalizacji zasobu i wymagające ciągłej weryfikacji. Opiera się na zasadzie nigdy nie ufaj, zawsze weryfikuj, mikrosegmentacji sieci oraz najmniejszych uprawnieniach. Obejmuje też monitorowanie zachowań i automatyczne unieważnianie podejrzanych sesji.
43/55
Zarządzanie dostępem tożsamości (IAM)
Cel slajdu: Slajd opisuje zarządzanie tożsamością i dostępem IAM z rolami oraz MFA.

Kim jesteś i co możesz robić?

  • Role i polityki: RBAC / ABAC - dostęp przyznawany na podstawie ról i atrybutów, nie stanowiska.
  • IdP (Identity Provider): centralny magazyn tożsamości (AD, Keycloak, Okta) - źródło prawdy o użytkownikach.
  • Federacja: SAML 2.0 i OIDC - współdzielenie tożsamości między organizacjami (SSO cross-domain).
  • Zarządzanie i zgodność (governance i compliance): przeglądy uprawnień, zgodność z RODO/PCI DSS, monitoring (privileged access).
Zarządzanie tożsamością (ang. Identity and Access Management): To zarządzanie tożsamościami cyfrowymi i uprawnieniami od utworzenia konta do jego usunięcia. Wykorzystuje modele ról RBAC i atrybutów ABAC oraz centralnego dostawcę tożsamości IdP. Federacja przez SAML i OIDC umożliwia współdzielenie tożsamości między organizacjami przy zachowaniu zgodności z RODO.
44/55
Diagnostyka i testowanie TLS
Cel slajdu: Slajd przedstawia diagnostykę i testowanie TLS narzędziami typu SSL Labs i openssl s_client.

Audyt konfiguracji po stronie serwera

  • Narzędzia: OpenSSL (s_client, x509), testssl.sh, SSL Labs / ssllabs.com, sslyze, nmap --script ssl-enum-ciphers.
  • Testujemy: protokoły (1.0..1.3), cipher suites, forward secrecy, poprawny łańcuch, OCSP, HSTS.
  • Podatności historyczne: Heartbleed (2014, buffer over-read w OpenSSL), POODLE (CBC/SSLv3), BEAST, Lucky13, ROBOT (RSA key exchange).
  • Rekomendacje: TLS 1.2+ (najlepiej 1.3), tylko AEAD, ECDHE, minimalizacja suite; openssl s_client -connect ... -servername ....
Diagnostyka TLS (ang. TLS diagnostics): To audyt konfiguracji serwera obejmujący wersje protokołu, zestawy szyfrów, tajemnicę przyszłościową, łańcuch, OCSP i HSTS. Wykorzystuje narzędzia openssl s_client, testssl.sh, SSL Labs, sslyze i skrypty nmap. Pozwala wykryć historyczne podatności Heartbleed, POODLE, BEAST i ROBOT oraz wdrożyć zalecane ustawienia.
45/55
Słabe strony certyfikatów i TLS
Cel slajdu: Slajd wskazuje słabe strony certyfikatów i TLS: błędne konfiguracje i wygasłe łańcuchy.

Najczęstsze błędy konfiguracji

  • Certyfikaty bez SAN (oparte na CN) - odrzucane przez nowoczesne przeglądarki.
  • Słabe algorytmy: SHA-1 w podpisie, klucze RSA < 2048, DH 512/768 bitów, RC4, CBC-SHA1.
  • Przestarzałe protokoły: SSL 3.0, TLS 1.0/1.1 - podatne na POODLE, BEAST, FREAK.
  • Brak forward secrecy: wymiana kluczy RSA (bez ECDHE) - złamanie klucza prywatnego = odszyfrowanie przeszłych sesji.
  • Problemy walidacji: akceptowanie certyfikatów self-signed i wynikających z niezaufanego urzędu, brak pełnej weryfikacji łańcucha aż do zaufanego korzenia - ataki MITM.
  • Brak OCSP stapling to nie luka kryptograficzna, lecz problem prywatności i dostępności: gdy responder OCSP jest nieosiągalny, klient musi odtwarzać status z CRL albo zrezygnować z weryfikacji.
Słaba konfiguracja TLS (ang. TLS misconfiguration): To najczęstsze błędy certyfikatów i protokołu, takie jak brak SAN, podpisy SHA-1, krótkie klucze RSA lub stare protokoły SSL i TLS 1.0. Obejmuje też brak tajemnicy przyszłościowej przy wymianie RSA oraz akceptowanie certyfikatów własnych bez pełnej weryfikacji. Takie uchybienia ułatwiają ataki przechwytywania i odszyfrowanie przeszłych sesji.
46/55
Studium przypadku - konfiguracja HTTPS
Cel slajdu: Slajd pokazuje studium konfiguracji HTTPS od wyboru certyfikatu po przekierowania HSTS.

Od certyfikatu do zielonej kłódki

  1. Wybór certyfikatu: Let's Encrypt (ACME, darmowy), wewnętrzne CA, DV/OV.
  2. Generacja kluczy + CSR: openssl req -new -newkey rsa:2048 -nodes.
  3. Uzyskanie certyfikatu: certbot --nginx -d bank.pl -d www.bank.pl.
  4. Konfiguracja nginx: ssl_certificate, ssl_protocols TLSv1.2 TLSv1.3, ssl_prefer_server_ciphers off, HSTS, przekierowanie HTTP→HTTPS.
  5. Testowanie: testssl.sh, SSL Labs, openssl s_client, Wireshark (handshake).
  6. Utrzymanie: auto-odnawianie (certbot renew), OCSP stapling, monitoring ważności.
Wdrożenie HTTPS (ang. HTTPS deployment): To proces od wyboru certyfikatu przez generowanie kluczy i CSR aż po konfigurację serwera i przekierowania. W praktyce wykorzystuje Let's Encrypt z certbot, protokoły TLS 1.2 i 1.3, HSTS oraz automatyczne odnawianie. Kończy się testami narzędziami audytowymi i analizą uzgadniania w Wireshark.
47/55
Studium przypadku - wdrożenie Kerberos
Cel slajdu: Slajd przedstawia studium wdrożenia Kerberos w sieci firmowej krok po kroku.

Kerberos w organizacji (AD / Linux)

  • Cel: SSO - jedno logowanie do wszystkich usług (poczta, pliki, aplikacje).
  • Wdrożenie: uruchomienie KDC (AS + TGS), utworzenie konta usług (SPN), umieszczenie kluczy w magazynie kluczy.
  • Klient: krb5.conf (realm, KDC, default_tkt_enctypes), kinit, klist.
  • Integracja z aplikacjami: mod_auth_gssapi (Apache), curl --negotiate, SMB (CIFS).
  • Podatności: Golden/Silver ticket, Kerberoasting, pass-the-ticket - stąd fragmentacja uprawnień, monitoring logów (Event ID 4769).
Wdrożenie Kerberos (ang. Kerberos deployment): To uruchomienie KDC z usługami AS i TGS oraz utworzenie kont usług z nazwami SPN w organizacji. Klienci konfigurują dziedzinę w krb5.conf i używają narzędzi kinit oraz klist do zarządzania biletami. Integracja z aplikacjami odbywa się przez GSSAPI, a bezpieczeństwo wymaga monitorowania biletów i ochrony kluczy.
48/55
Podsumowanie części 5 - najważniejsze zagadnienia
Cel slajdu: Slajd podsumowuje część piątą, utrwalając PKI, TLS i mechanizmy uwierzytelniania.

Co powinieneś zapamiętać

  • PKI: CA, RA, certyfikaty X.509, łańcuch zaufania, CRL/OCSP, unieważnianie, certyfikat = powiązanie klucza z tożsamością.
  • TLS/HTTPS: TLS 1.2/1.3, handshake, cipher suites, forward secrecy, HSTS; TLS chroni transport, nie treść.
  • Uwierzytelnianie: czynniki (wiedza/posiadanie/biometria), hasła + sól, Kerberos (TGT/ST), RADIUS/802.1X, OAuth 2.0, OIDC, JWT.
  • Transakcje elektroniczne: SET (historyczny), 3-D Secure, tokenizacja, silne uwierzytelnianie klienta (PSD2/SCA), PCI DSS.
  • Ochrona poczty, DNS i sieci: S/MIME, OpenPGP, SPF, DKIM, DMARC, DNSSEC, DoH/DoT, IPsec, WireGuard, Certificate Transparency.
  • Model: wiele warstw (defense in depth), PKI + TLS + uwierzytelnianie razem tworzą bezpieczną wymianę informacji.
Podsumowanie ochrony wymiany (ang. Secure exchange summary): To synteza PKI wiążącej klucz z tożsamością, TLS chroniącego transport oraz uwierzytelniania kontrolującego dostęp. Obejmuje też transakcje, pocztę, DNS i tunele sieciowe jako zastosowania tych samych fundamentów. Podkreśla obronę warstwową, w której wiele mechanizmów wspólnie tworzy bezpieczną wymianę informacji.
49/55
Słownik pojęć - część 5
Cel slajdu: Slajd systematyzuje słownik pojęć części piątej od CA po JWT.

Kluczowe terminy

  • CA - podmiot certyfikacji; RA - podmiot rejestracyjny; CSR - wniosek o certyfikat; X.509 - format; CRL - lista unieważnionych; OCSP - status online; SAN - alternatywne nazwy.
  • TLS - Transport Layer Security; HTTPS; HSTS; forward secrecy; AEAD; cipher suite.
  • Kerberos: KDC, AS, TGS, TGT, ST, SSO, bilet; RADIUS, 802.1X, EAP.
  • OAuth 2.0 - autoryzacja; OIDC - warstwa tożsamości; JWT - token JSON; JOSE; PKCE.
  • S/MIME, PGP, SPF, DKIM, DMARC, DNSSEC, IPsec, WireGuard.
Słownik bezpieczeństwa (ang. Security glossary): To uporządkowany zbiór skrótów i terminów od CA i CSR przez TLS i Kerberos aż po JWT i DMARC. Porządkuje pojęcia infrastruktury, protokołów i mechanizmów kryptograficznych używane w dokumentacji i RFC. Ułatwia powtórki, czytanie specyfikacji i precyzyjne formułowanie odpowiedzi egzaminacyjnych.
50/55
Pytania kontrolne - część 5
Cel slajdu: Slajd sprawdza zrozumienie PKI i TLS poprzez pytania o certyfikaty i handshake.

Weryfikacja wiedzy

  1. Jak wygląda łańcuch zaufania w PKI (root CA → intermediate → end-entity)? Kto podpisuje kogo?
  2. Co to jest SAN w certyfikacie X.509 i dlaczego jest wymagany?
  3. Czym różni się CRL od OCSP? Kiedy stosujemy OCSP stapling?
  4. Opisz handshake TLS 1.3 (jakie wiadomości, kiedy certyfikat, kiedy Finished).
  5. Na czym polega forward secrecy i jak ją zapewnić (ECDHE vs RSA)?
  6. Jak Kerberos realizuje Single Sign-On? Podaj rolę TGT i Service Ticket.
  7. Co to jest JWT i na czym polega atak "alg:none"/confusion?
  8. Do czego służą SPF, DKIM i DMARC w poczcie elektronicznej?
Pytania kontrolne (ang. Review questions): To zestaw zadań sprawdzających rozumienie łańcucha PKI, SAN, CRL i OCSP, handshake TLS oraz tajemnicy przyszłościowej. Obejmuje też działanie Kerberos z biletami TGT i ST, strukturę JWT oraz rolę SPF, DKIM i DMARC. Służy do samodzielnej weryfikacji wiedzy i wykrywania luk przed egzaminem.
51/55
Zadanie domowe - część 5
Cel slajdu: Slajd zadaje pracę domową: analizę certyfikatu i konfiguracji TLS.

Praca samodzielna

  1. Audyt konfiguracji TLS serwera (np. własny testowy): użyj openssl s_client, testssl.sh lub SSL Labs; wypisz protokoły, szyfry, forward secrecy, certyfikat (SAN, ważność), HSTS.
  2. Weryfikacja certyfikatu: sprawdź łańcuch (subject/issuer), OCSP/CRL dla wybranego certyfikatu; krótki raport.
  3. GPG/PGP: wygeneruj parę kluczy, podpisz i weryfikuj plik, zaszyfruj/odszyfruj; web of trust - krótki opis.
  4. JWT: zdekoduj przykład (header.payload.signature), wskaż claims (iss, exp, aud); opis algorytmów HS256/RS256.
  5. Kerberos: narysuj sekwencję krok po kroku (Kinit → TGT → TGS → ST → dostęp do usługi).
Zadanie domowe (ang. Homework assignment): To samodzielna praca praktyczna obejmująca audyt TLS, weryfikację łańcucha i statusu certyfikatu oraz operacje GPG. Zawiera też dekodowanie tokenu JWT i narysowanie sekwencji Kerberos od kinit do dostępu do usługi. Łączy teorię z narzędziami administratora i przygotowuje do egzaminu końcowego.
52/55
Literatura i źródła - część 5
Cel slajdu: Slajd porządkuje literaturę i źródła do pogłębienia wiedzy o PKI i tożsamości.

Dokumentacja i podręczniki

  • RFC 5280 - X.509; RFC 8446 - TLS 1.3; RFC 5246 - TLS 1.2; RFC 4120 - Kerberos.
  • RFC 6749 - OAuth 2.0; RFC 7519 - JWT; OpenID Connect Core 1.0; RFC 8555 - ACME (Let's Encrypt).
  • RFC 4033-4035 - DNSSEC; RFC 6376 - DKIM; RFC 7208 - SPF; RFC 7489 - DMARC; RFC 7638 - JWK thumbprint.
  • W. Stallings - Kryptografia i bezpieczeństwo sieci komputerowych (rozdz. PKI, TLS, Kerberos).
  • C. Paar, J. Pelzl - Understanding Cryptography (rozdz. o certyfikatach i TLS).
  • Dokumentacja: certbot/Let's Encrypt, OpenSSL Cookbook (Ivan Ristić), testssl.sh.
Literatura kryptograficzna (ang. Cryptographic literature): To zbiór normatywnych dokumentów RFC dla X.509, TLS, Kerberos, OAuth, JWT, DNSSEC i poczty. Uzupełniają go podręczniki Stallingsa oraz Paara i Pelzla oraz dokumentacje Let's Encrypt, OpenSSL i testssl. Stanowi wiarygodne źródło do pogłębiania wiedzy i weryfikacji konfiguracji protokołów.
53/55
Materiały wideo i interaktywne - część 5
Cel slajdu: Slajd wskazuje materiały wideo i interaktywne do ćwiczeń z TLS i Kerberosem.

Utrwalanie wiedzy

  • TLS: Computerphile - wideo "How TLS works" (handshake od strony klienta i serwera); demonstracje przechwytywania handshake TLS w Wireshark.
  • Kerberos: symulacje SSO (kinit/klist), filmy nt. ataków (Silver/Golden ticket).
  • OAuth/JWT: interaktywne dema OAuth 2.0 flow + PKCE, JWT.io (debugger tokena).
  • Ćwiczenia: konfiguracja HTTPS od zera (certbot + nginx), test szyfrów w testssl.sh.
Materiały interaktywne (ang. Interactive learning materials): To filmy i demonstracje ułatwiające utrwalenie TLS, Kerberos, OAuth i JWT poprzez obserwację działania. Obejmują analizy Wireshark, symulacje SSO, debugery tokenów oraz ćwiczenia z certbot i nginx. Skuteczność zapewniają dopiero poprzez aktywne powtarzanie czynności i sporządzanie własnych notatek.
54/55
Bezpieczeństwo i dobre praktyki - część 5
Cel slajdu: Slajd podsumowuje bezpieczeństwo i dobre praktyki: krótkie certyfikaty i MFA.

Rekomendacje praktyczne

  • Zawsze TLS 1.2+/1.3, wyłącz SSL 3.0 i TLS 1.0/1.1; tylko AEAD (AES-GCM/ChaCha20), ECDHE (forward secrecy).
  • Ochrona transportu danych: RODO w art. 32 wymaga odpowiednich środków technicznych i organizacyjnych zapewniających poufność, integralność i dostępność - bez wskazywania konkretnego protokołu. TLS 1.2/1.3 jest standardową realizacją tego wymogu, a nie jego literalną treścią.
  • Obowiązki sektorowe bywają ostrzejsze niż RODO: dla banków - rozporządzenie DORA (UE) 2022/2554 wraz z wytycznymi EBA/UE co do ochrony danych w tranzycie; dla podmiotów leczniczych - art. 56 ustawy o prawach pacjenta i przepisy o dokumentacji medycznej prowadzonej elektronicznie; operatorzy usług kluczowych - art. 14 ustawy o krajowym systemie cyberbezpieczeństwa, który wymaga m.in. zabezpieczeń zapewniających poufność, integralność, dostępność i autentyczność danych oraz bezpiecznych środków łączności.
  • Uwierzytelnianie wieloskładnikowe (MFA) dla dostępu do systemów krytycznych; rotacja kluczy i certyfikatów.
  • Audyt regularny konfiguracji (testssl, SSL Labs), monitoring wygasania certyfikatów i unieważnień (OCSP).
  • Pamiętaj: bezpieczeństwo to proces - uniwersalne, aktualne, zweryfikowane mechanizmy (PKI, TLS, uwierzytelnianie) to podstawa.
Dobre praktyki bezpieczeństwa (ang. Security best practices): To rekomendacje stosowania wyłącznie TLS 1.2 i 1.3 z AEAD i ECDHE oraz wyłączenia starych protokołów. Obejmują MFA dla systemów krytycznych, rotację kluczy, regularny audyt i monitorowanie ważności certyfikatów. Wynikają też z wymogów RODO, DORA, ustawy o prawach pacjenta i krajowego systemu cyberbezpieczeństwa.
55/55
Uwagi końcowe - część 5, zapowiedź części 6
Cel slajdu: Slajd zamyka część piątą i zapowiada część szóstą o systemach składowania.

Podsumowanie etapu 5 i co dalej

  • Dziękuję za udział. Poznałeś infrastrukturę klucza publicznego (PKI), TLS/HTTPS, uwierzytelnianie (Kerberos, OAuth/OIDC/JWT) i bezpieczeństwo transakcji elektronicznych.
  • Te mechanizmy to fundament bezpiecznej wymiany informacji w sieciach i transakcjach on-line.
  • Materiały do pracy własnej (raporty, tokeny, sekwencje) przygotowują do egzaminu końcowego.
  • Zapowiedź części 6: Systemy składowania danych - SAN (Storage Area Network), NAS i macierze RAID (bezpieczeństwo danych w spoczynku, kopie zapasowe, odzyskiwanie po awarii).
  • Zadanie domowe nr 5 do oddania przed następnym wykładem.
Podsumowanie etapu (ang. Closing remarks): To zamknięcie części o PKI, TLS, uwierzytelnianiu i transakcjach oraz zapowiedź systemów składowania danych. Wskazuje, że poznane mechanizmy są fundamentem bezpiecznej wymiany informacji w sieciach. Przypomina o zadaniu domowym i przygotowaniu do egzaminu oraz o tematyce SAN, NAS i RAID w kolejnej części.