1.22k likes | 1.36k Views
UNIVERSIDADE NOVE DE JULHO (UNINOVE) PÓS-GRADUAÇÃO. CURSO : MBIS EM SEGURANÇA DA INFORMA- ÇÃO DISCIPLINA: TÉCNICAS DE SEGURANÇA DE PROTEÇÃO E HABILITAÇÃO TEMA: SEGURANÇA DE REDES PROFESSOR : EMMANUEL FELIX SEMESTRE : 1 ANO : 2010 DIA : SÁBADO
E N D
UNIVERSIDADE NOVE DE JULHO (UNINOVE)PÓS-GRADUAÇÃO CURSO: MBIS EM SEGURANÇA DA INFORMA- ÇÃO DISCIPLINA: TÉCNICAS DE SEGURANÇA DE PROTEÇÃO E HABILITAÇÃO TEMA: SEGURANÇA DE REDES PROFESSOR: EMMANUEL FELIX SEMESTRE: 1 ANO: 2010 DIA: SÁBADO CARGA HORÁRIA: 36 HORAS
2. SERVIÇOS DE SEGURANÇA - A segurança de redes pode fornecer cinco serviços como ilustrado na figura 1. Figura 1 – Serviços de segurança relativos à mensagem
2. SERVIÇOS DE SEGURANÇA 2.1 Confidencialidade da Mensagem - Significa que o emissor e o receptor esperam ter sigilo. - A mensagem deve ser criptografada no emissor e decriptografada no receptor. - A privacidade da mensagem pode ser alcançada usando tanto criptografia de chave simétrica como assimétrica.
2. SERVIÇOS DE SEGURANÇA 2.1 Confidencialidade da Mensagem 2.1.1 Confidencialidade com Criptografia de Chave Simétrica - Um emissor e um receptor precisam compartilhar uma chave secreta. - Para concretizar o uso da criptografia de chave simétrica faz-se necessário empregar uma chave de sessão. Ela é trocada por meio da criptografia de chave assimétrica. A figura 2 ilustra a idéia.
2. SERVIÇOS DE SEGURANÇA Figura 2 – Confidencialidade da mensagem por meio de chaves simétricas em dois sen- tidos
2. SERVIÇOS DE SEGURANÇA 2.1 Confidencialidade da Mensagem 2.1.1 Confidencialidade com Criptografia de Chave Assimétrica - Não há o compartilhamento de chaves. - Alice e Bob criam, ambos, um par de chaves: uma privada e uma pública. A chave pública é usada para a criptografia e a chave privada é utilizada para a decriptografia. - Esse procedimento apresenta problemas: o método é ineficiente para mensagens longas além do fato que o emissor ainda precisa estar certo em relação à chave pública do receptor. A figura 3 exibe o processo.
2. SERVIÇOS DE SEGURANÇA Figura 2 – Confidencialidade da mensagem por meio de chaves assimétricas
2. Segurança de Redes 2.3 Integridade da Mensagem A criptografia e a decriptografia fornecem segredo, ou confidencialidade, mas não integridade. 2.3.1 Documento e Impressão Digital - Uma maneira de preservar a integridade de um documento é por meio de uma impressão digital. - Para preservar a integridade de um documento, são necessários tanto o documento como a impressão digital.
2. Segurança de Redes 2.3 Integridade da Mensagem 2.3.2 Mensagem e “digest” da Mensagem - O equivalente eletrônico do par documento e impressão digital é o par mensagem e “digest”da mensagem. - A integridade de uma mensagem é preservada por uma algoritmo denominado função hash. Essa função gera uma imagem compactada da mensagem. - Na figura 4 é exibido os componentes do processo.
2. Segurança de Redes 2.3 Integridade da Mensagem 2.3.2 Mensagem e “digest” da Mensagem Figura 4 – Mensagem e o “digest” da mensagem
2. Segurança de Redes 2.3 Integridade da Mensagem 2.3.3 Diferença - Os pares documento/impressão digital e mensagem/“digest” da mensagem são similares, com a seguinte diferença: os componentes do primeiro par estão associados fisicamente e não precisam ser mantidos em segredo, enquanto no segundo par, os componentes podem ser enviados separadamente e o “digest” precisa ser mantido em segredo em um local seguro ou criptografado se for necessário enviá-lo através de um canal de comunicação.
2. Segurança de Redes 2.3 Integridade da Mensagem 2.3.4 Criação e Verificação do “digest” - O “digest” da mensagem é criado no emissor e é enviado com a mensagem para o receptor. - O receptor cria a função hash novamente e compara o novo “digest” com aquele que foi enviado. - Caso ambos sejam os mesmos, o receptor tem a certeza que a mensagem não foi alterada. A idéia do processo é mostrada na figura 5.
2. Segurança de Redes 2.3 Integridade da Mensagem Figura 5 – Verificação de integridade
2. Segurança de Redes 2.3 Integridade da Mensagem 2.3.5 Critérios para a Função Hash - Para ser uma função hash, a mesma precisa satisfazer os três critérios: unidirecionalidade, resistência a colisões fracas e robustas. A figura 6 mostra os critérios. Figura 6 – Critérios para uma função hash
2. Segurança de Redes 2.3 Integridade da Mensagem 2.3.5 Critérios para a Função Hash Unidirecionalidade - Uma função hash deve ser unidirecional. - Nem sempre é possível obter uma função hash totalmente unidirecional. Mas deve ser extremamente difícil criar a mensagem a partir de seu “digest”.
2. Segurança de Redes 2.3Integridade da Mensagem 2.3.5 Critérios para a Função Hash Resistência a Colisões Fracas - Garante que uma mensagem não pode ser falsificada facilmente. - Esse critério garante que Eve não conseguirá criar facilmente outra mensagem que faça um hash exato do mesmo “digest”. - Quando duas mensagens criam o mesmo “digest”, dizemos que há uma colisão.
2. Segurança de Redes 2.3Integridade da Mensagem 2.3.5 Critérios para a Função Hash Resistência a Colisões Robustas - Garante que não podemos encontrar duas mensagens ao mesmo “digest”. - Esse critério é necessário para garantir que Alice, o emissor da mensagem, não consiga provocar problemas falsificando uma mensagem. - Recebe o nome de robusta em virtude da probabilidade da colisão ser maior que no caso das colisões fracas.
2. Segurança de Redes 2.3Integridade da Mensagem 2.3.6 Algoritmos Hash: SHA-1 - O SHA-1 (Secure Hash Algorithm 1 – Algoritmo Hash de segurança 1) é o algoritmo hash mais utilizado. - É uma versão revisada do SHA desenvolvida pelo Nist (National Institute of Standards and Technology). - Foi publicada pela primeira vez como um FIPS (Federal Information Processing Standard – padrão federal de processamento de informações).
2. Segurança de Redes 2.3Integridade da Mensagem 2.3.6 Algoritmos Hash: SHA-1 - Esse algoritmo e outros criam um “digest” de comprimento N a partir de uma mensagem com vários blocos de 512 bits de comprimento. Processo de Encriptação (1) Um buffer de N bits é inicializado com um valor predeterminado.
2. Segurança de Redes 2.3Integridade da Mensagem 2.3.6 Algoritmos Hash: SHA-1 Processo de Encriptação (2) O algoritmo desfigura esse buffer inicial com os 512 primeiros bits da mensagem para criar o primeiro “digest” intermediário de N bits. (3) Esse “digest” é então desfigurado com o segundo bloco de 512 bits para criar o segundo “digest” intermediário.
2. Segurança de Redes 2.3Integridade da Mensagem 2.3.6 Algoritmos Hash: SHA-1 Processo de Encriptação (4) O (n – 1)-ésimo “digest” é desfigurado com o n-ésimo bloco para criar o n-ésimo “digest”. (5) Se um bloco não for de 512 bits, é usado preenchimento (0s) para que esse chegue ao comprimento. - Quando o último bloco for processado, o “digest” resultante é o da mensagem toda.
2. Segurança de Redes 2.3Integridade da Mensagem 2.3.6 Algoritmos Hash: SHA-1 Processo de Encriptação - O SHA-1 tem um “digest” da mensagem de 160 bits (cinco palavras, cada um delas com 32 bits). A figura 7 ilustra o processo de criação do digest.
2. Segurança de Redes 2.3Integridade da Mensagem Figura 7 – Criação do “digest” da mensagem
2. Segurança de Redes 2.3Integridade da Mensagem 2.3.6 Algoritmos Hash: SHA-1 Expansão de Palavras - O bloco, antes do processamento, precisa ser expandido de 16 palavras de 32 bits (ou 512 bits) para 80 palavras, da palavra 0 à palavra 79. Processamento de cada Bloco - Existem 80 etapas e em cada uma delas, uma palavra do bloco expandindo e uma constante de 32 bits são desfiguradas juntas e, então, trabalhadas para criar um “digest”.
2. Segurança de Redes 2.3Integridade da Mensagem 2.3.6 Algoritmos Hash: SHA-1 Processamento de cada Bloco - No início do processamento, os valores das palavras “digest” (A, B, C, D e E) são salvos nas cinco variáveis temporárias. No final (após o passo 79), esses valores são adicionados aos valores criados a partir da etapa 79. Os detalhes do processamento podem ser visto na figura 8.
2. Segurança de Redes 2.3Integridade da Mensagem Figura 7 – Criação do “digest” da mensagem
2. Segurança de Redes 2.4Autenticação de Mensagem - Uma função hash não garante a autenticidade de uma mensagem. - O “digest” criado por uma função hash é denominado MDC (modification detection code – código de detecção de modificações). - O MDC é capaz de detectar qualquer modificação na mensagem.
2. Segurança de Redes 2.4Autenticação de Mensagem 2.4.1 MAC - Para fornecer autenticação de mensagens, é necessário alterar o MDC para um MAC (message authentication code – código de autenticação de mensagens). - um MDC usa uma função hash sem chaves, enquanto um MAC utiliza uma função hash com chaves.
2. Segurança de Redes 2.4Autenticação de Mensagem 2.4.1 MAC - A função hash com chaves usa a chave simétrica entre o emissor e o receptor ao criar o “digest”. Os passos para verificar a autenticidade da mensagem de Alice, supondo que ela e Bob compartilham uma chave secreta são:
2. Segurança de Redes 2.4Autenticação de Mensagem 2.4.1 MAC (1) Alice, utilizando a mensagem e a função hash com chaves, calcula um MAC. (2) Alice concatena o MAC com a mensagem original e envia ambas para Bob. (3) Bob recebe a mensagem e o MAC separando-os em seguida. (4) Bob aplica a mesma função hash com chaves à mensagem original para obter um novo MAC
2. Segurança de Redes 2.4Autenticação de Mensagem 2.4.1 MAC (5) Bob compara o MAC enviado por Alice com o MAC recém-gerado. (6) Se os dois MACs forem idênticos, a mensagem não foi modificada e Alice é, de fato, o emissor da mensagem. A figura 8 mostra o processo para verificar a autenticidade da mensagem de Alice.
2. Segurança de Redes 2.4Autenticação de Mensagem Figura 8 – MAC criado por Alice e verificando por Bob
2. Segurança de Redes 2.5Assinatura Digital - Um MAC, embora possa oferecer integridade e autenticidade para mensagens, apresenta o inconveniente de precisar utilizar uma chave simétrica que deve ser estabelecida entre o emissor e o receptor. - Uma assinatura digital, por outro lado, pode utilizar um par de chaves assimétricas. - O receptor (Bob), a fim de verificar a autenticidade do emissor (Alice), pode solicitar que este assine a mensagem eletronicamente.
2. Segurança de Redes 2.5Assinatura Digital - Esse tipo de assinatura é denominada assinatura digital. 2.5.1 Comparação Abaixo segue a comparação entre assinaturas convencional e digital. Inclusão
2. Segurança de Redes 2.5Assinatura Digital - Uma assinatura digital é inclusa no documento, ou seja, ela faz parte dele. - Ao assinarmos um documento digitalmente, enviamos a assinatura como um documento separado. - O emissor envia dois documentos: a mensagem e a assinatura. - O destinatário recebe ambos os documentos e verifica se a assinatura pertence ao suposto emissor.
2. Segurança de Redes 2.5Assinatura Digital - Se isso for provado, a mensagem é preservada. Caso contrário, ela é rejeitada. Método de Verificação - Na assinatura convencional, quando o destinatário recebe um documento, ele compara a assinatura no documento com a arquivada. Caso sejam idênticas, o documento é autêntico. O destinatário precisa ter um cópia dessa assinatura em arquivo para comparação.
2. Segurança de Redes 2.5Assinatura Digital Método de Verificação - Na assinatura digital, o destinatário recebe a mensagem e a assinatura. Uma cópia dessa assinatura não é armazenada em lugar algum. - O destinatário deve aplicar uma técnica de verificação na combinação entre mensagem e assinatura para verificar sua autenticidade.
2. Segurança de Redes 2.5Assinatura Digital Relação - Na assinatura convencional, normalmente há uma relação um-para-vários entre uma assinatura e documentos. - Na assinatura digital, existe uma relação um-para-um entre uma assinatura e uma mensagem. Ou seja, cada mensagem tem sua própria assinatura.
2. Segurança de Redes 2.5Assinatura Digital Duplicidade - Na assinatura convencional, uma cópia do documento assinado pode ser distinguida do original em arquivo. - Na assinatura digital não existe a distinção entre o original e a cópia, a menos que haja um fator tempo (como um registro de horas) no documento.
2. Segurança de Redes 2.5Assinatura Digital 2.5.2 Necessidade de Chaves - Na assinatura convencional, uma assinatura é como uma “chave” privada pertencente ao signatário do documento. A cópia da assinatura se encontra em arquivo como uma chave pública. - Na assinatura digital, o signatário usa sua chave privada, aplicada a um algoritmo de assinatura, para assinar o documento.
2. Segurança de Redes 2.5Assinatura Digital 2.5.2 Necessidade de Chaves - Na assinatura convencional, uma assinatura é como uma “chave” privada pertencente ao signatário do documento. A cópia da assinatura se encontra em arquivo como uma chave pública. - Na assinatura digital, o signatário usa sua chave privada, aplicada a um algoritmo de assinatura, para assinar o documento.
2. Segurança de Redes 2.5Assinatura Digital 2.5.2 Necessidade de Chaves - O verificador, por sua vez, usa a chave pública do signatário, aplicada ao algoritmo de verificação, para verificar o documento. Pergunta: podemos utilizar uma chave (simétrica) secreta para assinar, bem como verificar, uma assinatura?
2. Segurança de Redes 2.5Assinatura Digital 2.5.2 Necessidade de Chaves Resposta: não, pelos seguintes motivos (a) A chave secreta é conhecida apenas entre duas entidades (Alice e Bob, por exemplo). Por conseguinte, se Alice precisar assinar outro documento e enviá-lo a outra pessoa, deverá usar outra chave secreta.
2. Segurança de Redes 2.5Assinatura Digital 2.5.2 Necessidade de Chaves (b) Criar uma chave secreta para uma sessão envolve autenticação, que normalmente utiliza assinatura digital. Portanto, temos um círculo vicioso. (b) Bob poderia usar a chave secreta entre ele e Alice, assinar um documento, enviá-lo a outra pessoa e fingir que este veio de Alice.
2. Segurança de Redes 2.5Assinatura Digital 2.5.2 Necessidade de Chaves Conclusão: uma assinatura digital precisa de um sistema de chaves públicas. 2.5.3 Processo A assinatura digital pode ser obtida de duas formas: assinando o documento ou assinando um “digest” do documento.
2. Segurança de Redes 2.5Assinatura Digital 2.5.3 Processo A assinatura digital pode ser obtida de duas formas: assinando o documento ou assinando um “digest” do documento. Assinando o Documento - Assinar um documento é criptografá-lo com a chave privada do emissor. Verificar o documeto é decriptografá-lo com a chave pública do emissor.
2. Segurança de Redes 2.5Assinatura Digital 2.5.3 Processo Assinando o Documento - Provavelmente a forma mais fácil, mas menos eficiente, seja assinar o próprio documento. - Assinar um documento é criptografá-lo com a chave privada do emissor. Verificar o documeto é decriptografá-lo com a chave pública do emissor. - Para fins de confidencialidade, as chaves públicas e privadas do receptor são usadas no processo.
2. Segurança de Redes 2.5Assinatura Digital 2.5.3 Processo Assinando o Documento - Na assinatura digital, são usadas as chaves públicas e privadas do emissor. Na figura 9 é mostrado como a assinatura e a verificação são realizadas.
2. Segurança de Redes 2.5Assinatura Digital 2.5.3 Processo Figura 9 – Assinando a própria mensagem em um sistema de assinatura digital
2. Segurança de Redes 2.5Assinatura Digital 2.5.3 Processo Assinando o “digest” - Como normalmente as mensagens são longas e o criptossistema de chave pública, como vimos, é ineficiente nesses casos, a solução não é assinar a própria mensagem, mas, sim, assinarmos um “digest” da mensagem. - O emissor pode assinar o “digest” da mensagem e o receptor pode verificá-lo.