Sistemas criptográficos
Sistemas criptográficos
baseados em identidades
baseados em identidades
pessoais
pessoais
Waldyr Dias Benits Jr.
benits@ime.usp.br
Routo Terada, prof. Dr.
rt@ime.usp.br
Sumário
Sumário
1. Principais problemas encontrados em criptografia simétrica e assimétrica
2. Conceitos fundamentais de criptografia com curvas elípticas e emparelhamentos
3. Sistemas criptográficos baseados em identidades 4. Variações esquemas assinaturas
5. PKG não-confiável
6. Aplicações e hierarquia
Objetivos
Objetivos
Este
trabalho
tem
como
objetivos
principais:
Estudar
os
sistemas
criptográficos
baseados em identidade
e os conceitos
fundamentais de
criptografia com curvas
elípticas e emparelhamentos.
Objetivos
Objetivos
(secundários)
(secundários)
Elaborar um documento de referência;
Estudar detalhadamente um esquema de
assinatura & criptografia em um único
passo (signcryption);
Implementar de forma didática um protótipo
de um sistema baseado em identidades.
Além disso, veremos:
principais aplicações práticas;
variações em esquemas de assinaturas;
Contribuições
Contribuições
1.
Elaboração
de documento
em língua
portuguesa;
2.
Análise sobre a escolha do elemento
“aleatório” nos esquemas de B-F e ML e N-R;
3.
Variação no esquema B-F;
4.Comparação IBE X PKI;
5.
Implementação didática;
Sumário
Sumário
1. Principais problemas encontrados em criptografia simétrica e assimétrica
2. Conceitos fundamentais de criptografia com curvas elípticas e emparelhamentos
3. Sistemas criptográficos baseados em identidade 4. Variações esquemas assinaturas
5. PKG não-confiável
6. Aplicações e hierarquia
Principais
Principais
dificuldades
dificuldades
Tempo decorrido entre o comprometimento de uma chave e sua revogação
Necessidade de uma infra-estrutura para armazenar as chaves públicas
Como garantir que o detentor da chave pública é realmente quem diz ser ?
Assimétrica
Quantas chaves são necessárias para uma comunicação segura entre n pessoas ?
Como distribuir e armazenar as chaves secretas de forma segura ?
Simétrica
Sumário
Sumário
1. Principais problemas encontrados em criptografia simétrica e assimétrica
2. Conceitos fundamentais de criptografia com curvas elípticas e emparelhamentos
3. Sistemas criptográficos baseados em identidade 4. Variações esquemas assinaturas
5. PKG não-confiável
6. Aplicações e hierarquia
Curva elíptica sobre
Curva elíptica sobre
F
F
q
q
Seja Fq o conjunto de inteiros mod q, onde q é um número primo.
Uma curva elíptica E sobre Fq é definida pela seguinte equação:
Onde a, b ∈ Fq e 4a³ + 27b² ≠ 0 (mod q)
O conjunto E(Fq) consiste dos pontos (x,y), x ∈ Fq, y ∈ Fq, que satisfazem a equação, juntamente com o ponto no infinito O.
Algumas definições
Algumas definições
importantes
importantes
Ordem de um ponto
: é o menor inteiro
positivo t tal que t.P = O;
Ordem de uma curva
: é o número de
pontos (x,y) – além do ponto
O no
infinito - que satisfazem à equação da
curva;
Grau de imersão de uma curva
: é o
Sobre o
Sobre o
emparelhamento
emparelhamento
Sejam G
1e G
2grupos de ordem prima q.
Um
emparelhamento
é um mapeamento entre
estes grupos, tal que:
ê:
G
1X G
1→
G
2Para que possa ser usado em sistemas baseados
em identidades, deve satisfazer às propriedades:
1. Ser
bilinear
;
2. Ser
não degenerado
;
3. Ser
computável
.
e(aP, bQ) = e(P,Q)ab
Representação
Representação
Ponto
P
∈
E(F
q
):
par de inteiros
(x,y)
mod q
.
Ponto
Q
∈
E(F
qk
):
par de polinômios
(x(u), y(u)), onde
cada polinômio tem
grau menor do que k e
coeficientes em
F
q.
Operações algébricas em
F
qk:
são efetuadas módulo
um polinômio irredutível
m(u)
de grau k, sendo os
Exemplo de cálculo de
Exemplo de cálculo de
emparelhamento
emparelhamento
Seja E: y² = x³ + 6x + 8 a curva elíptica
definida sobre F
17Sejam P
∈
E(
F
q)
e Q
∈
E(
F
qk) pontos L.I.
14² (mod 17) = 9³ + 6.9 + 8 (mod 17) 9 = 9
Q = (13u
4+ 4u² + 1, 13u
5+ 6u³ + 5u)
e
t(P,Q) = 8u
5+ 15u
4+ 6u³ + 9u² + 16u + 5
Sumário
Sumário
1. Principais problemas encontrados em criptografia
simétrica e assimétrica
2. Conceitos fundamentais de criptografia com curvas
elípticas e emparelhamentos
3. Sistemas criptográficos baseados em identidades
a) Criptografia (Boneh e Franklin)
b) Assinatura (Hess)
c) Criptassinatura (Nalla e Reddy)
4. Variações esquemas assinaturas
5. PKG não-confiável
6. Aplicações e hierarquia
7. Implementação didática de um protótipo
Notações utilizadas
Notações utilizadas
G
1,
G
2: grupos de ordem prima q, onde o problema
do logaritmo discreto (PLD) é supostamente difícil e
para os quais existe um mapeamento bilinear
computável
e :
G
1X G
1→
G
2;Na prática:
G
1: grupo de pontos de uma curva elíptica
E(F
q)
G
2: subgrupo de um grupo multiplicativo de um
corpo finito
E(F
qk)
Prob
Prob
l
l
emas
emas
Diffie-
Diffie-Hellman
Hellman
Computacional (CDHP)
Computacional (CDHP)
Dados (
P
,
aP
,
bP
)
⊂
G
1, calcular
abP
Bilinear
Bilinear
(BDHP)
(BDHP)
Dados (
P
,
aP
,
bP
,
cP
)
⊂
G
1calcular
e(P,P)
abcSe CDHP é fácil, então BDHP é fácil: - Calcule abP;
- Calcule e(abP, cP) = e(P,P)abc
Porém, para determinados grupos:
Funções de
Funções de
hash
hash
H
1: {0,1}
*→
G
1;
H
2: {0,1}
*→
F
q;
H
3: G
2→
{0,1}
*;
H
4: {0,1}
*→
G
Chaves utilizadas
Chaves utilizadas
Par de chaves pública/particular padrão (
R
,
s
):
Par de chaves baseadas em identidade (
Q
ID,
S
ID):
R = sP
S
ID= sQ
IDQ
ID
= H
1(ID)
Criptografia baseada em
Criptografia baseada em
identidade
identidade
(IBE)
(IBE)
Criptografia (B & F)
Alice seleciona
r
aleatório em F
qe calcula:
(
P
∈
G
2)
O texto criptografado é
(U,V)
Criptografia baseada em
Criptografia baseada em
identidade
identidade
(IBE)
(IBE)
Demonstraçãoet(Sbeto, U) = et(Sbeto, rP), pois U = rP
= et(sQBeto, rP), pois Sbeto= sQBeto =
et(Qbeto, P)rs, por bilinearidade
= et(rQBeto, sP), por bilinearidade
Importância na escolha
Importância na escolha
de
de
Suponha que Alice escolhesse sempre o
r
r
mesmo
r
:
Para duas mensagens distintas, m
1e m
2, o valor
de U seria o mesmo e o valor de V seria
diferente, pois depende de m. Vamos chamar
estes valores de V
1e V
2.
Note que
H
3(
e
t(rQ
Beto, R
TA))
também não se altera,
pois depende de r.
Importância na escolha
Importância na escolha
de
de
Desta forma, teremos:
r
r
V
1= m
1⊕
x
V
2= m
2⊕
x
Se um intruso interceptar V
1e V
2, ele calcula:
V
= V
1⊕
V
2= (m
1⊕
x)
⊕
(m
2⊕
x)
= m
1⊕
m
2Variação B-F
Variação B-F
Note que
e
t(rQ
Beto,R
TA) =
e
t(S
beto, U) =
k
Na prática:
Criptografia assimétrica (IBE): canal seguro;
Criptografia simétrica: troca de mensagens.
V = E
k(m)
k : chave simétrica
entre Alice e Beto
Esquema B-F
→
protocolo (seguro) negociação
Variação B-F
Variação B-F
Beto precisa apenas ter certeza de que está falando com Alice:
Com assinatura Hess:
Alice assina k e envia para Beto;
Beto recupera k (usando S
beto ) e verifica se assinatura é válida
(usando Qalice)
Com esquema de assinatura com recuperação de mensagem:
Alice assina U e envia para Beto;
Beto usa Q
alice para verificar assinatura e recuperar U;
Beto, com U, calcula k.
Assinaturas baseadas em
Assinaturas baseadas em
identidade
identidade
Assinatura (Hess)
Assinaturas baseadas em
Assinaturas baseadas em
identidade
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
h = H2(m || r)
Criptassinatura de Nalla &
Criptassinatura de Nalla &
Reddy
Reddy
Alice quer enviar uma mensagem m para Beto:1 – Escolhe “a” aleatório em Fq 2 – Calcula R = aSalice h = H2(R || H3(et (Qbeto,Salice)) || m ) S = ahQalice ka = H3[et (Qbeto, Salice)ah] 3 – Faz C = ka ⊕ m
Criptassinatura de Nalla &
Criptassinatura de Nalla &
Reddy
Reddy
Beto, conhecendo R, S, C, Q
alice, Q
beto, S
beto, calcula:
k
b= H
3(
e
t(
S
beto, S))
m = k
b⊕
C
h = H
2(R ||
H
3(
e
t(S
beto, Q
alice))
|| m )
E verifica se
Sugestões ao artigo
Sugestões ao artigo
de N-R
de N-R
Artigo original
Sugestões
1
1
R’ = (R || H3(et(SA, QB)) || m) e cálculo de ka = H3[et (QB, SA)ah] Trocar et(SA, QB) por et (QB, SA)2
2
y = et(W, QB) no esquema ML e na verificação y = et(QB, W) Trocar et(W, QB) por et(QB, W)3
3
et(QB, W) não computado como pré-calculávelObservar que
et(QB, W) = et(QB, zRTA) = et(QB, RTA)z
4
4
Comparação com esquema assinatura Cha & CheonUsar esquema Hess (mais eficiente
5
Sumário
Sumário
1. Principais problemas encontrados em criptografia simétrica e assimétrica
2. Conceitos fundamentais de criptografia com curvas elípticas e emparelhamentos
3. Sistemas criptográficos baseados em identidade 4. Variações esquemas assinaturas
5. PKG não-confiável
6. Aplicações e hierarquia
Variações em esquemas de
Variações em esquemas de
Assinatura
Assinatura
Assinatura em anel (ring signature)
Garante anonimato do assinante.
Assinatura cega (blind signature)
Garante anonimato do usuário.
Assinante não tem conhecimento do conteúdo
Sumário
Sumário
1. Principais problemas encontrados em criptografia simétrica e assimétrica
2. Conceitos fundamentais de criptografia com curvas elípticas e emparelhamentos
3. Sistemas criptográficos baseados em identidade 4. Variações esquemas assinaturas
5. PKG não-confiável
6. Aplicações e hierarquia
Assinatura com PKG não
Assinatura com PKG não
confiável
confiável
Alice escolhe aleatoriamente r em Z*
q, calcula rP e
envia para o PKG, mantendo r em segredo.
Chave pública de Alice:
Chave particular de Alice:
Q
alice= H
1(ID
alice|| rP)
Assinatura com PKG não
Assinatura com PKG não
confiável
confiável
Assinatura
Para Alice assinar uma mensagem:
Segredo
r
de Alice
Escolhe aleatoriamente a em Z*
qe calcula:
U = aQ
aliceV =
r
H
1(m,U)
h = H
2(m, U + V)
W = (a + h)S
aliceAssinatura com PKG não
Assinatura com PKG não
confiável
confiável
Verificação
:
Beto calcula Q
alice, H
1(m,U) e h e aceita a assinatura
como válida se:
e
e
t(W,P) = e
t(U + hQ
alice, R
PKG)
Sumário
Sumário
1. Principais problemas encontrados em criptografia simétrica e assimétrica
2. Conceitos fundamentais de criptografia com curvas elípticas e emparelhamentos
3. Sistemas criptográficos baseados em identidade 4. Variações esquemas assinaturas
5. PKG não-confiável
6. Aplicações e hierarquia
Revogação de chaves
Revogação de chaves
públicas
públicas
Chaves públicas com prazo de validade
pré-estabelecido
→
acrescentar o período de
validade no ID:
Exemplo:
ID = Alice@ime.usp.br || 2003 ou
ID = Alice@ime.usp.br || outubro2003
Hierarquia
Hierarquia
Ponto de partida.
Porém:
foco em outros assuntos:
Sumário
Sumário
1. Principais problemas encontrados em criptografia simétrica e assimétrica
2. Conceitos fundamentais de criptografia com curvas elípticas e emparelhamentos
3. Sistemas criptográficos baseados em identidade 4. Variações esquemas assinaturas
5. PKG não-confiável 6. Aplicações
7. Hierarquia
Implementação
Implementação
Linguagem
ANSI-C
;
Uso de valores didáticos:
Sumário
Sumário
1. Principais problemas encontrados em criptografia simétrica e assimétrica
2. Conceitos fundamentais de criptografia com curvas elípticas e emparelhamentos
3. Sistemas criptográficos baseados em identidade 4. Variações esquemas assinaturas
5. PKG não-confiável 6. Aplicações
7. Hierarquia
Vantagens e
Vantagens e
desvantagens
desvantagens
VANTAGENS
Não necessidade de um diretório de chaves públicas;
Entidade que possua par de chaves padrão ⇒ papel de
PKG;
PKG: conhece todas as chaves particulares de seus
usuários;
Envio de mensagens criptografadas antes da obtenção
da chave particular junto ao PKG;
Vantagens e
Vantagens e
desvantagens
desvantagens
DESVANTAGENS
PKG: conhece todas as chaves particulares de
seus usuários;
Dificuldade
de
implementação
do
emparelhamento de Tate;
Desempenho: assinatura e criptografia mais
Trabalhos Futuros
Trabalhos Futuros
1. Modificação da implementação para permitir uso de
parâmetros utilizados na prática;
2. Testes contra os principais ataques conhecidos;
3. Provas formais de segurança;
4. Otimização da implementação;
5. Cálculo da raiz quadrada em Fqk;
6. Geração do ponto em E(Fqk) e do polinômio primo em
Fqk
;
7. Cálculo da ordem da curva de forma eficiente;
8. Comparação do esquema B-F modificado com outros
Artigos
Artigos
(Benits -
(Benits -
Terada)
Terada)
1.Sistemas criptográficos baseados em
identidades pessoais
– publicado na
revista
científica
Pesquisa
Naval
(suplemento da Revista Marítima
Brasileira), ISSN 1414-8595, nº 16 –
setembro de 2003, cap. X p. 115 a
127;
F I
F I
M
Referências
Referências
[BAR 99] BARRETO, P. Curvas Elípticas e Criptografia: Conceitos e Algoritmos. Disponível em <http://planeta.terra.com.br/informatica/paulobarreto>. Acesso em: 25 mar. 2003.
[BAR 02] BARRETO, P.; KIM, H.; LYNN, B. Eficient Algorithms for Pairing-Based Cryptosystems. In: Lecture Notes in Computer Science, v.2442, p.354368. Springer-Verlag, 2002. Advances in Cryptology - Crypto'2002.
[BAR 03] BARRETO, P.; LYNN, B.; SCOTT, M. On the selection of Pairing-Friendly Groups. Disponível em <http://eprint.iacr.org/2003/086>. Acesso em: 04 mai. 2003.
Referências
Referências
[CHA 02] CHA, J. C.; CHEON, J. H. An Identity-based Signature from gap Die-Hellman groups. In: Lecture Notes in Computer Science, v.2567, p.1830. Springer-Verlag, 2002.
[CHE 02] CHEN, L. et al. Certication of Public Keys within an Identity-Based System. In: Lecture Notes in Computer Science, v.2433, p.322333. Springer-Verlag, 2002. 5th International Security Conference - ISC 2002.
[CHE 03] CHEN, X.; ZHANG, F.; KIM, K. A New ID-based Group Signature Scheme from Bilinear Pairings. Disponível em <http://eprint.iacr.org/2003/116>. Acesso em: 06 jun. 2003. Cryptology ePrint Archive, Report 2003/116.