Szkolenie: Praktyczne aspekty stosowania kryptografii w systemach komputerowych
Szkolenie z kryptografii w systemach komputerowych uczy praktycznego stosowania algorytmów szyfrowania, podpisów cyfrowych, funkcji skrótu i protokołów bezpieczeństwa, konfiguracji PKI oraz ochrony danych i komunikacji w środowiskach IT
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:5 dni (40h)
Kod kursu:KRYPT/F
Praktyczne aspekty stosowania kryptografii w systemach komputerowych
Cele szkolenia
Szkolenie przygotowuje do samodzielnego wdrażania i stosowania technik kryptograficznych w celu zabezpieczania danych i komunikacji w systemach komputerowych
Szkolenie uczy rozpoznawania i unikania typowych ataków na systemy kryptograficzne oraz prawidłowego zarządzania kluczami i certyfikatami
Szkolenie pokazuje, jak konfigurować i obsługiwać infrastrukturę klucza publicznego oraz implementować bezpieczne usługi, takie jak poczta elektroniczna i komunikacja klient-serwer
Szkolenie omawia praktyczne aspekty migracji do kryptografii postkwantowej oraz wykorzystania nowoczesnych bibliotek kryptograficznych w różnych językach programowania
Dla kogo?
Programiści i architekci systemów IT z podstawową znajomością C i Java, chcący rozwijać kompetencje w zakresie kryptografii i bezpieczeństwa danych
Specjaliści ds. bezpieczeństwa IT odpowiedzialni za wdrażanie i utrzymanie rozwiązań kryptograficznych w organizacji
Administratorzy systemów zainteresowani praktycznym wykorzystaniem mechanizmów szyfrowania i zarządzania certyfikatami
Efekty kształcenia
Uczestnik analizuje i wdraża algorytmy kryptograficzne w aplikacjach IT
Uczestnik projektuje i konfiguruje infrastrukturę klucza publicznego PKI
Uczestnik ocenia odporność systemów na typowe ataki kryptograficzne
Uczestnik implementuje bezpieczną komunikację z użyciem SSL/TLS
Uczestnik stosuje dobre praktyki zarządzania kluczami i certyfikatami
Uczestnik wykorzystuje biblioteki kryptograficzne w C i Java
Wymagania
Od uczestników wymagana jest znajomość obsługi komputera, pracy z wierszem poleceń oraz znajomość podstawowych zasad programowania i podstaw składni języków C i Java
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 szkolenia
Wprowadzenie do ochrony informacji
Czym jest bezpieczeństwo informacji
Pojęcia i relacje w bezpieczeństwie
Podstawowe usługi ochrony informacji
Integralność, uwierzytelnienie, niezaprzeczalność i poufność
Kryptologia, kryptografia i kryptoanaliza
Podstawowe zasady stosowane w kryptografii
Kryptografia klasyczna
Bezpieczeństwo obliczeniowe i siła klucza
Standaryzacja i zalecenia: RFC, ISO/IEC, CEN/CENELEC, ETSI, PKCS, FIPS, ANSI, ITSEC/Common Criteria
Biblioteki kryptograficzne w Java i C/C++
Algorytmy symetryczne
Usługa poufności
Szyfr z kluczem jednorazowym (one-time pad, OTP)
Szyfrowanie a kodowanie
Szyfry blokowe i ich parametry
AES, 3DES i inne szyfry blokowe
Podstawowe tryby pracy szyfrów blokowych: ECB, CBC, CTR
Techniki oceny bezpieczeństwa algorytmów kryptograficznych
Podstawy kryptoanalizy
Szyfrowanie i kompresja
Szyfry strumieniowe: ChaCha20
Funkcje skrótu
Usługa integralności
Cechy funkcji skrótu
Rodzina SHA, SHA3 i algorytm Keccak
Ataki na funkcje skrótu
Procedury i algorytmy niszczenia informacji
Uwierzytelnienie i identyfikacja, kody uwierzytelniające wiadomość
Usługa uwierzytelnienia i identyfikacji
Kody uwierzytelniające wiadomość: HMAC, KMAC, CBC-MAC, CMAC
Uwierzytelnienie a autoryzacja
Generatory liczb losowych
Pojęcie losowości, typy generatorów liczb losowych
Entropia i jej rola
Bezpieczne kryptograficznie generatory ciągów pseudolosowych
Szyfrowanie z uwierzytelnieniem
Zasady łączenia różnych usług ochrony informacji
Tryby uwierzytelnionego szyfrowania (authenticated encryption, AE)
Tryby uwierzytelnionego szyfrowania z danymi dodatkowymi (authenticated encryption with associated data, AEAD)
Tryby: CCM, GCM i EAX
Algorytmy asymetryczne
Problem wymiany i ustanawiania klucza
Ceremonia wymiany klucza
Algorytm Diffiego-Hellmana-Merkla (DH)
Algorytm RSA
Podpis cyfrowy i problem autentyczności klucza
Algorytm podpisu cyfrowego DSA
Krzywe eliptyczne w kryptografii: krzywe NIST, SECG i Brainpool, Curve25519, Curve448
Algorytmy oparte o krzywe eliptyczne: ECDH, X25519, X448, ECDSA, EdDSA, Ed25519, Ed448
Mechanizm kapsułkowania kluczy (key encapsulation mechanism, KEM)
Kryptografia postkwantowa (post-quantum cryptography, PQC)
Algorytmy postkwantowe: ML-KEM, ML-DSA i SLH-DSA
Formaty podpisu cyfrowego
Szyfrowanie za pomocą algorytmów asymetrycznych
Porównanie algorytmów symetrycznych i asymetrycznych
Hasła
Hasła, frazy hasłowe a klucze kryptograficzne
Wymagania wobec haseł
Numery PIN
Tworzenie kluczy z haseł
Szyfrowanie z hasłem (password based encryption, PBE)
Przechowywanie haseł: Argon2, bcrypt, PBKDF2
Szyfrowanie nośników danych
Protokoły kryptograficzne
Protokół zobowiązania bitowego
Protokół wyzwanie-odpowiedź
Współdzielenie sekretów i schematy progowe
Dowody wiedzy zerowej
Zarządzanie kluczami
Metody zarządzania kluczami w systemach kryptograficznych
Repozytoria kluczy: PKCS #12, JKS, JCEKS, BC i BCFKS
Dywersyfikacja kluczy
Unikalność klucza, klucze sesyjne (efemeryczne)
Funkcje wyprowadzania klucza (key derivation function, KDF)
Zarządzanie kluczami w systemach kart elektronicznych
Zarządzanie kluczami w systemach płatniczych
Karty inteligentne (smart cards)
Elementy zabezpieczające (security elements, SE)
Sprzętowe moduły zabezpieczeń (hardware security module, HSM)
Interfejs PKCS #11
Dostawcy usług kryptograficznych w Java
Biblioteki CSP
Zastosowania kryptografii
Zalecenia dotyczące algorytmów kryptograficznych, długości kluczy i innych parametrów
Podstawy notacji ASN.1
Kodowanie DER (Distinguished Encoding Rules) i PEM (Privacy-Enhanced Mail)
Znaczenie zaufania, zaufana trzecia strona (trusted third party, TTP)
Infrastruktura klucza publicznego (public key infrastructure, PKI)
Usługi PKI w kontekście usług ochrony informacji
Generowanie kluczy oraz zgłoszenia certyfikacyjnego
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
Lista certyfikatów unieważnionych (certificate revocation list, CRL)
Protokół weryfikacji statusu certyfikatu (online certificate status protocol, OCSP)
Bezpieczna poczta elektroniczna S/MIME
Działanie i parametry protokołu SSL/TLS
Jednostronne i obustronne uwierzytelnienie w protokole SSL/TLS
Doskonałe utajnienie z wyprzedzeniem (perfect forward secrecy, PFS)
Migracja do kryptografii postkwantowej, certyfikaty hybrydowe (hybrid certificates)
Ataki na systemy wykorzystujące kryptografię
Klasy ataków i ich cele
Atak brutalny (brute-force attack)
Atak słownikowy (dictionary attack)
Atak typu man in the middle (MITM)
Atak powtórzeniowy (replay attack)
Inicjalizacja generatora liczb pseudolosowych
Nieprawidłowe użycie kluczy i trybów szyfrowania
Błędy w implementacji algorytmów
Atak zbierz teraz, odszyfruj później (harvest now, decrypt later)
Ataki socjotechniczne
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi

