Partager via


Cryptographie

L’article fournit une vue d’ensemble des fonctionnalités de chiffrement disponibles pour les applications plateforme Windows universelle (UWP). Pour plus d’informations sur des tâches particulières, consultez le tableau à la fin de cet article.

Terminologie

La terminologie suivante est couramment utilisée dans le chiffrement et l’infrastructure à clé publique (PKI).

Terme Description
Chiffrement Processus de transformation des données à l’aide d’un algorithme de chiffrement et d’une clé. Les données transformées peuvent être récupérées uniquement à l’aide du même algorithme et de la même clé (symétrique) ou associée (publique).
Déchiffrement Processus de renvoi de données chiffrées à sa forme d’origine.
Plaintext À l’origine, il s’agit d’un message texte non chiffré. Fait actuellement référence à toutes les données non chiffrées.
Texte chiffré À l’origine, on fait référence à un message texte chiffré, et donc illisible. Fait actuellement référence à toutes les données chiffrées.
Hashing Processus de conversion de données de longueur variable en longueur fixe, généralement plus petite, valeur. En comparant les hachages, vous pouvez obtenir une assurance raisonnable que deux données ou plus sont identiques.
Signature Hachage chiffré de données numériques généralement utilisé pour authentifier l’expéditeur des données ou vérifier que les données n’ont pas été falsifiées pendant la transmission.
Algorithme Procédure pas à pas pour chiffrer les données.
Clé Nombre aléatoire ou pseudorandom utilisé comme entrée d’un algorithme de chiffrement pour chiffrer et déchiffrer des données.
Chiffrement à clé symétrique Chiffrement dans lequel le chiffrement et le déchiffrement utilisent la même clé. Il s’agit également du chiffrement de clé secrète.
Chiffrement à clé asymétrique Chiffrement dans lequel le chiffrement et le déchiffrement utilisent une clé différente mais mathématiquement associée. Il s’agit également du chiffrement de clé publique.
Encodage Processus d’encodage de messages numériques, y compris des certificats, pour le transport sur un réseau.
Fournisseur d’algorithmes DLL qui implémente un algorithme de chiffrement.
Fournisseur de stockage de clés Conteneur pour le stockage de matériel de clé. Actuellement, les clés peuvent être stockées dans des logiciels, des cartes à puce ou le module de plateforme sécurisée (TPM).
X.509 Certificate Document numérique, généralement émis par une autorité de certification, pour vérifier l’identité d’un individu, d’un système ou d’une entité auprès d’autres parties intéressées.

 

Espaces de noms

Les espaces de noms suivants sont disponibles pour une utilisation dans les applications.

Windows.Security.Cryptography

Contient la classe CryptographicBuffer et les méthodes statiques qui vous permettent de :

  • Convertir des données vers et depuis des chaînes
  • Convertir des données vers et depuis des tableaux d’octets
  • Encoder des messages pour le transport réseau
  • Décoder les messages après le transport

Windows.Security.Cryptography.Certificates

Contient des classes, des interfaces et des types d’énumération qui vous permettent de :

  • Créer une demande de certificat
  • Installer une réponse de certificat
  • Importer un certificat dans un fichier PFX
  • Spécifier et récupérer des propriétés de demande de certificat

Windows.Security.Cryptography.Core

Contient des classes et des types d’énumération qui vous permettent de :

  • Chiffrer et déchiffrer des données
  • Données de hachage
  • Signer des données et vérifier les signatures
  • Créer, importer et exporter des clés
  • Utiliser des fournisseurs d’algorithmes de clé asymétrique
  • Utiliser des fournisseurs d’algorithmes de clé symétrique
  • Utiliser des fournisseurs d’algorithmes de hachage
  • Utiliser des fournisseurs d’algorithmes mac (Machine Authentication Code)
  • Utiliser des fournisseurs d’algorithmes de dérivation de clé

Windows.Security.Cryptography.DataProtection

Contient des classes qui vous permettent de :

  • Chiffrer et déchiffrer de manière asynchrone les données statiques
  • Chiffrer et déchiffrer de manière asynchrone les flux de données

Fonctionnalités d’application Crypto et PKI

