Security WatchAprimoramentos na PKI do Windows

John Morello

Esta coluna se baseia em uma versão de pré-lançamento do Windows Server 2008. Todas as informações aqui contidas estão sujeitas a alterações.

O Windows inclui, desde o lançamento do Windows 2000, um sólido suporte para PKI (infra-estrutura de chave pública) em toda a plataforma. Esse lançamento trouxe o primeiro recurso de autoridade de certificação nativa, introduziu a inscrição automática e forneceu suporte para a autenticação de cartões inteligentes. No Windows XP e no Windows Server 2003, esses

recursos foram expandidos para fornecer opções mais flexíveis de inscrição, com modelos de certificados versão 2 e suporte para a inscrição automática de certificados de usuários. No Windows Vista® e no Windows Server® 2008 (anteriormente conhecido pelo codinome "Longhorn"), a plataforma de PKI do Windows® passa à próxima etapa, oferecendo suporte a algoritmos avançados, verificação de validade em tempo real e melhor gerenciamento. Esta coluna aborda os novos recursos de PKI do Windows Vista e do Windows Server 2008 e como podem ser utilizados pelas empresas para reduzir custos e aumentar a segurança.

Os aprimoramentos na PKI do Windows Vista e do Windows Server 2008 estão concentrados em torno de quatro pilares principais: criptografia, inscrição, gerenciamento e revogação. Além desses aprimoramentos específicos de recursos, a plataforma de PKI do Windows também extrai benefícios de outros avanços do sistema operacional, como o Gerenciador de Função, que facilitam a criação e a implantação de novas CAs (autoridades de certificação). Além disso, muitas outras partes do Windows podem aproveitar os aprimoramentos na plataforma de PKI, como o suporte no Windows Vista ao uso de cartões inteligentes para armazenar chaves EFS (sistema de arquivos com criptografia).

Criptografia

Os aprimoramentos no pilar da criptografia são duplos. Em primeiro lugar, com a introdução da CNG (Cryptography Next Generation), o Windows agora fornece um recurso de criptografia conectável e independente de protocolos que torna mais fácil desenvolver e acessar via programação algoritmos individuais. Em segundo lugar, a CNG traz novo suporte aos algoritmos do Conjunto B, lançados pela NSA (Agência Nacional de Segurança dos EUA) em 2005.

A CNG é uma nova interface básica de criptografia para a Microsoft, sendo a API recomendada para futuros aplicativos baseados em Windows com reconhecimento de criptografia. A CNG fornece uma grande diversidade de novos recursos voltados para o desenvolvedor, incluindo a detecção e a substituição mais fáceis de algoritmos, geradores de números aleatórios substituíveis e uma API criptográfica em modo kernel. Ao mesmo tempo em que oferece esses novos recursos, a CNG tem total compatibilidade retroativa com o conjunto de algoritmos fornecidos no predecessor CryptoAPI 1.0. Atualmente, a CNG está sendo avaliada para a certificação no padrão FIPS 140-2 nível 2, e também para os Critérios Comuns de plataformas selecionadas.

O suporte da CNG ao Conjunto B inclui todos os algoritmos necessários: AES (chaves de todos os tamanhos), a família SHA-2 (SHA-256, SHA-384 e SHA-512) de algoritmos de hash, ECDH (curva elíptica Diffie-Hellman) e ECDSA (algoritmo de assinatura digital de curva elíptica) sobre as curvas principais padrão P-256, P-384 e P-521 do NIST (Instituto Nacional de Padrões e Tecnologia dos EUA). A NSA determinou que implementações certificadas do Conjunto B serão usadas para proteger informações classificadas como Altamente Confidenciais, Confidenciais e informações particulares que, no passado, foram descritas como Sigilosas mas Não Confidenciais. Todos os algoritmos do Conjunto B foram desenvolvidos de forma aberta e alguns outros governos também estão avaliando sua adoção como padrões nacionais.

Esses aprimoramentos no nível inferior da plataforma de PKI do Windows proporcionam aos desenvolvedores métodos mais seguros para proteger dados, criando, ao mesmo tempo, um subsistema mais fácil de manter e aprimorar ao longo do tempo. Como a CNG é uma arquitetura conectável, novos algoritmos podem ser adicionados conforme necessário, e a CNG abstrai esses provedores da camada de aplicativos. O resultado final é que o Windows Vista e o Windows Server 2008 proporcionam uma plataforma avançada e capaz de evoluir, auxiliando no desenvolvimento de aplicativos e serviços habilitados para PKI.

Inscrição

