SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Seminário sobre Plataforma
JavaSegurança e Criptografia
Leonardo Venancio
Mateus Vitor
segurança da informação
- Os 5 pilares da segurança da informação:
1. Confidencialidade - Acesso somente por pessoas autorizadas;
2. Integridade - Informação confiável e exata;
3. Disponibilidade - Informação sempre disponível;
4. Autenticidade - Que a informação possa ser aberta somente pelo
remetente e que não sofra alteração;
5. Legalidade - Garante que a informação não inflija a lei vigente;
java.security
- O java.security define classes relacionadas a área de segurança isto
inclui criptografia, infra-estrutura de chave pública, comunicação
segura, autenticação e controle de acesso.
message-digests algorithm (hash)
- Um hash é uma sequencia de bits geradas por um algoritmo de
dispersão;
- Geralmente representado em base Hexadecimal (0 a 9 e A a F);
- Tamanho fixo e Unidirecionalidade;
- CONCEITO: Transforma grandes quantidades de dados em uma
pequena quantidade de informações;
- Hashs mais comuns: MD-5, SHA-1, SHA-256;
- java.security.MessageDigest;
É IMPORTANTE RESSALTAR!
Tipos Primitivos:
FAMÍLIA | Tipo Prim. Clss Invólucro Tamanho | Exemplo
Lógico | boolean - Boolean - 1 bit | true
Literal | char - Character/String - 1 byte | ‘A’
Inteiro | byte - Byte - 1 byte | -128 a 127 (11111111)
< Vamos analisar o código! />
DSA - ASSINATURA DIGITAL
- Assinatura digital em criptografia nos assegura que o documento
digital não sofreu nenhuma alteração não autorizada;
- Difere-se de “assinatura eletrônica”;
- DSA (Digital Signature Algorithm);
- CONCEITO: A assinatura digital providencia que a mensagem veio
corretamente do emissor;
- java.security.Signature
Esquema
Uma vez que você tem um
objeto de chave privada,
você pode criar uma
assinatura digital com um
java.security.Signature
objeto:
É IMPORTANTE RESSALTAR!
- Para gerar as chaves públicas e privadas utilizamos a classe
KeyPairGenerator;
- a KeyPairGenerator precisa de um algoritmo para gerar a chave, para
isto aplicamos o método KeyPairGenerator.getInstance;
- Tanto a chave quanto a assinatura precisam ser gerados pelo mesmo
algoritmo, no nosso caso aplicaremos o DSA;
< Vamos analisar o código! />
Criptografia
- O pacote java.security possui pacotes baseados em CRIPTOGRAFIA ,
porém não contem classes para CRIPTOGRAFAR e
DESCRIPTOGRAFAR.
- usando o javax.crypto podemos usar criptografia
de chave simétrica.
Chave Secreta
- O primeiro passo em
qualquer operação de
CRIPTOGRAFIA é a obtenção
de uma chave secreta
apropriada para cada caso.
- Como o programa Keytool
fornecido junto com o JDK
não pode gerar e armazenar
chaves o programa deve lidar
com essas tarefas em si.
Tabela Ascii
Esquema
fonte: http://s.glbimg.com/po/tt/f/original/2012/06/21/simetrica.png
Gerando Chave
- A chave geralmente é um numero pequeno de até 256 bits, podemos
usar o RNG e o PRNG.
- RNG, gera números aleatórios, onde não há como o processo ser
repetido.
- PRNG, PSEUDO NÚMEROS ALEATÓRIOS, onde podemos gerar o mesmo
número gerado antes, se tivermos a mesma situação que gerou o
número anterior.
Bloco/Fluxo
- Cifragem por Bloco - Antes da cifragem o texto é divido em blocos.
-> melhor usado para criptografar dados estáticos
- Cifragem por Fluxo - cada bit é criptografado
Criptografia com Cipher
- Um possível problema na cifragem de blocos é a ocorrência de padrões.
Para evitar o reconhecimento de tais padrões usam-se algumas técnicas,
entre elas o Cipher Block Chaining (CBC), Cipher Feedback Block (CFB),
Electronic Code Book (EBC) entre outros.
Como seria?
Imagem normal
Modo mais simples de
criptografia
Utilizando outros
modos
Exemplos
Bibliografia
- Oreilly Java in a Nutshell 5ª edição Março 2005
- Criptografia e Segurança de Redes - William Stalings
- http://www.devmedia.com.br/utilizando-criptografia-simetr
ica-em-java/31170
- https://docs.oracle.com/javase/8/docs/technotes/guides/se
curity/
- http://blog.desenvolvedor.org/criptografia-de-senhas
Obrigado!

