Criptografia em .net
Quem sou?
• Raphael Freitas
• Certificações: 70-483 – Programming in c#
70-486 – developing ASP.NET MVC web applications
• Graduado – Analise e desenvolvimento de sistemas
• Pós-graduando: Cybersecurity e cybercrimes
Pericia forense aplicada a informática
Afinal o que é
criptografia?
• A arte de transformar um informação
legível e algo ilegível
• Criptoanálise
• Email
• Cartoes de créditos
• Dados corporativos
Historia
Inicio em 600 a.c. por meio de cifras monoalfabeticas, uma cifra
famosa por seu uso e a cifra de cesar, que deu origem a cifra atbash
Bases que ajudam a
conceituar
• Confidencialidade
• Integridade
• Não-repúdio
Confidencialidade
Garante que a informação estará
disponível apenas a pessoas autorizadas
Integridade
Garantia de a informação não sofreu alteração em seu trajeto
Não-repúdio
Garante que um individuo não pode negar uma ação feita por
ele
System.Security.Cryptography
Biblioteca nativa do .NET, ajuda a fornecer uma melhor segurança para as aplicações.
Números aleatórios
Muito utilizado em criptografia, e de extrema importancia que o
resultado seja não determinista e não previsível.
• AES
• Hash
Algoritmos hash
Uma sequencia de bits gerados por um algoritmo de dispersão.
• É fácil de calcular o valor hash para qualquer dada mensagem.
• É inviável para gerar uma mensagem que tenha um determinado
hash.
• É inviável para modificar uma mensagem sem alterar o hash.
• É impossível encontrar duas mensagens diferentes com o mesmo
hash.
Métodos hash mais utilizando são MD5 e a família de hash
SHA(sha-1,sha-256,sha-512,sha-384)
Armazenamento de senha
A utilização do salt e muito comum
para gerar senhas mais fortes
Salt e um dado aleatório que e usado
como entrada adicional ao hash
Função baseada em senha de
derivação de chave
PBKDF como e conhecido, recebe a senha + salta + valor de
interação
Valor de de interação e a quantidade de vezes que será processada
o mesmo hash
Criptografia simetrica
Processo de duas vias que usa a mesma chave para
criptografar e descriptografar
• cifras de fluxo, em que cada byte é codificados um de cada
vez.
• cifras de blocos, onde os dados são criptografados em
blocos.
• SymmetricAlgorithm
Modo de criptografia
• CBC
• CFB
• CTS
• ECB
• OFB
Preenchimento
• ANSIX923 – consiste em uma sequência de zeros antes do
comprimento.
• ISO10126 – dados aleatórios antes do comprimento
• NONE – nenhum preenchimento e feito
• PKCS7 – consiste em uma sequencia de bytes, onde o
tamanho e igual ao tamanho de bytes.
• ZEROS – consiste em bits definidos como zero (0).
Chave
Key uma matriz de byte que e usado
para armazenar a chave de criptografia.
IV
Inicialização do vetor uma matriz de bytes que e usado
juntamente com a chave, IV impede uma ataque de brute
force.
DES
Data encryption standard criada na década de 70 Horst feistel
Triplo DES (3DES)
Adotado em 74 pela IBM, Gera de 3
chaves de 64 bits sendo que 8 bits para
verificar paridade das chaves, tamanha
máximo da chave 168 bits
AES
Advanced encryption standard foi
adotado pela NIST em 2001, que foi
selecionado para substituir o des,
desenvolvido por Joan Daemen e Vicent
Rijmen, possui um bloco de 128 bits e
suporta 3 comprimentos de chaves: 128,
192 e 256 bits
Criptografia assimétrica
Utiliza duas chaves, uma publica e outra
privada, as chaves podem estar
matemáticamente relacionada.
RSA
R (Rivest) S (Shamir) A (Adelman), para deduzir a chave RSA precisa
de muitos computadores, o que deixa o RSA limitado e que so pode
criptografar dados que seja menos que o tamanho da chave.
• In-memory
• Arquivos XML
• Provider Crypto Service
Assinatura digital
Ajuda a demonstrar autenticidade e integridade da
mensagem, uteis em autenticação de documentos,
transações bancarias download de software,
Contatos
• Facebook: www.facebook.com/RaphaelNFreitas
• Twitter: www.twitter.com/RaphaelNFreitas
• Github: www.github.com/RaphaelNFreitas

