.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.Modelo de criptografia do NET Framework de configuração, o design de fluxo e herança de objeto é extremamente extensível.
Herança de objeto
A.Sistema de segurança do NET Framework implementa um padrão de herança de classe derivada de extensível. A hierarquia é o seguinte:
Classe de tipo de algoritmo, como SymmetricAlgorithm, AsymmetricAlgorithm ou HashAlgorithm. Esse nível é abstrato.
Classe de algoritmo que herda de uma classe de tipo de algoritmo; for example, Aes, RC2, or ECDiffieHellman. Esse nível é abstrato.
Implementação de uma classe de algoritmo que herda da classe do algoritmo. for example, AesManaged, RC2CryptoServiceProvider, or ECDiffieHellmanCng. Esse nível é implementado por completo.
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ê deve herdar de AsymmetricAlgorithm classe. Para criar uma nova implementação de um algoritmo específico, você criaria uma classe derivada de non-abstract desse algoritmo.
Como os algoritmos são implementados na.NET Framework
Como um exemplo das implementações diferentes disponíveis para um algoritmo, considere a possibilidade de algoritmos simétricos. A base para todos os algoritmos simétricos é SymmetricAlgorithm, que é herdada pelos seguintes algoritmos:
Aesé herdada por duas classes: AesCryptoServiceProvider e AesManaged. O AesCryptoServiceProvider classe é um wrapper em torno da implementação de criptografia de Windows API (CAPI) do Aes, enquanto o AesManaged classe é escrito inteiramente em código gerenciado. Há também um terceiro tipo de implementação, a próxima geração (CNG Cryptography), além de gerenciado e implementações de CAPI. Um exemplo de um algoritmo CNG é ECDiffieHellmanCng. Os algoritmos de CNG estão disponíveis no Windows Vista e posterior.
Você pode escolher qual implementação é melhor para você. As implementações gerenciadas estão disponíveis em todas as plataformas que suportam o.NET Framework. As implementações de CAPI estão disponíveis em sistemas operacionais mais antigos e não estão sendo desenvolvidas. A CNG é a implementação de mais recente a onde o desenvolvimento de novos ocorrerá. Entretanto, as implementações gerenciadas não são certificadas pelo Federal Information Processing Standards (FIPS) e podem ser mais lentas do que as classes de wrapper.
Design de fluxo
O common language runtime usa um design orientado por fluxo para implementar algoritmos simétricos e algoritmos de hash. O núcleo desse design é o CryptoStream classe, que deriva do Stream classe. Objetos de criptografia baseados em fluxo oferecem suporte a uma interface única padrão (CryptoStream) para lidar com a parte de transferência de dados do objeto. Como todos os objetos são criados em uma interface padrão, você pode encadear vários objetos (como, por exemplo, um objeto de hash seguido de um objeto de criptografia) e você pode executar várias operações de dados sem a necessidade de qualquer armazenamento intermediário para ele. O modelo de fluxo contínuo também permite que você crie objetos de objetos menores. Por exemplo, um algoritmo de criptografia e hash combinado pode ser exibido como um objeto de fluxo único, embora esse objeto pode ser criado a partir de um conjunto de objetos de fluxo.
Configuração de criptografia
Configuração de criptografia permite uma implementação específica de um algoritmo de resolver um nome do algoritmo, permitindo a extensibilidade do.Classes de criptografia do NET Framework. Você pode adicionar sua própria implementação de hardware ou software de um algoritmo e a implementação de mapear 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 Configurar Classes de criptografia.
Escolher um algoritmo.
Você pode selecionar um algoritmo por diferentes motivos: Por exemplo, para a integridade de dados e privacidade de dados ou para gerar uma chave. Symmetric algoritmos de hash são destinados a proteção de dados para razões de integridade (proteção contra alterações) ou motivos de privacidade (proteção contra exibição). Algoritmos de hash são usados principalmente para a integridade dos dados.
Aqui está uma lista dos algoritmos recomendados pelo aplicativo:
Privacidade de dados:
Integridade de dados:
Assinatura digital:
Troca de chaves:
Geração de números aleatórios:
Gerando uma chave de uma senha:
Consulte também
Conceitos
Outros recursos
Histórico de alterações
Date |
History |
Motivo |
---|---|---|
Julho de 2010 |
Tópico expandido. |
Aprimoramento de informações. |