Criptografia e Segurança das Comunicações

Documentos relacionados
Software de Telecomunicações. Cifras simétricas por blocos

Criptografia e Segurança de Redes Capítulo 5. Quarta Edição por William Stallings

OSRC001 Segurança em Redes de Computadores Módulo 07: Criptografia Simétrica: AES/SAES

Segurança da Informação Aula 5 Criptografia. Objetivos e Tipos. Cifras de Bloco e Fluxo

SEGURANÇA CRIPTOGRAFIA E SEGURANÇA DE DADOS. As funções de cifra são consideradas totalmente seguras se:

TÓPICOS ESPECIAIS EM SEGURANÇA DA INFORMAÇÃO

Tópicos Especiais em Segurança da Informação. Aula 2 Criptografia AES

OTES07 Segurança da Informação Módulo 05b: Criptografia Simétrica: AES/SAES

Segurança de Sistemas de Informação

OTES07 Segurança da Informação Módulo 05a: Criptografia Simétrica: DES/SDES

Raquel de Araújo Fábio Borges Gerson Nunes. O algoritmo AES: Apresentação e Descrição da Estrutura p.1/23

Segurança da Informação Aula 6 Principais Algoritmos Simétricos. Criptografia Assimétrica.

Segurança em Redes - 3

Resumo Segurança em Redes de Computadores

Segurança em Redes de Computadores

4 ÍNDICE Exemplo de redundância e distância de unicidade... 41

Criptografia e Segurança em Rede Capítulo 3. William Stallings

Engloba os criptossistemas clássicos. Outros nomes: (Criptografia...)

Criptografia. Aula 4: Autenticação de mensagens e canais seguros. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019

Criptografia. Módulo I Terminologia. M. B. Barbosa 2006/2007. Departamento de Informática Universidade do Minho

Introdução à Segurança e Primitivas Criptográficas

Cifra Sequenciais. Criptografia Engenharia Biomédica José Carlos Bacelar Almeida Cifra One-Time-Pad

ANÁLISE DO ALGORITMO VENCEDOR DO AES: O RIJNDAEL

Segurança Informática em Redes e Sistemas

PTC Aula 19. (Kurose, p ) (Peterson, p ) 09/06/ O que é segurança de rede? 5.2 Princípios de criptografia

Mecanismos Criptográficos Esquemas

Sistemas criptográficos simétricos

Capítulo 3 - Cifras de Blocos e Data Encryption Standard Por toda a tarde, Mungo tinha trabalhado no código de Stern, principalmente com a ajuda das ú

WEP, WPA e EAP. Rodrigo R. Paim

Tão logo os homens adotaram a escrita, começaram a se preocupar em enviar informações em segredo.

Segurança Informática em Redes e Sistemas

Todo processador é constituído de circuitos capazes de realizar algumas operações primitivas:

O padrão de criptografia simétrica AES

Segurança de aplicação - S/MIME

Criptografia em redes de computadores. Gabriel Stefen e Thiago Stefen

Advanced Encryption Standard

Capítulo 8. Segurança de redes

Cifragem de Imagens usando Cifras de Bloco e

Técnicas de criptografia. Funções Hash Criptografia com chave secreta Criptografia com chave pública Assinatura digital Protocolos

PCS 3115 Sistemas Digitais I Códigos Prof. Dr. Marcos A. Simplicio Jr.

Criptografia Simétrica e Assimétrica, Hash, e Assinatura Digital

Big Endian é uma ordenação usada em sistemas do tipo Unix (arquiteturas SPARC, IBM Mainframe).

Protocolo para cifra de uso único via função NOT controlada

M3D4 - Certificados Digitais Aula 2 Certificado Digital e suas aplicações

AULA 5: Criptografia e Esteganografia

PLANO DE DISCIPLINA DISCIPLINA: Segurança da Informação

Faculdade de Engenharia da Computação

SSC546 -Avaliação de Desempenho de Sistemas

