Cryptography

Článek obsahuje přehled funkcí kryptografie dostupných pro aplikace WinUI. Podrobné informace o konkrétních úkolech najdete v tabulce na konci tohoto článku.

Terminologie

Následující terminologie se běžně používá v kryptografii a infrastruktuře veřejných klíčů (PKI).

Term Description
Šifrování Proces transformace dat pomocí kryptografického algoritmu a klíče. Transformovaná data je možné obnovit pouze pomocí stejného algoritmu a stejného (symetrického) nebo souvisejícího (veřejného) klíče.
Dešifrování Proces vrácení šifrovaných dat do původního formuláře.
Nešifrovaný text Původně odkazoval na nešifrovanou textovou zprávu. V současné době odkazuje na všechna nešifrovaná data.
šifrový text Původně odkazoval na zašifrovanou textovou zprávu, a proto je nečitelný. Aktuálně odkazuje na všechna šifrovaná data.
Hašování Proces převodu dat o proměnlivé délce na pevnou délku, obvykle menší hodnotu. Porovnáním hodnot hash můžete získat přiměřenou jistotu, že dvě nebo více dat jsou stejná.
Signature Zašifrovaná hodnota hash digitálních dat se obvykle používá k ověření odesílatele dat nebo ověření, že během přenosu nedošlo k manipulaci s daty.
Algorithm Podrobný postup pro šifrování dat.
Klíč Náhodné nebo pseudonáhodné číslo používané jako vstup kryptografického algoritmu pro šifrování a dešifrování dat.
Kryptografie symetrického klíče Kryptografie, ve které šifrování a dešifrování používají stejný klíč. Označuje se také jako kryptografie tajného klíče.
Asymetrická kryptografie klíče Kryptografie, ve které šifrování a dešifrování používá jiný, ale matematicky související klíč. Označuje se také jako kryptografie veřejného klíče.
Encoding Proces kódování digitálních zpráv, včetně certifikátů, pro přenos v síti.
Zprostředkovatel algoritmu Daná knihovna DLL, která implementuje kryptografický algoritmus.
Poskytovatel úložiště klíčů Kontejner pro ukládání klíčových materiálů. Klíče se v současné době dají ukládat do softwaru, čipových karet nebo čipu TPM (Trusted Platform Module).
Certifikát X.509 Digitální dokument, obvykle vydaný certifikační autoritou, k ověření identity jednotlivce, systému nebo subjektu jiným zúčastněným stranám.

 

Namespaces

V aplikacích jsou k dispozici následující obory názvů.

Windows.Security.Cryptography

Obsahuje třídu CryptographicBuffer a statické metody, které umožňují:

  • Převod dat na řetězce a z řetězců
  • Převod dat na pole bajtů a z bajtů
  • Kódování zpráv pro síťový přenos
  • Dekódování zpráv po přenosu

Windows.Security.Cryptography.Certificates

Obsahuje třídy, rozhraní a typy výčtu, které umožňují:

  • Vytvoření žádosti o certifikát
  • Instalovat odpověď na certifikát
  • Import certifikátu do souboru PFX
  • Zadání a načtení vlastností žádosti o certifikát

Windows.Security.Cryptography.Core

Obsahuje třídy a typy výčtu, které umožňují:

  • Šifrování a dešifrování dat
  • Data hash
  • Podepsání dat a ověření podpisů
  • Vytvoření, import a export klíčů
  • Práce s asymetrickými poskytovateli klíčových algoritmů
  • Práce s poskytovateli symetrických klíčů
  • Práce s poskytovateli hashovacích algoritmů
  • Práce s poskytovateli algoritmu MAC (Machine Authentication Code)
  • Práce s zprostředkovateli klíčových odvozených algoritmů

Windows.Security.Cryptography.DataProtection

Obsahuje třídy, které umožňují:

  • Asynchronní šifrování a dešifrování statických dat
  • Asynchronní šifrování a dešifrování datových proudů

Kryptografické funkce a možnosti aplikace PKI