Join community criptography in .net

  • 1.
  • 2.
    Quem sou? • RaphaelFreitas • Certificações: 70-483 – Programming in c# 70-486 – developing ASP.NET MVC web applications • Graduado – Analise e desenvolvimento de sistemas • Pós-graduando: Cybersecurity e cybercrimes Pericia forense aplicada a informática
  • 3.
    Afinal o queé criptografia? • A arte de transformar um informação legível e algo ilegível • Criptoanálise • Email • Cartoes de créditos • Dados corporativos
  • 4.
    Historia Inicio em 600a.c. por meio de cifras monoalfabeticas, uma cifra famosa por seu uso e a cifra de cesar, que deu origem a cifra atbash
  • 5.
    Bases que ajudama conceituar • Confidencialidade • Integridade • Não-repúdio
  • 6.
    Confidencialidade Garante que ainformação estará disponível apenas a pessoas autorizadas
  • 7.
    Integridade Garantia de ainformação não sofreu alteração em seu trajeto
  • 8.
    Não-repúdio Garante que umindividuo não pode negar uma ação feita por ele
  • 9.
    System.Security.Cryptography Biblioteca nativa do.NET, ajuda a fornecer uma melhor segurança para as aplicações.
  • 10.
    Números aleatórios Muito utilizadoem criptografia, e de extrema importancia que o resultado seja não determinista e não previsível. • AES • Hash
  • 11.
    Algoritmos hash Uma sequenciade bits gerados por um algoritmo de dispersão. • É fácil de calcular o valor hash para qualquer dada mensagem. • É inviável para gerar uma mensagem que tenha um determinado hash. • É inviável para modificar uma mensagem sem alterar o hash. • É impossível encontrar duas mensagens diferentes com o mesmo hash. Métodos hash mais utilizando são MD5 e a família de hash SHA(sha-1,sha-256,sha-512,sha-384)
  • 12.
    Armazenamento de senha Autilização do salt e muito comum para gerar senhas mais fortes Salt e um dado aleatório que e usado como entrada adicional ao hash
  • 13.
    Função baseada emsenha de derivação de chave PBKDF como e conhecido, recebe a senha + salta + valor de interação Valor de de interação e a quantidade de vezes que será processada o mesmo hash
  • 14.
    Criptografia simetrica Processo deduas vias que usa a mesma chave para criptografar e descriptografar • cifras de fluxo, em que cada byte é codificados um de cada vez. • cifras de blocos, onde os dados são criptografados em blocos. • SymmetricAlgorithm
  • 15.
    Modo de criptografia •CBC • CFB • CTS • ECB • OFB
  • 16.
    Preenchimento • ANSIX923 –consiste em uma sequência de zeros antes do comprimento. • ISO10126 – dados aleatórios antes do comprimento • NONE – nenhum preenchimento e feito • PKCS7 – consiste em uma sequencia de bytes, onde o tamanho e igual ao tamanho de bytes. • ZEROS – consiste em bits definidos como zero (0).
  • 17.
    Chave Key uma matrizde byte que e usado para armazenar a chave de criptografia.
  • 18.
    IV Inicialização do vetoruma matriz de bytes que e usado juntamente com a chave, IV impede uma ataque de brute force.
  • 19.
    DES Data encryption standardcriada na década de 70 Horst feistel
  • 20.
    Triplo DES (3DES) Adotadoem 74 pela IBM, Gera de 3 chaves de 64 bits sendo que 8 bits para verificar paridade das chaves, tamanha máximo da chave 168 bits
  • 21.
    AES Advanced encryption standardfoi adotado pela NIST em 2001, que foi selecionado para substituir o des, desenvolvido por Joan Daemen e Vicent Rijmen, possui um bloco de 128 bits e suporta 3 comprimentos de chaves: 128, 192 e 256 bits
  • 22.
    Criptografia assimétrica Utiliza duaschaves, uma publica e outra privada, as chaves podem estar matemáticamente relacionada.
  • 23.
    RSA R (Rivest) S(Shamir) A (Adelman), para deduzir a chave RSA precisa de muitos computadores, o que deixa o RSA limitado e que so pode criptografar dados que seja menos que o tamanho da chave. • In-memory • Arquivos XML • Provider Crypto Service
  • 24.
    Assinatura digital Ajuda ademonstrar autenticidade e integridade da mensagem, uteis em autenticação de documentos, transações bancarias download de software,
  • 26.
    Contatos • Facebook: www.facebook.com/RaphaelNFreitas •Twitter: www.twitter.com/RaphaelNFreitas • Github: www.github.com/RaphaelNFreitas