Karta szkolenia

Transkrypt

Karta szkolenia
Kod szkolenia:
Tytuł szkolenia:
Dni:
J/KRYPT
Kryptografia na platformie Java w praktyce
3
Opis:
Adresaci szkolenia:
Szkolenie adresowane jest do programistów tworzących aplikacje w środowisku Java, w
których zachodzi konieczność skorzystania z mechanizmów kryptograficznych.
Cel szkolenia:
Uczestnicy będą potrafić prawidłowo korzystać z mechanizmów kryptograficznych w
środowisku Java, w szczególności z dodatkowych funkcji jakie dostarcza biblioteka Bouncy
Castle. Omówione zostaną poszczególne obszary zastosowań kryptografii takie jak:
poufność, integralność, kody uwierzytelniające wiadomość, szyfrowanie z hasłem, algorytmy
podpisu cyfrowego, infrastruktura klucza publicznego, protokoły dla bezpiecznej poczty
elektronicznej oraz bezpiecznej komunikacji. Dla każdego z wymienionych tematów
omówione zostanie sposób jego implementacji na platformie Java wraz z przykładami
praktycznymi realizowanymi przez uczestników w formie krótkich zadań programistycznych.
Uczestnicy przygotują między innymi aplikacje do zarządzania kluczami i certyfikatami w
infrastrukturze klucza publicznego oraz program serwera i klienta komunikujące się z użyciem
protokołu SSL.
W szczególności: Uczestnicy w praktycznych zadaniach poznają problematykę projektowania
i implementacji bezpiecznych aplikacji wykorzystujących dostępne mechanizmy
kryptograficzne w Java.
Wymagania:
Od uczestników szkolenia wymagana jest umiejętność programowania w języku Java (do
poznania na kursie J/JP) oraz podstawowa wiedza dotycząca celów stosowania określonych
mechanizmów kryptograficznych. Możliwe jest przeprowadzenie szkolenia rozszerzonego
podczas którego Uczestnicy zostaną również zapoznani z technikami kryptograficznymi
służącymi ochronie informacji.
Parametry szkolenia:
3*8 godzin (3*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów).
5*8 godzin (5*7 godzin netto) - szkolenie w zakresie rozszerzonym - dodatkowo szczegółowe
objaśnienie zasad działania i celu stosowanych technik kryptograficznych
Wielkość grupy: maks. 8-10 osób.
Program szkolenia:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Powered by TCPDF (www.tcpdf.org)
JCA i JCE - podstawowa architektura, dostawcy, polityki zabezpieczeń
Instalacja i konfiguracja biblioteki Bouncy Castle
Algorytmy symetryczne – stosowanie szyfrów blokowych i strumieniowych
Funkcje skrótu – wyznaczanie skrótów wiadomości
Szyfrowanie z hasłem - stosowanie PBE (Password Based Encryption)
Kody MAC (Message Authentication Code), kody HMAC (Keyed-Hash Message
Authentication Code) – uwierzytelnianie źródeł danych
Notacja ASN.1 - przeznaczenie, tryby kodowania, przechowywanie obiektów
kryptograficznych
Algorytmy asymetryczne - algorytm RSA, Diffiego-Helmana
a. Stosowanie algorytmów do podpisu cyfrowego (RSA, El Gamal, DSA) –
generowanie kluczy, operacja podpisu, walidacja
b. Stosowanie algorytmów do szyfrowania wiadomości (RSA) – generowanie
kluczy, szyfrowanie, deszyfrowanie
Algorytmy oparte na krzywych eliptycznych – generowanie kluczy, podpis, walidacja
podpisu, szyfrowanie, deszyfrowanie
Infrastruktura klucza publicznego - certyfikaty X.509
a. Generowanie i przechowywanie certyfikatów
b. Walidacja i unieważnianie certyfikatów
c. Stosowanie list CRL i protokołu OCSP
Zarządzanie kluczami i certyfikatami – wykorzystanie repozytoriów kluczy
Protokoły CMS i S/MIME - przygotowanie aplikacji do zabezpieczania danych,
wymiany wiadomości elektronicznych
Protokoły SSL i TLS – przygotowanie aplikacji do bezpiecznej komunikacji
Dostęp do urządzeń kryptograficznych poprzez interfejs PKCS #11
Aplikacje dla kart kryptograficznych Java Card