Szkolenie dostępne na zamówienie

Szkolenie: Kryptografia na platformie Java w praktyce

Przegląd mechanizmów zabezpieczeń na platformie Java

2550 PLN+23% VAT (3136 PLN brutto / 1 os.)

Czas trwania szkolenia:3 dni (24h)

Poziom zaawansowania:

Kod kursu:J/KRYPT

javasecuritypkicryptography

Dostępne terminy szkolenia

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

9 grudnia
Termin gwarantowanyTrwają zapisy na szkolenieOferta specjalna

Trener:

Piotr Nazimek

Cena:

2550 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?

Kryptografia na platformie Java w praktyce

Cele szkolenia

  • Poznanie i praktyczne wykorzystanie różnorodnych technik zabezpieczeń i algorytmów kryptograficznych w języku Java

  • Praktyczne użycie mechanizmów służących do zapewnienia poufności, integralności i uwierzytelnienia

  • Poznanie celu stosowania algorytmów takich jak kody uwierzytelniające wiadomość, szyfrowanie z hasłem czy algorytmy podpisu cyfrowego

  • Zdobycie umiejętności prawidłowego wykorzystania omawianych mechanizmów na platformie Java, poprzez przykłady realizowane w formie krótkich zadań programistycznych


Dla kogo?

  • Programiści tworzący aplikacje w środowisku Java


Zalety

  • Podczas warsztatów uczestnicy skonfigurują i użyją wbudowanych mechanizmów Java związanych z bezpieczeństwem

  • W trakcie szkolenia uczestnicy użyją wybranych algorytmów kryptograficznych w celu zapewnienia poufności, integralności i uwierzytelnienia

  • Zajęcia warsztatowe obejmują między innymi użycie urządzenia kryptograficznego za pomocą biblioteki PKCS #11

  • Uczestnicy wykorzystają protokół SSL/TLS do zapewnienia bezpiecznej komunikacji pomiędzy aplikacjami w Java

  • 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 wymagane są podstawowe umiejętności z zakresu programowania w języku 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

Mechanizmy zabezpieczeń na platformie Java

  • Zabezpieczenia na poziomie języka Java

  • Polityki bezpieczeństwa

  • Usługi uwierzytelniania i autoryzacji (Java Authentication and Authorization Service, JAAS)

  • Java Generic Security Services API (GSS-API)

  • Java Cryptography Architecture (JCA) i Java Cryptographic Extension (JCE)

  • Konfiguracja dostawców usług kryptograficznych

  • Biblioteka Bouncy Castle

Wprowadzenie do kryptografii

  • Podstawowe usługi ochrony informacji

  • Integralność, uwierzytelnienie, niezaprzeczalność i poufność

  • Podstawowe zasady stosowane w kryptografii

  • Bezpieczeństwo obliczeniowe i siła klucza

  • Podstawy notacji ASN.1

  • Kodowanie DER (Distinguished Encoding Rules) i PEM (Privacy-Enhanced Mail)

Przegląd algorytmów kryptograficznych

  • Algorytmy symetryczne i asymetryczne

  • Szyfry blokowe i strumieniowe

  • AES, ChaCha20, 3DES i inne szyfry symetryczne

  • Podstawowe tryby pracy szyfrów blokowych: ECB, CBC, CTR

  • Szyfrowanie z hasłem (password based encryption, PBE)

  • Funkcje skrótu i ich zastosowania

  • Rodzina SHA, SHA3 i algorytm Keccak

  • Usługa uwierzytelnienia i identyfikacji

  • Kody uwierzytelniające wiadomość: HMAC, KMAC i CMAC

  • Funkcje wyprowadzania klucza (key derivation function, KDF)

  • Bezpieczne kryptograficznie generatory ciągów pseudolosowych

  • Tryby uwierzytelnionego szyfrowania (authenticated encryption, AE)

  • Tryby uwierzytelnionego szyfrowania z danymi dodatkowymi (authenticated encryption with associated data, AEAD)

  • Tryb CCM i GCM

  • Algorytm Diffiego-Hellmana-Merkla (DH)

  • Algorytm RSA

  • Podpis cyfrowy i problem autentyczności klucza

  • Krzywe eliptyczne w kryptografii: krzywe NIST, SECG i Brainpool, Curve25519, Curve448

  • Algorytmy oparte o krzywe eliptyczne: ECDH, X25519, X448, ECDSA, EdDSA, Ed25519, Ed448

  • Szyfrowanie za pomocą algorytmów asymetrycznych

  • Podpis i szyfrowanie obiektów w Java

  • Zalecenia dotyczące mechanizmów kryptograficznych (wykorzystywane algorytmy, długości kluczy i inne parametry)

Bezpieczne przechowywanie kluczy i haseł

  • Repozytoria kluczy: PKCS #12, JKS, JCEKS, BC i BCFKS

  • Karty inteligentne (smart cards)

  • Elementy zabezpieczające (security elements, SE)

  • Sprzętowe moduły zabezpieczeń (hardware security module, HSM)

  • Interfejs PKCS #11

  • Przechowywanie haseł: Argon2, bcrypt, PBKDF2

Zastosowania kryptografii

  • Protokół zobowiązania bitowego

  • Protokół wyzwanie-odpowiedź

  • Java Simple Authentication and Security Layer (SASL)

  • 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

  • Podpis cyfrowy, XML Digital Signature

  • Działanie i parametry protokołu SSL/TLS

  • Java Secure Socket Extension (JSSE)

  • Jednostronne i obustronne uwierzytelnienie w protokole SSL/TLS

  • Doskonałe utajnienie z wyprzedzeniem (perfect forward secrecy, PFS)

  • Aplikacje dla kart kryptograficznych Java Card

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.