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