Freigeben über


Kryptografie

Der Artikel enthält eine Übersicht über die Kryptografiefeatures, die für Universelle Windows-Plattform (UWP)-Apps verfügbar sind. Ausführliche Informationen zu bestimmten Vorgängen finden Sie in der Tabelle am Ende dieses Artikels.

Terminologie

Die folgende Terminologie wird häufig in Kryptografie- und Public Key-Infrastruktur (Public Key Infrastructure, PKI) verwendet.

Begriff Beschreibung
Verschlüsselung Der Prozess der Transformation von Daten mithilfe eines kryptografischen Algorithmus und Schlüssels. Die transformierten Daten können nur mithilfe desselben Algorithmus und desselben (symmetrischen) oder verwandten (öffentlichen) Schlüssels wiederhergestellt werden.
Entschlüsselung Der Prozess der Rückgabe verschlüsselter Daten an das ursprüngliche Formular.
Klartext Ursprünglich wurde auf eine unverschlüsselte Textnachricht verwiesen. Verweist derzeit auf unverschlüsselte Daten.
Chiffretext Ursprünglich wurde auf eine verschlüsselte und daher nicht lesbare Textnachricht verwiesen. Bezieht sich derzeit auf verschlüsselte Daten.
Hashing Der Vorgang zum Konvertieren von Daten mit variabler Länge in eine feste Länge, in der Regel kleinerer Wert. Durch den Vergleich von Hashes können Sie eine angemessene Sicherheit erhalten, dass zwei oder mehr Daten gleich sind.
Signature Verschlüsselter Hash digitaler Daten, der in der Regel verwendet wird, um den Absender der Daten zu authentifizieren oder zu überprüfen, ob die Daten während der Übertragung nicht manipuliert wurden.
Algorithmus Eine schrittweise Vorgehensweise zum Verschlüsseln von Daten.
Schlüssel Eine zufällige oder pseudozufällige Zahl, die als Eingabe für einen kryptografischen Algorithmus zum Verschlüsseln und Entschlüsseln von Daten verwendet wird.
Symmetrische Schlüsselkryptografie Kryptografie, bei der Verschlüsselung und Entschlüsselung denselben Schlüssel verwenden. Dies wird auch als Kryptografie mit geheimem Schlüssel bezeichnet.
Kryptografie mit asymmetrischem Schlüssel Kryptografie, bei der Verschlüsselung und Entschlüsselung einen anderen, aber mathematisch verwandten Schlüssel verwenden. Dies wird auch als Kryptografie für öffentliche Schlüssel bezeichnet.
Codieren Der Prozess der Codierung digitaler Nachrichten, einschließlich Zertifikaten, für den Transport über ein Netzwerk.
Algorithmusanbieter Eine DLL, die einen kryptografischen Algorithmus implementiert.
Schlüsselspeicheranbieter Ein Container zum Speichern von Schlüsselmaterial. Derzeit können Schlüssel in Software, Smartcards oder dem vertrauenswürdigen Plattformmodul (TPM) gespeichert werden.
X.509-Zertifikat Ein digitales Dokument, das in der Regel von einer Zertifizierungsstelle ausgestellt wurde, um die Identität einer Person, eines Systems oder einer Entität für andere Interessierte zu überprüfen.

 

Namespaces

Die folgenden Namespaces sind für die Verwendung in Apps verfügbar.

Windows.Security.Cryptography

Enthält die CryptographicBuffer-Klasse und statische Methoden, die Folgendes ermöglichen:

  • Konvertieren von Daten in und aus Zeichenfolgen
  • Konvertieren von Daten in und aus Bytearrays
  • Codieren von Nachrichten für den Netzwerktransport
  • Decodieren von Nachrichten nach dem Transport

Windows.Security.Cryptography.Certificates

Enthält Klassen, Schnittstellen und Enumerationstypen, die Folgendes ermöglichen:

  • Erstellen einer Zertifikatanforderung
  • Installieren einer Zertifikatantwort
  • Importieren eines Zertifikats in einer PFX-Datei
  • Angeben und Abrufen von Zertifikatanforderungseigenschaften

Windows.Security.Cryptography.Core

Enthält Klassen und Enumerationstypen, die Folgendes ermöglichen:

  • Verschlüsseln und Entschlüsseln von Daten
  • Hashdaten
  • Signieren von Daten und Überprüfen von Signaturen
  • Erstellen, Importieren und Exportieren von Schlüsseln
  • Arbeiten mit Anbietern von asymmetrischen Schlüsselalgorithmus
  • Arbeiten mit anbietern von symmetrischen Schlüsselalgorithmus
  • Arbeiten mit Hashalgorithmusanbietern
  • Arbeiten mit Mac-Algorithmusanbietern (Machine Authentication Code)
  • Arbeiten mit Anbietern von Schlüsselableitungsalgorithmus

Windows.Security.Cryptography.DataProtection

Enthält Klassen, mit denen Sie folgende Aktionen ausführen können:

  • Asynchrones Verschlüsseln und Entschlüsseln statischer Daten
  • Datenströme asynchron verschlüsseln und entschlüsseln