INSTITUTO MILITAR DE ENGENHARIA WILLIAM AUGUSTO RODRIGUES DE SOUZA IDENTIFICAÇÃO DE PADRÕES EM CRIPTOGRAMAS USANDO TÉCNICAS DE CLASSIFICAÇÃO DE TEXTOS

Engenharia de Segurança

UM HARDWARE IP PARA CRIPTOGRAFIA NO PADRÃO AES-RIJNDAEL

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

SISTEMAS DIGITAIS (SD)

Transcrição:

Criptografia e Segurança das Comunicações Cifras simétricas por locos Cifras por loco : /35 Cifras modernas () Para dificultar a quera do código, a chave deve ser o mais extensa possível. Tal critério esarra com a dificuldades Memorização Transmissão por via segura A moderna criptografia de chaves simétricas aseia-se na simplificação das chaves e no aumento da complexidade da cifra. xistem 2 aordagens: Bloco: cifrado um loco (série de elementos) de cada vez DS- Data ncryption Standard, aseada na rede de Feistel. AS- Advanced ncryption Standard, aseada na rede permutação e sustituição. Sequenciais: cifrado elemento a elemento (ex: RC4, A5/) Cifras por loco : 2/35

Cifras modernas (2) Vantagens das cifras de loco Maior dificuldade no ataque. Normas estaelecidas (NIST, ). Perda/alteração de its afecta apenas o loco (ou contrário das cifras sequenciais, que podem afectar a mensagem restante). Vantagens das cifras sequenciais Maior rapidez nas operações cifrar/decifrar. Maior facilidade na análise matemática. Usadas em cifras de sistemas de comunicações (ex: luetooth, GSM e 82.). Cifras por loco : 3/35 Cifras de loco () Definição: Numa cifra de loco, o texto a cifrar (tipicamente sequências de its) é partido em locos, todos do mesmo tamanho. A cifra é aplicada sucessivamente a cada loco. Se o texto não for de comprimento múltiplo do loco, os its que faltam no último loco são preenchidos de forma pré-determinada ( padding ). Conceptualmente, cifra por loco é uma sustituição num alfaeto gigantesco: num loco de n its há 2 n sustituições possiveis. Cifras por loco : 4/35

Cifras de loco (2) Operações de grupo: as cifras modernas de loco usam cominações de várias operações de grupos de its.. Caixa P: implementa uma permutação da entrada. () Permutação 5 5 A entrada 2345 é transposta para 4235 Cifras por loco : 5/35 Cifras de loco (3) (2) Permutação compressão (3) Permutação expansão 5 3 5 7 2. Rotações controladas: rotação circular de its, número de vezes determinados por valor u u >> Cifras por loco : 6/35

Cifras de loco (4) 3. Caixa S: implementa uma sustituição não-linear de n its de entrada por m its de saída. 4. Circuitos de Feistel: entrada de 2n its dividida em dois su-locos (esquerdo) e D (direito), que são permutados com um dos su-locos alterados. D ' F k D' = F(.k) D ' + D' D = F(.k) D' ' Nota: circuito de Feistel usado no DS, cifra de locos de 64 its com chaves de 56 its, extensivamente usada nos anos 7-9. Cifras por loco : 7/35 Cifras de loco (5) Prolema: decifrar locos demora tempo e é sujeita a falhas na transmissão dos criptogramas. Solução: prefixar mensagem com número de sequência e pós-fixar com checksum (por exemplo CRC).. Recolher número de sequência primeiro 2. Se for inválido, aandonar. 3. Verificar CRC. Se confirmar integridade da mensagem, decifrar então o criptograma. Mensagem Número de sequência CRC Cifras por loco : 8/35