Mais conteúdo relacionado

Semelhante a Java Segurança e Criptografia

Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informaçãoalex_it
 
Certificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosCertificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosLeandro Rezende
 
Protegendo Arquivos Sigilosos com EFS
Protegendo Arquivos Sigilosos com EFSProtegendo Arquivos Sigilosos com EFS
Protegendo Arquivos Sigilosos com EFSDiego Souza
 
Redes -aula_8_-_seguranca_2_
Redes  -aula_8_-_seguranca_2_Redes  -aula_8_-_seguranca_2_
Redes -aula_8_-_seguranca_2_cleitonfcsantos
 
Proteja sua aplicação com o zend framework 2
Proteja sua aplicação com o zend framework 2Proteja sua aplicação com o zend framework 2
Proteja sua aplicação com o zend framework 2Cyrille Grandval
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografiaHélio Martins
 
Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de DadosFelipe Plattek
 
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...Walter Coan
 
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...Walter Coan
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Alcyon Ferreira de Souza Junior, MSc
 
APLICAÇÕES SEGURAS.pptx
APLICAÇÕES SEGURAS.pptxAPLICAÇÕES SEGURAS.pptx
APLICAÇÕES SEGURAS.pptxAlcindoAntnio
 
Sistemas_de_seguranca.ppt
Sistemas_de_seguranca.pptSistemas_de_seguranca.ppt
Sistemas_de_seguranca.pptJorgeSpindola1
 
Sistemas_de_seguranca.ppt
Sistemas_de_seguranca.pptSistemas_de_seguranca.ppt
Sistemas_de_seguranca.pptIvanildoGomes18
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Ministério Público da Paraíba
 
Segurança em sistemas distribuídos
Segurança em sistemas distribuídosSegurança em sistemas distribuídos
Segurança em sistemas distribuídosGeomar Matias Lima
 
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 5º PERÍODO SEGURANÇA DE DADOS
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 5º PERÍODO SEGURANÇA DE DADOSCST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 5º PERÍODO SEGURANÇA DE DADOS
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 5º PERÍODO SEGURANÇA DE DADOSOs Fantasmas !
 

Semelhante a Java Segurança e Criptografia (20)

Java security
Java securityJava security
Java security
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informação
 
Certificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosCertificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 Exercícios
 
Protegendo Arquivos Sigilosos com EFS
Protegendo Arquivos Sigilosos com EFSProtegendo Arquivos Sigilosos com EFS
Protegendo Arquivos Sigilosos com EFS
 
Redes -aula_8_-_seguranca_2_
Redes  -aula_8_-_seguranca_2_Redes  -aula_8_-_seguranca_2_
Redes -aula_8_-_seguranca_2_
 
Proteja sua aplicação com o zend framework 2
Proteja sua aplicação com o zend framework 2Proteja sua aplicação com o zend framework 2
Proteja sua aplicação com o zend framework 2
 
Trabalho tic
Trabalho ticTrabalho tic
Trabalho tic
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografia
 
Webcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livreWebcast Luiz Vieira criptografia on-the-fly com software livre
Webcast Luiz Vieira criptografia on-the-fly com software livre
 
Seguranca e Criptografia de Dados
Seguranca e Criptografia de DadosSeguranca e Criptografia de Dados
Seguranca e Criptografia de Dados
 
Inf seg redinf_semana5
Inf seg redinf_semana5Inf seg redinf_semana5
Inf seg redinf_semana5
 
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
TDC Connections 2021 – Trilha Software Security - Proteção de dados sensíveis...
 
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
TDC2021 Innovation - Proteção de dados sensíveis com a computação confidencia...
 
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
Aula 05 - Curso GRATUITO EAD de Desenvolvimento Seguro de Software com Alcyon...
 
APLICAÇÕES SEGURAS.pptx
APLICAÇÕES SEGURAS.pptxAPLICAÇÕES SEGURAS.pptx
APLICAÇÕES SEGURAS.pptx
 
Sistemas_de_seguranca.ppt
Sistemas_de_seguranca.pptSistemas_de_seguranca.ppt
Sistemas_de_seguranca.ppt
 
Sistemas_de_seguranca.ppt
Sistemas_de_seguranca.pptSistemas_de_seguranca.ppt
Sistemas_de_seguranca.ppt
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
 
Segurança em sistemas distribuídos
Segurança em sistemas distribuídosSegurança em sistemas distribuídos
Segurança em sistemas distribuídos
 
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 5º PERÍODO SEGURANÇA DE DADOS
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 5º PERÍODO SEGURANÇA DE DADOSCST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 5º PERÍODO SEGURANÇA DE DADOS
CST EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS IFPB 5º PERÍODO SEGURANÇA DE DADOS
 

