• Nenhum resultado encontrado

Segurança em Sistemas Computacionais Introdução à Criptografia I

N/A
N/A
Protected

Academic year: 2019

Share "Segurança em Sistemas Computacionais Introdução à Criptografia I"

Copied!
49
0
0

Texto

(1)

Segurança em Sistemas Computacionais

Introdução à Criptografia I

Prof. Esp. Gustavo Cardial

(2)
(3)

Motivação

(4)
(5)
(6)

Criptologia

Criptografia + Criptoanálise

● Criptografia (do grego, kryptós = escondido, gráphein = escrita)

– Ciência que estuda os métodos para cifrar ou

codificar uma mensagem de modo que só o destinatário legítimo seja capaz de interpretar seu conteúdo, sendo ilegível para terceiros.

● Criptoanálise

– Ciência que trata da decodificação ou quebra de

(7)

Objetivo da criptografia

Sendo um controle de segurança, a criptografia deve agir sobre pelo menos uma das metas da segurança da informação.

Quais?

● Confidencialidade

● Integridade

● Autenticação

(8)

Terminologia da criptografia

● encriptar = criptografar = cifrar = codificar

● decriptar = decriptografar = decifrar = decodificar

● cifra = algoritmos de encriptação e decriptação = sistema

criptográfico

● texto claro = plain text = texto não criptografado

● texto cifrado = ciphertext = texto criptografado

● O ato de cifrar consiste em transformar um texto normal em

(9)

Criptografia convencional em

linhas gerais

Um esquema de criptografia possui

● Texto claro

● Algoritmo de criptografia

● Chave secreta

● Texto cifrado

(10)
(11)

Algoritmo de criptografia

Função que realiza diversas substituições e transformações no texto claro

Entradas da função

● texto claro;

● chave secreta.

(12)

Representando

matematicamente...

C = E(K¹, X)

O texto cifrado C é produzido utilizando-se o algoritmo de criptografia E, que recebe o texto claro X e a chave .

O receptor pode descobrir X

X = D(K², C)

O texto claro X é produzido utilizando-se o algoritmo de decriptografia D, que recebe o texto cifrado Y e a chave

(13)

Requisitos para uso seguro da

criptografia tradicional

● Algoritmo forte de criptografia: o oponente deverá

ser incapaz de decriptografar o texto cifrado ou descobrir a chave mesmo que conheça o algoritmo e possua diversos textos cifrados juntamente com o texto claro que produziu cada texto cifrado

● Proteger a chave de decriptografia

● Algoritmo público

– A segurança deve advir da força do algoritmo,

(14)

Características dos sistemas

criptográficos

Tipo de operações usadas para transformar o texto claro em cifrado

– Dois princípios gerais: substituição e transposição, em geral vários estágios deles (existem

outros)

– Outro tipo de operação: operações matemáticas!

– Requisito fundamental: nenhuma informação seja perdida, ou seja, encriptação reversível

O número de chaves usadas

– Criptografia simétrica - uma chave que encripta e decripta (sistema de chave secreta) – Criptografia assimétrica - duas chaves usadas, uma para encriptar, outra para decriptar

(sistema de chave pública)

– Obs: pensar nas chaves como bits!

Modo como o texto é processado

– Cifra de bloco divide a entrada em blocos e processa um por vez, gerando uma saída

para cada entrada

– Cifra de fluxo processa os elementos continuamente, produzindo a saída de um

elemento por vez

(15)

Ataque à criptografia

Em geral, o objetivo de atacar um sistema de criptografia é

descobrir a chave, não apenas um único texto limpo

Duas técnicas principais

● Criptoanálise

– através de conhecimento de características do algoritmo e

características do texto limpo, ou sobre pares texto limpo/cifrado, tenta deduzir um texto claro específico ou a chave usada

– Ou pelo menos diminuir o número de chaves a serem

testadas num ataque de força bruta!

● Força bruta

– Tentar decriptar com todas as chaves possíveis, até obter

sucesso.

– “Na média, metade de todas as chaves possíveis precisam

(16)

Ataques à criptografia

● Criptoanálise

● Força-bruta

(17)

Defesa contra ataques de

criptoanálise

Escolher sistemas criptográficos computacionalmente seguros!

● Custo para quebrar cifra > valor da informação

● Tempo para quebrar cifra > tempo de vida útil da info

