Trwają zapisy do grupy

Szkolenie: Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Przegląd mechanizmów kryptograficznych wykorzystywanych w celu zapewnienia bezpieczeństwa systemów komputerowych

3500 PLN+23% VAT (4305 PLN brutto / 1 os.)

Czas trwania szkolenia:5 dni (40h)

Poziom zaawansowania:

Kod kursu:KRYPT/F

javasecuritypkicryptography

Dostępne terminy szkolenia

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

9 grudnia
Trwają zapisy na szkolenie

Trener:

Piotr Nazimek

Cena:

3500 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

13 stycznia
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

3500 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

14 kwietnia
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

3500 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Termin:

14 lipca
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

3500 PLN netto
Ikona podpowiedziDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Ikona podpowiedziZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Powiadom o kolejnych terminach

Interesuje Cię szkolenie w innym terminie?

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Cele szkolenia

  • Poznanie i praktyczne wykorzystanie różnorodnych technik kryptograficznych, które używane są przy implementacji zabezpieczeń w systemach komputerowych

  • Poznanie prawidłowych zasad użycia między innymi algorytmów szyfrujących (symetrycznych i asymetrycznych), funkcji skrótu, kodów uwierzytelniających wiadomość, algorytmów podpisu cyfrowego oraz wybranych protokołów kryptograficznych

  • Umiejętne unikanie typowych ataków na systemy wykorzystujące techniki kryptograficzne

  • Zrozumienie problemów związanych z zarządzaniem kluczami kryptograficznymi oraz przechowywaniem i przekazywaniem danych poufnych dzięki wielu praktycznym przykładom i warsztatom

  • Samodzielne zastosowanie poznanych mechanizmów do konfiguracji i uruchomienia centrum certyfikacji, zabezpieczonej poczty elektronicznej oraz komunikacji klient-serwer


Dla kogo?

  • Programiści i architekci chcący poznać zagadnienia związane z prawidłowym wykorzystaniem mechanizmów kryptograficznych do budowy bezpiecznych systemów


Zalety

  • Podczas szkolenia uczestnicy użyją wybranych algorytmów kryptograficznych w celu zapewnienia usług integralności, uwierzytelnienia, niezaprzeczalności oraz poufności

  • Uczestnicy zaatakują nieprawidłowo zabezpieczone systemy oraz sprawdzą odporność swoich rozwiązań na ataki

  • Zajęcia warsztatowe obejmują między innymi implementację protokołu wzajemnego uwierzytelnienia pomiędzy kartą elektroniczną i aplikacją

  • Uczestnicy samodzielnie skonfigurują własny ośrodek certyfikacji, uruchomią zabezpieczoną pocztę elektroniczną w oparciu o S/MIME oraz bezpieczną komunikację wykorzystując protokół SSL/TLS

  • Podczas szkolenia wykorzystujemy biblioteki zaimplementowane w C oraz Java, między innymi Bouncy Castle, OpenSSL, Mbed TLS i TinyCrypt

  • 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ę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

Pobierz program w PDF

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

  • 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)

  • Wykorzystanie kryptografii do budowy blockchain

Ataki na systemy wykorzystujące kryptografię

  • Klasy ataków i ich cele

  • Atak brutalny

  • Atak słownikowy

  • Atak typu man in the middle (MITM)

  • Atak powtórzeniowy

  • Inicjalizacja generatora liczb pseudolosowych

  • Nieprawidłowe użycie kluczy i trybów szyfrowania

  • Błędy w implementacji algorytmów

  • Ataki socjotechniczne

Autorem szkolenia jest Piotr Nazimek

Jestem absolwentem Wydziału Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. W 2012 roku obroniłem doktorat z obszaru niezawodności systemów komputerowych. Interesuję się szeroko pojętym bezpieczeństwem systemów komputerowych oraz inżynierią oprogramowania. Zawodowo pracuję od 2003 roku. Wolny czas spędzam na wyprawach rowerowych i w górach.