Ricardo Koji Ushizaki riko@serasa.com.br 6º. É Dia de Java Segurança com Java Agosto/2007 - UFSCAR



Documentos relacionados
Ricardo Koji Ushizaki Just Java 2007 Outubro/2007 SP

Desenvolvimento Web com Framework Demoiselle versão 1.0

Leiaute dos Certificados Digitais da Secretaria da Receita Federal do Brasil

Assinatura Digital: problema

Protocolos de Aplicação SSL, TLS, HTTPS, SHTTP

Autorizador + WAC HTTPS x. abril de [Versão_DOC]

I T I. AC Raiz. Instituto Nacional de Tecnologia da Informação, órgão do Governo Federal. Receita Federal SERASA SERPRO CAIXA CERT PRIVADA

Manual do Usuário Certificado Digital AC PRODERJ

Manual de Instruções para a Criação de Ficheiros CSR. Tomcat com Keystore e Keytool

PROCESSO JUDICIAL ELETRÔNICO PJe

TomCat - Gerando CSR SHA256

Certificado Digital: Como Funciona (

DIGITALSIGN CERTIFICAÇÃO DIGITAL LTDA. (AC DIGITALSIGN)


Política de Certificado de Assinatura Tipo A1 PC A1 - AC DOCCLOUD RFB

PROJETO DE REDES

Manual de orientações para a instalação do Java e envio da declaração utilizando a Certificação Digital

Tópicos Especiais em Redes de Computadores. Certificado Digital (OpenSSL) Professor: Alexssandro Cardoso Antunes

MANUAL CADASTRO DO ADVOGADO

DIGITALSIGN CERTIFICAÇÃO DIGITAL LTDA. (AC DIGITALSIGN RFB)

Soluti Orientações SIOPS 22/03/2013 SOLUTI

EMISSÃO DE CERTIFICADO DIGITAL AC-JUS A1

CERTIFICADO DIGITAL ARMAZENADO NO COMPUTADOR (A1) Manual do Usuário

Política de Certificado de Assinatura Digital Tipo A4 da Autoridade Certificadora Instituto Fenacon para a Secretaria da Receita Federal do Brasil

GUIA DE USO - ASSINATURA DIGITAL DE DOCUMENTOS

Soluções e aplicação prática

Certificação Digital do Pregoeiro e Ordenador de Despesas v1.8

Sumário. Parte I Introdução Capítulo 1 Fundamentos da infra-estrutura de chave pública Capítulo 2 Conceitos necessários...

Política de Certificado de Assinatura Digital Tipo A3 da Autoridade Certificadora Certisign Múltipla

Instrução para solicitação de Certificados Digitais de Servidor TomCat. SHA1024 e SHA2048

25/01/2015 PROF. FABIANO TAGUCHI. CRIPTOGRAFIA E SEGURANÇA DE DADOS AULA 12 ICP-BRASIL

Política de Certificado de Assinatura Digital Tipo A4 da Autoridade Certificadora Imprensa Oficial

Configuração do cliente de Thunderbird para usuários DAC

PROJETO DE REDES

Geração de CSR para web-server Tomcat

J550 Segurança e Controle de erros

Renovação Online de certificados digitais A1 (Voucher)

Certificado Digital A1. Solicitação

EMULADOR 3270 VIA WEB BROWSER

Certificado Digital A1. Instalação

Política de Certificado de Assinatura Digital Tipo A3

SOLICITAÇÃO DE CERTIFICADO SERVIDOR TOMCAT

Autoridade Certificadora. SOLUTI Múltipla. Política de Certificado T4. (PC T4 da AC SOLUTI Múltipla) OID

Política de Certificado de Assinatura Digital Tipo A3. da Autoridade Certificadora Imprensa Oficial SP para a Secretaria da Receita Federal do Brasil

Gerenciando certificados A1 fornecidos pelo ICB-Brasil no navegador Chrome sobre Linux

Política de Certificado de Assinatura Digital Tipo A4. da Autoridade Certificadora Imprensa Oficial SP para a Secretaria da Receita Federal do Brasil

Outlook XML Reader Versão Manual de Instalação e Demonstração UNE Tecnologia

Manual do Usuário Certificado Digital AC PRODERJ

Exportando um certificado no Controlador de Domínio do AD

Renovação Online de Certificados Digitais A3 (Com Boleto Bancário)

Política de Certificado de Assinatura Digital Tipo A1 da Autoridade Certificadora FENACON Certisign para a Secretaria da Receita Federal do Brasil

Segurança da Informação

Política de Certificado de Assinatura Digital Tipo A3. da Autoridade Certificadora Imprensa Oficial SP para a Secretaria da Receita Federal do Brasil

Política de Certificado de Assinatura Digital Tipo A1 da Certificadora SINCOR para a Secretaria da Receita Federal do Brasil

Política de Certificado de Sigilo Tipo S3. da Autoridade Certificadora Imprensa Oficial. PC S3 DA AC Imprensa Oficial

Ambiente Virtual de Avaliações Utilizando Certificados Digitais. Fernando Gevard Acadêmico Paulo Fernando da Silva - Orientador

Política de Certificado de Assinatura Digital Tipo A3. da Autoridade Certificadora SINCOR PC A3 DA AC SINCOR

Renovação Online de certificados digitais A3 (Voucher)

Aplicativo adicional para cartões

MANUAL DE UTILIZAÇÃO DO GCD GERENCIADOR DE CERTIFICADOS DIGITAIS

POLÍTICA DE CARIMBO DO TEMPO DA AUTORIDADE DE CARIMBO DO TEMPO VALID (PCT da ACT VALID)

GUIA DE MANUTENÇÃO DO CERTIFICADO PÚBLICO NA NFSe Versão 0.1

Política de Certificado de Assinatura Digital Tipo A3 da Autoridade Certificadora Certisign para a Secretaria da Receita Federal do Brasil

Política de Certificado de Assinatura Digital Tipo A1 da Autoridade Certificadora Imprensa Oficial SP para a Secretaria da Receita Federal do Brasil

PROJETO DE REDES

GUIA RÁPIDO PARA CERTIFICADOS SSL/TLS FAÇA A MELHOR ESCOLHA AO AVALIAR SUAS OPÇÕES DE SEGURANÇA DE SITES

Manual Operacional do Sistema de Concessão de Diárias e Passagens - SCDP Acesso ao Sistema (ABRIL 2009)

CERTIFICAÇÃO DIGITAL

CARTÃO MAGIC CONTROL CARTÃO GEMALTO

Windows Server 2008 Network Infrastructure, Configuring - Aula 9-03/03/2012 Autor: Thiago Inácio de Matos Contato: thiago.matos@outlook.com.

Leitora Omnikey Cardman Guia de Instalação

Política de Certificado de Assinatura Digital Tipo A3. da Autoridade Certificadora da Ordem dos Advogados do Brasil PC A3 DA AC OAB

Política de Certificado de Assinatura Digital Tipo A3. da Autoridade Certificadora SAT SEFAZ SP PC A3 DA AC SAT SEFAZ SP

PROJETO CERTIDÃO WEB

Transcrição:

Ricardo Koji Ushizaki riko@serasa.com.br 6º. É Dia de Java Segurança com Java Agosto/2007 - UFSCAR

Ricardo Koji Ushizaki riko@serasa.com.br 6º. É Dia de Cerva Segurança com Cerva Agosto/2007 - UFSCAR

Controlede Acesso Tripple A Autenticação Quem é Autorização Pode fazer Auditoria O que fez

Autenticação Identificação única do usuário Autenticação baseada em: O que o usuário sabe(senha, PIN); O que o usuário possui(crachá, smartcard, token); O que o usuário é (impressão digital, voz, retina, íris); Onde o usuário está (antes ou depois do firewall).

Autorização Define o que é ou o que não é permitido; Permissões; Analogia a um Sistema Operacional: Permissão de Leitura, Escrita e Execução.

Auditoria Registrar operações e atividades realizadas; Deve associar a ação a um usuário; Logs, evidências, Assinatura Digital;

SSL -certificação digital Protocolo SSL (Secure Socket Layer) Certificado Digital do Servidor Garante identidade do servidor Clientes têm certeza que estão acessando o site desejado

Problemas SSL simples Apenas um lado (servidor) foi autenticado Falta autenticar o cliente Webmails, Internet Banking: Usuário/senha Autenticação muito fraca Fraudes eletrônicas

Bob quer acessar seu site do banco Digita https://www.weaksecuritybank.com Problemas: Bob mal sabe o que é um certificado digital; E se alguém roubar seu usuário/senha? Exemplo do problema

Solução: SSL duplo Cliente apresenta seu Certificado Digital SSL com autenticação cliente Autenticação é mais forte: Cliente sabe algo (PIN) Cliente possui algo (smart card, token) Cliente é ele mesmo (certificado digital)

Controle de Acesso com Certificação Digital Autenticação: Autenticar Certificado Digital do Cliente Autorização: Verificar se Cliente possui permissão ao serviço desejado Auditoria: Registrar operação executada: assinatura digital

Bob possui seu certificado digital Acessa https://www.strongsecuritybank.com Bob se autentica com seu certificado digital Bob é autorizado a movimentar sua conta Bob assina digitalmente cada movimentação Exemplo

Cadeias de Confiança

Como funciona: Servidor Deve confiar na cadeia de certificados do Cliente Certificado com extensão Server Authentication

Como Funciona: Cliente Deve confiar na cadeia de certificados do Servidor; Certificado com extensão de Client Authentication

Configurar SSL no Servidor Possuir um certificado digital para o servidor Configurar o repositório de certificados confiáveis: Truststore Lista das cadeias que o servidor confia Define quais certificados clientes poderão fechar SSL com o servidor Habilitar serviço HTPS com Cliente Authentication

Exemplo: Tomcat Gerar certificado de servidor de testes: keytool -genkey -alias tomcat -keyalg RSA sigalg SHA1WithRSA -keystore tomcat.jks -dname "C=BR, O=TESTE, OU=RIKO, CN=riko-sony -validity 365 Criar Truststore com certificados confiáveis: keytool -import -trustcacerts -alias iti -file certificadoacraiz.crt -keystore tomcat-truststore.jks

Exemplo: Tomcat Configurar serviço HTTPS com Client Authentication Editar o arquivo conf/server.xml <Connector port="8443" protocol="http/1.1" SSLEnabled="true maxthreads="150" scheme="https" secure="true keystorefile="d:\riko\java\apache-tomcat6.0.14\conf\tomcat.jks keystorepass="tomcat truststorefile="d:\riko\java\apache-tomcat-6.0.14\conf\tomcattruststore.jks truststorepass="tomcat clientauth="true" sslprotocol="tls" /> Iniciar o Tomcat Acessar https://localhost:8443/ Será pedido o certificado digital do cliente cuja raiz seja da ICP-Brasil

Aplicação Web -SSL com client authentication Criar controle de acesso baseado no certificado digital do Cliente; Modelo: Associar ao certificado digital um conjunto de permissões que o Cliente pode executar; Permissões pré-cadastradas no sistema; Arquitetura do Controle de Acesso: Aplicação Web: Java Servlets + Servlet Filters Autenticar, autorizar e auditar

Manipular Certificados Digitais JCE Java Cryptography Extension API para Criptografia

Dados do Certificado Digital

Autenticação -SSL A autenticação SSL é feita entre o Cliente e o Servidor O serviço SSL do Servidor é responsável em fechar ou não o SSL com o Cliente A implementação do SSL handshake fica a cargo do serviço SSL do Servidor A aplicação web aguarda o ServletContainer repassar o HTTP REQUEST contendo o certificado digital do Cliente

Autorização Após a autenticação feita entre o Cliente e o Servidor, a aplicação web é chamada repassando o HTTP REQUEST; O HTTP REQUEST é encapsulado pela classe javax.servlet.http.httpservletrequest; Para extrair do HTTP REQUEST o Certificado Digital do Cliente: final String CLIENT_CERT = "javax.servlet.request.x509certificate"; X509Certificate[] certs = (X509Certificate[]) req.getattribute(client_cert);

Autorização Duas etapas: 1. Analisar o certificado digital do cliente; 2. Autorizar ou não o acesso ao sistema Como identificar o cliente? Com o Certificado Digital do Cliente, é preciso saber quem ele é no sistema; Mapear o Certificado Digital a um username ou ID; Verificar se esse username está autorizado a executar a operação desejada no sistema;

Autorização Certificado Digital do Cliente: AKI Authority Key Identifier Serial Number AKI SN

Auditoria Criar evidências da ação executada; Associar a ação ao usuário: Usar Assinatura Digital; Realizar a Assinatura Digital no Browser; APIs específicas do Sistema Operacional; Applet; Submeter a Assinatura Digital e salvar como evidência;

Certificados ICP-Brasil Autoridades Certificadoras (ACs) no Brasil devem seguir as normas da ICP-Brasil; Definem regras para toda PKI (Public Key Infrastructure) de uma AC; Além disso, definem o CONTEÚDO de cada certificado; Vantagem: Aplicações conseguem obter dados de forma mais confiável, como o CPF, CNPJ, data de nascimento etc;

SubjectAlternativeName(SAN) Política de Certificado é publicada pelas Acs; Definem o conteúdo de cada extensão do certificado; SAN: campos Other Namecom dados do dono do certificado (exemplo CPF)

PC de um e-cpf 7.1.2.3. Subject Alternative Name A ICP-Brasil define como obrigatória a extensão "Subject Alternative Name", não crítica, e com os seguintes formatos: a) para Certificados de Pessoa Física (e-cpf) a.1) 3 (três) campos othername, obrigatórios, contendo, nesta ordem: i. OID = 2.16.76.1.3.1 e conteúdo = nas primeiras 8 (oito) posições, a data de nascimento do titular, no formato ddmmaaaa; nas 11 (onze) posições subseqüentes, o Cadastro de Pessoa Física (CPF) do titular; nas 11 (onze) posições subseqüentes, o número de Identificação Social - NIS (PIS, PASEP ou CI); nas 15 (quinze) posições subseqüentes, o número do Registro Geral - RG do titular; nas 6 (seis) posições subseqüentes, as siglas do órgão expedidor do RG e respectiva UF. ii. OID = 2.16.76.1.3.6 e conteúdo = nas 12 (doze) posições o número do Cadastro Especifico do INSS (CEI) da pessoa física titular do certificado. iii. OID = 2.16.76.1.3.5 e conteúdo = nas primeiras 12 (onze) posições, o número de inscrição do Título de Eleitor; nas 3 (três) posições subseqüentes, a Zona Eleitoral; nas 4 (quatro) posições seguintes, a: Seção; nas 22 (vinte e duas) posições subseqüentes, o município e a UF do Título de Eleitor. Fonte: http://publicacao.certificadodigital.com.br/repositorio/pc/politica-srf-a3.pdf

SAN -extrair OIDs Classe java.security.cert.x509certificate

JCE -limitações

Saída do programa teste ************************* Valor inteiro=0 0?`L 6 42090119772604011980212488767400000000208682090SSPSP ************************* Valor inteiro=0 0) + 7 shs8799@serasa.intranet ************************* Valor inteiro=1 RIKO@SERASA.COM.BR ************************* Valor inteiro=0 0+`L " 2702790801322590470SAO PAULOSP ************************* Valor inteiro=0 0`L 219051737000

Conclusão Controle de Acesso com Certificado Digital Cliente Estrutura da Certificação Digital não é trivial ICP-Brasile APIsdo Java OBRIGADO!