Ora, por que não escolher um sistema impossível de quebrar? Pois não há sistema criptográfico “perfeito” (ou melhor,

incondicionalmente seguro)

Um sistema criptográfico é incondicionalmente seguro se o texto cifrado gerado não contém informação suficiente para se determinar o texto limpo, não importando o quanto de texto cifrado esteja disponível e quanto poder computacional o atacante possui.

(18)

Defesa contra ataques de

força-bruta

Escolher chaves maiores!

(19)

Complexidade de um ataque de

força bruta

É o número de chaves que, se testadas, com certeza

(20)

Complexidade de um ataque de

força bruta

Exemplo

(21)

Complexidade de um ataque de

força bruta

Exemplo

Qual a complexidade de um ataque de força bruta, se utilizado um algoritmo criptográfico que usa chaves de 64 bits?

(22)

Complexidade de um ataque de

força bruta

(23)

Tipos de operação das cifras

simétricas

Como vimos, 2 tipos principais

● Substituições

● Transposições

Há algoritmos que usam apenas uma delas

(chamaremos de algoritmos clássicos), mas os

(24)

Substituições

Técnicas em que letras do texto claro são substituídas por outras letras ou por números/símbolos.

(25)

Transposições

(26)

Cifra de César

Considerado um “algoritmo clássico”, usado para ilustrar os primórdios da criptografia

É uma cifra de substituição, ou seja, utiliza apenas operações de substituição

O uso mais antigo e simples que se conhece de uma cifra de substituição, por Júlio César.

(27)
(28)

Representando a Cifra de César

formalmente...

Para cada letra p, em texto claro,

C = E(k, p) = (p + k) mod 26

obs: a mod b resto de a / b

(29)

Cifra de César Vs. Força-bruta

É fácil implementar um ataque de força bruta contra a Cifra de César?

Exemplo

(30)

Cifra de César Vs. Força-bruta

É fácil implementar um ataque de força bruta contra a Cifra de César?

Exemplo: “PHHW PH DIWHU WRJD SDUWB”

Sim!

Algoritmo conhecido

25 chaves possíveis

Texto claro facilmente

(31)

Cifras monoalfabéticas de

substituição

Cifra de César → apenas 25 chaves → inseguro

Um aumento drástico no espaço de chaves pode ser alcançado permitindo uma substituição arbitrária

A esse novo tipo de cifra, damos o nome de cifra

(32)

Para a próxima aula

1) Quanto às cifras monoalfabéticas de substituição: o problema com força-bruta foi resolvido? Trata-se de uma cifra segura? É passível de criptoanálise?

2) Ler os 6 primeiros parágrafos do texto The Crypto Bomb Is Ticking (http://bit.ly/ZDj4rB) e responder às seguintes

questões…

a) Qual a diferença, apontada pelo texto, entre a criptografia e outras tecnologias?

b) Cite razões para esta diferença.

c) "Criptógrafos precisam ser futuristas". Justifique a afirmativa. Enviar para o e-mail do professor antes da próxima aula.

(33)

Cifras monoalfabéticas de

substituição

“O problema com força-bruta foi resolvido?”

Cifra de César → 25 chaves possíveis → bruteforce trivial

Cifras monoalfabéticas de substituição → quantas chaves possíveis?

Muitas!

26! = 26*25*24*...*3*2*1 → mais chaves do que uma cifra de 168 bits

(34)

Cifras monoalfabéticas de

substituição

“É passível de criptoanálise?”

(35)

Cifras monoalfabéticas de

substituição

“É passível de criptoanálise?”

Se conhecermos a língua utilizada no texto limpo, saberemos que certas letras e combinações de letras são mais comuns que outras.

Ex: em inglês, as letras E, T, A, O são comuns, enquanto Z, Q, X são incomuns. Os pares TH, ER, ON, AN também são comuns. E as repetições SS, EE, TT são as mais comuns.

(36)

Análise de frequência

Trata-se do estudo da frequência de letras ou grupos de letras em um texto cifrado. Este método é usado para quebrar cifras de substituição.

Curiosidade: técnica descrita em obras de ficção. “The Gold-Bug”, de Edgar Allan Poe, e “The Adventure of the Dancing Men” (Sherlock Holmes).

Conhecendo a língua do texto limpo, pode-se obter a

distribuição de frequência padrão de letras e pares

(37)

Exemplo: distribuição de

frequência padrão da língua

inglesa

(38)

Análise de frequência

