Fortify permite que usuários gerem certificados X.509 em seu navegador
19 de junho de 2018O Fortify, um aplicativo de código aberto patrocinado por Autoridades de Certificação por meio do CA Security Council, está agora disponível para Windows e Mac
Por Tim Hollebeek (Software Architect; DigiCert)
O aplicativo Fortify, gratuito para todos os usuários, conecta os navegadores de um usuário a cartões inteligentes, tokens de segurança e certificados na máquina local do usuário.
Isso pode permitir que os usuários gerem certificados X.509 em seu navegador, substituindo a necessidade da funcionalidade reprovada do <keygen>. <keygen> foi projetado para uso com sistemas de gerenciamento de certificados baseados na Web.
Geração de Certificados no Navegador
A Web Cryptography API, também conhecida como Web Crypto, fornece um conjunto de recursos criptográficos para navegadores da Web por meio de um conjunto de APIs JavaScript.
No entanto, o Web Crypto fornece apenas criptograficas primitivas – os sistemas e métodos gerais nos quais sistemas específicos são construídos. Por exemplo, o RSA é um dos primitivos sistemas criptográficos de chaves públicas.
Isso é ótimo para a web como uma plataforma – oferece aos desenvolvedores acesso fácil à funcionalidade entre plataformas. No entanto, isso também significa que o Web Crypto não foi projetado para incorporar alguns casos de uso considerados menos importantes para a Web como um todo.
Especificamente, o Web Crypto não aborda a compatibilidade com dispositivos de segurança de hardware (ou seja, cartões inteligentes) ou geração de certificados.
Isso representa um problema para as Autoridades de Certificação (ACs) e seus clientes, pois atualmente os navegadores não têm funcionalidade para gerar certificados S / MIME e Code Signing porque <keygen>, parte da especificação HTML, foi descontinuado sem uma substituição.
Embora a suspensão de uso de <keygen> tenha sido necessária, devido a falhas de segurança, isso criou uma lacuna na funcionalidade nativa dos navegadores. A especificação da Web Crypto reconhece que a API não serve como uma substituição direta de <keygen>:
“Esta API, embora permita que os aplicativos gerem, recuperem e manipulem o material de chaves, não aborda especificamente o provisionamento de chaves em tipos específicos de armazenamento de chaves, como elementos seguros ou cartões inteligentes.”
Agora, o <keygen> ainda é suportado por alguns navegadores, por exemplo, o Firefox inclui suporte, embora o site do desenvolvedor do Mozilla perceba que o recurso está obsoleto e pode ser removido no futuro. Mas o Google Chrome preteriu <keygen> na versão 49 e o removeu totalmente na versão 57 . O Microsoft Edge não suporta o recurso nem planeja fazê-lo.
Sem <keygen>, não há uma maneira amigável de gerar certificados localmente por meio do navegador, o que é necessário para a inscrição de assinaturas de códigos de consumidor e certificados S / MIME. Fortify pode preencher essa lacuna.
Fortify estende API de criptografia da Web para incluir suporte a certificados e cartões inteligentes
O Fortify é um aplicativo flexível que fornece um link entre o navegador da Web (ou outro agente do usuário) e certificados ou cartões inteligentes na máquina local do usuário. Embora não seja perfeito, uma vez que requer que o usuário instale um aplicativo adicional, ele preenche a lacuna criada pela depreciação de <keygen> e pode fornecer muito mais funcionalidade do que isso.
O Fortify estende a Web Crypto API ao abordar diretamente os principais recursos para os quais a API não foi projetada, permitindo que aplicativos da Web acessem cartões inteligentes, tokens de segurança de hardware (como o Yubikey 4 e NEO) e armazenamentos de certificados locais (para certificados X. 509).
Sites e aplicativos da Web que oferecem suporte à API de criptografia da Web podem começar a oferecer suporte ao Fortify para acessar esses dispositivos e certificados locais.
O Fortify fornece um modelo de permissão que mantém os usuários no controle, permitindo-lhes aprovar e gerenciar quais origens (sites) podem utilizar seus poderosos recursos.
Para autoridades de certificação, o Fortify pode substituir a necessidade de <keygen> ao permitir que formulários de inscrição baseados em navegador se conectem ao armazenamento local de certificados do usuário para geração de certificados e chaves.
Atualmente, as autoridades de certificação não têm outra alternativa senão redirecionar os usuários para outro navegador da Web se a escolha principal do usuário não for compatível com <keygen>. No Firefox, os usuários também precisam ser orientados por meio de um procedimento de exportação, pois o navegador usa um keystore independente do sistema operacional. Uma vez instalado, o Fortify fornece uma experiência de usuário aprimorada sobre as implementações típicas de navegador do <keygen>.
Como o <keygen> não se integra de forma nativa com as APIs do PKCS # 11, ele também exige que os usuários tomem a etapa adicional de importar para os keystores, o que cria oportunidades para um gerenciamento de chaves insatisfatório.
O <keygen> não apenas fornece uma experiência de usuário inferior, como também fornece segurança inferior. Os certificados são exportados do navegador como arquivos .p12, que podem ser protegidos por senha, mas freqüentemente com algoritmos de criptografia fracos que são vulneráveis a falhas. Isso deixa os usuários com controles de segurança fracos em suas chaves privadas.
Ao gerar um certificado usando um token de hardware ou HSM, o Fortify pode garantir que a chave foi criada – e permanece – nesse dispositivo, fazendo interface com ela por meio de sua biblioteca PKCS # 11. O suporte ao padrão PKCS # 11 de código aberto é uma maneira interoperável e confiável de oferecer suporte à grande variedade de tokens de hardware em uso atualmente.
Vemos isso como uma melhoria significativa em relação ao <keygen>, que tinha uma experiência de usuário antiquada devido a sua idade e objetivos de design. Também é importante observar que o Fortify resolve esse problema de maneira saudável para o ecossistema da web. O Fortify permite que as CAs estendam a funcionalidade do Web Crypto além da especificação W3C, fornecendo uma maneira confiável para a indústria atender suas necessidades sem exigir a inclusão da funcionalidade, o que não se aplica à maioria dos usuários, reduzindo a área desnecessária em navegadores.
Os aplicativos da Web que suportam o Web Crypto também podem usar o Fortify para registrar outros tipos de certificados X.509, como uma forma de assinar / criptografar documentos com certificados de cliente e autenticação do usuário.
O Fortify é open source, compatível com o Windows 7+ e o OSX 10.12+, e funciona com todos os principais navegadores. Para obter mais informações sobre como usar o Fortify para gerar certificados, entre em contato com sua autoridade de certificação.
Fonte: https://casecurity.org
Aqui vc pode acessar o documento sobre o Fortify Ajude-nos a melhorar o texto traduzido. Envie seus comentários para nossa redação. redacao@cryptoid.com.br