Kryptografia na platformie Java w praktyce

3350 PLN+23% VAT (4120 PLN brutto / 1 os.)

Czas trwania szkolenia:3 dni (24h)

Kod kursu:J/KRYPT

Poziom zaawansowania:
javasecuritypkicryptography

Dostępne terminy

  • Termin
  • Trener
  • Cena
  • Zapis
  • Lokalizacja

Termin:

10 czerwiec
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

3350 PLN netto+23% VAT

Lokalizacja:

Zdalne
Zdalne

Termin:

30 wrzesień
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

3350 PLN netto+23% VAT

Lokalizacja:

Zdalne
Zdalne

Termin:

14 październik
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

3350 PLN netto+23% VAT

Lokalizacja:

Zdalne
Zdalne

Termin:

10 luty
Trwają zapisy na szkolenie

Trener:

Trener-Sages

Cena:

3350 PLN netto+23% VAT

Lokalizacja:

Zdalne
Zdalne

Interesuje Cię szkolenie stacjonarne lub nie odpowiada Ci żaden z dostępnych terminów?

Ikona pytaniaZapytaj o szkolenie

O szkoleniu Kryptografia na platformie Java w praktyce

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

Dla kogo?

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

Wymagania

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

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

Program

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

Podobne szkolenia