Análise do impacto da certificação digital no desenvolvimento de aplicações Aluno: Fillipe...

40
Análise do impacto da certificação digital no desenvolvimento de aplicações Aluno: Fillipe Oliveira Lima Orientador: Domingos Sávio Alcântara Machado

Transcript of Análise do impacto da certificação digital no desenvolvimento de aplicações Aluno: Fillipe...

Análise do impacto da certificação digital no desenvolvimento de aplicações

Aluno: Fillipe Oliveira LimaOrientador: Domingos Sávio Alcântara Machado

Agenda

1. Introdução2. Criptografia3. Infra-estrutura de chaves públicas4. Certificação digital5. Análise do impacto da certificação

digital no desenvolvimento de aplicações

6. Conclusão

1 Introdução

Milhares de transações são realizadas todos os dias na internet.

A internet ainda possui muitas falhas de segurança

Muitos serviços ainda não são disponibilizados, devido às vulnerabilidades

1 Introdução

O que é certificação digital ?É uma tecnologia que provê

mecanismos de segurança, capazes de garantir autenticidade, confidencialidade e integridade às informações eletrônicas.

(Fonte: Instituto Nacional de Tecnologia da Informação)

2 Criptografia

2.1 Conceitos de criptografia2.2 Criptografia simétrica2.3 Criptografia assimétrica2.4 Criptografia híbrida

2.1 Conceitos de criptografia

O que é criptografia ? Encriptar e descriptar

Códigos Cifras

Criptoanálise Algoritmos criptográficos

DES, IDEA, RSA, SHA1, MD5, AES, RC5 e RC6.

2.1 Conceitos de criptografia

Criptografia com chave

2.2 Criptografia simétrica

Mesma chave para cifrar e decrifrar

2.3 Criptografia assimétrica

Chaves relacionadas para cifrar e decifrar

2.4 Criptografia híbrida

Criptografia dos dados e distribuição da chave

2.4 Criptografia híbrida

Recebimento da chave e descriptografia dos dados

3 Infra-estrutura de chaves públicas

3.1 Conceitos de infra-estrutura de chaves públicas

3.2 Serviços oferecidos pela infra-estrutura de chaves públicas

3.1 Conceitos de infra-estrutura de chaves públicas

Ambiente com padrões de segurança definidos

Serviços baseados na criptografia assimétrica

Existe a mais de 20 anosICP-Brasil

3.2 Serviços oferecidos pela infra-estrutura de chaves públicas

Integridade Assegura que as informações não foram alteradas

Autenticidade Identificação de usuários / máquinas

Privacidade Informações legíveis para pessoas autorizadas

Disponibilidade Informações disponíveis no momento desejado

3.2 Serviços oferecidos pela infra-estrutura de chaves públicas

Assinatura digital - Geração

3.2 Serviços oferecidos pela infra-estrutura de chaves públicas

Assinatura digital - Validação

4 Certificação digital

4.1 Conceitos de certificação digital4.2 Autoridade Certificadora (AC)4.3 Autoridade Registradora (AR)

4.1 Conceitos de certificação digital

A chave pública não pode ser distribuída sem algo que garanta sua integridade

Uma entidade confiável deve garantir essa integridade

4.2 Autoridade Certificadora

Emissão dos certificados Revogação dos certificados Distribuição dos certificados Gerenciamento dos certificados Fiscalização das AC e das AR

4.3 Autoridade Registradora

Registrar o usuário Redução de custo Intermédio entre o usuário e a AC Verificação da solicitação

5 Análise do impacto da certificação digital no desenvolvimento de aplicações

5.1 Certificação digital em aplicações comerciais

5.2 Estudo de caso5.3 Análise dos resultados

5.1 Certificação digital em aplicações comerciais

Utilizando a assinatura digital

5.1 Certificação digital em aplicações comerciais

Assinatura digital nos ambientes:Desktop

Pode ser mais fácilWEB

Mais complexoSoluções:

Utilizar extensões disponíveis nos browsers Utilizar Applet Java

5.2 Estudo de caso

Desenvolvimento de uma pequena parte de sistema de controle acadêmico

Autenticação de usuárioCadastro / consulta de notas e faltas dos