A experiência de inscrição de certificados no Windows foi muito aprimorada com uma nova ferramenta de inscrição baseada em assistente, melhor manipulação do vencimento de certificados, uma nova API, o recurso de "inscrição em nome de..." e a mobilidade de credenciais. Esses recursos aprimorados reduzem o custo total de propriedade de uma PKI, facilitando a implantação de certificados em toda a empresa com gerenciamento centralizado e mínimo impacto sobre os usuários.

A alteração mais perceptível, sob o ponto de vista da inscrição, é a nova interface do usuário de Inscrição de Certificados mostrada nas Figuras 1 e 2. Essa interface do usuário substitui a mais antiga e limitada, que não tinha a capacidade de aceitar dados dos usuários durante o processo de inscrição. A nova interface permite aos usuários inserir dados durante a inscrição (se o administrador configurar o modelo de certificado para exigir isso). Fornece também explicações claras sobre o motivo pelo qual um usuário não pode fazer a inscrição para determinado modelo.

Figura 1 Selecionando os certificados disponíveis

Figura 1** Selecionando os certificados disponíveis **(Clique na imagem para aumentar a exibição)

Figura 2 Status dos certificados indisponíveis

Figura 2** Status dos certificados indisponíveis **(Clique na imagem para aumentar a exibição)

Outro importante aprimoramento na interface de inscrição ocorreu na manipulação dos certificados expirados. A nova interface fornece aos usuários finais informações claras sobre quais certificados vencerão e quando, permitindo que os usuários renovem facilmente os certificados ou descartem os avisos na mesma interface. Embora os administradores possam atualizar certificados automaticamente por meio da inscrição automática, esse recurso de aviso é importante para usuários móveis ou desconectados, que talvez façam logon na rede corporativa com pouca freqüência e tenham certificados próximos da data de validade.

Para os desenvolvedores que trabalham com a inscrição de certificados, está disponível uma nova API que oferece aprimoramentos significativos em relação aos antigos controles baseados no ActiveX® (xenroll.dll e scrdernl.dll). A nova API de Inscrição de Certificados fornece uma hierarquia de classes bem definida, muito mais simples de entender e codificar. Essa nova API substitui o xenroll no Windows Vista e no Windows Server 2008.

Essa alteração na API afeta desenvolvedores e profissionais de TI, pois os clientes do Windows Vista não podem usar os recursos de inscrição baseados na Web fornecidos no Windows Server 2003. Isso ocorre porque as páginas de inscrição (armazenadas por padrão no diretório virtual /certsrv) utilizam o controle xenroll, que não está mais presente no Windows Vista. O artigo da Base de Dados de Conhecimento, "Como usar páginas de inscrição na Web para serviços de certificados juntamente com o Windows Vista" (support.microsoft.com/kb/922706), traz informações sobre uma solução alternativa. A inscrição automática do Windows Server 2003 para o Windows Vista não é afetada.

Nas versões anteriores do Windows Server, os agentes de inscrição não tinham limites para realizar inscrições em nome de outros. Em outras palavras, quando um usuário recebia a capacidade de agente de inscrição, podia fazer inscrições em nome de qualquer outro usuário na floresta. Logicamente, isso significava que o usuário poderia facilmente repassar seu privilégio, fazendo uma inscrição em nome de um usuário existente e representando o usuário com o certificado recém-criado. Na tentativa de impedir essa ameaça, as capacidades de agente de inscrição eram fornecidas somente a indivíduos altamente confiáveis. Embora essa abordagem aumentasse a segurança, também tornava os modelos de implantação menos flexíveis, pois somente um número reduzido de indivíduos possuía a capacidade de fazer inscrições em nome de outros usuários. Como resultado, organizações de grande porte, geograficamente dispersas, enfrentavam uma complexidade crescente ao implantar certificados para os usuários finais (como no caso dos cartões inteligentes).

No Windows Server 2008, os agentes de inscrição podem ser restritos em um nível muito mais granular. As restrições podem se basear nos usuários em nome dos quais é possível fazer inscrições ou segundo quais modelos as inscrições podem ser feitas, como mostrado na Figura 3. Por exemplo, agora uma organização pode fornecer a um profissional de TI local a capacidade de fazer inscrições em nome de todos os usuários de sua filial, menos daqueles pertencentes ao grupo de recursos humanos. Essa abordagem granular para os agentes de inscrição permite às empresas delegar capacidades de inscrição com mais eficiência e segurança em suas organizações.

Figura 3 Restrições dos agentes de inscrição

Figura 3** Restrições dos agentes de inscrição **(Clique na imagem para aumentar a exibição)