AS () NIST ariu concurso em 97 para algoritmo de sustituição do 3DS, designado por AS- Advanced ncryption Standard. Foram usados como critérios de selecção:. Segurança: resistência à criptoanálise. 2. ficiência computacional e requisitos de memória. 3. Implementação: simplicidade no algoritmo, apropriado para implementação em SW e HW. Sumetidas 5 propostas, seleccionados 5 finalistas Rijndael (Rijmen e Daemen da U Leuven/Bélgica) - vencedor Serpent (de investigadores de U,D e Israel) Twofish (de Counterpane Las). RC6 (RSA) MARS (IBM) Cifras por loco : 9/35 AS (2) Desempate Rijndael/Serpent feito com ase na maior eficiência da implementação. Rijndael é um algoritmo de locos de 28 its. O algoritmo ase pode ser facilmente adaptado para múltiplo de 32 its (exemplos: 92 e 256 its). Formado por rondas. Facilmente implementado em processadores de 8 its, para smart cards. xemplos conhecidos de utilização da cifra AS: SSH, para acesso a terminais remotos. Sensor Zigee. Cifra WPA2 para Wi-Fi. Cifras por loco : /35

AS (3) a) Cifra: Cifra calculada por rondas Rondas da primeira à penúltima composta por quatro etapas ( permutação e 3 sustituições). ) Sustituição (caixa S). 2) Deslocamento linhas: permutação simples. 3) Mistura: aritmética sore GF(2 8 ). 4) Adição de chave. Texto pleno Adição chave Sustituição its Deslocamento Mistura Adição chave Sustituição its Deslocamento Adição chave Chave w[,3] Chave expandida w[4,7] w[4,43] Texto cifrado Cifras por loco : /35 AS (4) Texto colocado no estado corrente (State) - matrix 4 linhas por N colunas (N=tamanho loco/32). Para o AS, N=4 e o texto é espalhado ao longo das colunas. stado 8 its 2 5 S, = S, =4 S,2 =8 S,3 =2 S, = S, =5 S,2 =9 S,3 =3 S 2, =2 S 2, =6 S 2,2 = S 2,3 =4 28 its S 3, =3 S 3, =7 S 3,2 = S 3,3 =5 Cifras por loco : 2/35

AS (5) Chave expandida na matrix Roundey de 4 linhas por Nk colunas (Nk=tamanho chave/32). Nota: No AS, loco e chave de 28 its. Logo, N=Nk=4. Numero de rondas dada pela seguida taela: N=4 N=6 N=8 Nk=4 2 4 AS 28 its tem rondas Nk=6 2 2 4 Nk=8 4 4 4 Cifras por loco : 3/35 AS (6) ) Sustituição de its Cada Byte do estado sustituído pelo Byte indexado pela linha (4-its esquerdos) e coluna (4-its direitos). x: Byte 4A sustituído pelo valor S-ox(4,A)=D6 Nota: Informação extra disponível em Design of Rinjdael, Joan Daemen and Vincent Rijmen, Springer-Verlag Cifras por loco : 4/35

AS (7) Construção das caixas-s As caixas-s são definidas através de transformações em GF(2 8 ). A construção foi desenhada para o AS ser resistente aos ataques conhecidos. Curiosidade, não faz parte da avaliação. Inicializar as células por linhas com a célula mais à esquerda contendo no nile superior o número de linha. Linha preenchida com {},{},...{F}. Linha preenchida com {},{},...{F}. 2. Sustituir cada célula não nula pelo seu inverso multiplicativo em GF(2 8 ). Cifras por loco : 5/35 AS (8) 3. A cada Byte ( 7 6... ) aplicar a transformação i = i (i+4)mod 8 (i+5)mod 8 (i+6)mod 8 (i+7)mod 8 c i onde c i é o it i de 63: (c 7 c 6... c ) = () Curiosidade, não faz parte da avaliação Cifras por loco : 6/35 7 6 5 4 3 2 7 6 5 4 3 2

