Protokół SSL i TLS
Działanie i wykorzystanie protokołu SSL/TLS do zabezpieczenia danych wymienianych pomiędzy aplikacjami
3350 PLN+23% VAT (4120 PLN brutto / 1 os.)Czas trwania szkolenia:4 dni (32h)
Kod kursu:TLS
Protokół SSL i TLS
Cele szkolenia
Uruchomienie bezpiecznej komunikacji wykorzystującej protokół SSL/TLS w różnych konfiguracjach
Integracja protokołu SSL/TLS w aplikacji
Zrozumienie mechanizmów uwierzytelniania stron protokołu SSL/TLS, zarówno bazujących na certyfikatach w infrastrukturze klucza publicznego (public key infrastructure, PKI), jak i bez użycia certyfikatów
Poznanie i użycie w praktyce technik kryptograficznych, które wykorzystywane są w implementacji i konfiguracji protokołu SSL/TLS
Poznanie prawidłowych zasad użycia i łączenia algorytmów szyfrujących, funkcji skrótu, kodów uwierzytelniających wiadomość oraz algorytmów podpisu cyfrowego
Dla kogo?
Programiści chcący poznać zagadnienia związane z praktycznym wykorzystania protokołu SSL/TLS do zabezpieczenia komunikacji w systemach informatycznych
Zalety
Uczestnicy zintegrują protokół SSL/TLS w przykładowych aplikacjach, wykorzystując między innymi karty inteligentne (smart cards) do uwierzytelnienia stron protokołu
W trakcie warsztatów wykorzystane zostan ą narzędzia umożliwiających śledzenie, namierzanie i rozwiązywanie problemów w sesjach SSL/TLS
Podczas warsztatów uczestnicy samodzielnie skonfigurują i uruchomią własny ośrodek certyfikacji w oparciu o otwarte oprogramowanie
Uczestnicy przygotują i obsłużą zgłoszenia certyfikacyjne wystawiając certyfikaty o różnym przeznaczeniu
Szkolenie obejmuje różne wersje protokołu, również te, które obecnie nie są bezpieczne, ale muszą być utrzymywane w różnych systemach i zabezpieczane na inne sposoby
W wersji dedykowanej szkolenie może być zrealizowane w oparciu o biblioteki, języki programowania lub platformy wybrane przez uczestników
Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Wymagania
Od uczestników wymagana jest znajomość obsługi komputera, pracy z wierszem poleceń oraz znajomość podstawowych zasad programowania i podstaw składni języka Java lub C
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program
Wprowadzenie do ochrony informacji
Czym jest bezpieczeństwo informacji
Podstawowe usługi ochrony informacji
Integralność, uwierzytelnienie, niezaprzeczalność i poufność
Protokół SSL (Secure Sockets Layer)
Rodzina protokołów TLS (Transport Layer Security)
Cele stosowania protokołu SSL/TLS
Zaufanie i sposoby jego budowania
Rola zaufanej trzeciej strony (trusted third party, TTP)
Uwierzytelnienie witryn internetowych i protokół HTTPS
Rozporządzenie w sprawie identyfikacji elektronicznej i usług zaufania (eIDAS)
Listy statusu usług zaufania (trust service status list, TSL)
Normy międzynarodowe i standardy przemysłowe
Algorytmy i protokoły kryptograficzne
Funkcje skrótu: rodzina SHA, SHA3
Algorytmy symetryczne: AES, ChaCha20, 3DES
Krzywe eliptyczne w kryptografii: krzywe NIST, SECG i Brainpool, Curve25519, Curve448
Algorytmy uzgadniania klucza: DH, ECDH, X25519, X448
Algorytmy asymetryczne: RSA, ECDSA, EdDSA, Ed25519, Ed448
Problem autentyczności klucza
Identyfikacja, uwierzytelnienie i autoryzacja
Kody uwierzytelniające wiadomość (message authentication code, MAC)
Funkcje wyprowadzania klucza (key derivation function, KDF)
Tryby uwierzytelnionego szyfrowania (authenticated encryption, AE)
Tryby uwierzytelnionego szyfrowania z danymi dodatkowymi (authenticated encryption with associated data, AEAD)
Podstawy notacji ASN.1
Kodowanie DER (Distinguished Encoding Rules) i PEM (Privacy-Enhanced Mail)
Zalecenia dotyczące parametrów algorytmów kryptograficznych
Przechowywanie i przekazywanie kluczy kryptograficznych
Problem bezpiecznego przechowywania kluczy
Zarządzanie kluczami
Cykl życia kluczy
Karty inteligentne (smart cards)
Elementy zabezpieczające (security elements, SE)
Sprzętowe moduły zabezpieczeń (hardware security module, HSM)
Dostęp do urządzeń kryptograficznych w systemach operacyjnych i przeglądarkach
Interfejs PKCS #11
Dostawcy usług kryptograficznych w Java
Biblioteki CSP
Repozytoria kluczy: PKCS #12, JKS, JCEKS, BC i BCFKS
Elementy i rola Infrastruktury Klucza Publicznego
Generowanie kluczy oraz zgłoszenia certyfikacyjnego
Ośrodek certyfikacji (certificate authority, CA)
Rola punktu rejestracji (registration authority, RA)
Certyfikaty X.509
Łańcuch i ścieżka certyfikacji (certificate chain, certificate path)
Repozytoria certyfikatów
Pola certyfikatów i ich ustawienia
Ograniczanie użycia klucza
Rozszerzenia certyfikatów
Profile certyfikatów
Certyfikaty rozszerzonej walidacji
Odcisk klucza certyfikatu
Cykl życia certyfikatu
Ustanawianie zaufania pomiędzy ośrodkami certyfikacji
Główne i pośrednie urzędy certyfikacji
Certyfikaty skrośne (cross certificate) i zakładkowe (link certificate)
Kompromitacja klucza i unieważnianie certyfikatów
Lista certyfikatów unieważnionych (certificate revocation list, CRL)
Protokół weryfikacji statusu certyfikatu (online certificate status protocol, OCSP)
Mechanizm CRLSets
Przejrzystość certyfikatów (certificate transparency, CT)
Znacznik SCT (signed certificate timestamp)
Zalecenia grupy roboczej CA/Browser Forum
Certyfikaty uwierzytelniania witryn internetowych w eIDAS
Architektury wdrożeń PKI
Działanie i konfiguracja protokołu SSL/TLS
Wersje protokołu SSL (v2 i v3) i TLS (od 1.0 do 1.3)
Przebieg działania i elementy protokołu
Różnice w wersjach protokołu
Pakiety algorytmów (cipher suites)
Rozszerzenia protokołu SSL/TLS
Jednostronne i obustronne uwierzytelnienie w protokole SSL/TLS
Wybór metody uwierzytelnienia serwera i klienta
Zasady uwierzytelnienia
Handshake typu 1-RTT i 0-RTT
Wybór metody wymiany/uzgodnienia klucza
Doskonałe utajnienie z wyprzedzeniem (perfect forward secrecy, PFS)
Wpływ certyfikatu oraz parametrów protokołu na zachowanie przeglądarki internetowej
Profile certyfikatów TLS
Metoda współdzielonego klucza (pre-shared key, PSK)
Uwierzytelnienie oparte o hasło (secure remote password, SRP)
Datagramowy protokół TLS (Datagram Transport Layer Security, DTLS)
Wykorzystanie programowych i sprzętowych końcówek SSL/TLS
Testowanie działania protokołu
Zalecenia dotyczące konfiguracji
Integracja SSL/TLS w aplikacjach
Wbudowanie protokołu w aplikację
Tunelowanie komunikacji
Rozwiązania w systemach wbudowanych i internetu rzeczy (Internet of Things, IoT)
Utrzymanie i zabezpieczanie niebezpiecznych konfiguracji SSL/TLS
Protokół SSL/TLS w usłudze HTTPS
Mechanizm HSTS (HTTP Strict Transport Security)
Mechanizm HPKP (HTTP Public Key Pinning)
Wykorzystanie CSP (Content Security Policy)
Bezpieczeństwo protokołu SSL/TLS
Przegląd wybranych ataków
Bezpieczeństwo wybranej konfiguracji protokołu
Narzędzia do testowania bezpieczeństwa ustawień
Weryfikacja poprawności konfiguracji