470 likes | 593 Views
UNIVERSIDADE DE SÃO PAULO INSTITUTO DE MATEMÁTICA E ESTATÍSTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO S E M I N Á R I O. Criptossistemas baseados em identidades pessoais (Apresentado por Waldyr Dias Benits Junior e Mehran Misaghi). SUMÁRIO. Criptografia simétrica X assimétrica
E N D
UNIVERSIDADE DE SÃO PAULO INSTITUTO DE MATEMÁTICA E ESTATÍSTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO S E M I N Á R I O
Criptossistemas baseados em identidades pessoais(Apresentado por Waldyr Dias Benits Junior e Mehran Misaghi)
SUMÁRIO • Criptografia simétrica X assimétrica • Principais tipos de ataques • Criptossistemas baseados em identidade (Identity-based Cryptosystems) • Vantagens e Desvantagens principais
MOTIVAÇÃO “Existem homens de bom senso que, por serem incapazes de decifrar as coisas que são ‘grego’ para eles, convencem-se de que a lógica e a filosofia estão acima deles. Pois bem, gostaria que vissem que, assim como a natureza os dotou de olhos com os quais podem enxergar as obras dela, também lhes concedeu cérebros para penetrar e compreendê-las.” Galileu Galilei
Proposta Apresentar Sistemas de Criptografia e Assinatura baseados em identidade, mostrando suas principais aplicações, vantagens e desvantagens, de modo a permitir uma futura implementação destes sistemas, a fim de contribuir para uma infra-estrutura de chaves públicas mais flexível e menos vulnerável.
Criptografia Simétrica Canal Seguro Chave Secreta Texto Texto Texto Aberto Cifrado Aberto Algoritmo de Algoritmo de Decifragem Cifragem (Inverso da cifragem) ( ex : DES)
Características Importantes • Impossibilidade de se obter a chave privada, dados a chave pública e o algoritmo • Alguns Algoritmos • Permitem que as duas chaves possam ser usadas para cifrar e decifrar
Anel de Chaves Públicas de Alice João Pedro José Beto Esquema de Criptografia Assimétrica Chave Privada de Beto Texto Cifrado Texto Aberto Texto Aberto Algoritmo de Cifragem (ex: RSA) Algoritmo de Decifragem
Problemas a serem gerenciados Criptografia Simétrica Como distribuir e armazenar as chaves secretas de forma segura ? Quantas chaves são necessárias para uma comunicação segura entre n pessoas ? Criptografia Assimétrica Como garantir que o detentor da chave pública é realmente quem diz ser ? Necessidade de ter uma infra-estrutura para armazenar as chaves públicas
Nº de chaves necessárias nº de participantes Criptografia Simétrica n(n-1)/2 Criptografia Assimétrica 2n 2 1 4 4 6 8 8 28 16 16 120 32
Histórico Em 1984, Adi Shamir [10] propôs um novo esquema criptográfico que permitiria a qualquer par de usuários se comunicar seguramente e verificar assinaturas sem troca de chaves públicas ou privadas, sem manter um diretório de chaves e sem usar os serviços de uma terceira parte durante a comunicação.
Histórico O esquema proposto se baseava nos criptossistemas de chave pública, sendo que, em vez de gerar um par aleatório de chaves pública e privada e publicar uma destas chaves, o usuário usa como chave pública alguma informação que o identifique de forma única (por ex. CPF, endereço e-mail) de modo que ele não possa negar mais tarde esta informação.
Histórico A chave privada correspondente é então gerada por um centro gerador de chaves (PKG) e transmitida para o usuário de forma segura. Neste tipo de esquema, não existe a necessidade de autenticar a chave pública de um usuário, já que esta é a própria identificação do usuário (ou uma função Hash da identificação, como veremos adiante).
Notações utilizadas G1, G2: grupos de ordem prima q, onde o problema do logaritmo discreto (PLD) é assumidamente difícil e para os quais existe um mapeamento bilinear computável t : G1 X G1 G2,, onde t representa o Tatepairing Se escrevermos G1 em notação aditva e G2 em notação multiplicativa, podemos, na prática, considerar : G1 : grupo de pontos de uma curva elíptica G2 : subgrupo de um grupo multiplicativo de um campo finito
Funções de Hash Serão utilizadas as seguintes funções de Hash no decorrer desta exposição: H1 : {0,1}* G1; H2 : {0,1}* Fq ; H3 : G2 {0,1}*.
Chaves utilizadas (Standard) Par de chaves pública/privada padrão (R,s): Sejam R G1, s Fq e P um ponto fixo pertencente a G1 e de conhecimento público. Temos que: R = sP
Chaves utilizadas (ID-Based) Par de chaves baseadas em identidade (QID,SID): Onde QIDe SID G1 e existe uma Autoridade de Confiança (Trust Authority – TA) com um par de chaves padrão (RTA, s)de modo que valem as seguintes relações: e Onde ID é o string identificador (por exemplo: benits@ime.usp.br) SID = sQID QID = H1 (ID) Hash
Short Signatures[2] Seja s chave privada padrão de Beto. Uma mensagem m pode ser assinada por Beto da seguinte forma: Assinatura Calcula: V = sH1(m) Verificação a assinatura V é válida se a seguinte equação for verdadeira: t(P,V) = t(R, H1(m)) Dem.
Criptografia baseada em identidade (IBE) Sejam : (QBeto, SBeto): par de chaves pública/ privada baseadas em identidade; RTA:chave pública padrão de uma autoridade de confiança; e m: mensagem a ser transmitida de Alice para Beto OBS. O esquema apresentado a seguir [1] é ID-OWE. Para um esquema ID-CCA é necessária a aplicação da Transformação de Fujisaki-Okamoto [6]
Criptografia baseada em identidade (IBE) Criptografia Alice calcula: r : elemento aleatório de Fq O texto cifrado é (U,V) U = rP V = m H3(t (RTA, rQBeto)) Decriptografia Beto calcula: m = V H3(t(U, SBeto)) Hash Dem.
Assinaturas baseadas em identidade [5] r = t(P,P)k onde k é um elemento aleatório de Fq Assinatura Beto calcula Em seguida, calcula E, finalmente: A assinatura de m é (U,h) h = H2(m || r) U = hSBeto + kP Hash
Assinaturas baseadas em identidade Verificação Se Alice deseja verificar se a assinatura é realmente de Beto, o faz da seguinte forma: Calcula E aceita a assinatura como válida se e somente se r = t(U,P). t(QBeto, -RTA)h h = H2(m || r) Dem.
Sigilo e Autenticidade Assim como na criptografia assimétrica padrão, podemos garantir o sigilo e a autenticidade de uma mensagem em um esquema baseado em identidade se associarmos assinatura com criptografia. Desta forma, se Alice quiser enviar uma mensagem sigilosa para Beto de forma que somente ele conseguirá decifrar, e onde Beto terá a certeza de que a mensagem foi enviada por Alice, faz da seguinte forma:
Sigilo e Autenticidade Assina m (Short signature) Alice m V = sH1(m) Beto Criptografa m (IBE) (U,W) m Beto, recebendo (U,W), decriptografa e recupera m; em seguida, usa m para verificar a assinatura e autenticar Alice.
Vantagens e Desvantagens sistema ID-based VANTAGENS • Não é necessário um diretório de chaves públicas; • Alice pode enviar mensagens cifradas para Beto mesmo se ele ainda não obteve seu par de chaves do Gerador de Chaves Privadas (PKG); • Não é necessário Alice obter o certificado da chave pública de Beto;
Vantagens e Desvantagens sistema ID-based DESVANTAGENS • O PKG tem conhecimento da chave privada de Beto - (key escrow); • Dificuldade de implementação do Tate pairing (Curvas Elípticas).
Múltiplos PKG A desvantagem de o PKG conhecer a chave privada de seus clientes pode ser resolvida utilizando-se múltiplos PKG, da seguinte forma: Cada TA gera sua própria chave privada (padrão) siindependente das demais e publica RTAi = siP. A chave pública mestre das TA seráRTA = iRTAi Um usuário Beto obtém sua chave privada ID-based de cada TA : S(i)Beto = siQBeto e calcula sua chave privada SBeto = iS(i)Beto OBS. Este somatório é possível já que SBetoe RTA são pontos de uma curva elíptica
Seminários futuros • Aplicações de criptossistemas ID-based • Estrutura PKI e sua vulnerabilidade • Signcryption scheme • Hierarquia de sistemas ID-based • Criptografia em Curvas Elípticas
Problema do logaritmo discreto (PLD) Dados a, p e x, é “fácil” calcular y = ax mod p; Porém, dadosa, p e y, é “difícil”calcularx. Em Curvas Elípticas (PLD-CE) Dados s e P, é “fácil” calcular R = sP Porém, dados Re P, é “difícil” calcular s.
Soma de pontos de uma C.E. (método algébrico) • Sejam P=(x1,y1) e Q=(x2,y2) dois pontos sobre a curva elíptica E; • se x2=x1 e y2= - y1, então P+Q = O, senão: x3 = 2 - x1 - x2 y3 = (x1 - x3) - y1 P+Q=(x3,y3), onde: • Finalmente, defina P+O = O+P = P , P E.
-R Q R=P+Q P Soma de pontos de uma C.E. (método gráfico, com nos reais) Ex. Gráfico de y2 = x3 - 7x + 5:
Bilinearidade Se uma função tem a propriedade de ser bilinear, podemos mover livremente expoentes e multiplicadores, ou seja: t (aP, bQ)c = t (bP, cQ)a= t (bP, aQ)c = t (cP, aQ)b= t (cP, bQ)a = t (abP, Q)c= t (abP, cQ) = t (P, abQ)c= t (cP, abQ) = ... = t (abcP, Q) = t (P, abcQ) = t (P, Q)abc
Criptanálise – Tipos de Ataques [11] Ataque por só texto ilegível – O criptanalista Carlos tenta adquirir conhecimento útil à quebra, analisando apenas um ou mais ilegíveis y. Se este tipo de ataque for computacionalmente viável, o algoritmo em questão é considerado totalmente inseguro e inútil; Ataque por texto legível conhecido – O criptanalista Carlos possui e analisa pares (x,y) de legível e ilegível correspondentes. Neste e nos tipos de ataque a seguir, o criptanalista tem acesso ao algoritmo (sem conhecer a chave K) e não é necessariamente um mal-intencionado ou intruso: pode ser um especialista que objetiva descobrir se o algoritmo é vulnerável a este tipo de ataque, sendo que o algoritmo fora projetado por outra pessoa, eventualmente;
Criptanálise – Tipos de Ataques Ataque por texto legível escolhido – Além do suposto no tipo anterior, o criptanalista Carlos pode escolher os legíveis x e obter os y correspondentes. Ele vai escolher um x que apresente alguma característica estrutural que aumente o seu conhecimento do algoritmo e da chave em uso. Com o conhecimento adquirido, ele pode deduzir o legível correspondente a um ilegível novo; Ataque adaptativo por texto legível escolhido – Além do suposto no tipo anterior, a escolha de um novo x pelo criptanalista Carlos pode depender dos ilegíveis y’ analisados anteriormente. Desta forma, a escolha de um novo x é condicionada ao conhecimento já adquirido pela análise dos y’ anteriores;
Criptanálise – Tipos de Ataques Ataque por texto ilegível escolhido – o criptanalista Carlos escolhe inicialmente o ilegível y e então obtém o legível x correspondente. Supõe-se que Carlos tenha acesso apenas ao algoritmo de decriptografia (sem ter acesso à chave) e o seu objetivo é, mais tarde, sem ter mais acesso à decriptografia, ser capaz de deduzir x correspondente a um y novo; Ataque adaptativo por texto ilegível escolhido – Além do suposto no tipo anterior, a escolha de um novo y pelo criptanalista Carlos pode depender dos ilegíveis y’ analisados anteriormente. Desta forma, a escolha de um novo y é condicionada ao conhecimento já adquirido pela análise dos y’ anteriores.
ID-OWE X ID-CCA Dizemos que um esquema é ID-OWE (One Way Encyption) se um adversário não pode recuperar um texto claro aleatório na sua totalidade se tiver acesso apenas à criptografia deste texto. Dizemos que um esquema é ID-CCA (Chosen Ciphertext Adaptive) se um adversário não consegue recuperar um texto claro, dado que pode obter de um oráculo público a decriptografia de textos de sua escolha (exceto, obviamente, o texto que pretende decriptografar). Este nível é o mais seguro comparado com o ID-OWE.
Short Signatures Dem. t(P,V) = t(P, sH1(m)), pois V = sH1(m) = t(P, H1(m))s,por bilinearidade = t(sP, H1(m)), por bilinearidade = t(R, H1(m)), pois R = sP Logo, se V = sH1(m), então t(P,V) = t(R, H1(m)). (c.q.d.)
Criptografia baseada em identidade (IBE) Dem. V H3(t(U, SBeto)) = V H3(t(rP, SBeto), pois U = rP = V H3(t(rP, sQBeto),pois Sbeto= sQBeto= V H3(t(P, QBeto)rs, por bilinearidade = V H3(t(sP, rQBeto), por bilinearidade = V H3(t(RTA, rQBeto), pois RTA= sP = m, pois V = m H3(t(RTA, rQBeto) Logo, V H3(t(U, SBeto)) = m (c.q.d.)
Assinaturas baseadas em identidade Dem. t(U,P). t(QBeto, -RTA)h = t(hSBeto + kP,P). t(QBeto, -RTA)h = t(hSBeto + kP,P). t(QBeto, -sP)h = t(hSBeto + kP,P). t(QBeto, -P)sh = t(hSBeto + kP,P). t(sQBeto, P)-h = t(hSBeto + kP,P). t(Sbeto, P)-h = t(hSBeto + kP,P). t(-hSbeto, P) = t(hSBeto – hSbeto + kP, P) = t(kP, P) = t(P,P)k = r( c.q.d.)
Verificação Dem. t(C2, Rime) = t(rQime, Rime) = t(Qime, rRime) = t(Qime, C3) c.q.d. t(P, C1) = t(P, rs2Qime) = t(s2P, rQime) = t(Rusp, C2) c.q.d.
Referências • D. Boneh and M.Franklin. Identity Based Encryption from the Weil Pairing. 2001. • D. Boneth, B. Lynn and H. Shacham. Short Signature from the Weil Pairing. 2001. • J.C. Cha and J.H. Cheon. An Identity-based Signature from gap Diffie-Hellman.2002. • C. Cocks. An Identity Based Encryption Scheme Based on Quadratic Residues. 2001. • C. Ellison and B. Frantz. SPKI Certificate Theory. 1999. • E. Fujisaki and T. Okamoto. Secure Integration of Asymmetric and Symmetric Encryption Schemes • F. Hess. Efficient Identity Based Signature Schemes Based on Pairings. 2002. • J. Horowitz and B. Lynn. Hierarchical Identity-Based Encryption. 2002. • K. Paterson. ID-Based Signatures from Pairings on Elliptic Curves. 2002. • A. Shamir. Identity Based Cryptosystems and Signature Schemes. 1985. • R. Terada. Segurança de Dados – Criptografia em Redes de Computador. 2000. • W.Stallings Cryptography and Network Security, 3rd ed. 2002