Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

1 Criptografia:
1.1 Conceitos básicos de criptografia;
1.2 Sistemas criptográficos simétricos e de chave pública;
1.3 Modos de operação de cifras;
1.4 Certificação digital;
1.5 Protocolos criptográficos;
1.6 Funções hash, MD5 e SHA1;
1.7 Esteganografia.
 Criptografia é o estudo da aplicação de técnicas para comunicação e armazenamento seguro de
dados em sistemas computacionais (entre outros).
 Kryptós = oculto;
 Graphein = escrita.
 Criptografia = escrita oculta (ou secreta).
 Algoritmos de criptografia podem ser implementados em hardware;
 Termos-chave:
 Texto plano/puro: dados não-encriptados (totalmente legível);
 Texto cifrado: dados encriptados;
 Chave (key): dados utilizados para encriptar um texto plano, ou desencriptar um texto
cifrado;
 Chave criptográfica é um termo que se refere a um parâmetro (ou conjunto de
parâmetros) variável do algoritmo criptográfico que interfere diretamente no
processo criptográfico. Para cada chave distinta (valor de chave), o algoritmo
gera um criptograma diferente para uma mesma mensagem, que só poderá ser
decifrado pelo usuário que conheça o valor em uso. Dessa forma, a segurança
lógica é garantida, mesmo que o processo criptográfico se torne público, desde
que a chave seja mantida secreta.
 Algoritmo de Criptografia (cifra): método matemático empregado para
encriptar/desencriptar dados com o uso das chaves de criptografia.
 Encriptação:
 Conversão de dados legíveis para um formato ilegível (texto cifrado) por pessoas não-
autorizadas, usando uma chave e um algoritmo criptográfico;
 Seu objetivo é proteger a privacidade ao armazenarmos dados ou trocarmos
informações com outras pessoas;
 O receptor da mensagem encriptada pode decriptá-la e ler seu conteúdo, no formato
original;
 Um arquivo criptografado não fica protegido contra contaminação por vírus.
 Desencriptação:
 Processo inverso da encriptação, ou seja, a transformação de dados encriptados
(ilegíveis) em dados legíveis, usando uma chave e um algoritmo criptográfico.
 Criptoanálise:
 Processo de transformação de dados cifrados (encriptados) em dados legíveis
(decriptados) sem que se conheça a chave de encriptação;
 Trata-se de quebrar a encriptação dos dados para obter acesso ao conteúdo das
mensagens, porém com o intuito de descobrir falhas nos algoritmos para torná-los mais
seguros, validá-los ou descartá-los.
 Exemplo: Criptografia WEP.
 Princípios fundamentais:
 Redundância:
 As mensagens devem conter alguma redundância;
 Redundância visa inserir dados que possibilitem o sistema anular ataques por
geração aleatória de texto cifrado.
 Atualidade:
 Algum método é necessário para anular ataques de repetição;
 Atualidade visa garantir que a mensagem é uma mensagem atual válida, e não
uma mensagem antiga, evitando assim replay attacks (ex: usar timestamp).
 Requerimentos de segurança em comunicações (x.800):
 Autenticação:
 Assegura que a mensagem foi realmente originada pelo remetente, e não por
outra pessoa;
 Integridade:
 Diz respeito ao conteúdo das informações trocadas entre transmissor e
receptor;
 Deve-se garantir que o conteúdo da mensagem chegue íntegro a seu destino,
ou seja, que não seja alterado de nenhuma forma no meio do caminho.
 Confidencialidade:
 A informação não está disponível para pessoas e processos que não tenham
autorização para acessá-la e utilizá-la;
 Somente o remetente e o destinatário devem receber o conteúdo de
uma mensagem transmitida.
 Não-Repúdio:
 Deve-se evitar que uma mensagem, após ter sido enviada, seja repudiada pelo