Krypto- und PKI-Anwendungsfunktionen

Die vereinfachte Anwendungsprogrammierschnittstelle, die für Apps verfügbar ist, ermöglicht die folgenden Funktionen für kryptografische und public Key-Infrastruktur (PKI).

Kryptografieunterstützung

Sie können die folgenden kryptografischen Aufgaben ausführen. Weitere Informationen finden Sie im Windows.Security.Cryptography.Core-Namespace.

  • Erstellen symmetrischer Schlüssel
  • Ausführen der symmetrischen Verschlüsselung
  • Erstellen asymmetrischer Schlüssel
  • Asymmetrische Verschlüsselung durchführen
  • Ableiten kennwortbasierter Schlüssel
  • Erstellen von Nachrichtenauthentifizierungscodes (MACs)
  • Hashinhalt
  • Digitales Signieren von Inhalten

Das SDK bietet auch eine vereinfachte Schnittstelle für den kennwortbasierten Datenschutz. Sie können dies verwenden, um die folgenden Aufgaben auszuführen. Weitere Informationen finden Sie im Windows.Security.Cryptography.DataProtection-Namespace.

  • Asynchroner Schutz statischer Daten
  • Asynchroner Schutz eines Datenstroms

Codierungsunterstützung

Eine App kann kryptografische Daten für die Übertragung über ein Netzwerk codieren und Von einer Netzwerkquelle empfangene Daten decodieren. Weitere Informationen finden Sie unter den statischen Methoden, die im Windows.Security.Cryptography-Namespace verfügbar sind.

PKI-Unterstützung

Apps können die folgenden PKI-Aufgaben ausführen. Weitere Informationen finden Sie im Namespace "Windows.Security.Cryptography.Certificates ".

  • Erstellen eines Zertifikats
  • Erstellen eines selbstsignierten Zertifikats
  • Installieren einer Zertifikatantwort
  • Importieren eines Zertifikats im PFX-Format
  • Verwenden von Smartcardzertifikaten und Schlüsseln (sharedUserCertificates-Funktionen festgelegt)
  • Verwenden von Zertifikaten aus dem MY-Speicher des Benutzers (sharedUserCertificates-Funktionen festgelegt)

Darüber hinaus können Sie das Manifest verwenden, um die folgenden Aktionen auszuführen:

  • Angeben von vertrauenswürdigen Stammzertifikaten pro Anwendung
  • Angeben von vertrauenswürdigen Zertifikaten pro Anwendungspeer
  • Explizites Deaktivieren der Vererbung von der Systemvertrauensstellung
  • Angeben der Zertifikatauswahlkriterien
    • Nur Hardwarezertifikate
    • Zertifikate, die durch eine bestimmte Gruppe von Ausstellern verkettet werden
    • Automatisches Auswählen eines Zertifikats aus dem Anwendungsspeicher

Detaillierte Artikel

Die folgenden Artikel enthalten weitere Details zu Sicherheitsszenarien:

Thema Beschreibung
Zertifikate In diesem Artikel wird die Verwendung von Zertifikaten in UWP-Apps erläutert. Mit digitalen Zertifikaten wird ein öffentlicher Schlüssel in der Kryptografie für öffentliche Schlüssel an eine Person, an einen Computer oder an eine Organisation gebunden. Die gebundenen Identitäten werden meist dazu verwendet, eine Entität für die andere zu authentifizieren. Zertifikate werden z. B. häufig dazu verwendet, einen Webserver für einen Benutzer und einen Benutzer für einen Webserver zu authentifizieren. Sie können Zertifikatanforderungen erstellen und ausgestellte Zertifikate installieren oder importieren. Außerdem können Sie ein Zertifikat in einer Zertifikathierarchie registrieren.
Kryptografische Schlüssel In diesem Artikel wird erläutert, wie Sie mithilfe standardmäßiger Schlüsselableitungsfunktionen Schlüssel ableiten und wie Sie Inhalte mithilfe symmetrischer und asymmetrischer Schlüssel verschlüsseln können.
Datenschutz In diesem Artikel wird erläutert, wie Sie mithilfe der DataProtectionProvider-Klasse im Windows.Security.Cryptography.DataProtection-Namespace digitale Daten in einer UWP-App verschlüsseln und entschlüsseln können.
MACs, Hashes und Signaturen In diesem Artikel wird erläutert, wie Nachrichtenauthentifizierungscodes (MACs), Hashes und Signaturen in UWP-Apps verwendet werden können, um Nachrichtenmanipulation zu erkennen.
Exportbeschränkungen hinsichtlich Kryptografie Verwenden Sie diese Informationen, um festzustellen, ob Ihre App Kryptografie auf eine Weise verwendet, die verhindern kann, dass sie im Microsoft Store aufgeführt wird.
Allgemeine Kryptografieaufgaben Diese Artikel enthalten Beispielcode für allgemeine UWP-Kryptografieaufgaben, z. B. erstellen Zufällige Zahlen, Vergleichen von Puffern, Konvertieren zwischen Zeichenfolgen und Binären Daten, Kopieren in und aus Bytearrays sowie Codieren und Decodieren von Daten.