Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Modelo de Criptografia do .NET Framework

O framework .NET oferece implementações de muitos algoritmos padronizados de criptografia. Esses algoritmos são fáceis de usar e tem as propriedades padrão mais seguras possível. Além disso, o .NET Framework criptografa o modelo da herança de objeto, design de fluxo e a configuração é extremamente extensível.

O sistema de segurança do .NET Framework implementa um padrão extensível de herança de classe derivada. A hierarquia é a seguinte:

Usando esse padrão de classes derivadas, é fácil adicionar um novo algoritmo ou uma nova implementação de um algoritmo existente. Por exemplo, para criar um novo algoritmo de chave pública, você teria herdado da classe AsymmetricAlgorithm. Para criar uma nova implementação de um algoritmo específico, você deve criar uma classe derivada não abstrata desse algoritmo.

Como exemplo das diferentes implementações disponíveis para um algoritmo, considere os algoritmos simétricos. A base para todos os algoritmos simétricos é SymmetricAlgorithm, que é herdada pelos seguintes algoritmos:

  1. Aes

  2. DES

  3. RC2

  4. Rijndael

  5. TripleDES

Aes é herdada pelas duas classes: AesCryptoServiceProvider e AesManaged. A classe AesCryptoServiceProvider é um wrapper da implementação de criptografia de Windows API (CAPI) do Aes, enquanto a classe AesManaged é escrita inteiramente em código gerenciado. Há também um terceiro tipo de implementação, Cryptography Next Generation (CNG), além das implementações CAPI e gerenciadas. Um exemplo de um algoritmo CNG é ECDiffieHellmanCng. Os algoritmos CNG estão disponíveis no Windows Vista e posterior.

Você pode escolher qual implementação é a melhor para você. As implementações gerenciadas estão disponíveis em todas as plataformas que suportam o .NET Framework. As implementações CAPI estão disponíveis em sistemas operacionais antigos e não estão sendo mais desenvolvidas. O CNG é a última implementação onde o novo desenvolvimento ocorrerá. No entanto, as implementações gerenciadas não são certificadas pelos Padrões de Processamento de Informações Federais (FIPS), e podem ser mais lentas do que as classes wrapper.

O common language runtime usa um modelo orientado para fluxo implementando algoritmos simétricos e algoritmos de hash. O núcleo desse design é a classe CryptoStream, que deriva da classe Stream. Os objetos criptográficos baseados em fluxo suportam uma única interface padrão (CryptoStream) para manipular a parte de transferência de dados do objeto. Como todos os objetos são compilados em uma interface padrão, é possível encadear vários objetos (como um objeto de hash seguido por um objeto de criptografia) e executar várias operações nos dados sem precisar de qualquer armazenamento intermediário para ele. O modelo de streaming também permite que você crie objetos a partir de objetos menores. Por exemplo, uma criptografia e um algoritmo de hash combinados podem ser exibidos como um objeto de fluxo único, embora esse objeto possa ser compilado de um conjunto de objetos de fluxo.

A configuração criptográfica permite você resolver uma implementação específica de um algoritmo para um nome de algoritmo, permitindo a extensibilidade das classes de criptografia do .NET Framework. Você pode adicionar sua própria implementação de hardware ou software de um algoritmo e mapear a implementação para o nome do algoritmo de sua escolha. Se um algoritmo não é especificado no arquivo de configuração, as configurações padrão são usadas. Para obter mais informações sobre a configuração de criptografia, consulte Configurando classes de criptografia.

Você pode selecionar um algoritmo por diferentes motivos: por exemplo, para integridade de dados, para privacidade de dados, ou para gerar uma chave. Os algoritmos simétricos e de hash são destinados para proteger os dados por razões de integridade (proteger de alteração) ou motivos de privacidade (proteger de exibição). Os algoritmos de hash são usados principalmente para a integridade dos dados.

Aqui está uma lista de algoritmos recomendados pelo aplicativo:

Contribuições da comunidade

ADICIONAR
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
Mostrar:
© 2014 Microsoft