transmissor – ele não poderá negar que a transmitiu;
 Podemos utilizar, por exemplo, assinaturas digitais.
 Controle de acesso.
 Tipos de Criptografia:
 Criptografia de Chave Privada (Simétrica):
 Utiliza uma única chave;
 O emissor utiliza essa chave para encriptar a mensagem, e o receptor utiliza a
mesma chave para decriptá-la (chave compartilhada – shared key);
 Por utilizar a mesma chave na encriptação e decriptação, trata-se de uma
técnica de Criptografia Simétrica.
 Usada no modo stream;
 A vantagem da criptografia de chave simétrica, com relação à criptografia de
chave pública, é a maior velocidade para criptografar a informação;
 Exemplos de algoritmos conhecidos: DES (40 e 56 bits), 3DES, Blowfish,
AES, OTP (One-Time-Pad).
 Criptografia de Chave Pública (Assimétrica):
 Utiliza duas chaves distintas, de modo a obter comunicação segura através de
canais de comunicação inseguros;
 Por utilizar um par de chaves diferentes, trata-se de uma técnica de
Criptografia Assimétrica.
 Cada participante possui uma chave pública e uma chave privada;
 A chave privada é secreta, e só o proprietário a conhece, ao passo que
a chave pública é compartilhada com todos que se comunicarão
conosco.
 Transmissor e receptor possuem chaves diferentes, com tamanhos que variam
entre 512 e 2048 bits;
 Usada em modo de bloco;
 Para se obter autenticidade, a chave privada do autor encripta (para assinar a
mensagem) e chave pública descripta (para garantir o sigilo da mensagem
assinada);
 Para se obter confidencialidade, é necessário utilizar a chave pública do
destinatário para encriptar a mensagem, assim ele será o único a conseguir
descriptografar a mensagem, pois é o único que possui o par de chave privada
respectivo da chave pública usada (chave pública encripta e chave
privada descripta);
 Exemplos de algoritmos conhecidos: DSA, RSA, GPG.
 A cifra RSA é um poderoso algoritmo de chave pública com cifra
por bloco e que utiliza números primos.
 O protocolo TLS (Transport Layer Security) é composto de duas camadas:
 Protocolo de registro (Record): algoritmo de criptografia de chave simétrica;
 Protocolos de Handshaking: algoritmos de criptografia de chave assimétrica.
 O princípio de Kerckhoff estabelece que todos os algoritmos devem ser públicos e apenas as
chaves devem ser secretas;
 Diffie-Hellman é baseado no problema do logaritmo discreto e é o criptosistema de chave
pública;
 Funções de hash:
 A técnica de hash não utiliza uma chave, e sim um valor de hash (resumo) de tamanho
fixo, o qual é computado sobre o texto plano;
 São usadas para verificar a integridade dos dados para garantir que não tenham sido
inadvertidamente alterados;
 Verificações de senha podem usar funções de hash;
 Exemplos de funções hash: MD5, SHA1, SHA2.
 A operação XOR é reversível, o que a torna muito utilizada em algoritmos criptográficos;
 Cifras Simétricas:
 Um sistema de cifragem simétrico utiliza a mesma chave para encriptar e desencriptar
os dados;
 Conhecido também como Criptografia de Chave Privada ou Chave Compartilhada;
 Pode utilizar cifragem de fluxo ou de bloco.
 Cifra:
 Uma cifra é definida sobre um par de algoritmos de encriptação (E) e
desencriptação (D), onde:
 c = E(k,m) e;
 m = D(k,c).
 m = texto plano (mensagem);
 c = texto cifrado (encriptado);
 k = chave criptográfica;
 E = algoritmo de encriptação;
 D = algoritmo de desencriptação.
 Equação de Consistência: m = D(k,E(k,m));
 O algoritmo E é frequentemente randomizado (não tem como prever
o resultado), ao passo que o algoritmo D é sempre determinístico
(possível prever o resultado).
 OTP (One-Time-Pad):
 É um algoritmo simétrico;
 A chave é uma string de bits aleatória, com pelo menos o mesmo tamanho da
