Est-il possible de créer une clé privée à l'aide de CryptoAPI et de l'initialiser?
-
08-07-2019 - |
Question
Nous avons besoin de créer une clé privée à partir de 2 clés en texte brut. Les 2 clés en texte clair sont gérées par différents gestionnaires. C’est pour satisfaire les exigences clés à double contrôle que nous avons. Nous pouvons combiner les deux clés en une seule graine. Cependant, à la lecture de la documentation Microsoft CryptoAPI, toutes les générations de clés sont complètement aléatoires sans aucun moyen de fournir une valeur de départ. Est-ce vrai? Si oui, pouvez-vous suggérer une solution alternative à la création de cette clé?
Remarque: la clé sera stockée dans le conteneur de clés et marquée comme non exportable.
La solution
Pourquoi ne pas le faire à l’inverse? Générez une clé privée, puis divisez-la en deux parts de clé, chaque responsable n’en possédant qu’une. Pour un schéma simple 2 sur 2, il suffit de générer un bloc de données aléatoires (vraiment aléatoires, et non pseudo-aléatoires) de la taille de la clé, de la définir avec la clé générée et de donner à un gestionnaire les données aléatoires, et l'autre gestionnaire la clé cryptée.
Ensuite, lorsque vous devez utiliser la clé, les deux responsables fournissent leurs données et vous les reconstruisez à partir de cela, en les supprimant lorsque vous avez terminé.