Partilhar via


Entendendo recipientes de chaves RSA em nível de usuário e em nível de máquina

A classe RsaProtectedConfigurationProvider pode usar recipientes de chave RSA no nível de máquina ou no nível de usuário.O Microsoft Windows disponibiliza, para todos os usuários, contêiners de chave em nível de máquina, enquanto um contêiner de chave em nível de usuário é disponível apenas para o usuário que criou (ou importou) o contêiner de chave.

Comparando contêiners de chaves RSA em nível de usuário e em nível de máquina

Contêiners de chave RSA em nível de usuário são armazenados com o perfil de usuário do Windows para um usuário específico e podem ser usados para criptografar e descriptografar as informações para aplicativos que executam sob essa identidade específica do usuário.Contêiners de chave RSA em nível de usuário podem ser úteis se você quiser garantir que as informações de chave RSA são removidas quando o perfil de usuário do Windows for removido.No entanto, porque você deve estar logado com a conta de usuário específica que fará uso do contêiner de chave RSA em nível de usuário a fim de criptografar ou descriptografar seções de configuração protegidas, eles são inconvenientes de usar.

Contêiners de chave RSA a nível de máquina estão disponíveis a todos os usuários que podem fazem logon em um computador, por padrão, e são os mais úteis quando você pode usá-los para criptografar ou descriptografar seções de configuração protegidas enquanto estiver logado com uma conta de administrador.Um contêiner de chave RSA a nível de máquina pode ser usado para proteger informações de um único aplicativo, todos os aplicativos em um servidor ou um grupo de aplicativos em um servidor que sejam executados sob a mesma identidade do usuário.Embora contêiners de chave RSA a nível de máquina estejam disponíveis para todos os usuários, eles podem ser protegidos com ACLs (Listas de Controle de Acesso) NTFS, para que somente usuários necessários possam acessá-los.

Observação:

É recomendável que você só assegure informações sigilosas usando configuração protegida em sistemas de arquivos formatados usando o NTFS, assim, você pode restringir o acesso a informações da chave de criptografia usando ACLs.

Como há pouco benefício em usar contêiners de chave RSA a nível de usuário, é recomendável que você use contêiners de chave RSA a nível de máquina ao proteger seções de configuração usando o provedor RsaProtectedConfigurationProvider.Quando você cria um contêiner de chave RSA para proteger informações de configuração para um ou mais aplicativos, é recomendável que você restrinja o acesso ao contêiner de chave RSA no nível de máquina usando a ferramenta Aspnet_regiis.exe, com a opção -pa para adicionar o acesso à chave para uma identidade específica e a opção -pr para remover o acesso à chave.Para obter mais informações sobre como definir ou determinar a identidade de um aplicativo ASP.NET, consulte ASP.NET Impersonation.Para obter mais informações sobre a concessão de acesso de leitura para um contêiner de chave RSA, consulte Importando e exportando containers protegidos de configuração de chaves RSA.

Identificando contêiners de chaves RSA em nível de usuário e em nível de máquina para a ferramenta Aspnet_regiis.exe

Ao criar, exportar, importar ou excluir um contêiner de chave RSA usando a ferramenta Aspnet_regiis.exe, você deve especificar se o contêiner de chave RSA é um contêiner de chave a nível de máquina ou um contêiner de chave a nível de usuário.Você identifica um contêiner de chave RSA como um contêiner de chave a nível de usuário com a opção -pku; caso contrário, o contêiner de chave RSA é considerado um contêiner a nível de máquina.

Consulte também

Tarefas

Demonstra Passo a passo: Criando e exportando um contêiner de chave RSA

Outros recursos

Criptografando informações de configuração usando configuração protegida