alunos

5.2 Estudo de caso

Incorporação da certificação digital

Login da aplicaçãoRecursos do servidor de aplicaçãoVia programação

Cadastro de notas e faltas dos alunosApplet Java Aplicação J2EE Nova tabela para armazenar o XML

5.2 Estudo de caso

Arquitetura da aplicação Assinatura / validação dos dados

5.2 Estudo de caso

Arquitetura da aplicaçãoAutenticação de usuários

5.2 Estudo de caso

Ambiente de testeCertificado do tipo A3 (e-CPF)Oracle 10GPL/SQL Developer 5.1J2EE (JDK 1.5)Jboss 4.0.4 (Tomcat 5.5)JBuilder 2006 (Versão 12)

5.2 Estudo de caso

Estratégia de implementaçãoMódulo de Autenticação

Instalação do certificado de servidorCriação do repositório de certificados confiáveisConfiguração do Jboss

Módulo de assinatura digitalAssinatura do Applet JavaDuas configurações no html

5.2 Estudo de caso

Demonstração

5.3 Análise dos resultados

O impacto e o esforço da incorporação do código em ambiente WEB

Impacto maior no clienteEsforço maior no servidor

5.3 Análise dos resultados

Impacto e esforço: Aplicação x Base de dados

Impacto muito pequeno na base de dadosEsforço mínimo na base de dados

5.3 Análise dos resultados

Impacto no desempenhoGeração da assinatura digital:

Pode levar alguns segundosValidação da assinatura digital

Não compromete o desempenhoAutenticação

Rápida, exceto quando baixa a lista de certificados revogados

Base de dadosNão compromete o desempenho

5.3 Análise dos resultados

Impactos geraisDificuldade na escolha das bibliotecas Bom nível de conhecimento sobre ICPBugs das bibliotecas Incompatibilidade entre os browsersDificuldade na configuração dos servidores

WEBPreocupação em manter o legado

funcionando

6 Conclusão

A certificação digital em aplicações comerciais está sendo ampliada

Muitas empresas despertam para o potencial da certificação digital

Custo um pouco elevadoEspera-se os mesmos resultados para

um ambiente de produção

6 Conclusão

Esse trabalho foi o primeiro passo para o início do projeto de certificação digital na UNIT

Auxiliar outras empresas no desenvolvimento de aplicações com certificação digital

Trabalhos futuros Aplicações Desktop Outros servidores WEB (IIS e WebLogic) Outras plataformas de desenvolvimento WEB

(.NET Framework)

Principais referências bibliográficas

ADAMS, Carlisle. LLOYD, Steve. Understanding Public-Key Infrastructure. Concepts, Standards, and Deployment Considerations. Indianapolis: New Riders Publishing, 1999.

SILVA, Lino Sarlo da. Public Key Infrastructure – PKI. São Paulo: Novatec, 2004.

VOLPI, Marlon Marcelo. Assinatura digital: Aspectos Técnicos, Práticos e Legais. Rio de Janeiro: Axcel Books, 2001.

MORENO, Edward David. Criptografia em Software e Hardware. São Paulo: Novatec, 2005.

TERADA, Routo. Segurança de dados, criptografia em redes de computador. São Paulo: Edgard Blucher Ltda, 2000.

Principais referências bibliográficas

Sun Microsystems – Java Cryptography Architecture . Disponível em: <http://java.sun.com/j2se/1.4.2/docs/guide/security/CryptoSpec.html>. Acesso em 02 de novembro de 2006

CERTISIGN Certificador Digital S.A, Treinamento CERTISIGN – Desenvolvimento para JAVA. São Paulo: 2006.

Apache Software Foundation – SSL Configuration HOW-TO. Disponível em: < http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html>. Acesso em 29 de outubro de 2006.

PINHEIRO, Andréa. Correio brasiliense - Informática – Abocanhe o Leão . Disponível em: < http://www.iti.br/twiki/bin/view/Main/MidiaClip2006fev28A>. Acesso em 03 de dezembro de 2006.

Dúvidas

?

Agradecimentos

À universidade TiradentesÀ platéia presenteAos membros da banca e demais

professores