AS (9) 2) Deslocamento de linhas Deslocamento circular esquerdo em cada linha i de i posições. ste passo implementa uma permutação. Cifras por loco : 7/35 AS () 3) Mistura Cada coluna processada separadamente. Cada Byte sustituído por valor dependente de todos os 4 Bytes da coluna, prefazendo multiplicação em GF(2 8 ). Cifras por loco : 8/35

AS () 4) Adição de chave XOR em cada coluna a uma sequência de 4 Bytes da chave. m cada ronda a sequência avança 4 posições. Cifras por loco : 9/35 AS (2) 5) xpansão da chave O tamanho da chave a ser usada nas rondas é igual ao produto do comprimento do loco pelo número de rondas mais um. No AS, a chave de 28 its é expandida para uma taela de 44 palavras de 32 its.. Copiadas as 4 palavras iniciais da chave para a chave estendida 2. Ciclo de 4 palavras de cada vez, com w[i] dependente de w[i-] e w[i-4]. Se w[i] não for múltiplo de 4, aplicar XOR Se w[i] for múltiplo de 4, para w[i-] rodar + S-ox + XOR de w[i-4]. Cifras por loco : 2/35

AS (3) Cifras por loco : 2/35 AS (4) ) Decifra: Aplicar etapas na sequência inversa. Inverter operação em cada etapa. Sequência da chave expandida é igualmente invertida de w[4,43] até w[,3]. Cifras por loco : 22/35

AS (5) ) Ataques São conhecidos ataques a AS até 7 rondas, o que levanta preocupações pela pequena margem de conforto. Uma máquina que verifica 8 chaves/seg, demora 3 anos a varrer o espaço de chaves de 28 its. Nota: idade estimada do universo é de.3x anos. Presentemente (2), o espaço de chaves seguro ronda os 8 its. Admitindo a lei de Moore (poder computacional duplica em cada 8 meses) continuar válida em 26, nessa altura as máquinas são 2 33 mais potentes: sendo possível o ataque por força ruta, chaves de 8+33=3 its, em 26 AS-28 deve deixar de ser seguro. AS-92 e AS-256 deve continuar a ser suficiente em 26. Cifras por loco : 23/35 Modos criptográficos () [Definição] O modo criptográfico comina de formas distintas a chave e os textos (plano ou criptograma) para evitar o prolema de, numa cifra de locos, o mesmo texto plano com a mesma chave produzem o mesmo criptograma. Os ojectivos dos modos criptográficos são a confidencialidade e a integridade das mensagens. São conhecidos vários modos criptográficos: A. CB - lectronic Codeook B. CBC - Cipher Block Chaining C. CFB - Cipher Feedack D. OFB - Output Feedack. CTR - Counter Cifras por loco : 24/35

Modos criptográficos (2) A. CB: locos cifrados em paralelo. Vantagem: simples de operar, cifra/decifra podem ser paralelizadas. Inconveniente: fragmentos de texto plano repetidos (ex: ficheiros gráficos, caeçalhos de mail) resultam em fragmentos iguais no criptograma. Desaconselhado em protocolos criptográficos. Ci = Pi = D k k ( Pi ) ( C ) i missor P C D Receptor P P 2 C D P 2 Cifras por loco : 25/35 Modos criptográficos (3) Ataque por repetição de loco. Intruso intercepta mensagens cifradas de transferências entre os ancos A e B. 2. Intruso transfere várias vezes quantias fixas de amigos com contas em A (dando antecipadamente o $), para a sua conta no anco B. Assim consegue isolar a ordem cifrada de depósito para a sua conta no anco B. 3. Num dia movimentado, adiciona uma ordem cifrada de depósito para a sua conta no anco B em todas as transferências. Ao fim do dia levanta o seu saldo e desaparece. Contra-ataque: alterar frequentemente as chaves, ou usar encadeamento ( chaining ) com auxílio da criptograma anterior. Cifras por loco : 26/35

