Fournisseurs de solutions cloud et processus de chiffrement
Les fonctions CryptoAPI utilisent des fournisseurs de services de chiffrement (CSP) pour effectuer le chiffrement et le déchiffrement, et pour fournir le stockage et la sécurité des clés. Ces csp sont des modules indépendants. Dans l’idéal, les fournisseurs de solutions cloud sont écrits pour être indépendants d’une application particulière, afin que toute application s’exécute avec une variété de fournisseurs de services cloud. En réalité, toutefois, certaines applications ont des exigences spécifiques qui nécessitent un fournisseur de solutions Cloud personnalisé. Cela se compare au modèle GDI Windows. Les fournisseurs de solutions cloud sont analogues aux pilotes de périphériques graphiques.
La qualité de la protection des clés au sein du système est un paramètre de conception du fournisseur de solutions Cloud et non du système dans son ensemble. Cela permet à une application de s’exécuter dans divers contextes de sécurité sans modification.
L’accès des applications aux éléments internes de chiffrement est soigneusement limité. Cela facilite le développement d’applications sécurisées et portables.
Les trois règles de conception suivantes s’appliquent :
- Les applications ne peuvent pas accéder directement au matériel de keying. Étant donné que tout le matériel de keying est généré dans le csp et utilisé par l’application par le biais de handles opaques, il n’existe aucun risque qu’une application ou ses DLL associées divulguent du matériel de keying ou choisissent du matériel de keying à partir de sources aléatoires médiocres.
- Les applications ne peuvent pas spécifier les détails des opérations de chiffrement. L’interface CSP permet à une application de choisir un algorithme de chiffrement ou de signature, mais l’implémentation de chaque opération de chiffrement est effectuée par le csp.
- Les applications ne gèrent pas les informations d’identification de l’utilisateur ou d’autres données d’authentification utilisateur. L’authentification utilisateur est effectuée par le fournisseur de solutions Cloud ; Par conséquent, les fournisseurs de services cloud futurs dotés de fonctionnalités d’authentification avancées, telles que les entrées biométriques, fonctionneront sans avoir à modifier le modèle d’authentification de l’application.
Au minimum, un fournisseur csp se compose d’une bibliothèque de liens dynamiques (DLL) et d’un fichier de signature. Le fichier de signature est nécessaire pour s’assurer que cryptoAPI reconnaît le fournisseur de solutions Cloud. CryptoAPI valide régulièrement cette signature pour s’assurer que toute falsification avec le fournisseur de solutions Cloud est détectée.
Certains fournisseurs de solutions cloud peuvent implémenter une fraction de leurs fonctionnalités dans un service séparé par adresse appelé via rpc local ou dans du matériel appelé par le biais d’un pilote de périphérique système. L’isolement des opérations globales de chiffrement centralisées et d’état des clés dans un service séparé par l’adresse ou dans le matériel protège les clés et les opérations contre toute falsification au sein d’un espace de données d’application.
Il n’est pas judicieux pour les applications de tirer parti des attributs propres à un fournisseur de solutions Cloud spécifique. Par exemple, le fournisseur de chiffrement de base Microsoft (fourni avec CryptoAPI) prend en charge les clés de session 40 bits et les clés publiques 512 bits. Les applications qui manipulent ces clés doivent éviter les hypothèses sur la quantité de mémoire nécessaire pour stocker ces clés, car l’application est susceptible d’échouer si un autre fournisseur de solutions Cloud est utilisé. Les applications bien écrites doivent fonctionner avec divers fournisseurs de services cloud.
Pour plus d’informations sur les types de fournisseurs de chiffrement et les fournisseurs de services cloud prédéfinis qui peuvent être utilisés avec CryptoAPI, consultez Types de fournisseurs de chiffrement et fournisseurs de services de chiffrement Microsoft.