Mecanismos Criptográficos Esquemas

Documentos relacionados
Java Cryptography Architecture (JCA)

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

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

UTILIZAÇÃO DE HASH CRIPTOGRAFADA PARA TRANSPORTE DE MENSAGENS (MAC), NO USO DO HMAC

Aula 5 - Integridade e Criptografia autenticada. 10 de Maio de 2016

Criptografia. Criptografia de Chave Pública. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019

Códigos de Autenticação de Mensagens. Instituto de Computação - UNICAMP

Criptografia Assimétrica e Funções de Síntese

Criptografia. Criptografia de Chave Pública. Manuel Barbosa (mbb at dcc.fc.up.pt) 2018/2019

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

Segurança Informática em Redes e Sistemas

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

Autenticação por par de. chaves assimétricas. Bruno Follmann

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

Tópicos de Ambiente Web Segurança

Nome: Nº de aluno: Exame 1ª chamada (perguntas impar) / Repescagem 1º teste / Repescagem 2º teste SRC /07/04 1º teste

Segurança de Sistemas de Informação

Segurança em Sistemas Operacionais

CERTIFICAÇÃO DIGITAL COM JAVA. Cléber da Silveira.

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

e-financeira Manual para Compactação e Criptografia de dados

Redes de Computadores Aula 23

NOÇÕES DE INFORMÁTICA. Segurança da Informação Certificação Digital Parte 1

Aula 5 - Integridade e Criptografia autenticada. 9 de Maio de 2016

Faculdade de Engenharia da Computação

Criptograa e Segurança

Segurança e Auditoria de Sistemas. Confiança Mútua Assinatura Digital Certificado Digital

Software para Assinatura Digital

Agenda. Criptografia e Segurança Certificado Digital Assinatura Digital

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

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

Segurança de Sistemas de Informação

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

Entendendo a criptografia e como ela pode ser usada na prática. Italo Valcy Universidade Federal da Bahia CERT.

OTES07 Segurança da Informação Módulo 05c: Criptografia Assimétrica RSA e ECC

Segurança em Redes de Computadores

Exercícios de Revisão Redes de Computadores Edgard Jamhour. TLS/SSL, VPN PPTP e IPsec

Segurança em Redes de Computadores

Virtual Private Network (VPN)

TOCI08 Segurança em Redes de Computadores Módulo 08: Criptografia Assimétrica RSA e ECC

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

Capítulo 8. Segurança de redes

Desvendando os mistérios do criptossistema RSA. Grasiele Cristiane Jorge. Pós-Doc - IMECC - UNICAMP

Aula Prática - Criptografia. MD5 hash de 128 bits = 16 bytes muito utilizado por softwares com protocolo P2P, verificação de integridade e logins.

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

Implementação Blockchain ID,hash(ID -1), dados,... Imutabilidade(?) How To Time-Stamp a Digital Document - Haber/Stornetta

Criptografia e Segurança em Redes Capítulo 9. Quarta Edição William Stallings

AULA 5: Criptografia e Esteganografia

Prof. Sandro Wambier

AULA 08 CRIPTOGRAFIA E SEGURANÇA DE DADOS CRIPTOGRAFIA ASSIMÉTRICA CHAVES E ALGORITMOS 03/03/2016 PROF. FABIANO TAGUCHI

Transcrição:

Mecanismos Criptográficos Esquemas Notas para a UC de Segurança Informática Inverno de 12/13 Pedro Félix (pedrofelix em cc.isel.ipl.pt) José Simão (jsimao em cc.isel.ipl.pt) Instituto Superior de Engenharia de Lisboa

Sumário Hierarquia de mecanismos criptográficos Funcionalidade de esquemas criptográficos Esquemas simétricos e assimétricos de cifra Esquemas MAC e esquemas de assinatura digital Funções de hash Arquitectura interna dos esquemas assimétricos 2

Classificação dos mecanismos criptográficos Primitivas operações matemáticas, usadas como blocos construtores na realização de esquemas; a sua caracterização depende dos problemas matemáticos que sustentam a sua utilização criptográfica ex: DES, RSA Esquemas combinação de primitivas e métodos adicionais para a realização de tarefas criptográficas como a cifra e a assinatura digital ex: DES-CBC-PKCS5Padding; RSA-OAEP-MGF1-SHA1 Protocolos sequências de operações, a realizar por duas ou mais entidades, envolvendo esquemas e primitivas, com o propósito de dotar uma aplicação com características seguras ex: TLS com TLS_RSA_WITH_DES_CBC_SHA 3

