Provedores de armazenamento de chaves CNG

Ao contrário da API de criptografia (CryptoAPI), a API de criptografia: CNG (próxima geração) separa os provedores de criptografia dos provedores de armazenamento de chaves (KSPs). Use KSPs para criar, excluir, exportar, importar, abrir e armazenar chaves. Dependendo da implementação, use-os para criptografia assimétrica, contrato secreto e assinatura. A Microsoft instala os seguintes KSPs no Windows. No entanto, os fornecedores podem criar e instalar outros provedores.

Provedor de armazenamento de chaves de software da Microsoft

O Provedor de Armazenamento de Chaves de Software da Microsoft oferece suporte à criação e armazenamento de chaves de software e aos algoritmos a seguir.

Algoritmo Finalidade Comprimento da chave (bits)
Diffie-Hellman (DH) Acordo secreto e troca de chaves 512 a 4096 em incrementos de 64 bits
Algoritmo de assinatura digital (DSA) Assinaturas 512 a 1024 em incrementos de 64 bits
Curva elíptica Diffie-Hellman (ECDH) Acordo secreto e troca de chaves P256, P384, P521
ECDSA (algoritmo de assinatura digital de curva elíptica) Assinaturas P256, P384, P521
RSA Criptografia e assinatura assimétricas 512 a 16384 em incrementos de 64 bits

Provedor de armazenamento de chaves de cartão inteligente da Microsoft

O Provedor de Armazenamento de Chaves de Cartão Inteligente da Microsoft dá suporte à criação e armazenamento de chaves de cartão inteligente e aos algoritmos a seguir.

Algoritmo Finalidade Comprimento da chave (bits)
Diffie-Hellman (DH) Acordo secreto e troca de chaves 512 a 4096 em incrementos de 64 bits
Curva elíptica Diffie-Hellman (ECDH) Acordo secreto e troca de chaves P256, P384, P521
ECDSA (algoritmo de assinatura digital de curva elíptica) Assinaturas P256, P384, P521
RSA Criptografia e assinatura assimétricas 512 a 16384 em incrementos de 64 bits

Provedor de Criptografia da Plataforma Microsoft

O provedor de criptografia da plataforma Microsoft é um KSP (provedor de armazenamento de chaves) que utiliza o TPM (Trusted Platform Module) para segurança aprimorada. Esse provedor é particularmente útil para cenários que exigem segurança com suporte de hardware para operações criptográficas.

O provedor de criptografia da plataforma Microsoft foi projetado para trabalhar com o TPM, um módulo de segurança baseado em hardware que fornece proteção robusta para chaves criptográficas. Aproveitando o TPM, esse provedor garante que as chaves privadas sejam armazenadas com segurança e não possam ser extraídas, mesmo por software mal-intencionado.

Principais características

Veja a seguir alguns dos principais recursos do provedor de criptografia da plataforma Microsoft:

  • Segurança com suporte de hardware: utiliza o TPM para armazenar chaves criptográficas com segurança.
  • Proteção aprimorada: impede o acesso não autorizado a chaves privadas.
  • Integração com Windows: totalmente integrado à API de Criptografia Windows: CNG (Próxima Geração).

Usage

Para usar o provedor de criptografia da plataforma Microsoft, você pode especificá-lo ao abrir um provedor de armazenamento usando a NCryptOpenStorageProvider função. Por exemplo:

#include <ncrypt.h>

NCRYPT_PROV_HANDLE hProvider = NULL;
SECURITY_STATUS status = NCryptOpenStorageProvider(
    &hProvider,
    MS_PLATFORM_CRYPTO_PROVIDER,
    0
);

if (status == ERROR_SUCCESS) {
    // Successfully opened the Microsoft Platform Crypto Provider
}

Neste exemplo, a MS_PLATFORM_CRYPTO_PROVIDER constante é usada para especificar o provedor de criptografia da plataforma Microsoft.

Recursos adicionais

Para obter mais informações, consulte NCryptOpenStorageProvider.

Identificadores de algoritmo CNG

Funções de armazenamento de chaves CNG

Noções básicas sobre provedores criptográficos