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