Esquema de cifra simétrica Esquema de cifra simétrica algoritmos (G,E,D) G função (probabilística) de geração de chaves G: Keys E função (probabilística) de cifra E: Keys {0,1}* {0,1}* D função (determinística) de decifra D: Keys {0,1}* {0,1}* m c = E(k)(m) m E D k k G 4

Notas Propriedade da correcção m {0,1} *, k Keys: D(k)(E(k)(m)) = m Keys é o conjunto de chaves geradas por G Propriedades de segurança É computacionalmente infazível obter m a partir de c, sem o conhecimento de k Esquema simétrico utilização da mesma chave k nas funções E e D Mensagem m e criptograma c são sequências de bytes com dimensão variável ({0,1} * ) Não garante integridade Exemplos: DES-CBC-PKCS5Padding 5

Esquemas MAC Esquema MAC (Message Authentication Codes ) algoritmos (G,T,V) G função (probabilística) de geração de chaves G: Keys T função (probabilística) de geração de marcas T: Keys {0,1}* Tags V função (determinística) de verificação de marcas V: Keys (Tags {0,1}*) {true, false} m m, t = T (k)(m) v {false,true} T V k k G 6

Esquemas MAC: verificação Esquema usual para o algoritmo de verificação Algoritmo T é determinístico Algoritmo V usa T V(k)(t, m): T(k)(m) = t V m T = v t k 7

Notas Propriedade da correcção m {0,1} *, k Keys: V(k)(T(k)(m),m) = true Propriedades de segurança Sem o conhecimento de k, é computacionalmente infazível falsificação selectiva dado m, encontrar t tal que V(k)(t, m) = true falsificação existencial encontrar o par (m, t) tal que V(k)(t,m) = true Esquema simétrico utilização da mesma chave k nos algoritmos T e V Mensagem m é uma sequência de bytes de dimensão variável Marca t (tag) tem tipicamente dimensão fixa 128, 160, 256 bits Códigos detectores e correctores de erros não servem para esquemas de MAC Exemplos: HMAC-SHA1 8

Funções de hash Função de hash criptográfica H: {0,1} * {0,1} n, onde n é a dimensão do hash Entrada: Sequências binárias de dimensão finita Saída: Sequência binária de dimensão fixa (n) n é a dimensão do hash m mensagem H h = H(m) hash da mensagem 9

Notas Propriedades de segurança É computacionalmente fácil obter H(x) dado x É computacionalmente difícil, dado x, obter x x tal que H(x ) = H(x) É computacionalmente difícil obter (x, x ), com x x, tal que H(x) = H(x ) O hash de m serve como representante ( impressão digital ) de m Exemplos de dimensões: MD5 (n=128) e SHA-1 (n=160) Baseiam-se em operações booleanas e aritméticas sobre palavras de pequena dimensão (16, 32, 64 bit) 10

Exemplo de utilização: integridade Exemplo: Distribuição de software 1. Produtor calcula o hash da distribuição (ex. sources.tar.gz) 2. Cliente obtêm, de forma autenticada, o hash da distribuição 3. Cliente obtêm a distribuição (ex. através dum mirror não autenticado) 4. Cliente compara o hash da distribuição recebida com o hash obtido em 2 canal autenticado m H = {true, false} H canal não autenticado 11

Funções de hash com chave É usual designar-se um esquema de MAC, com algoritmo T determinístico, como função de hash com chave (Keyed Hash Function) Em alguns contextos, as funções de hash são designadas por Manipulation Detection Codes (MDC) 12

Esquemas Assimétricos Esquemas simétricos A mesma chave é utilizada na cifra e na decifra A mesma chave é utilizada na geração da marca e na verificação da marca A cifra é uma operação pública? A verificação é uma operação pública? Esquemas assimétricos Esquemas de cifra qual a operação privada? Todos podem cifrar, apenas o receptor autorizado pode decifrar Esquemas MAC qual a operação privada? Utilização Todos podem verificar, apenas o emissor autorizado pode assinar (gerar a marca) Transporte de chaves simétricas Assinatura digital 13

Esquema de cifra assimétrica Esquema de cifra assimétrica algoritmos (G,E,D) G função (probabilística) de geração de pares de chaves G: KeyPairs, onde KeyPairs PublicKeys PrivateKeys E função (probabilística) de cifra E: PublicKeys PlainTexts CipherTexts D função (determinística) de decifra D: PrivateKeys CipherTexts PlainTexts m E c = E(k e )(m) D m = D(k d )(c) ke kd chave pública G chave privada 14

