Modelos de Criptografia de Chave P´
ublica
Alternativos
Denise Goya
Vilc Rufino
Poli – USP
Seguran¸
ca em Redes de Computadores
PCS-5734 – Prof. Paulo Barreto
Agosto/2008
Sum´
ario
1
Introdu¸
c˜
ao
Modelo com ICP e motiva¸
c˜
oes
Exemplo de ICP
N´ıvel de confian¸
ca
2
Modelos alternativos
Baseado em identidade (ID-based)
Auto-certificado (Self-certified)
Sem certificado (Certificateless)
Baseado em certificado (Certificate-based)
3
Conclus˜
ao
Considera¸
c˜
oes finais
Referˆ
encias
Modelo com ICP e motiva¸c˜
oes
Criptografia de chave p´
ublica:
Requer formas de legitima¸c˜
ao das chaves p´
ublicas;
Solu¸
c˜
ao comum ´
e uso de uma infra-estrutura de chaves
p´
ublicas (ICP ou PKI – Public Key Infrastructure).
Algumas dificuldades com ICP:
processos complexos de implanta¸c˜
ao e manuten¸c˜
ao da
infra-estrutura;
custos de emiss˜
ao e distribui¸
c˜
ao de certificados;
custos para recuperar e validar certificados;
dificuldades com revoga¸
c˜
ao de certificados.
Gerar chaves no modelo com ICP
Cifrar no modelo com ICP
Assinar no modelo com ICP
N´ıvel de confian¸ca
N´ıveis de confian¸
ca, de [Girault 91]:
N´ıvel 1.
autoridade conhece (ou calcula facilmente)
chaves secretas dos usu´
arios; pode personificar
qualquer entidade sem ser detectada;
N´ıvel 2.
autoridade desconhece (ou dificilmente calcula)
chaves secretas dos usu´
arios; pode personificar
qualquer entidade, gerando falsas chaves
p´
ublicas, sem ser detectada;
N´ıvel 3.
autoridade desconhece (ou dificilmente calcula)
chaves secretas dos usu´
arios; pode personificar
qualquer entidade, por´
em ´
e detectada;
Modelo convencional com ICP: N´ıvel 3.
Modelos alternativos
Existem modelos de criptografia de chave p´
ublica que
dispensam a necessidade de ICP:
Modelo baseado em identidade;
Modelo auto-certificado;
Modelo sem certificado;
E outros que simplificam a infra-estrutura necess´
aria:
Modelo baseado em certificado;
Modelo baseado em identidade
Modelo criptogr´
afico baseado na identidade do usu´
ario;
Dispensa a ICP, pois a chave p´
ublica ´
e a pr´
opria
identidade do
usu´
ario
(nome, endere¸
co de email, CPF, n
o
celular, ID de
dispositivos eletrˆ
onicos).
Hist´
orico
Conceito proposto por [Shamir 84];
Modelo de [Shamir 84] era baseado na dificuldade de
fatora¸c˜
ao de grandes n´
umeros;
At´
e 2001 as solu¸
c˜
oes n˜
ao eram totalmente satisfat´
oria;
[Boneh, Franklin 01] apresentam em evento internacional um
modelo satisfat´
orio baseado no emparelhamento bilinear sobre
curvas el´ıpticas;
Desde ent˜
ao: mais pesquisas em ID-based, e implementa¸
c˜
oes
comerciais;
[Boneh et al. 07] retornam com implementa¸
c˜
ao sem o uso de
emparelhamento bilinear com modelo similar ao de [Cocks 01].
Como funciona
A chave p´
ublica ´
e predeterminada, pois ´
e a identidade do
usu´
ario.
O modelo requer uma autoridade confi´
avel, ´
unica e detentora
da
chave-mestra secreta
: Gerador de chaves particulares (
PKG
– Private Key Generator)
PKG usa a chave-mestra secreta para calcular a chave privada
da respectiva identidade;
Entrega a chave privada de forma segura.
Criar chaves no modelo baseado em identidade
Criar chaves no modelo baseado em identidade
Criar chaves no modelo baseado em identidade
Criar chaves no modelo baseado em identidade
Cifrar no modelo baseado em identidades
Para cifrar: Usa-se a identidade do destinat´
ario e a chave
p´
ublica do PKG.
Para decifrar: Usa-se a chave privada do destinat´
ario.
Cifrar no modelo baseado em identidades
Assinar no modelo baseado em identidades
Para assinar: Usa-se a chave privada do remetente.
Para verificar a assinatura: Usa-se a identidade do remetente
e a chave p´
ublica do PKG.
Assinar no modelo baseado em identidades
Propriedades
Cust´
odia de chaves (key escrow):
PKG conhece a chave secreta de todos os usu´
arios;
Irretratabilidade (invi´
avel);
Criticidade da chave-mestra;
N´ıvel de confian¸
ca: N´ıvel 1.
Revoga¸c˜
ao de chaves p´
ublicas:
Exemplo:
ID comprometido = JoaoSilva-deJan08aDez08;
ID novo = JoaoSilva-deAgo08aDez08;
Propriedades
Fluxo criptogr´
afico (seq¨
uˆ
encia de opera¸
c˜
oes criptogr´
aficas):
´
E poss´ıvel cifrar para um usu´
ario antes que sua chave secreta
tenha sido gerada.
Uso:
Ideal para uso em grupos fechados [Shamir 84];
Servi¸
cos com disponibilidade temporal [Misaghi 08];
Envio de mensagens seguras baseado em pap´
eis [Misaghi 08];
Redes tolerantes a interrup¸c˜
ao e atraso [Misaghi 08];
Alternativa para SSL/TLS [Crampton et al. 07].
Criptografia de chave p´
ublica auto-certificada
Dispensa a necessidade de ICP, pois a chave p´
ublica ´
e
auto-certificada, isto ´
e depende:
da identidade do usu´
ario;
do segredo da autoridade;
do segredo do usu´
ario;
Uma chave p´
ublica falsa impede a correta invers˜
ao da
opera¸
c˜
ao criptogr´
afica (certifica¸
c˜
ao impl´ıcita).
Hist´
orico
Conceito proposto por [Girault 91];
Assinatura de [Girault 91] continha uma falha, corrigida por
[Saeednia 03]:
o primeiro foi rebaixado ao n´ıvel 1 de confian¸
ca;
o segundo alcan¸
ca n´ıvel 3, por´
em com custo computacional
alto;
Trabalhos subseq¨
uentes s˜
ao variantes do original:
[Lee, Kim 02]: assinatura auto-certificada (SCS);
[Tzong, Han 08]: cifra autenticada convers´ıvel (CAE);
Como funciona
Protocolo de gera¸c˜
ao do par de chaves envolve comunica¸
c˜
ao
entre usu´
ario e autoridade, cada qual camufla seu segredo e
entrega ao outro;
Dependendo do protocolo, a chave p´
ublica ´
e gerada pelo
usu´
ario ou pela autoridade;
Em todos os casos, s´
o o usu´
ario conhece sua chave secreta
(sem cust´
odia de chaves).
Criar chaves no modelo auto-certificado
Modelo de criptografia de chave p´
ublica sem certificados
Conceito proposto por [Al-Riyami, Paterson 03];
Combina¸
c˜
ao de id´
eias dos modelos auto-certificado e baseado
em identidade;
Resultado obtido: modelo intermedi´
ario entre baseado em
identidade e convencional:
usa a identidade como parte da chave p´
ublica;
dispensa necessidade de certificados digitais (certifica¸
c˜
ao
impl´ıcita);
elimina cust´
odia de chaves (inerente ao baseado em
identidade);
Como funciona
Modelo requer uma autoridade confi´
avel para gerar as chaves
secretas parciais: Centro gerador de chaves (
KGC
– Key
Generating Centre)
KGC usa a chave-mestra secreta e
identidade
do us´
ario para
calcular a
chave secreta parcial
da respectiva identidade;
Usu´
ario usa duas chaves secretas parciais (KGC e pr´
opria) e
gera a chave secreta completa.
Usu´
ario usa a pr´
opria chave secreta parcial e gera chave
p´
ublica.
Gerar chaves no modelo sem certificado
Gerar chaves no modelo sem certificado
Gerar chaves no modelo sem certificado
Gerar chaves no modelo sem certificado
Gerar chaves no modelo sem certificado
Gerar chaves no modelo sem certificado
Cifrar e assinar no modelo sem certificado
Para cifrar uma mensagem para A ou para verificar uma
assinatura de A, entidade B usa:
a chave p´
ublica de A;
mais a
identidade
de A.
Para decifrar uma mensagem para A ou para criar uma
assinatura de A, ´
e necess´
ario:
chave secreta completa de A;
mais a
identidade
de A.
Cifrar no modelo sem certificado
Assinar no modelo sem certificado
Propriedades
N´ıvel de confian¸
ca: N´ıvel 2.
KGC n˜
ao ´
e detectado se substituir chaves p´
ublicas;
Se incluir a chave p´
ublica no c´
alculo da chave parcial:
garante irretratabilidade;
aumenta n´ıvel de confian¸
ca (ainda n˜
ao atinge n´ıvel 3);
tentativa de personifica¸
c˜
ao ´
e detectada;
por´
em n˜
ao h´
a como provar quem fraudou.
Propriedades
Menor grau de criticidade da chave-mestra:
corrompimento da chave-mestra do KGC compromete apenas
as chaves parciais;
Chave p´
ublica pode ser criada antes que KGC gere a chave
secreta parcial (aplica¸
c˜
oes de fluxo criptogr´
afico);
Ideal para uso em grupos fechados.
Modelo de criptografia de chave p´
ublica baseado em
certificado
Conceito proposto por [Gentry 03];
Vantagens:
Minimiza o tr´
afego de distribui¸
c˜
ao de certificados;
Elimina tr´
afego de valida¸
c˜
ao dos certificados.
Como funciona
O usu´
ario cria seu par de chaves;
AC gera um certificado para o usu´
ario e per´ıodo i ;
Para cifrar:
n˜
ao
´
e necess´
ario certificado;
´
e preciso chave p´
ublica,
identidade
e per´ıodo i .
Para decifrar:
´
e preciso chave secreta e certificado para o per´ıodo i .
Gerar chaves no modelo baseado em certificado
Cifrar no modelo baseado em certificado
Propriedades
Continua requerendo ICP, por´
em com tr´
afego menor:
somente o pr´
oprio usu´
ario obt´
em seu certificado;
n˜
ao ´
e necess´
ario transmitir informa¸c˜
oes de estado do
certificado;
N´ıvel de confian¸
ca: N´ıvel 3;
Constru¸
c˜
oes gen´
ericas CB=⇒CL ou CL=⇒CB em aberto;
Existem outros modelos que simplificam ICP.
Atributos em criptografia de chave p´
ublica: (Id , s, P, G )
Modelo com ICP:
s
, P,
G = Σ
ac
(Id , P)
Baseado em identidade:
(Id = P,
G =
s
)
Auto-certificado:
(
s
, P
(
s,ac
,Id )
,
G = P
)
Sem certificado:
Id , s
(
x
,Σ
ac(Id ))
, P,
G =
s
Baseado em certificado:
Id , s
(
x
,C )
, P,
G = C = Σ
ac
(Id , i )
Compara¸c˜
ao dos modelos
Modelos
Proprieadades Com Baseado em Auto Sem Baseado em dos modelos ICP Identidade Certificado Certificado Certificado
Dispensa ICP n˜ao sim sim sim n˜ao
Dispensa distribui¸c˜ao de certificados n˜ao sim sim sim n˜ao Requer diret´orio de chaves p´ublicas sim n˜ao sim sim sim
N´ıvel de confian¸ca 3 1 3(*) 2 3
Cust´odia de Chaves n˜ao sim n˜ao n˜ao n˜ao Irretratabilidade sim n˜ao sim(*) sim(**) sim(***) Criticidade da chave-mestra alto alto m´edio m´edio m´edio Requer canal seguro para n˜ao sim sim(*) sim n˜ao distribui¸c˜ao de chaves
Renova¸c˜ao de chaves n˜ao n˜ao sim(*) sim n˜ao Controlada pelo usu´ario
Fluxo criptogr´afico n˜ao sim n˜ao sim n˜ao (*) Depende do protocolo
(**) Se garantir que KGC n˜ao substitui chaves p´ublicas
(***) Se garantir que quem substitui chaves p´ublicas n˜ao obt´em certificados