Buscar

Seguranca (aula 01) - Criptografia

Prévia do material em texto

S. O.
Segurança (aula 01)
 AURÉLIO FIGUEIREDO 
Agenda
Segurança em Sistemas Operacionais:
◦Criptografia:
◦O Papel da Criptografia.
◦Ameaças e Ataques:
◦ Principal Objetivo da Segurança; 
◦Bibliografia.
Segurança em Sistemas Operacionais
Introdução a Criptografia:
◦É o estudo e aplicação de técnicas utilizadas para comunicação e 
armazenamento seguro de dados em Sistemas Computacionais
◦A palavra Criptografia tem origem no Grego clássico:
◦Kryptós significa oculto, escondido;
◦Graphien: escrita;
◦Portanto, "escrita secreta".
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Termos Técnicos importantes:
◦Texto Puro (ou Texto Plano): esses são os dados não 
encriptados, ou seja, os dados que queremos encriptar (Tipos);
◦Texto Cifrado (ou Texto Encriptado): São os dados depois de 
terem sido encriptados;
◦Chave (Key): É um conjunto de bits (caracteres, números, etc) 
utilizados para encriptar, ou desencriptar um Texto Cifrado;
◦Algoritmo de Criptografia: Método matemático utilizado para 
encriptar ou desencriptar dados, com ajuda das chaves.
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Termos Técnicos importantes:
◦Encriptação: Processo de conversão de dados legíveis, em um 
novo formato ilegível (ou seja, um Texto Cifrado) para pessoas 
não autorizadas, usando para isso uma chave de criptografia e 
um algoritmo de criptografia específico. O objetivo é proteger a 
privacidade durante armazenamento de dados ou troca de 
informações entre entidades, trafegando por meios não 
seguros. O receptor da mensagem encriptada poderá decifrá-la 
e ler seu conteúdo no formato original, caso possua a chave 
correta.
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Termos Técnicos importantes:
◦Decriptação: Processo de inverso ao da encriptação, ou seja, a 
conversão de dados ilegíveis (encriptados) em dados legíveis, 
utilizando para isso a chave (senha) correta, além da utilização 
do algoritmo criptográfico correspondente. 
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Termos Técnicos importantes:
◦Criptoanálise: Processo de transformação de dados cifrados (ou 
seja, encriptados) em dados legíveis (decriptados) sem que se 
conheça a chave de encriptação. Portanto, trata-se de "quebra" 
do processo de encriptação dos dados, para obter acesso 
indevido ao conteúdo original das mensagens;
◦Muitas vezes, tais processos são a forma que os especialistas da 
área (chamados de criptoanalistas) tem de testar e descobrir 
falhas nos algoritmos, com o intuito de avaliá-los ou torná-los 
mais seguros. 
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Termos Técnicos importantes:
◦Condições para que haja segurança nas comunicações:
◦Autenticação;
◦Integridade;
◦Confidencialidade;
◦Não Negação (ou Não Repúdio).
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Termos Técnicos importantes:
◦Condições para que haja segurança nas comunicações:
◦Autenticação: o princípio da autenticação garante que a 
mensagem tenha sido realmente originada no remetente 
correto, evitando que outras pessoas ou processos se façam 
passar por ele.
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Termos Técnicos importantes:
◦Condições para que haja segurança nas comunicações:
◦Integridade: refere-se ao conteúdo das informações que são 
trocadas entre o transmissor e o receptor. Para garantir a 
integridade, deve-se garantir que o conteúdo da mensagem 
chegue íntegro, ou seja, que não existam alterações de 
nenhum tipo durante o processo de transmissão dos dados. 
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Termos Técnicos importantes:
◦Condições para que haja segurança nas comunicações:
◦Confidencialidade: o princípio da confidencialidade visa 
garantir que a informação que foi encriptada esteja disponível 
somente para pessoas, ou processos que tenham autorização 
para acessá-la e utilizá-la. Em outras palavras, deve-se evitar 
que outras pessoas/processos tenham acesso aos dados 
encriptados. 
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Termos Técnicos importantes:
◦Condições para que haja segurança nas comunicações:
◦Não Negação (ou Não Repúdio): por último mas não menos 
importante, esse princípio garante que uma mensagem 
qualquer, depois de enviada, não possa ser repudiada (ter sua 
autoria negada) pelo transmissor, ou seja, tem-se que garantir 
formas de que o transmissor não possa negar que a transmitiu. 
Existem algumas formas padrão para garantir isso, como por 
exemplo a utilização de assinaturas digitais.
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Tipos de Algoritmos de Criptografia:
◦Basicamente, podemos dividir os algoritmos de criptografia em 
três famílias diferentes:
◦Criptografia de Chave Privada, ou Simétrica;
◦Criptografia de Chave Pública, ou Assimétrica;
◦Funções de Hash.
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Tipos de Algoritmos de Criptografia:
◦Criptografia de Chave Privada (shared key), ou Simétrica: Essa 
classe de algoritmos se caracteriza pela utilização de uma única 
chave. Dessa forma, o emissor utiliza essa chave para encriptar 
a mensagem, enquanto o receptor utiliza essa mesma chave 
para decriptá-la. 
◦Como ambos utilizam a mesma chave, vem daí o nome de 
criptografia simétrica. 
Desenhar o esquema de funcionamento no quadro!
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Tipos de Algoritmos de Criptografia:
◦Criptografia de Chave Privada (shared key), ou Simétrica: 
◦Usada em cifragem de fluxo (modo stream);
◦Exemplos de algoritmos conhecidos:
DES, 3DES, BLOWFISH, AES, OTP (ONE TIME PAD), etc.
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Tipos de Algoritmos de Criptografia:
◦Criptografia de Chave Pública, ou Assimétrica: Nesse tipo 
usa-se duas chaves distintas, de modo a obtermos 
comunicação segura através de canais de comunicação 
inseguros. Chamamos de técnica de Criptografia assimétrica 
pelo fato de emissor e receptor utilizarem chaves diferentes. 
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Tipos de Algoritmos de Criptografia:
◦Criptografia de Chave Pública, ou Assimétrica: 
◦Cada um dos participantes possui uma chave pública e uma 
chave privada. A chave privada é secreta, e só o proprietário a 
conhece. A chave pública é compartilhada com todos que se 
comunicarão;
◦Exemplo: U1 quer se comunicar com U2 de forma segura. 
Então U1 encripta a mensagem com a chave pública de U2. 
Feito isso, a mensagem somente poderá ser decriptada 
utilizando-se da chave privada de U2, que somente U2 possui.
Desenhar o esquema de comunicação no quadro.
Segurança em Sistemas Operacionais
Introdução a Criptografia: 
Tipos de Algoritmos de Criptografia:
◦Criptografia de Chave Pública, ou Assimétrica:
◦Transmissor e receptor possuem chaves diferentes, com 
tamanhos que variam normalmente entre 512 e 2048 bits;
◦Esse esquema de criptografia é muito usado no modo bloco;
◦Exemplos de alguns algoritmos:
◦DAS, RSA, GPG, etc.
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Tipos de Algoritmos de Criptografia:
◦Funções de Hash: tabelas hash também utilizam uma chave 
específica, como vimos nas técnicas anteriores. Aqui utiliza-se 
um "valor de hash" de tamanho fixo, que será utilizado para 
computar um valor específico sobre o Texto Plano. 
◦Funções de Hash são utilizadas para verificar a integridade de 
dados depois de terem trafegado, de modo a garantir que não 
tenham sido inadvertidamente, ou propositalmente alterados. 
◦Podem ser utilizadas para verificação de senha.
Segurança em Sistemas Operacionais
Introdução a Criptografia:
Tipos de Algoritmos de Criptografia:
◦Funções de Hash: 
◦Alguns exemplos de funções de Hash que utilizamos no nosso 
dia a dia:
◦MD5 Sum, SHA1, SHA2, etc
Desenhar o esquema de comunicação no quadro;
Segurança em Sistemas Operacionais
Revisão de Operações Lógicas:
◦ AND;
◦ OR;
◦ NOT;◦ XOR
◦ Importância dessas operações para a criptografia.
Segurança em Sistemas Operacionais
Operações Lógicas: são operações em Álgebra Booleana 
(ou seja, somente com valores binários, ou BITS), que 
podem tomar valores 0 ou 1.
◦ As operações mais comuns são:
◦ AND (ou E);
◦ OR (OU);
◦ NOT (Negação: operação unária);
◦ XOR (ou OU-Exclusivo)
Segurança em Sistemas Operacionais
Operações Lógicas: 
AND (ou E);
Segurança em Sistemas Operacionais
Operações Lógicas: 
OR (OU);
Segurança em Sistemas Operacionais
Operações Lógicas: 
NOT (Negação: operação unária);
Segurança em Sistemas Operacionais
Operações Lógicas: 
XOR (ou OU-Exclusivo):
◦ Possui reversibilidade!
Segurança em Sistemas Operacionais
Exemplos de Operações Lógicas Bit a Bit: 
Segurança em Sistemas Operacionais
Cifras Simétricas: 
◦ Como já sabemos, um sistema de cifragem 
simétrico utiliza a mesma chave de criptografia 
tanto para encriptar quanto para decriptar os 
dados. Tais algoritmos também são conhecidos 
como Criptografia de Chave Compartilhada.
◦ Tais sistemas são utilizados tanto em 
Criptografia de Fluxo quanto em Criptografia de 
Bloco.
Segurança em Sistemas Operacionais
Cifras (Criptografia): 
◦ Uma execução de criptografia (ou cifra) é 
definida através de um par de algoritmos: um 
de encriptação (E) e outro de decriptação (D), 
onde:
c = E(k, m) e m = D(k, c)
m: Texto Plano (mensagem);
c: Texto cifrado (encriptado);
k: Chave Criptográfica;
Segurança em Sistemas Operacionais
Cifras (Criptografia): 
◦ Podemos relacionar os algoritmos de 
encriptação (E) e de decriptação (D), onde:
m = D(k, E(k, m) ) 
Chamamos essa equação de "Equação de 
Consistência). Para satisfazer essa equação:
D(k, E(k, m) ) = m 
Segurança em Sistemas Operacionais
One Time Pad (OTP): 
Desenvolvido por Gilbert Vernam no Bell Labs 
(1917);
A chave é uma string de bits aleatória, com o 
mesmo tamanho da mensagem em si:
C = E(k, m) = K XOR m 
Segurança em Sistemas Operacionais
One Time Pad (OTP): 
Exercícios...
Segurança em Sistemas Operacionais
Bibliografia:

Mais conteúdos dessa disciplina