criptografias assimétricas e HASH Flashcards

1
Q

Criptografia assimétrica

A

A criptografia Assimétrica, também conhecida como criptografia de chaves públicas é caracterizada pelo fato de se utilizar duas chaves no processo criptográfico,

Uma para criptografar os dados, deve-se, necessariamente, usar a outra para descriptografar. As duas chaves utilizadas são conhecidas como privada e pública.

A primeira é de conhecimento exclusivo do dono da chave, enquanto a segunda, como o próprio nome diz, é de conhecimento público.

Um detalhe importante que já foi cobrado em prova. O processo de criptografia de chave pública não se restringe a uma única sequência, isto é, não necessariamente se criptografa com a chave privada e decriptografa com a pública. Por este motivo, não podemos dizer que essa é uma característica que define o modelo de criptografia assimétrica.

Conceito base para a criação de assinatura digital e certificação digital

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Garantia de confidencialidade e autenticidade

A

Se o objetivo é garantir a confidencialidade, deve-se cifrar com a chave pública do RECEPTOR e decifrar com a chave privada do RECEPTOR!

Se o objetivo é garantir a autenticidade, deve-se cifrar com a chave privada do EMISSOR e decifrar com a chave pública do EMISSOR!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

fluxo esquemático confidencialidade e autenticidade

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

formas de uso

A

criptografia simétrica utiliza mais a substituição

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

principais algoritmos

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
A

certo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Diffie-Hellman – DH

A

Principal algoritmo quando se fala no propósito de troca de chaves simétricas em um meio inseguro sem conhecimento prévio do segredo.

Há de se destacar desde já que o DH por si só não garante autenticidade e, portanto, está sujeito a ataques de interceptação, como o Man-in-the-middle, conforme veremos à frente.

O protocolo VPN IPSec, por exemplo, utiliza o DH para tal finalidade.

Esse algoritmo não é utilizado para cifrar e decifrar mensagens, mas tão somente providenciar um meio seguro o suficiente para troca de chaves através de um canal seguro.

Segurança baseada na complexidade e problema de logaritmo discreto

Na sua versão mais atual o DH pode ser utilizado conjuntamente com algoritmos de curva elíptica criando um processo chamado Perfect Forward Secrecy (PFS), otimizando a resistência contra-ataques que visam obter chaves de sessão, principalmente em cenário de navegação WEB segura através do HTTPS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

RSA – Rivest, Shamir and Adelman

A

O RSA foi um algoritmo publicado no ano de 1977.

Possui a característica de ser utilizado tanto para processos de cifragem como para produzir hashes. Foi baseado na proposta apresentada pelo algoritmo DH.

É amplamente utilizado por diversas aplicações como SSL e TLS, além de fazer parte da estrutura PKI – Public Key Infrastructure, que veremos com mais detalhes posteriormente, mas, adianto as características de geração de par de chaves, criptografia e descriptografia dos dados e assinatura digital.

Sua robustez reside na dificuldade de se fatorar números extensos.

Sugere-se, atualmente, que sejam utilizadas chaves de 2048 a 4096 bits para aumentar a robustez contra ataques de força bruta. Entretanto, diversas aplicações utilizam chaves de 1024, até porque, quanto maior a chave, maior o processamento do algoritmo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

No RSA as chaves são geradas desta maneira

A

No RSA as chaves são geradas desta maneira

Escolha de forma aleatória dois números primos grandes “p” e “q”, da ordem de 10100 no mínimo.

Compute n = p.q

Compute a função totiente em n:phi(n) = (p-1)(q-1)

Escolha um inteiro “e” tal que 1 < e < phi(n), de forma que “e” e phi (n), sejam primos entre si.

Compute “d” de forma que d.e ≡ 1 mod {phi(n)} , ou seja, “d” seja o inverso multiplicativo de “e” em mod {phi(n)}.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q
A

Errado, possível matematicamente, mas não computacionalmente

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

El Gamal

A

O El Gamal possui como segurança de seu sistema a dificuldade do cálculo de logaritmos discretos em um corpo finito.

Sua principal aplicação é na transferência de assinaturas digitais e trocas de chaves no estabelecimento de comunicações. Possui três componentes básicos: gerador de chaves, algoritmo de cifragem e algoritmo decifragem.

Possui um processo similar ao Diffie-Hellman. Um grande exemplo de utilização do El Gamal é no PGP (Pretty Good Privacy).

É importante destacar que o El Gamal possui algumas características de algoritmos de criptografia simétrica.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

One-Time Pad – OTP

A

É uma técnica de criptografia que, se utilizada da forma correta, é considerada inquebrável, ou incondicionalmente seguro.

Utiliza a combinação caractere por caractere com uma chave secreta aleatória, que deve ter, necessariamente, o mesmo tamanho da mensagem em claro. Esse é limitador de implementação do OTP. A chave deverá ser usada uma única vez e destruída após o uso.

Aproveito ainda para diferenciar o termo incondicionalmente seguro, conforme já vimos, de computacionalmente seguro. Este último está relacionado ao fato de que o custo de quebrar a cifra é superior ao valor da informação codificada ou que o tempo exigido para quebrar a cifra é superior ao tempo de vida útil da informação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

OTP Diagrama

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