Java Segurança e Criptografia

  • 1. Seminário sobre Plataforma JavaSegurança e Criptografia Leonardo Venancio Mateus Vitor
  • 2. segurança da informação - Os 5 pilares da segurança da informação: 1. Confidencialidade - Acesso somente por pessoas autorizadas; 2. Integridade - Informação confiável e exata; 3. Disponibilidade - Informação sempre disponível; 4. Autenticidade - Que a informação possa ser aberta somente pelo remetente e que não sofra alteração; 5. Legalidade - Garante que a informação não inflija a lei vigente;
  • 3. java.security - O java.security define classes relacionadas a área de segurança isto inclui criptografia, infra-estrutura de chave pública, comunicação segura, autenticação e controle de acesso.
  • 4. message-digests algorithm (hash) - Um hash é uma sequencia de bits geradas por um algoritmo de dispersão; - Geralmente representado em base Hexadecimal (0 a 9 e A a F); - Tamanho fixo e Unidirecionalidade; - CONCEITO: Transforma grandes quantidades de dados em uma pequena quantidade de informações; - Hashs mais comuns: MD-5, SHA-1, SHA-256; - java.security.MessageDigest;
  • 5. É IMPORTANTE RESSALTAR! Tipos Primitivos: FAMÍLIA | Tipo Prim. Clss Invólucro Tamanho | Exemplo Lógico | boolean - Boolean - 1 bit | true Literal | char - Character/String - 1 byte | ‘A’ Inteiro | byte - Byte - 1 byte | -128 a 127 (11111111)
  • 6. < Vamos analisar o código! />
  • 7. DSA - ASSINATURA DIGITAL - Assinatura digital em criptografia nos assegura que o documento digital não sofreu nenhuma alteração não autorizada; - Difere-se de “assinatura eletrônica”; - DSA (Digital Signature Algorithm); - CONCEITO: A assinatura digital providencia que a mensagem veio corretamente do emissor; - java.security.Signature
  • 8. Esquema Uma vez que você tem um objeto de chave privada, você pode criar uma assinatura digital com um java.security.Signature objeto:
  • 9. É IMPORTANTE RESSALTAR! - Para gerar as chaves públicas e privadas utilizamos a classe KeyPairGenerator; - a KeyPairGenerator precisa de um algoritmo para gerar a chave, para isto aplicamos o método KeyPairGenerator.getInstance; - Tanto a chave quanto a assinatura precisam ser gerados pelo mesmo algoritmo, no nosso caso aplicaremos o DSA;
  • 10. < Vamos analisar o código! />
  • 11. Criptografia - O pacote java.security possui pacotes baseados em CRIPTOGRAFIA , porém não contem classes para CRIPTOGRAFAR e DESCRIPTOGRAFAR. - usando o javax.crypto podemos usar criptografia de chave simétrica.
  • 12. Chave Secreta - O primeiro passo em qualquer operação de CRIPTOGRAFIA é a obtenção de uma chave secreta apropriada para cada caso. - Como o programa Keytool fornecido junto com o JDK não pode gerar e armazenar chaves o programa deve lidar com essas tarefas em si.
  • 15. Gerando Chave - A chave geralmente é um numero pequeno de até 256 bits, podemos usar o RNG e o PRNG. - RNG, gera números aleatórios, onde não há como o processo ser repetido. - PRNG, PSEUDO NÚMEROS ALEATÓRIOS, onde podemos gerar o mesmo número gerado antes, se tivermos a mesma situação que gerou o número anterior.
  • 16. Bloco/Fluxo - Cifragem por Bloco - Antes da cifragem o texto é divido em blocos. -> melhor usado para criptografar dados estáticos - Cifragem por Fluxo - cada bit é criptografado
  • 17. Criptografia com Cipher - Um possível problema na cifragem de blocos é a ocorrência de padrões. Para evitar o reconhecimento de tais padrões usam-se algumas técnicas, entre elas o Cipher Block Chaining (CBC), Cipher Feedback Block (CFB), Electronic Code Book (EBC) entre outros.
  • 18. Como seria? Imagem normal Modo mais simples de criptografia Utilizando outros modos
  • 20. Bibliografia - Oreilly Java in a Nutshell 5ª edição Março 2005 - Criptografia e Segurança de Redes - William Stalings - http://www.devmedia.com.br/utilizando-criptografia-simetr ica-em-java/31170 - https://docs.oracle.com/javase/8/docs/technotes/guides/se curity/ - http://blog.desenvolvedor.org/criptografia-de-senhas