mensagem em si;
 c = E(k,m) = k XOR m
 Exemplo:
 m = 1000110
 k = 1100011
 k XOR m = 0100101 = c (texto encriptado)
 O algoritmo OTP é muito rápido, porém necessita de chaves muito longas (do tamanho
da mensagem);
 Com o método de criptografia chave única, um texto fica imune a todos os ataques
presentes e futuros, não importa quanta capacidade computacional haja.
 Cifras de Fluxo (Stream Ciphers):
 Trata-se de uma cifra de chave simétrica que combina os bits do texto plano com um
fluxo de bitspseudo aleatórios, um a um;
 Assim, cada dígito da mensagem é encriptado pela combinação com um dígito
do fluxo de bits, originando assim o texto encriptado.
 Uma cifra de fluxo processa os elementos da entrada continuamente, produzindo a saída
de um elemento de cada vez, enquanto prossegue;
 As cifras de fluxo usam a ideia da cifra OTP (One-Time-Pad), a qual usa um fluxo de
bits (keystream) de dígitos totalmente aleatórios;
 No entanto, uma cifra de fluxo usa uma chave de tamanho muito menor para
alimentar um algoritmo PRNG (Pseudo Random Number Generator) e gerar o
keystream, com 64 ou 128 bits;
 Essa chave é usada para gerar um keystream pseudo aleatório que será
combinado com o texto plano para gerar o texto cifrado.
 Exemplos de cifras de fluxos: RC4, Salsa20, SEAL.
 Cifras de Bloco (Block Cipher):
 Opera sobre blocos de dados: o texto plano é dividido em blocos pelo algoritmo, o qual
opera sobre cada bloco de forma independente.
 A cifra de bloco apresenta um problema: se o mesmo bloco de texto se repetir, o texto
cifrado será igual, o que pode gerar um padrão de repetição, identificável por um
invasor;
 Esse problema pode ser resolvido usando-se um Modo de Realimentação.
 CBC (Cipher Block Chaining): também chamado de Cifra de Blocos
por Encadeamento, é um modo de realimentação comum a qual
funciona fazendo XOR no bloco atual de texto plano com o bloco
anterior de texto cifrado;
 Para o primeiro bloco (que não tem anterior), é feito XOR
comum vetor de inicialização (IV – Initialization Vector).
 Exemplos de cifras de blocos: IDEA, RC5, RC6, AES, Blowfish, CAST, AES/Rijndael
(128 a 256 bits), 3DES.
 Cifra de Substituição:
 A cifra de substituição tem função de substituir uma letra ou um grupo de letras por
outras letras, preservando a ordem dos símbolos do texto simples, mas os disfarçando;
 Alguns algoritmos de criptografia são baseados na substituição, em que cada elemento
do texto claro é mapeado em outro elemento.
 Cifra de Transposição:
 As cifras de transposição alteram a ordem dos símbolos, mas não os disfarçam (não os
troca por outros).
 Procede à mudança de cada letra (ou outro qualquer símbolo) no texto a cifrar
para outro (sendo a decifração efetuada simplesmente invertendo o processo).
Ou seja, a ordem dos caracteres é mudada;
 Utilizam, comumente, a transposição de colunas.
 Cifra de Feistel:
 A maioria dos algoritmos de criptografia simétrica de bloco possuem uma estrutura
descrita por Horst Feistel;
 As entradas do algoritmo são blocos de texto plano de comprimento 2x bits e uma
chave K;
 O bloco de texto plano é dividido em duas metades (esquerda e direita), L(0) e R(0);
 Essas duas metades passam por n rodadas de processamento e então se