FUNÇÕES HASH

A

As funções HASH são algoritmos criptográficos unidirecionais. Utiliza-se funções matemáticas que permitem gerar um resultado de tamanho fixo independentemente do tamanho do conteúdo de entrada.

Desse modo, por ser unidirecional, isso quer dizer que, a partir de um resultado, não há algoritmos ou chave que retorne à mensagem original.

Para se ter uma ideia, podemos aplicar um algoritmo HASH (MD5) a uma sequência como “123456” e teremos como resultado o texto “e10adc3949ba59abbe56e057f20f883e”. Mesmo que alguém tenha acesso ao último conteúdo, não há como saber que foi a mensagem “123456” que gerou tal resultado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

princípios da integridade, autenticidade e confidencialidade

A

A confidencialidade pode ser garantida nesse caso na hipótese de violação da base de dados do servidor. Assim, caso as mensagens em claro fossem armazenadas, o atacante teria obtido facilmente todas essas informações. Mas, como o que está armazenado é somente o valor do HASH, isso dificultará o processo de obtenção das senhas por parte do atacante.

Para fins de integridade, temos uma mensagem que deve ser enviada a um destinatário. Desse modo, envia- se a mensagem e o resultado do HASH da referida mensagem. Quando o destinatário receber essas duas informações, ele pegará o texto em claro e fará o cálculo da função HASH dessa mensagem e comparará com a outra mensagem recebida. Caso sejam idênticas, quer dizer que, de fato, não houve alteração namensagem recebida. Caso seja diferente, assume-se que houve uma violação à integridade dos dados. Esse modelo é muito utilizado na assinatura digital e certificado digital.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Características da função hash

A

baseados em modelos matemáticos e cálculos simples que exijam pouco processamento das informações.

Além disso, o conceito de difusão diz que deve ser impossível modificar a mensagem original sem modificar o resultado do HASH desta mensagem.

O resultado de um cálculo de uma função HASH também é bastante referenciada como “message digest”.

17
Q
A

correta

18
Q

Ataque de colisão

A

Uma das formas de se promover ataques em algoritmos HASH é através da obtenção de valores de entrada distintos que produzem o mesmo resultado de saída. Por ter um tamanho fixo, obviamente haverá casos em que isso ocorrerá. Uma maneira de se amenizar esse problema é através do aumento do tamanho em bits das messages digests.

19
Q

Ataque de Aniversário

A
20
Q

Exemplos de HASH

A

MD5
SHA

21
Q

MD5

A

Foi criado para substituir o algoritmo MD4.

Esse algoritmo produz um tamanho de HASH de 128 bits. Em 2008 já foram identificadas algumas colisões nesse algoritmo, passando a ser considerado algumas fragilidades.

Já em 2013, por exemplo, a MICROSOFT lançou uma atualização que desabilita a aplicação do MD5 às suas autoridades certificadoras.

Possui um tamanho de entrada de múltiplos de 128 bits.
Um dos problemas que existe no MD5 está relacionado à colisão de prefixos de uma mensagem, gerando uma probabilidade alta de se compor sufixos que também produzam colisões.

22
Q

Mecanismo SALT

A
23
Q

MD4

A

O MD4 produz HASH de tamanho de 128 bits, dependendo de entradas de tamanho múltiplos de 512 bits. Caso a entrada não tenha esse tamanho, acrescenta-se um bit adicional de valor “1” e sucessivos “0’s” até completar o múltiplo.

24
Q

Na implementação de tabelas Hash, quando as chaves não são perfeitamente distribuídas, é preciso
lidar com as potenciais colisões que ocorrem quando:

a) o espaço de endereçamento é superior ao número de chaves armazenadas; b) duas ou mais chaves têm o mesmo índice na tabela;
c) as chaves são exclusivamente numéricas;
d) as chaves são exclusivamente alfanuméricas;
e) há duplicação de chaves.

A

o tamanho HASH de saída é único, independentemente do tamanho da mensagem de entrada. Por esse motivo, é natural que haja dois ou mais resultados iguais, a partir de diferentes entradas. Trata-se de uma questão de espaço amostral. Caso o tamanho das mensagens de entrada não tenha o máximo do tamanho sendo equivalente à saída, sempre teremos algum tipo de
duplicação.
Stallings, em uma visão matemática, nos traz o seguinte: “Para um valor de hash h = H(x), dizemos
que x é a pré-imagem de h.”
Assim, justamente, a partir de x ≠ y e H(x) = H(y), teremos uma colisão.

25
Q

O que é HASH (definição geral)

A
26
Q

SHA

A

O algoritmo SHA possui diversas versões de implementação que produzem resultados distintos. Foi criado pela agência de segurança do governo norte-americano – NSA.
Atualmente, temos os algoritmos abaixo e seus respectivos tamanhos de HASH:

SHA1 – 160 bits de HASH;

SHA-224 – 224 bits de HASH. É uma versão truncada do SHA-256;

SHA-256 – 256 bits de HASH, com palavras de entrada de 256 bits;

SHA-384 – 384 bits de HASH. É uma versão truncada do SHA-512;

SHA-512 – 512 bits de HASH, com palavras de entrada de 512 bits;

27
Q

Família RIPEMD

A