Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.
Transcript of Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.
![Page 1: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/1.jpg)
Segurança em Sistemas Distribuídos
Stanley Araujo de Sousa
![Page 2: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/2.jpg)
Criptografia - História
•Usada por governantes e pelo povo em épocas de guerra e de paz.
•Criptografia na antiguidade;
•Criptografia na idade média;
•Criptografia na idade moderna;
•Criptografia na atualidade;
![Page 3: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/3.jpg)
Conceitos
![Page 4: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/4.jpg)
Conceitos
Criptologia = Criptografia + Criptoanálise Criptografia é A arte de criar mensagens
cifradas Criptoanálise é a arte de solucionar
mensagens cifradas
![Page 5: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/5.jpg)
Conceitos
Cifras: Transformação de bit a bit;
Código: Transformação de palavra por palavra ou símbolo;
Estenografia("escrita coberta”): Na escrita, consiste em ocultar uma informação, através de códigos com caracteres convencionais (letras e números) ou símbolos
![Page 6: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/6.jpg)
Conceitos
O código mais bem sucedido já inventado foi usado pelos EUA durante a Segunda Guerra Mundial no Pacífico. Eles simplesmente tinha índios navajo que se comunicavam uns com os outros usando palavras navajo específicas para termos militares como, por exemplo: chay-dagahi-nail-tsaidi(literalmente, assassino de cágado) para indicar uma arma antitanque. A linguagem navajo é altamente tonal, extremamente complexa, e não tem nenhuma forma escrita. Além disso, nenhuma pessoa no Japão conhecia nada sobre ela.
![Page 7: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/7.jpg)
Cifra
O sistema de cifra possui duas classes:– Substituição;
– Transposição
![Page 8: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/8.jpg)
Cifra de Substituição
Cada letra ou grupo de letras é substituído por outras letras ou grupo de letras;
Exemplo: cifra de César (Caeser cipher)
Problemas– Aparentemente segura– Existe 26! = 4 x 1026 possibilidades
![Page 9: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/9.jpg)
Cifra de Substituição
Com poucos textos cifrados, o algoritmo pode ser quebrado.– Estratégias:
• Conhecimento das letras– Exemplo: No inglês– Letras: e, t, o, a , n, i– digramas: th, in, er, re e an– trigramas: the, ing, and e ion
– Adivinhar uma frase ou palavra provável;
![Page 10: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/10.jpg)
Cifras de transposição
Reordenam as letras, mas não as disfarçam. Mensagens curtas não são seguras
– Ex: SIM, tenho somente 3! = 6 possibilidades A permutação pode-se basear em:
– Palavra-chave: • Palavra ou frase que não contenha letras
repetidas• A chave enumera a seqüência de colunas;• Exemplo: NUMABOA é cifrado para
AOBAMUN.
![Page 11: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/11.jpg)
Cifra de transposição
– Dispositivo mecânico
![Page 12: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/12.jpg)
Criptografia
Grande contribuição dos militares;
Dificuldades:– Criptografar as informações no campo de
batalha– Alterar os métodos criptográficos
rapidamente;
![Page 13: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/13.jpg)
Criptografia
Surge assim o método da figura abaixo.
![Page 14: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/14.jpg)
Princípio Kerckhoff
Todos os algoritmos devem ser públicos; apenas as chaves são secretas.
O criptoanalista conhece os algoritmos e que o segredo reside exclusivamente na chave
Inúmeros criptólogos irão tentar "quebrar" o algoritmo
![Page 15: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/15.jpg)
O tamanho da chave é uma questão muito importante no projeto
Chaves de 64 bits = 264 possibilidades
Quanto maior a chave, maior o fator de trabalho para o criptoanalista;
O fator de trabalho é exponencial ao tamanho da chave
![Page 16: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/16.jpg)
Criptografia – serviços oferecidos
Disponibilidade: A informação estará disponível para acesso no momento desejado.
Integridade: Garante que o conteúdo da mensagem não foi alterado.
Controle de acesso: Garante que o conteúdo da mensagem somente será acessado por pessoas autorizadas
![Page 17: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/17.jpg)
Criptografia – serviços oferecidos
Autenticidade da origem: Garante a identidade de quem está enviando a mensagem.
Não-repudiação: Previne que alguém negue o envio e/ou recebimento de uma mensagem.
Privacidade: Impede que pessoas não autorizadas tenham acesso ao conteúdo da mensagem, garantindo que apenas a origem e o destino tenham conhecimento.
![Page 18: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/18.jpg)
Criptografia – Conceitos básicos
Algoritmo de criptografia: É uma função,normalmente matemática, que executa a tarefa de cifrar e decifrar os dados que se desejam manter seguro;
Chave criptográfica: Parâmetro do algoritmo de criptografia. Quanto maior a chave, maior a dificuldade do intruso;
![Page 19: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/19.jpg)
Criptografia – Conceitos básicos
Texto claro ou inteligível: Texto que se deseja cifrar
Texto cifrado: Informação após o processo de cifragem
![Page 20: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/20.jpg)
Classificação dos sistemas Criptográficos
Criptografia Simétrica Criptografia assimétrica Outros critérios:
– Maneira como o texto claro é processado• Cifrador de blocos: Processa um bloco de
entra e gera um bloco de saída • Cifrador de fluxos: Processo elementos de
forma contínua– Tipo de operação utilizada para transformar
o texto claro em texto cifrado• Substituição ou Transposição
![Page 21: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/21.jpg)
Sistemas Criptográficos Simétricos
Outras denominações: Criptografia de chave simples ou de chave secreta
Técnica de criptografia onde é utilizada a mesma chave para criptografar e descriptografar os dados.
![Page 22: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/22.jpg)
Sistemas Criptográficos Simétricos
![Page 23: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/23.jpg)
Sistemas Criptográficos Simétricos
Segurança do algoritmo– Não seja possível decifrar a mensagem
baseado somente no texto cifrado
– Segurança depende da manutenção da chave e não do algoritmo
![Page 24: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/24.jpg)
Vantagens
Em geral, os algoritmos simétricos são computacionalmente mais simples;
Utilização do mesmo algoritmo para o receptor e emissor
Em caso de violação, facilmente se realiza a troca das chaves
![Page 25: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/25.jpg)
Desvantagens
A chave deve ser trocada entre as partes e armazenada de forma segura;
Para n usuários precisaríamos de algo da ordem de n2 chaves(dificulta a gerência das chaves)
A criptografia simétrica não garante a identidade de quem enviou ou recebeu a mensagem (autenticidade e não-repudiação).
![Page 26: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/26.jpg)
Exemplos de Algoritmo de
Criptografia Simétrica
![Page 27: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/27.jpg)
DES(Data Encryption Standard):
Cifrador de blocos de 64 bits
Chaves de 56 bits
Desenvolvido pela ibm e NIST (National Institute of Standards and Technology)
Quebrado por "força bruta" em 1997 em um desafio lançado na Internet.
![Page 28: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/28.jpg)
DES(Data Encryption Standard):
![Page 29: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/29.jpg)
Triple DES
Chaves de 112 ou 168 bits
Variação do DES
É seguro, porém muito lento para ser um algoritmo padrão.
![Page 30: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/30.jpg)
RC2
Cifrador de blocos Desenvolvido por Ronald Rivest Proprietário(RSA Segurança de Dados) Chaves de 1 a 1024 bits Softwares para fora do EUA (chaves de 40 bits) Voltado para criptografia de e-mail corporativo
![Page 31: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/31.jpg)
RC4
Cifrador de fluxo Desenvolvido por Ronald Rivest Proprietário(RSA Segurança de Dados) Chaves de até 256 bits Softwares para fora do EUA (chaves de 40 bits) Fácil de implementar 10 vezes mais rápido que o DES
![Page 32: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/32.jpg)
RC5
Cifrador de blocos Desenvolvido por Ronald Rivest Permite ao usuário definir:
– tamanho da chave– tamanho do bloco– número de vezes que será aplicada a
cifração sobre o arquivo
![Page 33: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/33.jpg)
IDEA(Data Encryption Algorithm)
Cifrador de blocos de 64 bits
Desenvolvido por James e Xuejia, na Suiça
Chaves de 128 bits
Considerado muito forte
![Page 34: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/34.jpg)
AES (Advanced Encryption Standard)
Substituto do DES padrão oficial do governo dos EUA Eleito o algoritmo Rijndael Admite tamanho de chaves e blocos de 128
bits até 256 bits em intervalos de 32 bits Porém, o AES especifica:
– Tamanho do bloco: 128 bits– Comprimento da chave: 128, 192 ou 256
bits
![Page 35: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/35.jpg)
AES (Advanced Encryption Standard)
Temos basicamente duas variantes– Bloco de 128 bits e chave de 128 bits: tende
a ser o padrão– Bloco de 128 bits e chave de 256 bits
![Page 36: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/36.jpg)
Sistemas Criptográficos Assimétricos
Baseada no conceito de par de chaves:– Chave privada– Chave pública
Qualquer uma das chaves é utilizada para cifrar uma mensagem e a outra para decifrá-la ;
As mensagens cifradas com uma das chaves do par só podem ser decifradas com a outra chave correspondente
![Page 37: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/37.jpg)
Chave privada
Exclusiva de cada usuário
Deve ser mantida secreta
Usada para descriptografar as mensagens;
Usada para assinar as mensagens
![Page 38: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/38.jpg)
Chave pública
Cada usuário tem a sua chave pública
Chave de cifração pública (disponibilizada em um repositório)
Utilizada para criptografar a mensagem;
![Page 39: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/39.jpg)
Algoritmo Assimétrico
Cifrar Decifrar
Canal Público
Canal Inseguro
Mensagem(abcdef...z)
Mensagem(abcdef...z)
Criptograma
(...)
ChaveKPública
ChaveKSecreta
Bob Alice
![Page 40: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/40.jpg)
Algoritmo Assimétrico
Desvantagens– São relativamente lentos;
• RSA é 1000 mais lento que o AES– São complexos de serem implementados;
Vantagens– Qualquer pessoa pode enviar uma mensagem
secreta usando a chave pública;– Não há necessidade do envio de chaves;
Outra abordagem:– União dos simétricos com assimétricos
![Page 41: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/41.jpg)
Exemplos de Algoritmo de Criptografia Assimétrica
![Page 42: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/42.jpg)
RSA
Ron Rivest, Adi Shamir e Len Adleman, que o criaram em 1977 no MIT
Atualmente, o algoritmo de chave pública mais amplamente utilizado, além de ser uma das mais poderosas formas de criptografia de chave pública conhecidas até o momento.
O RSA utiliza números primos.
![Page 43: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/43.jpg)
ElGamal
O algoritmo envolve a manipulação matemática de grandes quantidades numéricas ;
Sua segurança advém de algo denominado problema do logaritmo discreto
O ElGamal obtém sua segurança da dificuldade de se calcular logaritmos discretos em um corpo finito, o que lembra bastante o problema da fatoração.
![Page 44: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/44.jpg)
DSA (Digital Signature Algorithm)
Unicamente destinado a assinaturas digitais Proposto pelo NIST em agosto de 1991 Utilizado no padrão DSS (Digital Signature
Standard) Variação dos algoritmos de assinatura ElGamal
e Schnorr
![Page 45: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/45.jpg)
Curvas Elípticas
Curvas elípticas para sistemas criptográficos de chave pública
Implementaram algoritmos de chave pública já existentes
Eles possuem o potencial de proverem sistemas criptográficos de chave pública mais seguros, com chaves de menor tamanho.
![Page 46: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/46.jpg)
RSA
Sistema de criptografia de chaves públicas
Utilizado para cifração e assinatura digital
Desenvolvido por Rivest-Shamir-Adleman, MIT, em 1977
É considerado muito forte
![Page 47: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/47.jpg)
RSA
Sua segurança baseia-se no fato de não existir um algoritmo eficiente na fatoração de números primos grandes.– A fatoração de um número de 500 dígitos
demoraria 1025 anos
Sua desvantagem é exigir chaves de pelo menos 1024 bits, e isso o torna bastante lento.
![Page 48: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/48.jpg)
RSA - Funcionamento
Escolha dois números primos extensos, p e q (geralmente, de 1024 bits)
Calcule n = p x q e z = (p-1) x (q-1) Escolha um número d tal que z e d sejam
primos entre si;– Dois números inteiros são ditos primos entre
si quando não existir um divisor maior do que 1 que divida ambos , ou seja, MDC(d,z)=1
– Por exemplo, 12 e 13 são primos entre si; porém, 12 e 14 não o são porque ambos são divisíveis por 2.
Encontre e de forma que e x d = 1 mod z
![Page 49: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/49.jpg)
Processo
Divida o texto simples em blocos de tamanho P onde 0 P n. Ou ache k bits, onde k é o maior número inteiro para o qual 2k < n
Para criptografar P, calcule C = Pe (mod n). Para descriptografar C, calcule P = C d (mod n)
As funções de criptografia e descriptografia são inversas entre si.
![Page 50: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/50.jpg)
Processo
Para criptografar são necessários e e n Para descriptografar são necessários d e n Logo, a chave pública consiste em (e,n) e a
chave privada consiste em (d,n) Se n pudesse ser fatorado, o criptoanalista
encontraria p e q, e a partir deles chegar a z. Com o conhecimento de z e e, é possível encontrar d utilizando o algoritmo de Euclides.
![Page 51: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/51.jpg)
Exemplo
Escolhemos p = 3 e q =11, o que gera n =33 e z =20, e d=7. Então, resolve-se a equação 7e = 1(mod 20), que produz e = 3.
O texto cifrado é obtido através de C = P3 (mod 33)
Neste exemplo, como n =33, k deve ser igual 5 bits. Logo, cada bloco de texto deve conter somente um único caracter
![Page 52: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/52.jpg)
![Page 53: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/53.jpg)
Assinatura Digital
Objetivo: Garantir a autenticidade de quem envia a mensagem, associada à integridade do seu conteúdo.
Garante o não-repúdio Técnicas:
– Algoritmos simétricos– Algoritmos assimétricos– Sumário de mensagens
![Page 54: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/54.jpg)
Assimétrico
Cifrar Decifrar
Canal Inseguro
ChaveKPública
(Bob)
ChaveKSecreta
(Bob)≡ ?
Bob AliceCanal Inseguro
![Page 55: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/55.jpg)
Sumário de mensagens
Na prática é inviável e contraproducente utilizar puramente algoritmos de chave pública para assinaturas digitais
Denominada Message Digest, One-Way Hash Function. A função Hashing funciona como uma impressão digital de uma mensagem gerando, a partir de uma entrada de tamanho variável, um valor fixo pequeno: o digest ou valor hash.
![Page 56: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/56.jpg)
Sumário de mensagens
Uma função de hashing é uma função criptográfica que gera uma saída de tamanho fixo (geralmente 128 a 256 bits) independentemente do tamanho da entrada
Para ter utilidade criptográfica, a função de hashing deve ser tal que
![Page 57: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/57.jpg)
Sumário de mensagens
É simples (eficiente, rápido) se computar o hash de dada mensagem;
É impraticável se determinar a entrada a partir de seu hash;
É impraticável se determinar uma outra entrada que resulte no mesmo hash de uma dada entrada;
Os valores de hash possíveis são estatisticamente equiprováveis.
![Page 58: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/58.jpg)
![Page 59: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/59.jpg)
Sumário de mensagens
As funções de hash mais conhecidas são:– MD5– SHA-1
![Page 60: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/60.jpg)
MD5(Message Digest 5)
Inventado por Ron Rivest, do MIT. Este algoritmo produz um valor hash de
128 bits para qualquer entrada Projetado para ser rápido, simples e
seguro Um valor hash de 128 bits é causa de
preocupação; é preferível uma função Hashing que produza um valor maior.
![Page 61: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/61.jpg)
SHA-1 (Secure Hash Algorithm )
Desenvolvido pela NSA Baseado no MD4 Gera um valor de hash de 160 bits
independente da entrada Não há nenhum ataque de criptoanálise
conhecido contra o SHA-1
![Page 62: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/62.jpg)
Certificados Digitais e Autoridades Certificadoras
Como confiar que determinada chave efetivamente pertence ao seu suposto proprietário?
É que um documento (eletrônico) contendo a chave pública de um usuário (ou processo) e dados de identificação do mesmo
Este documento deve ser assinado por uma autoridade confiável, a Autoridade Certificadora, atestando sua integridade e origem.
![Page 63: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/63.jpg)
Certificados Digitais
O padrão mais comumente utilizado para certificados digitais é o denominado X-509
Prevê os seguintes campos:– chave pública do usuário;– nome do usuário proprietário da chave;– nome da organização associada;– data de emissão do certificado;– período de validade da chave.
![Page 64: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/64.jpg)
Tipos de certificados
Certificados de CA: utilizados para validar outros certificados; são auto-assinados ou assinados por outra CA.
Certificados de servidor: utilizados para identificar um servidor seguro; contém o nome da organização e o nome DNS do servidor.
Certificados pessoais: contém nome do portador e, eventualmente, informações como endereço eletrônico, endereço postal, etc.
Certificados de desenvolvedores de software: utilizados para validar assinaturas associadas a programas.
![Page 65: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/65.jpg)
Kerberos O protocolo kerberos envolve três servidores:
autenticação (Autentication Server), o TGS(Ticket-Grating Server) que concede os ingressos e o servidor que se deseja comunicar
![Page 66: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/66.jpg)
Kerberos O cliente envia um ticket para o AS O ticket contém nome do usuário e o nome do
TGS O AS gera uma chave de sessão e criptografa
com a chave pública do usuário Cria um TGT (ingresso que concede ingresso)
para o usuário apresentar ao TGS e codifica o TGT usando a chave de segredo do TGS (que só é conhecido pelo servidor de autenticação e o servidor TGS)
O usuário decifra a primeira mensagem e recupera a chave de sessão. E cria um autenticador(nome+endereço+selo tempo)
![Page 67: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/67.jpg)
Kerberos O usuário envia o pedido então ao TGS para
fazer ingresso a um servidor designado. Contém o nome do servidor, o TGT KERBEROS (que foi codificado com o a chave de segredo do TGS), e o autenticador codificado
O TGS decifra o TGT com sua chave secreta e então usa a chave de sessão incluída no TGT para decifrar o autenticador
Compara a informação do autenticador com a informação do ingresso, o endereço da rede do usuário com o endereço foi enviado no pedido e o tempo estampado com o tempo atual
![Page 68: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/68.jpg)
Kerberos O TGS cria uma chave de sessão nova para o
usuário e o servidor final. Inseri esta chave em um ingresso válido(nome do usuário, endereço da rede, um selo de tempo, e um tempo de vencimento) para o usuário apresentar ao servidor
O ingresso é codificado com a chave de segredo do servidor designado e o seu nome
O TGS também codifica a nova chave de sessão designada que vai ser compartilhada entre o usuário e o TGS. Envia ambas as mensagens de volta ao usuário
O usuário decifra a mensagem e a chave de sessão para uso com o servidor designado
Ele cria um autenticador novo codificado com a chave de sessão de usuário e servidor final
![Page 69: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/69.jpg)
Kerberos Envia a mensagem codificada pelo TGS e o
autenticador codificado com a nova chave de sessão
O servidor designado decifra, confere o ingresso, o autenticador e também confere o endereço do usuário e o selo de tempo
![Page 70: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/70.jpg)
SSL(Secure Socket Layer)
![Page 71: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/71.jpg)
SSL Protocolo de segurança desenvolvido pela
Netscape Communications
A SSL constrói uma conexão segura entre dois soquetes, incluindo:– Negociação de parâmetros entre cliente e
servidor– Autenticação mútua de cliente e servidor– Comunicação secreta– Proteção da integridade dos dados
![Page 72: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/72.jpg)
SSL
![Page 73: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/73.jpg)
SSL A SSL é um conjunto de três protocolo situados,
dois deles, a nível de aplicação e, o terceiro, entre o protocolo de aplicação e o TC
A SSL admite vários algoritmos com opções distintas
A principal tarefa da SSL é manipular a compactação e criptografia
HTTP sobre a SSL => HTTPS Telnet, FTP, SMTP
![Page 74: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/74.jpg)
SSL Handshake Protocol O usuário envia uma mensagem( versão do SSL,
algoritmo de criptografia , compactação, nonce) para o servidor.
O servidor escolhe alguns dos algoritmos especificados pelo usuário, um nonce e envia para o usuário
O servidor envia um certificado(ou cadeia de certificados) contendo a chave pública
O servidor envia uma mensagem para o usuário informando que é a vez dele.
O usuário escolhe, ao acaso, uma chave de 384 bits, codifica com a chave pública do servidor e envia.
![Page 75: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/75.jpg)
SSL Handshake Protocol A chave de sessão é a combinação da chave de
384 bits com os dois nonces de maneira complexa
O usuário informa que o servidor pode passar para a nova chave de sessão
![Page 76: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/76.jpg)
SSL Record Layer Protocol
Tem-se um canal que faz uso de um algoritmo simétrico de criptografia e um algoritmo de inserção de redundância na mensagem (chamada de MAC, Message Autentication Code)
As mensagens são comprimidas, inseridas as MACs e então cifradas antes de serem envidadas ao TCP
No destino, após a mensagem ser decifrada, a autenticidade da mensagem é verificada, comparando-a com a MAC, quando então ela é descomprimida e envida para a camada de aplicação
![Page 77: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/77.jpg)
- SSL Alert Protocol:– Acompanha os erros na Record Layer,
fazendo troca de mensagens para sinalizar problemas com a seqüência de mensagens, erros de certificação ou encriptação.
SSL Change Cipher SPEC Protocol:– Sinaliza as transições nas estratégias de
cifragem.
![Page 78: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/78.jpg)
SSL Record Layer Protocol– Serviços de fragmentação– Compressão– Autenticação de mensagem– Número sequencial– Encriptação
![Page 79: Segurança em Sistemas Distribuídos Stanley Araujo de Sousa.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc143497959413d8dfbfb/html5/thumbnails/79.jpg)
Vantagens X Desvantagens Vantagens
– Mais convenientes e utilizados nas transações seguras
– A implementação é relativamente simples Desvantagens
– O processo é lento– O usuário não tem certificados e caso
tenham não verificam as chaves