Zjednodušené aplikační programovací rozhraní pro aplikace umožňuje následující kryptografické a funkce infrastruktury veřejných klíčů (PKI).

Podpora kryptografie

Můžete provádět následující kryptografické úlohy. Další informace naleznete v oboru názvů Windows.Security.Cryptography.Core .

  • Vytvoření symetrických klíčů
  • Provádění symetrického šifrování
  • Vytvoření asymetrických klíčů
  • Provádění asymetrického šifrování
  • Odvození klíčů založených na heslech
  • Vytvořte ověřovací kódy zpráv (MAC)
  • Hashovaný obsah
  • Digitálně podepsat obsah

Sada SDK také poskytuje zjednodušené rozhraní pro ochranu dat založených na heslech. Můžete ho použít k provedení následujících úloh. Další informace naleznete v oboru názvů Windows.Security.Cryptography.DataProtection.

  • Asynchronní ochrana statických dat
  • Asynchronní ochrana datového streamu

Podpora kódování

Aplikace může zakódovat kryptografická data pro přenos přes síť a dekódovat data přijatá ze zdroje sítě. Další informace naleznete ve statických metodách dostupných v oboru názvů Windows.Security.Cryptography .

Podpora infrastruktury veřejných klíčů

Aplikace můžou provádět následující úlohy PKI. Další informace naleznete v oboru názvů Windows.Security.Cryptography.Certificates .

  • Vytvoření certifikátu
  • Vytvoření vlastnoručně podepsaného certifikátu
  • Instalovat odpověď na certifikát
  • Import certifikátu ve formátu PFX
  • Použití certifikátů a klíčů čipové karty (sada funkcí sharedUserCertificates)
  • Použití certifikátů z úložiště MY uživatele (sada funkcí sharedUserCertificates)

Manifest navíc můžete použít k provedení následujících akcí:

  • Určení důvěryhodných kořenových certifikátů pro jednotlivé aplikace
  • Určení certifikátů důvěryhodných vrstevníků pro jednotlivé aplikace
  • Explicitní zakázání dědičnosti z důvěryhodnosti systému
  • Zadání kritérií výběru certifikátu
    • Pouze hardwarové certifikáty
    • Certifikáty, které jsou propojeny přes zadanou sadu vystavitelů
    • Automaticky vybrat certifikát z úložiště aplikací

Podrobné články

Následující články obsahují podrobnější informace o scénářích zabezpečení:

Téma Description
Certifikáty Tento článek popisuje použití certifikátů v aplikacích WinUI. Digitální certifikáty se používají v kryptografii veřejného klíče k vytvoření vazby veřejného klíče k osobě, počítači nebo organizaci. Vázané identity se nejčastěji používají k ověření jedné entity v jiné. Certifikáty se například často používají k ověření webového serveru pro uživatele a uživatele na webovém serveru. Můžete vytvářet žádosti o certifikáty a instalovat nebo importovat vystavené certifikáty. Certifikát můžete také zaregistrovat v hierarchii certifikátů.
Kryptografické klíče Tento článek ukazuje, jak pomocí standardních funkcí odvození klíče odvodit klíče a jak šifrovat obsah pomocí symetrických a asymetrických klíčů.
Ochrana dat Tento článek vysvětluje, jak používat DataProtectionProvider třídy v oboru názvů Windows.Security.Cryptography.DataProtection k šifrování a dešifrování digitálních dat v aplikaci WinUI.
MACy, hashe a podpisy Tento článek popisuje, jak se dají v aplikacích WinUI používat ověřovací kódy zpráv (MAC), hodnoty hash a podpisy k detekci manipulace se zprávami.
Omezení exportu kryptografie Tyto informace použijte k určení, jestli vaše aplikace používá kryptografii způsobem, který by mohl zabránit tomu, aby byla uvedena v Microsoft Storu.
Běžné úlohy kryptografie Tyto články obsahují ukázkový kód pro běžné úlohy kryptografie WinUI, jako je vytváření náhodných čísel, porovnávání vyrovnávacích pamětí, převod mezi řetězci a binárními daty, kopírování do a z bajtových polí a kódování a dekódování dat.