Kryptografia na platformie .NET w praktyce

LICZBA DNI: 3 (24h)

KOD KURSU: CRYPT/NET

Powiadom
o kolejnych terminach

# cryptography

# security

# c#

# .net

# pki

# ssl

# tls

Autor szkolenia:
Piotr Nazimek

O szkoleniu

DLA KOGO?

Programiści tworzący aplikacje w środowisku .NET Core i .NET Framework

WYMAGANIA

Od uczestników wymagane są podstawowe umiejętności z zakresu programowania w języku C#

ZALETY

Szkolenie obejmuje zarówno platformy .NET Core jak i .NET Framework w aktualnych wersjach

Podczas warsztatów uczestnicy skonfigurują i użyją wbudowanych mechanizmów platformy .NET 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 implementację protokołu wzajemnego uwierzytelnienia pomiędzy kartą elektroniczną i aplikacją oraz użycie urządzenia kryptograficznego zainstalowanego w Windows

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

Cele szkolenia

Poznanie i praktyczne wykorzystanie różnorodnych technik zabezpieczeń i algorytmów kryptograficznych na platformie .NET z uwzględnieniem mechanizmów systemu Windows

Praktyczne użycie algorytmó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 .NET, poprzez przykłady realizowane w formie krótkich zadań programistycznych

Program

  • Zabezpieczenia na poziomie języka C# i platformy .NET
  • Przegląd hierarchii klas .NET Core i .NET Framework
  • Różnice pomiędzy platformami i wersjami .NET Core i .NET Framework
  • Konfiguracja dostawców usług kryptograficznych
  • Microsoft CryptoAPI i dostawcy Cryptographic Service Provider (CSP)
  • Cryptography API: Next Generation (CNG)
  • Smart Card Minidriver
  • Implementacje bazujące na kodzie zarządzalnym i niezarządzalnym
  • Biblioteka Bouncy Castle dla C#
  • 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)
  • Dane kryptograficzne w formacie XML
  • Algorytmy symetryczne i asymetryczne
  • Szyfry blokowe i ich parametry
  • AES, 3DES i inne szyfry blokowe
  • Podstawowe tryby pracy szyfrów blokowych: ECB, CBC, CTR
  • Szyfrowanie z hasłem (password based encryption, PBE)
  • Funkcje skrótu i ich zastosowania
  • Rodzina MD, rodzina SHA, SHA3 i algorytm Keccak
  • Usługa uwierzytelnienia i identyfikacji
  • Kody uwierzytelniające wiadomość: HMAC
  • 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
  • Zalecenia dotyczące mechanizmów kryptograficznych (wykorzystywane algorytmy, długości kluczy i inne parametry)
  • Repozytoria kluczy: PKCS #12 i PFX
  • Repozytoria certyfikatów
  • Sprzętowe moduły bezpieczeństwa (hardware security module, HSM)
  • Kontenery użytkownika (User-Level)
  • Kontenery urządzenia (Machine-Level)
  • Interfejsy do urządzeń sprzętowych
  • Protokół zobowiązania bitowego
  • Protokół wyzwanie-odpowiedź
  • 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
  • Działanie i parametry protokołu SSL/TLS
  • Jednostronne i obustronne uwierzytelnienie w protokole SSL/TLS
  • Doskonałe utajnienie z wyprzedzeniem (perfect forward secrecy, PFS)

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.