3

J'utilise RSACryptoServiceProvider pour générer une paire de clés publique/privée et utiliser l'objet cspParameters pour le stocker dans un conteneur de clé.Une autre application peut-elle accéder à une clé privée stockée dans un conteneur de clé à l'aide de RSACryptoServiceProvider?

Mon problème est qu'après avoir stocké la clé privée dans un conteneur de clé, une autre application peut-elle accéder au conteneur de clé et récupérer la clé privée générée?

Si oui, la sécurité de la clé est compromise n'est-ce pas?

Comment puis-je éviter cela? Dois-je crypter la clé privée générée avec un algorithme de cryptage symétrique?

Répondre

3

Sans l'aide d'un module de sécurité matérielle, votre seule protection est de définir le champ CspParameters.Flags:

CspParameters.Flags = CspProviderFlags.UseNonExportableKey | CspProviderFlags.UseUserProtectedKey; 

Le premier drapeau empêche les logiciels de « honnêtement » exporter la clé privée. La seconde nécessite une interaction de l'utilisateur avec l'interface graphique pour effectuer toutes les opérations de clé privée.

+0

Vous voulez dire qu'une sorte de boîte de dialogue apparaît et demande à l'utilisateur de l'approuver? –

+1

Oui. Essaye le. –