22
Criptografia Criptografia Dalton Cézane Dalton Cézane

Criptografia

Embed Size (px)

DESCRIPTION

Conceitos básicos sobre criptografia (apresentado na época da graduação)

Citation preview

Page 1: Criptografia

CriptografiaCriptografia

Dalton CézaneDalton Cézane

Page 2: Criptografia

Criptografia é o ato de transformar alguma Criptografia é o ato de transformar alguma informação legível em ilegível para pessoas informação legível em ilegível para pessoas não autorizadas;não autorizadas;

Criptoanálise é análise das diversas técnicas Criptoanálise é análise das diversas técnicas de “encriptação” e de “encriptação” e “desencriptação/decriptação”, ou seja, “desencriptação/decriptação”, ou seja, estudar melhores maneiras de esconder os estudar melhores maneiras de esconder os dados e como conseguir lê-los quando dados e como conseguir lê-los quando encriptados;encriptados;

As pessoas que trabalham na área da As pessoas que trabalham na área da criptografia são chamadas criptógrafos, criptografia são chamadas criptógrafos, criptólogos ou criptoanalistas, dependendo criptólogos ou criptoanalistas, dependendo da função específica.da função específica.

Page 3: Criptografia

TermosTermos Criptologia engloba criptografia e Criptologia engloba criptografia e

criptoanálise;criptoanálise; Relacionado à criptografia existe uma Relacionado à criptografia existe uma

outra técnica chamada outra técnica chamada “esteganografia”;“esteganografia”;

Esteganografia é a técnica de Esteganografia é a técnica de ocultação de mensagens, ocultação de mensagens, diferentemente da criptografia, por diferentemente da criptografia, por isso não é considerada parte desta.isso não é considerada parte desta.

Page 4: Criptografia

Objetivos da criptografiaObjetivos da criptografia

Confidencialidade – Só o destinatário Confidencialidade – Só o destinatário pode/deve ter acesso aos dados da pode/deve ter acesso aos dados da mensagem.mensagem.

Integridade – O destinatário deve saber se Integridade – O destinatário deve saber se a mensagem foi alterada na transmissão.a mensagem foi alterada na transmissão.

Autenticação – O destinatário deve ter a Autenticação – O destinatário deve ter a certeza de que foi o remetente quem certeza de que foi o remetente quem realmente enviou a mensagem.realmente enviou a mensagem.

Não-repúdio – O remetente não pode Não-repúdio – O remetente não pode negar o envio da mensagem.negar o envio da mensagem.

Page 5: Criptografia

O que é preciso?O que é preciso?Para o “ciframento” de uma Para o “ciframento” de uma mensagem, e sua operação inversa mensagem, e sua operação inversa (deciframento), deve-se ter:(deciframento), deve-se ter: Algoritmo;Algoritmo; Chave.Chave.

Um algoritmo é utilizado com várias Um algoritmo é utilizado com várias chaves (não ao mesmo tempo). As chaves (não ao mesmo tempo). As chaves devem ser mudadas com chaves devem ser mudadas com frequência para uma maior segurança.frequência para uma maior segurança.

Page 6: Criptografia

Tipos de criptografiaTipos de criptografia

Criptografia simétrica: chave privadaCriptografia simétrica: chave privada

Criptografia assimétrica: chave Criptografia assimétrica: chave públicapública

Page 7: Criptografia

Criptografia simétricaCriptografia simétrica

Utiliza a mesma chave para encriptar Utiliza a mesma chave para encriptar a mensagem e para decriptar, ou seja, a mensagem e para decriptar, ou seja, a chave usada para cifrar a mensagem a chave usada para cifrar a mensagem é a mesma utilizada para decifrar.é a mesma utilizada para decifrar.

A criptografia simétrica requer que a A criptografia simétrica requer que a chave privada (única) seja chave privada (única) seja compartilhada.compartilhada.

Page 8: Criptografia

Criptografia simétricaCriptografia simétrica

