MAC499 – Trabalho de Formatura Supervisionado Criptografia baseada em Identidade O que é criptografia? • Utilizada desde a Antiguidade, é a ciência da segurança de informações • Permite a você ocultar informação de tal forma que ela não possa ser recuperada por ninguém além do destinatário Criptografia Simétrica • Criptografia de chave secreta Criptografia Simétrica (cont.) • Necessária uma chave para cada par de usuários • (n²-n)/2 chaves para n usuários Criptografia Simétrica (cont.) • 2 usuários – 1 chave Criptografia Simétrica (cont.) • 3 usuários – 3 chaves Criptografia Simétrica (cont.) • 4 usuários – 6 chaves Criptografia Simétrica (cont.) • 5 usuários – 10 chaves Criptografia Assimétrica • Criptografia de chave pública Criptografia Assimétrica (cont.) • Cada usuário possui duas chaves: uma pública, usada para criptografar, e outra privada, utilizada na decriptografia • Apenas 2n chaves necessárias para n usuários • Deve haver uma autoridade certificadora que gerencie e autentique todas essas chaves Por que criptografia baseada em identidade? • Sugerido pela primeira vez em 1985, por Adi Shamir • Similar ao sistema postal, em que a chave de um usuário é função de sua identidade (p. ex. e-mail) • Isso evita a necessidade de um diretório de chaves públicas, trocas de chaves ou uma autoridade superior que esteja sempre presente • Embora vários criptossistemas tenham sido propostos, tem sido difícil encontrar uma implementação que seja prática e segura Criptografia utilizando resíduos quadráticos • O sistema possui uma autoridade que gera e divulga os parâmetros universais • Assim, se um usuário deseja se registrar para ser capaz de receber dados codificados, ele envia sua identidade para a autoridade, que lhe devolve uma chave privada • Quando um outro usuário deseja enviar informação criptografada para outro, ele faz isso conhecendo a chave pública do destinatário e os parâmetros globais. Não há necessidade de nenhum diretório de chaves públicas Criptografia utilizando resíduos quadráticos (cont.) • Bits são criptografados e enviados individualmente, sem nenhum teste de integridade (portanto esses bits podem ser alterados sem que alguém perceba) • Tipicamente um único bit é enviado num pacote de 1024 bits • A segurança é garantida pela dificuldade da fatoração de um número • Outros problemas e detalhes de implementação em breve, na monografia O esquema de assinatura de Shamir • Uma autoridade confiável produz os parâmetros globais do sistema e uma chave mestra • Um usuário, após apresentar sua identidade tem sua chave gerada. Esta chave é usada para assinar as mensagens enviadas. A autoridade não é mais necessária a partir daqui • Na criptografia de chaves públicas no sentido habitual, para um usuário verificar a assinatura de outro usando sua chave pública deve-se verificar também a autenticidade desta. Torna-se inevitável a presença da autoridade certificadora O esquema de assinatura de Shamir (cont.) • É interessante perceber que neste esquema não há necessidade de se realizar uma apuração separada. A verificação da assinatura confirma (ou nega) duas coisas ao mesmo tempo: 1. A assinatura foi criada pelo outro usuário usando sua chave privada, que está por trás de sua identidade 2. Essa identidade foi certificada pela autoridade O esquema de assinatura de Shamir (cont.) • Este esquema não permite revogação de chaves (necessária quando a chave privada do usuário torna-se comprometida) • A autoridade confiável pode não ser confiável (ela pode forjar qualquer chave de qualquer usuário) • A segurança é garantida pelo Problema do Logaritmo Discreto • Outros problemas e detalhes de implementação em breve, na monografia