Может ли другое приложение получить доступ к закрытому ключу, хранящемуся в контейнере ключей, с помощью RSACryptoServiceProvider? - PullRequest
3 голосов
/ 23 июля 2010

Я использую RSACryptoServiceProvider для генерации пары открытый / закрытый ключ и использую объект cspParameters для хранения его в контейнере ключей.

Моя проблема в том, что после того, как я сохраню закрытый ключ в контейнере ключа, может ли другое приложение получить доступ к контейнеру ключа и получить сгенерированный мной закрытый ключ?

Если да, то безопасность ключаскомпрометировано, не так ли?

Как мне избежать этого?Должен ли я шифровать сгенерированный закрытый ключ с помощью симметричного алгоритма шифрования?

1 Ответ

3 голосов
/ 23 июля 2010

Без использования аппаратного модуля защиты ваша единственная защита - установить поле CspParameters.Flags:

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

Первый флаг не позволяет программному обеспечению «честно» экспортировать закрытый ключ.Второй требует взаимодействия пользователя с GUI для выполнения любых операций с закрытым ключом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...