Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
funções de cryptoAPI usam CSPs (provedores de serviços criptográficos) para executar criptografia e descriptografia e fornecer armazenamento e segurança de chaves. Esses CSPs são módulos independentes. O ideal é que os CSPs sejam gravados para serem independentes de um aplicativo específico, de modo que qualquer aplicativo seja executado com uma variedade de CSPs. Na realidade, no entanto, alguns aplicativos têm requisitos específicos que exigem um CSP personalizado. Isso se compara ao modelo deGDI do Windows. Os CSPs são análogos aos drivers de dispositivo gráfico.
A qualidade da proteção para chaves dentro do sistema é um parâmetro de design do CSP e não do sistema como um todo. Isso permite que um aplicativo seja executado em uma variedade de contextos de segurança sem modificação.
Os aplicativos de acesso aos internos criptográficos são cuidadosamente restritos. Isso facilita o desenvolvimento seguro e portátil de aplicativos.
As três regras de design a seguir se aplicam:
- Os aplicativos não podem acessar diretamente o material de chave. Como todo o material de chave é gerado dentro do CSP e usado pelo aplicativo por meio de identificadores opacos, não há risco de um aplicativo ou suas DLLs associadas divulgarem material de chave ou escolherem material de chave de fontes aleatórias ruins.
- Os aplicativos não podem especificar os detalhes das operações criptográficas. A interface CSP permite que um aplicativo escolha um algoritmo de criptografia ou assinatura, mas a implementação de cada operação criptográfica é feita pelo CSP.
- Os aplicativos não lidam com credenciais de de usuário ou outros dados de autenticação do usuário. A autenticação do usuário é feita pelo CSP; Portanto, os futuros CSPs com recursos avançados de autenticação, como entradas biométricas, funcionarão sem a necessidade de alterar o modelo de autenticação do aplicativo.
No mínimo, um CSP consiste em uma DLL (biblioteca de vínculo dinâmico) e um arquivo de assinatura . O arquivo de assinatura é necessário para garantir que o CryptoAPI reconheça o CSP. CryptoAPI valida essa assinatura periodicamente para garantir que qualquer violação com o CSP seja detectada.
Alguns CSPs podem implementar uma fração de sua funcionalidade em um serviço separado por endereço chamado por meio do RPC local ou em hardware chamado por meio de um driver de dispositivo do sistema. Isolar operações criptográficas globais de estado-chave e central em um serviço separado por endereço ou em hardware mantém chaves e operações a salvo de adulteração em um espaço de dados do aplicativo.
É imprudente que os aplicativos aproveitem atributos específicos a um CSP específico. Por exemplo, o Provedor Criptográfico Base da Microsoft (fornecido com CryptoAPI) dá suporte a chaves de sessão de 40 bits e chaves públicas de 512 bits. Os aplicativos que manipulam essas chaves devem evitar suposições sobre a quantidade de memória necessária para armazenar essas chaves, pois o aplicativo provavelmente falhará se um CSP diferente for usado. Aplicativos bem escritos devem funcionar com uma variedade de CSPs.
Para obter detalhes sobre tipos de provedor criptográfico e CSPs predefinidos que podem ser usados com CryptoAPI, consulte tipos de provedor criptográfico e provedores de serviços criptográficos da Microsoft.