PDF: Praktyczne aspekty stosowania kryptografii w
Transkrypt
PDF: Praktyczne aspekty stosowania kryptografii w
Kod szkolenia: Tytuł szkolenia: Dni: KRYPT/F Praktyczne aspekty stosowania kryptografii w systemach komputerowych 5 Opis: Adresaci Szkolenia: Szkolenie przeznaczone jest dla programistów, którzy zamierzają wykorzystać w tworzonym oprogramowaniu techniki kryptograficzne. Cel szkolenia: Celem szkolenia jest zaznajomienie się z technikami kryptograficznymi, które wykorzystywane są przy wprowadzaniu różnego rodzaju zabezpieczeń do systemów informatycznych. Podczas szkolenia omówione zostaną: usługi ochrony informacji algorytmy symetryczne i asymetryczne funkcje skrótu różnorodne protokoły kryptograficzne praktyczne aspekty wykorzystania kryptografii związane z prawidłowym używaniem poznanych metod oraz technikami ataku na nie W trakcie warsztatów uczestnicy będą mieli możliwość samodzielnie zastosować wybrane techniki kryptograficzne i przeprowadzić ataki na nie. Stworzą również podstawowy system wykorzystujący karty inteligentne poznając wszystkie aspekty związane z cyklem życia kluczy kryptograficznych oraz ich umiejętnego wykorzystania. Wymagania: Od uczestników wymagana jest podstawowa wiedza z zakresu programowania w języku C oraz Java. Parametry szkolenia: 5*8 godzin (5*7 godzin netto) wykładów i warsztatów. Wielkość grupy: maks. 8-10 osób. Program szkolenia: 1. Ochrona informacji - pojęcia podstawowe I. Pojęcia podstawowe: bezpieczeństwo, ochrona informacji itp. II. Pojęcia i relacje w bezpieczeństwie III. Podstawowe usługi ochrony informacji (wprowadzenie) i. Integralność ii. Uwierzytelnienie iii. Niezaprzeczalność iv. Poufność IV. Kryptologia, kryptografia i kryptoanaliza V. Podstawowe zasady stosowane w kryptografii 2. Algorytmy symetryczne I. Usługa poufności II. Szyfry blokowe III. DES, 3DES IV. AES V. Inne szyfry blokowe VI. Szyfry strumieniowe VII. Tryby pracy szyfrów blokowych VIII. Warsztaty: Wykorzystanie szyfrów blokowych, tryby pracy 3. Funkcje skrótu (integralność), MAC i niszczenie informacji I. Usługa integralności II. Cechy funkcji skrótu III. MD5, rodzina SHA, Keccak IV. Ataki na funkcje skrótu V. Atak dnia urodzin VI. Łamanie haseł - tablice tęczowe VII. Kody uwierzytelniające wiadomość VIII. Procedury i algorytmy niszczenia informacji IX. Warsztaty: Generowanie MAC i funkcji skrótów 4. Algorytmy asymetryczne I. Problem wymiany (uzgadniania) klucza II. Algorytm Diffiego-Hellmana-Merkla III. Problem faktoryzacji i logarytmu dyskretnego IV. RSA i ElGamal V. Krzywe eliptyczne VI. Algorytmy podpisu cyfrowego VII. Warsztaty: Działanie algorytmu RSA i ElGamal 5. Inne algorytmy/protokoły I. Protokół zobowiązania bitowego II. Protokół wyzwanie - odpowiedź III. Współdzielenie sekretów IV. Dowody wiedzy zerowej V. Pieniądze cyfrowe 6. Zalecenia, standardy i interfejsy 7. 8. 9. 10. Powered by TCPDF (www.tcpdf.org) I. Przegląd zaleceń RFC, norm ISO/IEC, FIPS oraz ANSI dotyczących kryptografii II. Notacja ASN.1 III. Przechowywanie materiału kryptograficznego: seria zaleceń PKCS IV. Dostęp do urządzeń kryptograficznych: PKCS#11 V. Warsztaty: Użycie biblioteki PKCS#11 do szyfrowania/deszyfrowania Zarządzanie kluczami I. Metody zarządzania kluczami w systemach kryptograficznych Ataki na systemy wykorzystujące kryptografię (na przykładach) I. Podstawowe zasady stosowane przy użyciu metod kryptograficznych II. Ataki brutalne (przykład: DES, ataki słownikowe) III. Generatory liczb losowych (przykład: generowanie kluczy) IV. Przechowywanie kluczy/haseł (przykład: przechowywanie kluczy w oprogramowaniu) V. Nieprawidłowe użycie klucza (przykład: algorytm RSA) VI. Zarządzanie kluczami (przykład: systemy płatnicze) VII. Błędy protokołów (przykład: protokół SSL) VIII. Poufność algorytmów (przykład: karty Mifare) IX. Implementacja algorytmów X. Metody socjotechniczne XI. Warsztaty: realizacja przykładowych ataków Hasła I. Wymagania wobec haseł II. Numery PIN III. Tworzenie kluczy z haseł IV. Warsztaty: generowanie kluczy z haseł Karty elektroniczne i sprzętowe moduły bezpieczeństwa I. Zastosowania i rodzaje kart elektronicznych II. Działanie kart elektronicznych III. Programowanie kart inteligentnych Java Card IV. Zarządzanie kluczami w systemach kart elektronicznych V. Dywersyfikacja kluczy VI. Moduły SAM VII. Urządzenia HSM VIII. Warsztaty: stworzenie apletu szyfrującego/deszyfrującego oraz oprogramowania, które go wykorzystuje