Um dos maiores desafios associados a gerenciar uma PKI consiste em gerenciar os pares de chaves dispersos pelos dispositivos da organização. Até mesmo em um ambiente de PKI de complexidade moderada, qualquer usuário pode ter vários pares de chaves diferentes (por exemplo, para EFS, autenticação em uma rede sem fio e S/MIME) que precisam estar disponíveis, independentemente do local onde for feito o logon. Com a crescente prevalência da computação móvel e dos Serviços de Terminal, é mais importante do que nunca replicar esses pares de chaves na rede, para que estejam disponíveis aos usuários onde quer que façam logon. Embora os tokens transportados pelos usuários, como cartões inteligentes, possam ajudar a solucionar certas partes do problema, talvez as organizações ainda tenham usuários que não recebem esses cartões ou com certificados não armazenados nos cartões. A Mobilidade de Credenciais resolve esses problemas armazenando com segurança os pares de chaves e certificados no Active Directory®, tornando-os assim disponíveis aos usuários independentemente do local de logon.

A Mobilidade de Credenciais foi fornecida primeiro no Windows Server 2003 SP1 e permite fazer com segurança o roam de certificados e chaves entre computadores, sem o uso dos perfis de usuário móvel. No Windows Vista e no Windows Server 2008, esse recurso está incluído por padrão e é implementado no serviço CSC (cliente de serviços de certificados). As opções de configuração, como quais certificados podem fazer roam e como arbitrar conflitos, são gerenciadas via Diretiva de Grupo. No Windows Vista e no Windows Server 2008, o serviço CSC também pode fazer roam de senhas e nomes de usuário armazenados. Embora esse recurso seja incluído por padrão no Windows Vista, convém observar que a Mobilidade de Credenciais tem total suporte no Windows XP e ao fazer logon em um controlador de domínio do Windows Server 2003 (com a implantação de uma atualização; consulte support.microsoft.com/kb/907247). Isso significa que você não precisa esperar até concluir a implantação do Windows Vista para aproveitar as vantagens dessa tecnologia.

Gerenciamento

Uma série de atualizações foi feita no Windows Server 2008 para aprimorar o gerenciamento do serviço de CA (autoridade de certificação), tornando-o mais fácil de instalar, monitorar e executar com alta disponibilidade. A instalação de CA é integrada à ferramenta Gerenciador de Função e fornece um método simplificado para instalar o serviço de CA. São definidos padrões para cada etapa do processo e a instalação agora pode ser realizada de forma autônoma. Por fim, a instalação tem melhores recursos de diagnóstico para facilitar a solução de problemas, caso venham a surgir falhas ou condições problemáticas.

O monitoramento do serviço de CA foi muito aperfeiçoado no Windows Server 2008 (assim como o diagnóstico de certificados no Windows Vista, de forma geral). Além da infra-estrutura de eventos muito mais flexível, que se estende por todo o produto, o próprio serviço de CA conta agora com um console de monitoramento interno e se conecta ao Systems Center Operations Manager 2007 (anteriormente conhecido como MOM) para fornecer alertas em nível empresarial. O console de monitoramento Enterprise PKI representa um aprimoramento em relação ao seu predecessor, lançado no Windows Server 2003 AdminPak. O novo console vem incluído no produto e agora pode monitorar URIs OCSP (protocolo de status de certificados online), além de todas as CAs de determinada floresta.

O pacote de gerenciamento do Operations Manager fornece um recurso de monitoramento passivo da PKI de uma organização, incluindo alertas internos baseados em limites. O pacote de gerenciamento pode ser usado, por exemplo, para monitorar a atualização de uma CRL (lista de certificados revogados) e alertar os administradores da PKI quando uma CRL alcança determinado número de dias ou horas antes do vencimento. Por fim, estão disponíveis diversos novos contadores de desempenho, que auxiliam na solução de problemas e no monitoramento do desempenho geral do serviço de CA. Esses contadores podem ser usados para capturar dados como quantos certificados são emitidos por segundo.

Um novo recurso faz sua estréia no Windows Server 2008: o suporte a cluster do serviço de CA em nível de hardware. Esse suporte a cluster utiliza a tecnologia MSCS (Microsoft Cluster Service) padrão e oferece suporte a configurações ativo/passivo de dois nós. O suporte a cluster permite executar uma infra-estrutura de emissão com alta disponibilidade e pode ser usado em implantações de cluster geograficamente dispersas. Se você optar por utilizar o suporte a cluster, observe que simplesmente colocar uma CA em cluster não resultará na disponibilidade de toda a PKI. Embora o cluster ajude a garantir que as CAs propriamente ditas estejam disponíveis, é provável que uma PKI com funcionamento adequado tenha outros componentes não executados diretamente nas CAs. Por exemplo, os CDPs (pontos de distribuição de CRL) e os respondentes de OCSP também precisam ser executados com alta disponibilidade para garantir que a revogação possa ser realizada. Além disso, quando os HSMs (módulos de segurança de hardware), especialmente os baseados em rede, são utilizados, também representam um potencial ponto de falha na PKI. O uso de clusters é um novo recurso importante para fornecer alta disponibilidade à autoridade de certificação em si, mas não é uma solução completa para a disponibilidade de toda a implantação da PKI.

