A criptografia baseada em identidade (do inglês, Identity-based encryption - IBE) é uma primitiva importante da criptografia baseada em identidade. Como tal, é um tipo de criptografia de chave pública na qual a chave pública de um usuário é alguma informação exclusiva sobre a sua identidade (por exemplo, o endereço de e-mail de um usuário). Isso significa que um remetente que tenha acesso aos parâmetros públicos do sistema pode criptografar uma mensagem usando, por exemplo, o valor em texto do nome ou do endereço de e-mail do destinatário como uma chave. O destinatário obtém sua chave de descriptografia de uma autoridade central, a qual precisa ser confiável, uma vez que gera chaves secretas para todos os usuários.
A criptografia baseada em identidade foi proposta por Adi Shamir em 1984. No entanto, ele só foi capaz de fornecer uma instanciação de assinaturas baseadas em identidade. A criptografia baseada em identidade permaneceu como um problema em aberto por muitos anos.
O esquema de Boneh–Franklin baseado em emparelhamento e o esquema de criptografia de Cocks baseado em resíduos quadráticos resolveram o problema da IBE em 2001.
Uso Os sistemas baseados em identidade permitem que qualquer parte gere uma chave pública a partir de um valor de identidade conhecido, como uma string ASCII. Uma terceira parte confiável, chamada de Gerador de Chave Privada (do inglês, Private Key Generator - PKG), gera as chaves privadas correspondentes. Para operar, o PKG primeiro publica uma chave pública mestre e retém a chave privada mestre correspondente (conhecida apenas como chave mestre). Dada a chave pública mestre, qualquer parte pode computar uma chave pública correspondente à identidade combinando a chave pública mestre com o valor da identidade. Para obter uma chave privada correspondente, a parte autorizada a usar a identidade ID entra em contato com o PKG, que usa a chave privada mestre para gerar a chave privada para a identidade ID.
Como resultado, as partes podem criptografar mensagens (ou verificar assinaturas) sem distribuição prévia de chaves entre os participantes individuais. Isso é extremamente útil em casos onde a pré-distribuição de chaves autenticadas é inconveniente ou inviável devido a restrições técnicas. No entanto, para descriptografar ou assinar mensagens, o usuário autorizado deve obter a chave privada apropriada junto ao PKG. Uma ressalva dessa abordagem é que o PKG deve ser altamente confiável, pois ele é capaz de gerar a chave privada de qualquer usuário e, portanto, pode descriptografar (ou assinar) mensagens sem autorização. Como a chave privada de qualquer usuário pode ser gerada através do uso do segredo da terceira parte, este sistema possui um acautelamento de chaves (key escrow) inerente. Vários sistemas variantes foram propostos para remover a necessidade desse acautelamento, incluindo a criptografia baseada em certificado, a criptografia de emissão segura de chaves e a criptografia sem certificado. As etapas envolvidas estão descritas neste diagrama: center|thumb|600px|Criptografia Baseada em Identidade: Etapas Offline e Online
Estrutura do protocolo
Dan Boneh e Matthew K. Franklin definiram um conjunto de quatro algoritmos que formam um sistema IBE completo: Configuração (Setup): Este algoritmo é executado pelo PKG uma única vez para criar todo o ambiente IBE. A chave mestre é mantida em segredo e usada para derivar as chaves privadas dos usuários, enquanto os parâmetros do sistema se tornam públicos. Ele aceita um parâmetro de segurança (ou seja, o comprimento binário do material da chave) e tem como saída: Um conjunto de parâmetros do sistema, incluindo o espaço de mensagens e o espaço de textos cifrados e , uma chave mestre .
Extração (Extract): Este algoritmo é executado pelo PKG quando um usuário solicita sua chave privada. Note que a verificação da autenticidade do solicitante e o transporte seguro de são problemas com os quais os protocolos IBE não tentam lidar diretamente. Ele recebe como entrada , e um identificador e retorna a chave privada para o usuário . Criptografar (Encrypt): Recebe , uma mensagem e e produz a criptografia . Descriptografar (Decrypt): Aceita , e e retorna .
Restrição de correção Para que todo o sistema funcione, deve-se postular que:
Esquemas de criptografia
Os esquemas de criptografia baseada em identidade mais eficientes são atualmente baseados em emparelhamentos bilineares em curvas elípticas, como os emparelhamentos de Weil ou Tate. O primeiro desses esquemas foi desenvolvido por Dan Boneh e Matthew K. Franklin (2001), e realiza uma criptografia probabilística de textos cifrados arbitrários usando uma abordagem semelhante ao ElGamal. Embora o esquema Boneh-Franklin seja comprovadamente seguro, a prova de segurança baseia-se em suposições relativamente novas sobre a dificuldade de problemas em determinados grupos de curvas elípticas.
Outra abordagem para a criptografia baseada em identidade foi proposta por Clifford Cocks em 2001. O Esquema IBE de Cocks baseia-se em suposições bem estudadas (a suposição da residuosidade quadrática), mas criptografa mensagens um bit por vez, possuindo um alto grau de expansão do texto cifrado. Portanto, é altamente ineficiente e impraticável para o envio de mensagens que não sejam muito curtas, como uma chave de sessão para uso com uma cifra simétrica.
Uma terceira abordagem para o IBE é por meio do uso de reticulados.
Algoritmos de criptografia baseada em identidade A lista a seguir apresenta algoritmos práticos de criptografia baseada em identidade: Boneh–Franklin (BF-IBE). Sakai–Kasahara (SK-IBE). Boneh–Boyen (BB-IBE). Todos esses algoritmos possuem provas de segurança.
Vantagens Uma das principais vantagens de qualquer esquema de criptografia baseada em identidade é que, se houver apenas um número finito de usuários, após todos os usuários receberem as suas chaves, o segredo da terceira parte poderá ser destruído. Isso pode ocorrer porque este sistema assume que, uma vez emitidas, as chaves são sempre válidas (já que este sistema básico carece de um método de revogação de chaves). A maioria das derivações deste sistema que possuem revogação de chaves perdem essa vantagem.
Além disso, como as chaves públicas são derivadas de identificadores, a IBE elimina a necessidade de uma infraestrutura de distribuição de chaves públicas. A autenticidade das chaves públicas é garantida de forma implícita, desde que o transporte das chaves privadas para o usuário correspondente seja mantido seguro (autenticidade, integridade, confidencialidade).
Além desses aspectos, a IBE oferece recursos interessantes que emanam da possibilidade de se codificar informações adicionais no identificador. Por exemplo, um remetente pode especificar uma data de expiração para uma mensagem. Ele anexa esse carimbo de data/hora (timestamp) à identidade real do destinatário (possivelmente usando algum formato binário como o X.509). Quando o destinatário contatar o PKG para recuperar a chave privada para esta chave pública, o PKG poderá avaliar o identificador e recusar a extração se a data de validade tiver passado. Geralmente, a incorporação de dados no ID corresponde à abertura de um canal adicional entre o remetente e o PKG com autenticidade garantida por meio da dependência da chave privada em relação ao identificador.
Desvantagens Se um Gerador de Chave Privada (PKG) for comprometido, todas as mensagens protegidas durante toda a vida útil do par de chaves pública-privada usado por esse servidor também estarão comprometidas. Isso torna o PKG um alvo de alto valor para adversários. Para limitar a exposição devido a um servidor comprometido, o par de chaves mestre pública-privada pode ser atualizado para um novo par de chaves independente. No entanto, isso introduz um problema de gerenciamento de chaves onde todos os usuários devem possuir a chave pública mais recente do servidor. Como o Gerador de Chave Privada (PKG) gera as chaves privadas para os usuários, ele pode descriptografar e/ou assinar qualquer mensagem sem autorização. Isso implica que os sistemas IBS (assinaturas baseadas em identidade) não podem ser usados para fins de não repúdio. Isso pode não ser um problema para organizações que hospedam seu próprio PKG, desde que estejam dispostas a confiar em seus administradores de sistema e não exijam o não repúdio. A questão da custódia implícita de chaves não existe no atual sistema PKI, no qual as chaves privadas são geralmente geradas no próprio computador do usuário. Dependendo do contexto, a custódia de chaves pode ser vista como um recurso positivo (por exemplo, dentro de corporações). Vários sistemas variantes foram propostos para remover a custódia, incluindo criptografia baseada em certificado, compartilhamento de segredos, criptografia de emissão segura de chaves e criptografia sem certificado. Um canal seguro entre o usuário e o Gerador de Chave Privada (PKG) é necessário para a transmissão da chave privada ao ingressar no sistema. Aqui, uma conexão do tipo SSL/TLS é a solução comum para um sistema de grande escala. É importante observar que os usuários que possuem contas com o PKG devem ser capazes de se autenticarem. Em princípio, isso pode ser alcançado através de nome de usuário, senha ou pares de chaves públicas gerenciados em cartões inteligentes (smart cards). Soluções de IBE podem depender de técnicas criptográficas que são vulneráveis contra ataques de quebra de código por parte de um computador quântico (veja o Algoritmo de Shor).
Ver também Criptografia baseada em identidade Criptografia baseada em atributos
Referências
Ligações externas Seminário 'Criptografia e Segurança em Bancos'/'Criptologia Alternativa', Ruhr University Bochum, Alemanha RFC 5091 - a RFC da IETF definindo dois algoritmos IBE comuns HP Role-Based Encryption The Pairing-Based Crypto Lounge The Voltage Security Network - Serviço da web de criptografia IBE Relatório de analista sobre o custo da IBE em comparação com PKI
Categoria:Criptografia de chave pública Categoria:Criptografia baseada em identidade