Com a frequência padrão em mãos, monta-se uma tabela com a frequência relativa de letras (ou de seus pares) presentes no texto cifrado.

A ideia é que, quanto maior o texto cifrado, maior a probabilidade da frequência padrão “casar” com a frequência relativa.

(39)

Exemplo

Texto cifrado

Frequência relativa das letras no texto cifrado

Exemplo de substituição inicial provável

Letras do texto cifrado P, Z, S → {E, T, A, O, I}

(40)

Cifras polialfabéticas

Também são cifras clássicas

Possuem as seguintes características

● Um conjunto de regras de substituição

monoalfabéticas relacionadas é utilizada

● Uma chave que determina qual regra é escolhida

(41)

Cifra de Vigenère

Um tipo de cifra polialfabética, portanto possui:

● Um conjunto de regras de substituição

– 26 cifras de César, com deslocamentos de 0 a 25

● Uma chave

– Determina qual cifra de César será aplicada em

cada letra do texto claro

(42)

Cifra de Vigenère

Exemplo

(43)

Ataques à

Cifra de Vigenère

Força bruta continua inviável

Tal como nas cifras de substituição monoalfabéticas

E quanto à criptoanálise?

(44)

Ataques à

Cifra de Vigenère

Força bruta continua inviável

Tal como nas cifras de substituição monoalfabéticas

E quanto à criptoanálise?

É possível aplicar análise de frequência?

● Não.

● Não há mais uma relação 1:1 entre uma letra no

texto cifrado e uma letra no texto limpo

● Frequência de letras é ocultada!

Outras técnicas de criptoanálise possíveis?

(45)

Ataques à

Cifra de Vigenère

Criptoanálise

“[...] se duas sequências idênticas de letras de texto claro ocorrem a uma distância que seja um múltiplo inteiro do tamanho da palavra-chave, elas gerarão sequências de texto cifrado idênticas”

No exemplo acima, a distância entre o início dos textos que se repetem é “9”, múltiplo inteiro do tamanho da palavra-chave

Sejam n caracteres na chave (9, no exemplo acima), existem 9 cifras de César utilizadas no algoritmo.

Desta forma, pode-se escolher uma posição qualquer do texto cifrado, e então aplicar a análise de frequência a todas as letras que estão em

(46)

One-Time Pad (chave de uso

único)

Cifra conhecida também pela sigla OTP

É uma cifra de Viginére, mas com uma chave aleatória do tamanho do texto limpo. A chave deve ser usada para criptografar /

descriptografar uma única vez, e então é descartada. Se for

necessário criptografar mais dados, deve ser gerada nova chave.

Cifra inquebrável graças à aleatoriedade da chave

Chave aleatória → texto cifrado aleatório

Assim, não há padrões ou regularidades que o criptoanalista possa usar para atacar o texto cifrado. Se for aplicada força bruta,

(47)

One-Time Pad

Cifra inquebrável, então o campo de estudo da criptografia está resolvido e esgotado, certo?

Não! Problemas com a OTP

● Criar grandes chaves verdadeiramente aleatórias

continuamente consome muitos recursos

● Distribuir e proteger tantas chaves é um problema

gigante e complexo

(48)
(49)

Referências

Documentos relacionados

A classificação das respostas aos itens cujos critérios se apresentam organizados por níveis de desempenho resulta da pontuação do nível de desempenho em que

pares, adicionando uma letra fictícia para completar o último par, se caso o texto comum tiver um número ímpar de letras.. Título Introdução Criptografia História da

A prova de exame de equivalência à frequência de Educação Física incide sobre os conhecimentos, habilidades e capacidades respeitantes aos conteúdos enquadrados

No caso de a cotação ser atribuída a um grupo de itens ou a um item constituído por várias alíneas, as respostas são classificadas de acordo com o nível

No caso da classificação por níveis de desempenho, a cada nível corresponde uma dada pontuação, de acordo com os critérios específicos.. Nas respostas aos itens de seleção,

O presente documento divulga informação relativa à prova escrita de equivalência à frequência do 3º ciclo do ensino básico da disciplina de Francês, a realizar em

Nas atividades de compreensão da leitura, avalia-se a capacidade para compreender textos autênticos, geralmente de pouca complexidade, de forma global e de forma específica,

A unidade curricular (UC) de Sistemas de Tratamento de Águas e Águas Residuais tem por objetivos ministrar aos alunos conhecimentos sobre:.. 1 - caracterização qualitativa e