Revogação

Há muito tempo, as CRLs são usadas para fornecer verificação de validade para certificados. Essas CRLs incluem os números de série de todos os certificados cujos períodos de validade ainda não expiraram, mas que não são mais confiáveis. Por exemplo, se um funcionário tem um certificado com data de validade em 31/12/2008 mas deixa a organização em 1/9/2007, os números de série de seus certificados são colocados na CRL. Então, a CRL é disponibilizada em vários CDPs (pontos de distribuição de CRL), como caminhos HTTP e de protocolo LDAP.

Embora ainda sejam amplamente utilizadas, as CRLs têm algumas desvantagens consideráveis. Em primeiro lugar, são publicadas periodicamente pelas CAs (em geral, uma ou duas vezes por dia). Os clientes, então, baixam essas CRLs e as armazenam em cache até o próximo intervalo de publicação. Durante o período em cache, os certificados podem ser revogados e o cliente não toma conhecimento do status mais atualizado. Em segundo lugar, em organizações muito grandes, as CRLs podem crescer muito (algumas vezes ultrapassando os 100 MB). A distribuição desses arquivos em uma rede grande e muito dispersa pode ser difícil ou impossível, especialmente em cenários de filiais ou em outros ambientes com largura de banda restrita.

Para remediar esses problemas, o protocolo OCSP foi criado e definido na RFC 2560. O protocolo OCSP proporciona um método em tempo real para validar o status dos certificados. Um cliente OCSP é executado no computador que precisa verificar a validade de um certificado secundário. O software cliente faz referência a um respondente OCSP e envia uma mensagem solicitando o status de validade do certificado secundário. O respondente verifica a validade do certificado e responde ao cliente em tempo real. Essa abordagem evita problemas no armazenamento em cache e na distribuição.

Pela primeira vez, a funcionalidade dos clientes OCSP vem incluída no Windows Vista (anteriormente, era necessário software de terceiros) e pode ser configurada via Diretiva de Grupo. Por padrão, o Windows tentará usar o OCSP, mas fará o fallback para as pesquisas padrão de CRL se o respondente estiver indisponível.

No Windows Server 2008, é fornecido um respondente OCSP para responder a essas solicitações. O respondente é instalado com o Gerenciador de Função e pode ser monitorado pelo pacote de gerenciamento do Operations Manager 2007. Como o cliente e o respondente obedecem ao padrão OCSP, podem ser facilmente integrados a ambientes OCSP já existentes, que utilizem componentes de terceiros baseados em padrões semelhantes. Por exemplo, há total suporte para que um cliente do Windows Vista verifique o status de certificados com um respondente de terceiros e para que um respondente do Windows Server 2008 responda a consultas de um aplicativo cliente de terceiros. Além disso, o respondente OCSP do Windows pode responder a solicitações de certificados emitidos por qualquer CA em conformidade com os padrões. Não são obrigatórias CAs do Windows Server 2008 (e CAs baseadas no Windows de forma geral).

Conclusão

A plataforma de PKI do Windows Vista e do Windows Server 2008 inclui muitos aprimoramentos e vários novos recursos que tornam a implantação e a operação de uma PKI mais segura e econômica. A nova API de CNG proporciona aos desenvolvedores um ambiente mais simples de programação, com suporte para novos padrões de criptografia. Os aperfeiçoamentos na inscrição permitem às organizações provisionar certificados em massa com mais facilidade e fazer com segurança o roam de chaves na empresa. Da mesma forma, o novo pacote de gerenciamento e o recurso de cluster de CA tornam mais fácil monitorar o status das CAs e garantir a alta disponibilidade. Por fim, os aprimoramentos na verificação de revogação adotam uma abordagem baseada em padrões para fornecer validação em tempo real de certificados, sem os custos de largura de banda associados à distribuição de CRLs. Como resultado, o Windows Vista e o Windows Server 2008 elevam a plataforma de PKI do Windows a um novo patamar.

Recursos de aprimoramento da PKI

John Morelloestá na Microsoft desde 2000. Como consultor sênior, criou soluções de segurança para empresas da lista Fortune 100 e para agências federais civis e militares. Atualmente, ele é gerente de programas sênior da divisão Windows Server, trabalhando em segurança e tecnologias de acesso em qualquer lugar. Leia o blog da equipe dele em blogs.technet.com/WinCAT.

© 2008 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados. A reprodução parcial ou completa sem autorização é proibida..