Notas Propriedade da correcção m M, (k e,k d ) KeyPairs: D(k d )(E(k e )(m)) = m Propriedades de segurança É computacionalmente infazível obter m a partir de c, sem o conhecimento de k d Esquema assimétrico utilização de chaves diferentes para os algoritmos E e D O espaço de mensagens, denotado por PlainTexts, é definido por todas as sequências de bits com dimensão menor do que o limite definido pelo esquema Os esquemas de cifra assimétrica são utilizados para cifrar chaves O espaço de criptogramas, denotado por CipherTexts, é definido como um sub-conjunto das sequências de bits com dimensão menor do que o limite definido pelo esquema Não garante integridade 15

Notas (2) Custo computacional significativamente maior do que os esquemas simétricos (maior do que duas ordens de grandeza) Limitações na dimensão da informação cifrada Note-se que a entrada de E é PlainTexts e não {0,1} * Utilização em esquemas híbridos Esquema assimétrico usado para cifrar uma chave simétrica transporte de chaves Esquema simétrico usado para cifrar a informação 16

Esquema de assinatura digital Esquema de assinatura digital algoritmos (G,S,V) G função (probabilística) de geração de pares de chaves G: KeyPairs, onde KeyPairs PublicKeys PrivateKeys S função (probabilística) de assinatura S: PrivateKeys {0,1}* Signatures V função (determinística) de verificação V: PublicKeys (Signatures {0,1}*) {true,false} m S m, s = S(k s )(m) V v = V(k v )(s,m) k s kv chave privada G chave pública 17

Notas Propriedade da correcção m {0,1} *, (k s,k v ) KeyPairs: V(k v )(S(k s )(m),m) = true Propriedades de segurança Sem o conhecimento de k s é computacionalmente infazível falsificação selectiva dado m, encontrar s tal que V(k v )(s, m) = true falsificação existencial encontrar o par (m,s) tal que V(k v )(s,m) = true note-se que k v é conhecido Assinatura s (pertencente ao conjunto Signatures) tem tipicamente dimensão fixa Ex.: 160, 1024, 2048 bits Custo computacional significativamente maior do que os esquemas simétricos 18

Notas (2) Assimétrico utilização de chaves diferentes para os algoritmos S e V Mensagem m é uma sequência de bytes de dimensão variável assinar decifrar; verificar cifrar 19

Princípios da primitiva RSA Sejam P e Q dois primos distintos e N = PQ Dimensões típicas: 2 1023 N 2 4095 Sejam E e D tal que ED mod (P-1)(Q-1) = 1 Par de chaves Chave pública: (E, N) Chave privada: (D, N) Operação pública M E mod N Operação privada M D mod N A factorização de números primos é o problema que suporta a primitiva RSA 20

Exemplo de utilização da primitiva RSA Exemplo com números primos pequenos P Q N (P-1)(Q-1) E D 17 11 187 160 23 7 c = m e mod n Mensagem (m) I S E L Criptograma (c) 183 125 137 80 A utilização da primitiva por si só não está imune aos seguintes ataques: Reordenação dos criptogramas Pré-computação de mensagens e comparação com criptogramas 21

Cifra assimétrica: arquitectura interna PKCS#1 v1.5, OAEP RSA m Formatação (método adicional) Cifra (primitiva) E D k e k d c m Desformatação (método adicional) Decifra (primitiva) 22

Cifra assimétrica A arquitectura típica dos algoritmos de cifra e decifra dos esquemas de cifra assimétrica é constituída por: Primitiva de cifra assimétrica ex. RSA Método de formatação ou padding ex. PKCS#1 v1.5, OAEP A mesma primitiva pode ser usada com vários tipos de formatação A função da formatação é Adequar a entrada do algoritmo (PlainTexts) à entrada da primitiva Evitar casos especiais Introduzir informação aleatória As chaves são usadas apenas pela primitiva Exemplo: chaves da primitiva RSA podem ser usada nos esquemas RSA+PKCS#1 v1.5 ou RSA+OAEP 23

Assinatura digital: arquitectura interna MD5, SHA1 PKCS#1 v1.5, PSS, X9.31 RSA, DSA m Função de hash Format (método adicional) Sign (primitiva) S k s k v V m Função de hash Deformat (método adicional) Verify (primitiva) v ({true,false}) 24

Assinatura digital A arquitectura típica dos algoritmos de assinatura e verificação dos esquemas de assinatura digital é constituída por: Primitiva de assinatura/verificação assimétrica ex. RSA Método de formatação ou padding ex. PKCS#1 v1.5, PSS Função de hash A mesma primitiva pode ser usada com vários tipos de formatação e funções de hash As chaves são usadas apenas pela primitiva Exemplo: chaves da primitiva RSA podem ser usada nos esquemas RSA+PKCS#1 v1.5 ou RSA+PSS 25