A chave deve ser mantida secreta pelos A chave deve ser mantida secreta pelos interlocutores;interlocutores;

Um canal seguro deve ser utilizado para Um canal seguro deve ser utilizado para transmissão da chave;transmissão da chave;

Quando uma pessoa vai se comunicar com Quando uma pessoa vai se comunicar com outra, ela gera a chave e a transmite por outra, ela gera a chave e a transmite por um canal seguro para a segunda. Depois a um canal seguro para a segunda. Depois a mensagem é criptografada com essa mensagem é criptografada com essa chave e a outra pessoa decriptografa com chave e a outra pessoa decriptografa com a mesma chave.a mesma chave.

Page 9: Criptografia

Algoritmos de chave Algoritmos de chave simétricasimétrica

DES – Data Encryption Standard;DES – Data Encryption Standard; Triple(DES) – variação do DES, com três Triple(DES) – variação do DES, com três

ciframentos seguidos;ciframentos seguidos; IDEA – International Data Encryption IDEA – International Data Encryption

Algorithm;Algorithm; RC2 – Desenvolvido por Ronald Rivest;RC2 – Desenvolvido por Ronald Rivest; Rijndael - inventado por Joan Daemen e por Rijndael - inventado por Joan Daemen e por

Vincent Rijmen (também conhecido por Vincent Rijmen (também conhecido por AES: Advanced Encryption Standard).AES: Advanced Encryption Standard).

Page 10: Criptografia

Criptografia assimétricaCriptografia assimétrica

Utiliza duas chaves no processo de Utiliza duas chaves no processo de encriptação/decriptação: uma encriptação/decriptação: uma pública e outra privada.pública e outra privada.

A chave pública é divulgada e a A chave pública é divulgada e a privada é mantida secreta.privada é mantida secreta.

Page 11: Criptografia

Criptografia assimétricaCriptografia assimétrica

A chave pública é utilizada para encriptar A chave pública é utilizada para encriptar a mensagem e só quem possui a chave a mensagem e só quem possui a chave privada é capaz de decriptar a mensagem.privada é capaz de decriptar a mensagem.

A chave privada é relacionada, através de A chave privada é relacionada, através de um processo matemático, com a chave um processo matemático, com a chave pública: sempre que uma chave privada é pública: sempre que uma chave privada é gerada, uma pública correspondente gerada, uma pública correspondente também deve ser criada.também deve ser criada.

Page 12: Criptografia

Criptografia assimétricaCriptografia assimétrica

Quando alguém quer se comunicar, deve Quando alguém quer se comunicar, deve gerar o par de chaves, privada e pública.gerar o par de chaves, privada e pública.

Após isto, essa pessoa libera a chave Após isto, essa pessoa libera a chave pública e qualquer pessoa tem acesso a esta pública e qualquer pessoa tem acesso a esta chave.chave.

A outra pessoa interessada na comunicação A outra pessoa interessada na comunicação encripta a mensagem com a chave pública e encripta a mensagem com a chave pública e a envia para o gerador das chaves.a envia para o gerador das chaves.

Só quem gerou os par de chaves é quem Só quem gerou os par de chaves é quem pode decriptar a mensagem, pois é ele pode decriptar a mensagem, pois é ele quem possui a chave privada.quem possui a chave privada.

Page 13: Criptografia

Algoritmos de chave Algoritmos de chave assimétricaassimétrica

RSA – criado por Ronald Rivest, Adi Shamir RSA – criado por Ronald Rivest, Adi Shamir e Len Adleman; baseado em números e Len Adleman; baseado em números primos (fatoração);primos (fatoração);

El Gamal – baseado no “problema do El Gamal – baseado no “problema do logaritmo discreto”;logaritmo discreto”;

Diffie-Hellman – também baseado no Diffie-Hellman – também baseado no “problema do logaritmo discreto” “problema do logaritmo discreto” (exponenciação discreta);(exponenciação discreta);