combinam para produzir o bloco de texto cifrado.
 Cada rodada r (rmudança no texto original provoca uma mudança brutal no
resultado computado do hash.
 MD5(Fábio) = ce71c959b85d3b76daa12a09c531a774
 MD5(Fabio) = cdb4d5711d6bb261eb05108684d876aa
 A segurança do hash MD5 está fortemente comprometida;
 Ele é vulnerável a ataques de colisão (mesmo usando máquinas comuns com
poder de processamento médio);
 Um ataque de colisão em um hash criptográfico é um tipo de ataque
onde se tenta encontrar duas entradas que produzam o mesmo valor
de hash na saída;
 Outro problema grave, relativo ao uso de hashes MD5 para armazenar senhas,
é o uso de Rainbow Tables para reverter um hash e descobrir a string que o
originou.
 Challenge Handshake Authentication Protocol (CHAP) é um protocolo de autenticação
de desafio-resposta que usa o esquema de hash Message Digest 5 (MD5) padrão da
indústria para criptografar a resposta.
 Hash SHA-1:
 É uma função de espalhamento unidirecional que gera um valor hash de 160 bits a
partir de um tamanho arbitrário de mensagem. Mas há de 256, 384 e 512 bits tb
(SHA256, SHA384...);
 Baseia-se na função de hash MD4.
 Ataques a hashes:
 As técnicas mais comuns são:
 Força Bruta;
 O ataque por força bruta a um sistema de criptografia envolve a
tentativa de cada chave possível até que seja obtida uma tradução
inteligível de texto cifrado para texto claro;
 Não é muito efetivo devido a imensa quantidade de valores que
precisam ser testados, principalmente com senhas longas.
 Criptoanalítico:
 Um ataque criptoanalítico baseia-se na natureza do algoritmo mais o
conhecimento das características gerais do texto claro e
amostras plain-cipher;
 Dicionário;
 Colisão;
 Aniversário;
 Rainbow Tables:
 É uma espécie de tabela que contém milhões (ou bilhões) de hashes
pré-calculados e as strings (senhas) que os originaram;
 É otimizada para armazenar hashes e senhas, permitindo pesquisar
entradas de forma mais veloz;
 São usadas, basicamente, para quebrar hashes de senhas.
 Uma forma comum de proteger o hash de nossas senhas contra
ataques de rainbow tables é o uso de uma técnica conhecida como
Salt (“salgar a senha”);
 Um salt é uma informação aleatória adicionada à entrada da
função de hash, tornando a saída da função única (e imune às
rainbow tables).
 Função-Hash (Texto Plano + Salt).
 Certificação digital:
 Funciona como uma identidade virtual;
 Permite a identificação segura do autor de uma mensagem ou transação feita em meios
eletrônicos;
 É gerado e assinado por uma terceira parte confiável (Autoridade Certificadora – CA);
 Associa uma entidade (pessoa, processo, servidor) a um par de chaves criptográficas;
 Infraestrutura de Chave Públicas Brasileira (ICP Brasil): único processo de certificação
digital oficial instituído por lei e que dá validade jurídica às transações eletrônicas.
 ACT (Autoridade Certificadora do Tempo): responsável por emitir carimbos do tempo;
 Principais informações:
 Chave Pública do Titular;
 Dados do titular (nome, e-mail);
 Período de validade do certificado;
 Nome da Autoridade Certificadora;
 Número de série;
 Assinatura digital da AC.
 Tipos de certificados digitais:
 A1, A2, A3e A4 (assinatura digital);
 A1: armazenado em arquivo;
 A2, A3 e A4: smart card ou token.
 S1, S2, S3 e S4 (sigilo e criptografia);
 S1: armazenado em arquivo;
 S2, S3 e S4: smart card ou token.
 T3 e T4 (tempo).
 Certificado autoassinado: certificado digital no qual o dono e o emissor são a mesma
entidade (organização, pessoa ou máquina);
 A assinatura digital pode ser verificada com chave pública presente no
certificado.
 Certificado EV SSL: certificado de alta confiança e rigoroso para as empresas.
 Assinatura digital:
 Um esquema de assinatura digital é um esquema matemático utilizado para provar a
autenticidade de uma mensagem ou documento digital;
 Podemos usar assinaturas digitais com qualquer tipo de documento, mesmo
criptografados, assim o destinatário da mensagem pode ter a certeza da identidade do
remetente e também confiar que a mensagem chegou ao destino intacta.
 Uma assinatura digital precisa ter as seguintes caraterísticas:
 Deve ser simples de produzir para o assinante;
 Verificável com facilidade;
 Extremamente difícil de ser falsificada;
 Quem a usa não pode negar que assinou o documento.
 A mensagem é criptografada com uma chave privada e enviada, e o destinatário só será
capaz de decriptá-la com a chave pública do remetente (não com a dele nem de mais
ninguém, provando a autenticidade da mensagem);
 Sendo assim, uma assinatura digital utiliza alguma forma de criptografia
assimétrica para operar.
 Uma forma eficiente de obter esse mesmo resultado é criptografar um pequeno
bloco de bits que seja uma função do documento, e não o documento inteiro;
 Este bloco é chamado de Autenticador (Autenticator) e possui a
propriedade de que é impossível alterar um bit que seja no documento
sem desfigurar totalmente o autenticador.
 Criptografamos então o autenticador com a chave privada do
remetente, e ele servirá para verificar a autenticidade do documento
todo;
 Podemos usar um hash como o SHA-1 para essa função.
 Como podemos garantir que um intruso não consiga gerar e assinar
um documento em nome de outra pessoa?
 Podemos utilizar um Certificado Digital, que pode ser usado
para atestar e verificar a validade de uma assinatura digital.
 Algoritmos de assinaturas digitais:
 RSA;
 DAS
 ElGamal;
 HMAC.
 Esteganografia:
 Consiste em esconder mensagens em arquivos, tornando-as ocultas;
 Steganos = protegido, oculto;
 Graphein = escrita
 Esteganografia = escrita protegida (ou oculta).
 Técnica para esconder uma mensagem secreta dentro de uma maior, de modo que
outros não possam discernir a presença/conteúdo da mensagem oculta;
 Usa-se dois arquivos: a mensagem e o portador (carrier);
 Seu principal objetivo é que os dados ocultos não sejam percebidos por terceiros, ou
seja, a presença de mensagens escondidas dentro de arquivos é simplesmente
desconhecida;
 Somente o receptor da mensagem tem conhecimento de sua existência, assim como da
maneira de como extraí-la.
 Criptografia: impede que terceiros saibam o conteúdo de uma mensagem;
 Esteganografia: impede que terceiros saibam da existência do conteúdo de uma
mensagem.
 Técnicas de esteganografia:
 Ruído: técnica simples que consiste em substituir o ruído em uma
imagem/arquivo de áudio pela informação que se deseja transmitir;
 Espalhamento: mecanismos mais sofisticados espalham a informação nos
pixels de uma imagem ou em partes de arquivos de áudio;
 Ordenação: consiste em transmitir a informação através da ordem em que os
elementos de uma lista são dispostos;
 Divisão: divide a mensagem em partes que seguem caminhos diferentes até o
destino (algumas técnicas mais sofisticadas possibilitam, inclusive, que a
informação seja reconstruída a partir de uma fração do total de pacotes em que
a mensagem foi dividida.
 A combinação das técnicas acima permite níveis de segurança,
gerando informações ocultas difíceis de serem decifradas. Uma
imagem digital que se deseja transmitir secretamente, por exemplo,
pode ser escondida em uma lista que, por sua vez, pode ser
armazenada no ruído de um segundo arquivo, o qual pode ser
transmitido de forma a ocultar a fonte da informação.
 Ferramentas de esteganografia:
 OpenPuff;
 Steghide;
 ImageSteganography;
 Crypture;
 rSteg;
 OpenStego;
 Hide & View.

Mais conteúdos dessa disciplina