Um estudo sobre o necessário para fazer autenticações com certificados digitais, em qualquer tecnologia.
Este guia apresenta as configurações necessárias para fazer uma autenticação com certificado digital em aplicações Web.
Um estudo sobre o necessário para fazer autenticações com certificados digitais, em qualquer tecnologia.
Este guia apresenta as configurações necessárias para fazer uma autenticação com certificado digital em aplicações Web.
Requisitos
Para a implementação da funcionalidade, é necessário antes entender como funciona:
- Certificados digitais
- Secure Socket Layer (SSL)
- Configuração do SSL no seu servidor Web.
Implementação
Para que a aplicação web valide o certificado digital do cliente, deve ser feito o seguinte:
- Configurar o Internet Information Services (IIS) para utilizar conexão segura (SSL) com autenticação do cliente (para ele requisitar certificado digital do browser do usuário).
- Customizar no IIS as ACs (Autoridades Certificadoras) confiáveis. O certificado digital fornecido pelo cliente deverá ter sido emitido por alguma entidade certificadora confiável que está cadastrada no servidor Web.
- Criar uma aplicação Web e fazer o deploy no IIS. Ao estabelecer a conexão, o SSL irá requisitar um certificado cliente. A implementação do SSL irá verificar se o certificado digital fornecido é válido perante as ACs confiáveis cadastradas no servidor. Uma vez validadas, a aplicação web poderá consultar os dados do certificado digital da sessão do usuário e cruzar com dados de seu repositório.
Se o usuário tiver um certificado digital válido instalado no browser, quando acessar a página irá aparecer uma janela para que ele confirme se é dono digitando sua senha. Se o usuário tiver apenas certificados digitais emitidos por CAs que não estão registradas no servidor, ou então, se não tiver nenhum certificado digital, dependendo da configuração, não conseguirá acessar a página.
A configuração da obrigatoriedade do certificado digital na autenticação pode variar. Existem três tipos de comportamentos que podem ser definidos no SSL do servidor:
- Não exige certificados digitais do cliente.
- Exige certificados digitais do cliente.
- Informar certificados digitais de forma opcional.
No terceiro caso, se o usuário não possuir certificado digital, ou então se possuir mas não quiser usar, irá conseguir acessar a página normalmente. A conexão também continuará sendo segura da mesma forma, pois o browser irá gerar uma chave aleatória, conforme é documentado na especificação do SSL.
Documentos e-CPF e e-CNPJ
Para ler o número dos documentos do e-CPF e e-CNPJ, basta a aplicação capturar os dados do certificado digital da sessão e ler os valores que estão em hexadecimal nos campos otherName do certificado digital.
O ICP-Brasil, define onde encontra-se os números dos documentos no certificado digital quando:
Pessoa física: o campo que guarda o número do CPF é o otherName com o identificador OID de valor
2.16.76.1.3.1 com o valor no formato:
- Data de nascimento do titular no formato ddmmaa;
- Cadastro de Pessoa Física (CPF) do titular;
- Número de Identificação Social - NIS (PIS, PASEP ou CI);
- Ndo Registro Geral (RG) do titular;
- Siglas do órgão expedidor do RG e respectiva UF;
Para detalhes de outros campos, veja o 'Requisito I.10" na especificação do e-Cpf e e-Cnpj, publicado emhttp://www.iti.gov.br/twiki/pub/Homologacao/Documentos/MCT6_Vol_I.pdf sessão "2.1 Requisitos gerais de certificação digital."
Veja também
References
- SERPRO. Política de Certificação da Autoridade Certificadora do SERPRORFB. Acessado em 07 de junho de 2010.
https://ccd.serpro.gov.br/acserprorfb/do cs/pcserprorfbA3_v2. 1.pdf - APACHE.ORG. Apache Tomcat Configuration Reference. Acessado em 02 de junho de 2010.
http://tomcat.apache.org/tomcat-5.5-doc/ config/http.html - CERTISIGN. Por dentro da certificação digital. Acessado em 01 de junho de 2010.
http://www.certisign.com.br/certificacao -digital/por-dentro- da-certificacao-digi tal - DEVMEDIA. Autenticação de usuários com Certificado digital. Acessado em 07 de junho de 2010.
http://www.devmedia.com.br/articles/view comp.asp?comp=9495&h l= - IBM. Como funciona o SSL. Acessado em 06 de junho de 2010.
http://publib.boulder.ibm.com/tividd/td/ TRM/GC32-1323-00/pt_ BR/HTML/admin231.htm - MICROSOFT. X.509 Technical Supplement. Acessado em 07 de junho de 2010.
http://msdn.microsoft.com/en-us/library/ ff647097.aspx - MICROSOFT. Brokered Authentication: X.509 PKI. Acessado em 07 de junho de 2010.
http://msdn.microsoft.com/en-us/library/ aa480565.aspx - CERPRO. Certificação digital. Acessado em: 02 de junho de 2010.
http://www.serpro.gov.br/servicos/certif icacao_digital - UNIFESP. Infra-estrutura de Chave Pública (PKI) – O Diferencial da VeriSign. Acessado em 07 de junho de 2010.
http://telemedicina.unifesp.br/pub/Docum ent/Programming/Publ icKey/CertiSign/chav e_publica_pki/introd uction.html - UOL. HOW STUFF WORKS. Como funciona o certificado digital. Acessado em Acessado em 07 de junho de 2010.
http://informatica.hsw.uol.com.br/certif icado-digital.htm - UOL. IMASTERS. TCP/IP Certificados Digitais e segurança. Acessado em 06 de junho de 2010.
http://imasters.uol.com.br/artigo/3174/s eguranca/tcpip_parte _19_certificados_dig itais_e_seguranca/ - VASSILEV, Apostol; HUTCHINSON, Michael. Authentication Framework for Smart Cards. Texas, USA. 2010.
- WIKIPEDIA. ICP-BRASIL. Acessado em 08 de junho de 2010.
http://pt.wikipedia.org/wiki/ICP-BRASIL - WIKIPEDIA. X.509. Acessado em 05 de junho de 2010.
http://en.wikipedia.org/wiki/X.509
No comments:
Post a Comment