Post on 03-Feb-2016
description
Mar/2003 1
set/2002
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 OS E M I N Á R I O
Mar/2003 2
set/2002
Criptossistemas baseados em Criptossistemas baseados em identidades pessoaisidentidades pessoais
(Apresentado por Waldyr Dias Benits Junior e Mehran Misaghi)
Mar/2003 3
set/2002
SUMÁRIOSUMÁRIO
Criptografia simétrica X assimétrica
Principais tipos de ataques
Criptossistemas baseados em identidade (Identity-based Cryptosystems)
Vantagens e Desvantagens principais
Mar/2003 4
set/2002
“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
MOTIVAÇÃOMOTIVAÇÃO
Mar/2003 5
set/2002
PropostaPropostaApresentar 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.
Mar/2003 6
set/2002
I N T R O D U Ç Ã OI N T R O D U Ç Ã O
Mar/2003 7
set/2002
TextoAberto
Chave Secreta
TextoAberto
TextoCifrado
Algoritmo deCifragem
(ex : DES)
Algoritmo deDecifragem
(Inverso da cifragem)
Criptografia SimétricaCriptografia SimétricaCanal Seguro
Mar/2003 8
set/2002
Características ImportantesCaracterí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
Mar/2003 9
set/2002
Anel de Chaves Públicas
de AliceJoão
PedroBeto
José
Esquema de Criptografia AssimétricaEsquema de Criptografia Assimétrica
TextoAberto
TextoAbertoAlgoritmo de
Cifragem(ex: RSA)
Algoritmo deDecifragem
Texto Cifrado
Chave Privadade Beto
Mar/2003 10
set/2002
Problemas a serem gerenciadosProblemas a serem gerenciadosCriptografia 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
Mar/2003 11
set/2002
Nº de chaves necessáriasNº de chaves necessárias
3212016
16288
864
412
Criptografia Assimétrica
2n
Criptografia Simétrica
n(n-1)/2
nº de participantes
Mar/2003 12
set/2002
CRIPTOSSISTEMAS CRIPTOSSISTEMAS BASEADOS EM BASEADOS EM
IDENTIDADEIDENTIDADE
Mar/2003 13
set/2002
HistóricoHistó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.
Mar/2003 14
set/2002
HistóricoHistóricoO 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.
Mar/2003 15
set/2002
HistóricoHistóricoA 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).
Mar/2003 16
set/2002
Notações utilizadasNotações utilizadasG1, 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 Tate pairing
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
Mar/2003 17
set/2002
Funções de HashFunçõ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}*.
Mar/2003 18
set/2002
Chaves utilizadas (Chaves utilizadas (StandardStandard))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
Mar/2003 19
set/2002
Chaves utilizadas (Chaves utilizadas (ID-BasedID-Based))Par de chaves baseadas em identidade (QID,SID):
Onde QID e 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
Mar/2003 20
set/2002
Short SignaturesShort Signatures [2] Seja s chave privada padrão de Beto. Uma mensagem m pode ser assinada por Beto da seguinte forma:
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.
Assinatura
Calcula:
Mar/2003 21
set/2002
Criptografia baseada em identidade (IBE)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]
Mar/2003 22
set/2002
Criptografia baseada em identidade (IBE)Criptografia baseada em identidade (IBE)CriptografiaAlice calcula:
r : elemento aleatório de Fq
O texto cifrado é (U,V)
U = rP
V = m H3(t (RTA, rQBeto))
DecriptografiaBeto calcula: m = V H3(t(U, SBeto))
Dem.Hash
Mar/2003 23
set/2002
Assinaturas baseadas em identidade Assinaturas baseadas em identidade [5][5]
AssinaturaBeto calcula
Em seguida, calcula
E, finalmente:
A assinatura de m é (U,h)
r = t(P,P)k
h = H2(m || r)
U = hSBeto + kP
onde k é um elemento aleatório de Fq
Hash
Mar/2003 24
set/2002
Assinaturas baseadas em identidadeAssinaturas baseadas em identidadeVerificaçãoSe 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 h = H2(m || r)
r = t(U,P). t(QBeto, -RTA)h
Dem.
Mar/2003 25
set/2002
Sigilo e AutenticidadeSigilo e AutenticidadeAssim 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:
Mar/2003 26
set/2002
Sigilo e AutenticidadeSigilo e Autenticidade
Assina m(Short signature)
Criptografa m (IBE)
m
m
V = sH1(m)
(U,W)
Alice Beto
Beto, recebendo (U,W), decriptografa e recupera m; em seguida, usa m para verificar a assinatura e autenticar Alice.
Mar/2003 27
set/2002
Vantagens e Desvantagens sistema ID-basedVantagens 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;
Mar/2003 28
set/2002
Vantagens e Desvantagens sistema ID-basedVantagens 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).
Mar/2003 29
set/2002
Múltiplos PKGMúltiplos PKGA 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) si independente das demais e publica RTAi = siP. A chave pública mestre das TA será RTA = i RTAi
Um usuário Beto obtém sua chave privada ID-based de cada TA : S(i) Beto = siQBeto e calcula sua chave privada
SBeto = i S(i) Beto
OBS. Este somatório é possível já que SBetoe RTA são pontos de uma curva elíptica
Mar/2003 30
set/2002
C O N C L U S Ã OC O N C L U S Ã O
Mar/2003 31
set/2002
Seminários futurosSeminá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
Mar/2003 32
set/2002
P E R G U N T A SP E R G U N T A S
FIM
Mar/2003 33
set/2002
A P Ê N D I C E SA P Ê N D I C E S
Mar/2003 34
set/2002
Problema do logaritmo discreto (PLD)Problema do logaritmo discreto (PLD)
Dados a, p e x, é “fácil” calcular y = ax mod p;
Porém, dados a, p e y, é “difícil” calcular x.
Em Curvas Elípticas (PLD-CE)Em Curvas Elípticas (PLD-CE)Dados s e P, é “fácil” calcular R = sP
Porém, dados R e P, é “difícil” calcular s.
Mar/2003 35
set/2002
Soma de pontos de uma C.E. Soma de pontos de uma C.E. (método algébrico)(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:
QPse
y2ax3
QPsexxyy
1
21
12
12
Finalmente, defina P+O = O+P = P , P E.
Mar/2003 36
set/2002
P
Q-R
R=P+Q
Soma de pontos de uma C.E. Soma de pontos de uma C.E. (método gráfico, com n(método gráfico, com nosos reais) reais)Ex. Gráfico de y2 = x3 - 7x + 5:
Mar/2003 37
set/2002
BilinearidadeBilinearidade
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
Mar/2003 38
set/2002
Criptanálise – Tipos de Ataques Criptanálise – Tipos de Ataques [11][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;
Mar/2003 39
set/2002
Criptanálise – Tipos de AtaquesCriptanálise – Tipos de AtaquesAtaque 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;
Mar/2003 40
set/2002
Criptanálise – Tipos de AtaquesCriptanálise – Tipos de AtaquesAtaque 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.
Mar/2003 41
set/2002
ID-OWE ID-OWE XX ID-CCA ID-CCADizemos 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.
Mar/2003 42
set/2002
Short SignaturesShort SignaturesDem.
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.)
Mar/2003 43
set/2002
Criptografia baseada em identidade (IBE)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.)
Mar/2003 44
set/2002
Assinaturas baseadas em identidadeAssinaturas baseadas em identidadeDem.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.)
Mar/2003 45
set/2002
VerificaçãoVerificaçãoDem.
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.
Mar/2003 46
set/2002
ReferênciasReferê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
Mar/2003 47
set/2002
F I MF I M