Partilhar via


Minidrivers de Cartão Inteligente

O minidriver de cartão inteligente fornece uma alternativa mais simples para desenvolver um CSP (provedor de serviços criptográficos) herdado encapsulando a maioria das operações criptográficas complexas do desenvolvedor de minidriver cartão.

Para obter informações sobre a especificação de minidrivers de cartão inteligentes, consulte Especificação de minidriver de cartão inteligente.

A partir do Windows Vista, os aplicativos podem usar a API de Criptografia da Microsoft: CNG (Próxima Geração) para serviços criptográficos baseados em cartão inteligentes. Como parte do esforço de criptografia de curva elíptica (ECC) introduzido no Windows Vista, há suporte para cartões inteligentes ECC na nova estrutura criptográfica. Aplicativos e interfaces que interagem com o RSA (Rivest-Shamir-Adleman) existentes cartão minidrivers por meio do subsistema CAPI herdado continuam funcionando sem modificação.

Os minidrivers de cartão inteligentes RSA também podem ser registrados com o KSP (provedor de armazenamento de chaves) de cartão inteligente para que possam ser chamados por meio da interface CNG. As solicitações ECC/RSA + somente ECC de modo duplo são roteados para o KSP e, por meio dela, para os minidrivers cartão apropriados. Para clientes baseados no Windows Vista, cartões de modo duplo ECC/RSA e somente ECC/RSA têm suporte usando a estrutura de cartão inteligente do Windows. Cartões de modo duplo também podem ser acessados por meio de CAPI principalmente para expor recursos somente RSA.

Os aplicativos usam CAPI para serviços criptográficos baseados em cartão inteligentes. O CAPI, por sua vez, roteia essas solicitações para o CSP apropriado para lidar com os requisitos criptográficos.

O CSP e o KSP da Base de Cartão Inteligente da Microsoft são um refinamento da arquitetura que separa a funcionalidade de KSP baseada em CSP e CNG baseada em CAPI, respectivamente, dos detalhes de implementação que devem ser alterados para cada fornecedor de cartão.

Embora o CSP base possa usar os recursos RSA de uma cartão inteligente apenas usando o minidriver, o KSP baseado em CNG dá suporte apenas ao ECC, bem como cartões inteligentes de modo duplo ECC/RSA no Windows Vista e versões posteriores do Windows.

Por fim, a intenção é que a nova arquitetura dê suporte a todos os novos cartões inteligentes: RSA, ECC e o que se segue. Ele divide a implementação do CSP em duas partes:

  • O CSP/KSP base (a parte comum), que inclui funcionalidade para operações criptográficas de hash, simétricas e de chave pública, além de entrada e cache de número de identificação pessoal (PIN).
  • Uma série de plug-ins, que são conhecidos como "minidrivers cartão", que convertem as características de cartões inteligentes específicos em uma interface uniforme que é a mesma para todos os cartões inteligentes. Em seguida, os minidrivers de cartão se comunicam com seus cartões usando os serviços do SCRM (gerenciador de recursos de cartão inteligente) que abstrai de maneira semelhante as características de uma variedade de leitores de cartão inteligentes.

A parte restante para fornecedores de cartão inteligentes é implementar um minidriver cartão, uma camada de interface razoavelmente limitada que fornece uma abstração do cartão para o CSP/KSP base e que é organizado como um sistema de arquivos e um conjunto de recursos primitivos. A funcionalidade de ordem mais alta, como o cache (garantindo que arquivos diferentes no cartão tenham conteúdo consistente) ou lidar com colisões de nomenclatura, é tratada em um nível mais alto, fora do minidriver cartão.

A figura a seguir mostra as interfaces entre cartão minidrivers e aplicativos baseados em CAPI.

interfaces entre cartão minidrivers e aplicativos baseados em capi.

A figura a seguir mostra as interfaces entre cartão minidrivers e aplicativos baseados em CAPI2.

interfaces entre cartão minidrivers e aplicativos baseados em capi2.

É recomendável que os desenvolvedores aproveitem o conjunto avançado de bibliotecas que a Microsoft fornece para operações criptográficas executadas pelo minidriver. Isso permite que os desenvolvedores se beneficiem da infraestrutura do Microsoft Windows Update para a distribuição de atualizações de segurança críticas.