L’interface de programmation d’applications simplifiée disponible pour les applications active les fonctionnalités de chiffrement et d’infrastructure à clé publique (PKI) suivantes.

Prise en charge du chiffrement

Vous pouvez effectuer les tâches de chiffrement suivantes. Pour plus d’informations, consultez l’espace de noms Windows.Security.Cryptography.Core .

  • Créer des clés symétriques
  • Effectuer un chiffrement symétrique
  • Créer des clés asymétriques
  • Effectuer un chiffrement asymétrique
  • Dériver des clés basées sur un mot de passe
  • Créer des codes d’authentification de message (MAC)
  • Contenu de hachage
  • Signer numériquement du contenu

Le Kit de développement logiciel (SDK) fournit également une interface simplifiée pour la protection des données basée sur un mot de passe. Vous pouvez l’utiliser pour effectuer les tâches suivantes. Pour plus d’informations, consultez l’espace de noms Windows.Security.Cryptography.DataProtection .

  • Protection asynchrone des données statiques
  • Protection asynchrone d’un flux de données

Prise en charge du codage

Une application peut encoder des données de chiffrement pour la transmission sur un réseau et décoder les données reçues d’une source réseau. Pour plus d’informations, consultez les méthodes statiques disponibles dans l’espace de noms Windows.Security.Cryptography .

Prise en charge de l’infrastructure à clé publique

Les applications peuvent effectuer les tâches PKI suivantes. Pour plus d’informations, consultez l’espace de noms Windows.Security.Cryptography.Certificates .

  • Créer un certificat
  • Créer un certificat auto-signé
  • Installer une réponse de certificat
  • Importer un certificat au format PFX
  • Utiliser des certificats et des clés de carte à puce (ensemble de fonctionnalités sharedUserCertificates)
  • Utiliser des certificats à partir du magasin MY utilisateur (ensemble de fonctionnalités sharedUserCertificates)

En outre, vous pouvez utiliser le manifeste pour effectuer les actions suivantes :

  • Spécifier par certificat racine approuvé par application
  • Spécifier des certificats approuvés par homologue d’application
  • Désactiver explicitement l’héritage de l’approbation système
  • Spécifier les critères de sélection de certificat
    • Certificats matériels uniquement
    • Certificats qui se chaînent via un ensemble spécifié d’émetteurs
    • Sélectionner automatiquement un certificat dans le magasin d’applications

Articles détaillés

Les articles suivants fournissent plus de détails sur les scénarios de sécurité :

Sujet Description
Certificats Cet article décrit l’utilisation de certificats dans les applications UWP. Les certificats numériques sont utilisés dans le chiffrement à clé publique pour lier une clé publique à une personne, un ordinateur ou une organisation. Les identités liées sont le plus souvent utilisées pour authentifier une entité auprès d’une autre. Par exemple, les certificats sont souvent utilisés pour authentifier un serveur Web auprès d’un utilisateur ou vice versa. Vous pouvez créer des demandes de certificat et installer ou importer des certificats émis. Vous pouvez aussi inscrire un certificat dans une hiérarchie de certificats.
Clés de chiffrement Cet article montre comment utiliser les fonctions de dérivation de clés standard, et chiffrer du contenu à l’aide de clés symétriques et asymétriques.
Protection des données Cet article explique comment utiliser la classe DataProtectionProvider dans l’espace de noms Windows.Security.Cryptography.DataProtection pour chiffrer et déchiffrer des données numériques dans une application UWP.
Codes d’authentification des messages, hachages et signatures Cet article explique comment les codes d’authentification des messages (MAC), les hachages et les signatures peuvent être utilisés dans les applications UWP pour détecter la falsification des messages.
Restrictions à l’exportation liées à l’utilisation du chiffrement Utilisez ces informations pour déterminer si votre application utilise le chiffrement d’une manière qui peut empêcher son inscription dans le Microsoft Store.
Tâches courantes de chiffrement Ces articles fournissent un exemple de code pour les tâches courantes de chiffrement UWP, telles que la création de nombres aléatoires, la comparaison des mémoires tampons, la conversion entre des chaînes et des données binaires, la copie vers et à partir de tableaux d’octets, ainsi que l’encodage et le décodage des données.