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. |