Curvas Elípticas – modelo proposto por Curvas Elípticas – modelo proposto por Neal Koblitz e V. S. Miller.Neal Koblitz e V. S. Miller.

Page 14: Criptografia

ProblemasProblemas

Criptografia simétrica: distribuição e Criptografia simétrica: distribuição e armazenamento de chaves; número armazenamento de chaves; número de chaves necessário para de chaves necessário para comunicação entre n pessoas.comunicação entre n pessoas.

Criptografia assimétrica: Criptografia assimétrica: armazenamento das chaves públicas; armazenamento das chaves públicas; garantia de que quem possui a chave garantia de que quem possui a chave pública é realmente quem diz ser.pública é realmente quem diz ser.

Page 15: Criptografia

Assinatura digitalAssinatura digital

Acompanha uma determinada Acompanha uma determinada informação e procura garantir que o informação e procura garantir que o receptor saberá se a informação receptor saberá se a informação sofreu alteração ou não, durante a sofreu alteração ou não, durante a transmissão da mensagem.transmissão da mensagem.

Page 16: Criptografia

Assinatura digitalAssinatura digital

Hash: é um valor retornado por um Hash: é um valor retornado por um algoritmo de dispersão.algoritmo de dispersão.

Função de Hash: recebe um valor e Função de Hash: recebe um valor e retorna um código para ele.retorna um código para ele.

Os algoritmos de hash mais usados Os algoritmos de hash mais usados são: MD2, MD4, MD5 e o SHA-1.são: MD2, MD4, MD5 e o SHA-1.

Page 17: Criptografia

Certificado digitalCertificado digital

Um certificado digital é um arquivo que contém Um certificado digital é um arquivo que contém várias informações relativas à identificação da várias informações relativas à identificação da entidade à qual o certificado foi emitido.entidade à qual o certificado foi emitido.

O certificado tem como principal função vincular O certificado tem como principal função vincular uma chave pública a um usuário, gerada pela uma chave pública a um usuário, gerada pela “autoridade certificadora”. Com isso, pretende-“autoridade certificadora”. Com isso, pretende-se garantir que a mensagem transmitida é se garantir que a mensagem transmitida é realmente de quem diz ser, ou seja, veio do realmente de quem diz ser, ou seja, veio do remetente exposto na mensagem.remetente exposto na mensagem.

Page 18: Criptografia

Criptografia em .NETCriptografia em .NET

System.Securtity.Cryptography: System.Securtity.Cryptography: apresenta as classes relacionadas apresenta as classes relacionadas aos métodos de segurança em .NET.aos métodos de segurança em .NET.

Page 19: Criptografia

Criptografia simétrica Criptografia simétrica em .NETem .NET

Classes:Classes: DESCryptoServiceProvider;DESCryptoServiceProvider; RC2CryptoServiceProvider;RC2CryptoServiceProvider; RijndaelManaged;RijndaelManaged; TripleDESCryptoServiceProvider.TripleDESCryptoServiceProvider.

Page 20: Criptografia

Criptografia assimétrica Criptografia assimétrica em .NETem .NET

Classes:Classes: DSACryptoServiceProvider;DSACryptoServiceProvider; RSACryptoServiceProvider.RSACryptoServiceProvider.

Page 21: Criptografia

Assinatura digital em .NETAssinatura digital em .NET

Classes:Classes: HMACSHA1;HMACSHA1; MACTripleDES;MACTripleDES; MD5CryptoServiceProvider;MD5CryptoServiceProvider; SHA1Managed;SHA1Managed; SHA256Managed;SHA256Managed; SHA384Managed;SHA384Managed; SHA512Managed.SHA512Managed.

Obs.: A classe RNGCryptoServiceProvider é uma Obs.: A classe RNGCryptoServiceProvider é uma implementação de um algoritmo gerador de números implementação de um algoritmo gerador de números randômicos.randômicos.

Page 22: Criptografia

Exemplos...Exemplos...