Modos criptográficos (4) B. CBC : função cifra exercida sore soma do criptograma anterior e texto plano. Ci = k ( Pi Ci ), C = IV Pi = Dk ( Ci ) Ci missor Receptor IV IV P P 2 C C 2 D D P P 2 Cifras por loco : 27/35 Modos criptográficos (5) IV-vector de inicialização é aleatório, pode ser púlico (não há prolemas, uma vez que os IV dos locos seguintes tamém são púlicos). O CBC representa uma extensão das cifras sequenciais. Vantagem: a decifra pode ser paralelizada. Inconvenientes: O modo CBC manifesta prolema do erro na transmissão de um it poder afectar todo o restante texto. A cifra é sequencial, a impossiilidade de paralelização da cifra não permite melhorar o desempenho. Nota: modo recomendado em Bruce Schneier; Applied Cryptography- Protocols, Algorithms and Source Code in C; John Wiley, 996 Cifras por loco : 28/35

Modos criptográficos (6) C. CFB função cifra exercida apenas sore criptograma anterior, o texto plano é somado depois. C i = Pi = D k k ( C ( C i i ) Pi, ) C i C IV = IV missor P P 2 C C 2 IV Receptor D D P P 2 Cifras por loco : 29/35 Modos criptográficos (7) Vantagens e inconvenientes do CBC tamém se manifestam no CFB.. Vantagem: a decifra pode ser paralelizada. Inconvenientes: O modo CFB manifesta prolema do erro na transmissão de um it poder afectar todo o restante texto. A cifra é sequencial: a impossiilidade de paralelização da cifra não permite melhorar o desempenho. O CFB revela vantagem extra de permitir pipeline (cada ronda depende da cifra da ronda anterior), útil para aplicações que exigem latência reduzida (ex: vídeo). Cifras por loco : 3/35

Modos criptográficos (8) D. OFB : função cifra é aplicada apenas ao resultado da anterior aplicação. Ci = Pi Oi, O = IV P = = ( ) i Ci Oi Oi k Oi Receptor missor P IV IV C P 2 C 2 P P 2 Cifras por loco : 3/35 Modos criptográficos (9) IV-vector de inicialização é aleatório, pode ser púlico. Devido à simetria da operação XOR, as funções de cifra e decifra são iguais. O OFB admite que os locos de texto sejam de comprimento menor que a chave. Vantagens: O modo OFB não manifesta prolema do erro na transmissão de its. Cifras por loco : 32/35

Modos criptográficos (). CTR : cifra exercida sore uma sequência não repetida (ex: nounce mais contador) e somada ao texto. Vantagens: Não exige enchimento. Permite paralelização. Nota: modo adoptado pelo WPA2 (comunicações de sistemas sem fios, norma I 82.i com cifra por AS). n+ctr n+ctr+ missor P P 2 C C 2 Receptor D D n+ctr P n+ctr+ P 2 Cifras por loco : 33/35 nchimento de locos () Algoritmos de cifra em loco em modos CB ou CBC exigem entrada ser múltipla da dimensão do loco. xistem diversas técnicas de enchimento ( padding ) de locos. Nos exemplos consideramos um loco para DS de 8B (64 its) terminado por fim. = 66h69h6dh2eh.. Todos os caracteres iguais a espaço. x: 66 69 6d 2e 2 2 2 2 2. Todos os caracteres iguais a NULL x: 66 69 6d 2e Cifras por loco : 34/35

nchimento de locos (2) 3. Caracteres NULL, excepto último que indica o número de caracteres de enchimento. x: 66 69 6d 2e 4 Para o modo CB, usar caracteres aleatórios em vez de NULL x: 66 69 6d 2e 58 B3 98 4 4. Todos os caracteres iguais ao número de caracteres de enchimento (PCS#5 e RFC263). x: 66 69 6d 2e 4 4 4 4 5. Primeiro caractere x8, restantes iguais a NULL. x: 66 69 6d 2e 8 Cifras por loco : 35/35