Baixe o app para aproveitar ainda mais
Prévia do material em texto
29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188_… 1/36 CRIPTOGRAFIA E CERTIFICAÇÃO DIGITALCRIPTOGRAFIA E CERTIFICAÇÃO DIGITAL CRIPTOGRAFIA ASSIMÉTRICA ECRIPTOGRAFIA ASSIMÉTRICA E REDES PRIVADAS VIRTUAISREDES PRIVADAS VIRTUAIS Autor: Me. Luciano Freire Revisor : Douglas Melman I N I C I A R 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188_… 2/36 introdução Introdução A criptogra�a simétrica é uma evolução das técnicas dos algoritmos clássicos de criptogra�a implementadas por um software e proporciona um alto nível de segurança para a proteção de dados em computadores, celulares etc. Entretanto, quando há a necessidade da utilização na troca de mensagens, a chave privada precisa ser compartilhada de forma segura entre o emissor e receptor. Essa é uma fragilidade dos algoritmos de criptogra�a simétrica, pois quanto mais a chave é compartilhada, maior o risco de ser capturada/descoberta por terceiros. Se isso ocorrer, todas as mensagens cifradas com esta criptogra�a estarão comprometidas. Nesse contexto, os algoritmos de criptogra�a assimétrica são uma alternativa. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188_… 3/36 A Criptogra�a Simétrica é muito e�ciente na proteção de informações. As implementações dessa técnica, como o DES (Data Encryption Standard - Padrão de Criptogra�a de Dados), AES (Advanced Encryption Standard - Padrão Avançado de Criptogra�a) e IDEA (International Data Encryption Algorithm - Algoritmo Internacional de Criptogra�a de Dados), possuem uma boa performance, sendo capazes de cifrar rapidamente uma grande quantidade de informações (partições de um disco rígido, arquivos em disco, dados armazenados em banco de dados etc.). Entretanto, esse modelo de criptogra�a baseia-se na con�dencialidade da chave utilizada para criptografar as informações e isso gera uma fragilidade no modelo. Uma vez descoberta a chave e conhecido o algoritmo utilizado, todas as informações cifradas com esta chave estão comprometidas, ou seja, se um invasor de sistemas tiver acesso à chave e conhecer o algoritmo ele poderá, por exemplo, ter acesso a todos os arquivos criptografados em um computador. Criptogra�a AssimétricaCriptogra�a Assimétrica 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188_… 4/36 Essa fragilidade se torna mais crítica quando os algoritmos de criptogra�a simétrica passam a ser utilizadas na comunicação. Por exemplo, na troca de e-mails criptografados entre duas pessoas. Neste caso, para que o receptor consiga ler a mensagem, este precisa ter acesso à chave privada. Assim, o emissor precisa compartilhar a chave com o receptor. Se nesse processo a chave privada for acessada de forma não autorizada por um terceiro, por exemplo, toda a privacidade da comunicação estará comprometida. Se essa chave for compartilhada com um grande número de usuários, maior será a chance de a chave ser descoberta por terceiros que não deveriam conhecê-la. Neste contexto, a criptogra�a assimétrica é uma alternativa para prover um meio de comunicação seguro utilizando a criptogra�a devido ao uso de duas chaves. Sendo que uma delas pode ser divulgada publicamente e a outra é mantida em segredo, ou seja, somente o proprietário do par de chaves deve conhecer a chave privada, enquanto que a pública poderá ser distribuída. Conceitos sobre Criptogra�ia Assimétrica A criptogra�a assimétrica de�ne um modelo que utiliza um par de chaves (chamadas de chave pública e chave privada) para cifrar e decifrar uma mensagem (STALLINGS, 2015). A chave pública é utilizada para cifrar a mensagem, enquanto a chave privada é utilizada para decifrá-la (SCHNEIER, 1996). A chave pública recebe esse nome porque poderá ser divulgada sem risco de comprometer a segurança dos dados cifrados. A chave privada deverá ser mantida em segredo porque ela é utilizada para decifrar as mensagens cifradas com a respectiva chave pública. A criptogra�a assimétrica é muito utilizada para prover a comunicação entre duas entidades. Por exemplo, um emissor A deseja enviar uma mensagem para um destinatário B. Para isso, A solicita a chave pública de B, a qual pode ser enviada sem requisitos adicionais de segurança (como anexo em uma mensagem de e-mail). Utilizando a chave pública de B, A cifra a mensagem e a envia para B. Ao receber a mensagem, B utiliza a chave privada para decifrá- la. Como B é o único que tem acesso à chave privada, somente ele será capaz de decifrar a mensagem (SCHNEIER, 1996). 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188_… 5/36 Os algoritmos assimétricos garantem a con�dencialidade dos dados e a autenticação do destinatário, diferentemente dos algoritmos de criptogra�a simétricos, que só garantem a con�dencialidade. Isso ocorre porque o proprietário da chave privada, associado à chave pública, será o único a conseguir decifrar a mensagem (no caso dos algoritmos simétricos, qualquer pessoa com acesso à chave privada poderia cifrar e decifrar os dados). Como exemplos de algoritmos assimétricos pode-se citar o RSA, o Di�e-Hellman e o ElGamal (SCHNEIER, 1996). Para que duas pessoas consigam se comunicar utilizando algoritmos de criptogra�a assimétrica, existe a necessidade de utilizar alguma forma de troca de chaves públicas. Como essa pode ser divulgada, é possível utilizar um e-mail para o envio da chave ou disponibilizá-la em um site. A Figura 2.2 ilustra o processo de comunicação utilizando um Algoritmo de Criptogra�a Assimétrico. Considere que os dois personagens do exemplo, João e Rodrigo, já possuem um respectivo par de chaves pública e privada. Figura 2.1 - Funcionamento do algoritmo de criptogra�a assimétrica Fonte: Adaptado de Schneier (1996). 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188_… 6/36 O processo de comunicação descrito na Figura 2.2 baseia-se na existência de um par de chaves. A mensagem é sempre criptografada com a chave pública dos destinatários. Como ela pode ser divulgada, não há riscos de comprometimento do algoritmo porque as mensagens somente serão decifradas pela chave privada, a qual não é divulgada na comunicação. Os usuários precisam acordar uma forma para a troca de chaves públicas. A comunicação ocorre com a troca de mensagens cifradas. Performance dos Algoritmos de Chave Assimétrica Os algoritmos de chave pública produzem um par de chaves (pública e privada) que são utilizados na criptogra�a e decifragem de mensagens. O texto cifrado com a chave pública será decifrado em texto claro utilizando a chave privada, da mesma forma que um texto cifrado com a chave privada será decifrado em texto claro utilizando a chave pública. Logo, existe um relacionamento entre as chaves. Essa característica é utilizada em esquemas de assinatura digital, que serão abordados posteriormente. Diferentemente dos algoritmos de criptogra�a simétricos que possuem uma única chave e fazem operações de substituição e permutação para gerar o Figura 2.2 - Modelo de comunicação utilizando a troca de chaves e um algoritmo de chave assimétrica Fonte: Elaborada pelo autor. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188_… 7/36 texto cifrado, os algoritmos assimétricos utilizam técnicas matemáticas complexas como: fatoração de números inteiros, logaritmo discreto e logaritmo discreto sobre curvas elípticas (AMARO, 2019). Além disto, o tamanho das chaves não pode ser limitado a poucos bits. Caso contrário, seria possível descobrir a chave a partir das operações matemáticasusadas com certa facilidade. Esses aspectos impactam a performance dos algoritmos assimétricos. Há um esforço computacional grande para a geração do par de chaves, de centenas de bits, e a aplicação dessas para a geração do texto cifrado, que também requer um esforço computacional considerável. Dessa forma, os algoritmos de chave assimétrica possuem uma performance inferior aos algoritmos de chave simétrica. Existem vários estudos comparando a performance entre algoritmos de chave simétrica e assimétrica. Para se entender a ordem de grandeza entre a performance e os dois tipos de criptogra�a, pode-se recorrer ao trabalho de Mohammed Nazeh Abdul Wahid (WAHID, 2019). No referido artigo, o autor compara o tempo necessário para cifrar um texto, de vários tamanhos, utilizando os algoritmos DES e AES (implementações da criptogra�a simétrica) versus o algoritmo assimétrico RSA (que será abordado no decorrer desta unidade). Para um texto claro de 3 megabytes, o algoritmo de criptogra�a assimétrico (RSA) obteve a pior performance em relação ao simétrico. O tempo para o RSA cifrar o texto foi de aproximadamente 2000 milissegundos, enquanto que o AES levou entre 500 e 1000 milissegundos, e o DES �cou abaixo de 1500 milissegundos (WAHID, 2019). Logo, pode-se a�rmar que os algoritmos de chave assimétrica, nesse experimento, são bem mais lentos que os de chave simétrica. Vantagens dos Algoritmos de Chave Assimétrica Apesar do desempenho inferior dos algoritmos assimétricos em relação aos simétricos, esses são essenciais para prover uma comunicação con�ável em ambientes como a Internet. Entretanto, os algoritmos assimétricos não substituem os simétricos. Na verdade, esses atendem um determinado conjunto de aplicações (como modelos de comunicação seguros, assinaturas digitais etc.) que não são atendidos pelas características dos algoritmos 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188_… 8/36 simétricos. Logo, abre-se mão de uma performance melhor por um nível maior de segurança em determinadas aplicações. Segundo AMARO (2019), os algoritmos assimétricos possuem as seguintes vantagens: 1. A chave privada não é compartilhada. Quando se deseja utilizar o algoritmo em uma comunicação, divulga-se a chave pública para executar a cifragem e a chave privada permanece secreta; 2. Garante-se que somente o proprietário da chave privada será capaz de decifrar as mensagens. Essa característica está relacionada ao conceito de autenticação que será abordado no �nal da disciplina. Para isso, o proprietário deve manter a chave privada em segredo. Caso contrário, toda a segurança do algoritmo será comprometida. Se o proprietário não armazena a chave privada de forma segura, todas as mensagens cifradas poderão ser decifradas por terceiros; 3. Um par de chaves deve estar associado a um único indivíduo ou a uma única organização. Assim, é possível garantir a associação desses com as mensagens cifradas geradas. Isso caracteriza o conceito de não-repúdio, que também será abordado no �nal da disciplina; 4. O modelo é escalável, visto que se pode criar uma estrutura de distribuição de chaves públicas. Tal aspecto será estudado durante a discussão sobre certi�cados digitais. O referido modelo implementa uma estrutura de distribuição de chaves públicas e a associação dessas a indivíduos e organizações. Apesar das vantagens citadas, existem desvantagens do uso de algoritmos de criptogra�a assimétrica. Isso será apresentado na próxima seção. Desvantagens dos Algoritmos de Chave Assimétrica Os algoritmos de Chave Assimétrica, apesar de suas vantagens, possuem algumas desvantagens que precisam ser consideradas (AMARO, 2019): 1. São algoritmos mais lentos devido à natureza das aplicações matemáticas executadas. Esse fator di�culta a aplicação destes na cifragem de grande quantidade de dados; 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188_… 9/36 2. Não há uma forma de garantir a associação de um par de chaves a um indivíduo ou entidade sem envolver uma entidade externa. Essa entidade é responsável pela emissão das chaves e associação entre pessoas físicas e jurídicas. Como será visto no decorrer da disciplina, esse papel será desempenhado pelos certi�cados digitais e pelas empresas responsáveis pela emissão destes. Os Algoritmos Assimétricos são amplamente utilizados em protocolos de comunicação, apesar das desvantagens. Sua utilização em combinação com algoritmos simétricos e certi�cados digitais (que serão abordados na próxima unidade) compensa as limitações citadas. praticar Vamos Praticar A criptogra�a é responsável por garantir a segurança das informações armazenadas em computadores, dispositivos móveis e trafegadas na Internet. Os algoritmos de criptogra�a simétricos e assimétricos representam os dois principais tipos de algoritmos. Sobre estes, é correto a�rmar que: a) Os algoritmos simétricos utilizam a chave privada para criptografar a mensagem e a chave pública para decifrá-la, já o assimétrico utiliza uma única chave privada para as duas ações. b) Os algoritmos simétricos utilizam uma única chave para cifrar e decifrar o texto, enquanto os assimétricos utilizam uma chave pública para criptografar e uma chave privada para decifrar o texto. c) Os algoritmos assimétricos utilizam uma única chave para cifrar e decifrar o texto, enquanto os simétricos utilizam uma chave pública para criptografar e uma chave privada para decifrar o texto. d) O algoritmo simétrico utiliza uma chave única para todo o processo chamada de chave privada. Diferentemente, o algoritmo de criptografia assimétrico utiliza uma chave privada para cifrar e uma chave pública para decifrar o texto. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 10/36 e) O algoritmo simétrico não utiliza uma chave devido à necessidade de este obter uma boa performance na cifragem de grandes volumes de texto. Assim, esse apenas faz permutações no texto e o assimétrico utiliza um par de chaves. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 11/36 Os conceitos de algoritmos de criptogra�a assimétricos são implementados em softwares que realizam as operações de geração de chaves, cifragem e decifragem. A implementação dos algoritmos utiliza técnicas matemáticas. Como exemplos serão estudados os algoritmos RSA e Di�e-Hellman. Dif�ie-Hellman O Di�e-Hellman foi o primeiro algoritmo de criptogra�a assimétrico a ser inventado. Foi publicado em um artigo em 1976 pelos autores Whit�eld Di�e e Martin Hellman (STALLINGS, 2015) e desenvolvido para propiciar a troca de chaves de segurança, como uma chave privada, que poderia ser usada posteriormente para criptogra�a de mensagens (SCHNEIER, 1996). A segurança do algoritmo encontra-se na di�culdade de se calcular logaritmos discretos. Para explicar o uso do algoritmo, considere que dois usuários desejam negociar uma chave. Conforme o algoritmo Di�e-Hellman, para que essas trocas ocorram, devem executar os seguintes passos (STALLINGS, 2015): Exemplos de Implementações deExemplos de Implementações de Algoritmos AssimétricosAlgoritmos Assimétricos 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 12/36 1. De�nem-se dois elementos públicos globais. Um número primo denominado q e um , sendo que e é uma raiz primitiva de q. Uma raiz primitiva de um número primo p é aquele cujas potências módulo p, ou seja, as potências a mod p, , e assim por diante, geram todos os números inteiros de 1 até p - 1 (STALLINGS, 2015). Esses elementos podem ser divulgados sem o risco de comprometer o algoritmo; 2. Geração da chave do usuário A. O usuário seleciona um valoronde < q. é a chave privada da comunicação. A chave pública é calculada da seguinte forma YA = mod q; 3. Geração da chave do usuário B. O usuário seleciona um valor onde < q. é a chave privada da comunicação. A chave pública é calculada da seguinte forma YB = $\alpha $XB mod q; 4. Cálculo da chave secreta pelo usuário A. Esta é calculada usando a seguinte fórmula: . Para isso, o usuário B forneceu a chave pública ; 5. Cálculo da chave secreta pelo usuário B. De forma similar, esta é calculada usando a seguinte fórmula: Para isso, o usuário A forneceu a chave pública É importante destacar que a chave gerada pelos usuários A e B, no caso K, é idêntica e pode ser utilizada, por exemplo, em um algoritmo simétrico para troca de mensagens. A vantagem deste algoritmo é que esta chave secreta não foi divulgada por um canal de comunicação que poderia ser comprometido. α α < q α modpa2 modpa3 X A X A X A YA αX A X B X B X B YB K = ( ) modqYB X A (Y )B) K = ( ) modq.YA X B ( ).YA 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 13/36 RSA Após o artigo de Di�e-Hellman, surgiram outras propostas de algoritmos de criptogra�a de chave pública. Dentre as diversas propostas, a mais promissora foi a RSA, justamente pela sua facilidade de implementação (SCHNEIER, 1996). O nome do algoritmo é uma abreviação dos nomes de seus autores Ron Rivest, Adi Shamir, e Leonard Adleman. (STALLINGS, 2015). A segurança do RSA decorre da di�culdade de fatoração de números primos extremamente grandes (100, 200 dígitos ou maiores) (SCHNEIER, 1996). O funcionamento do algoritmo RSA pode ser dividido em: geração de chaves, criptogra�a e decifragem. Essas três partes são realizadas da seguinte forma (OLIVEIRA, 2019; STALLINGS, 2015): 1. Geração de chaves a. Escolhe-se dois números p e q ambos primos e b. Calcula-se ; c. Calcula-se sendo que é a função totiente de Euler; p ≠ q; n = p ∗ q φ (n) = (p − 1) (q − 1) φ 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 14/36 d. Seleciona-se um inteiro e tal que e ; e. Na sequência calcula-se um valor chamado d da seguinte forma: ; f. A chave pública (PU) é o par de números ; g. A chave privada (PR) é o par de números ; 2. Critogra�a a. O texto claro precisa ser convertido em números. Pode-se, então, associar a cada caractere um número, por exemplo, de dois dígitos; b. Quebra-se a mensagem em blocos (M) de tal forma que ; c. Para se obter o texto cifrado (C), aplica-se a seguinte fórmula: ; 3. Decifragem a. A partir do texto cifrado (C), utiliza-se o seguinte cálculo para se obter o texto claro (M) : . Além do Algoritmo RSA e do Di�e-Hellman, existem outras implementações de algoritmos assimétricos, tais como o Pohlig-Hellman, Rabin, ElGamal, dentre outros. Todos implementam um modelo de chave pública e privada. A diferença é o modelo matemático utilizado para a geração das chaves e cifragem das mensagens (SCHNEIER, 1996). praticar Vamos Praticar O algoritmo RSA pode ser usado para prover uma comunicação segura entre dois usuários na Internet, garantindo a con�dencialidade dos dados trafegados e a autenticação. Em relação ao processo de cifrar e decifrar, é correto a�rmar que esse utiliza: 1 < e < φ (n) mdc(φ (n) , e) = 1 d ≡ e−1(mod φ (n)) PU = {e,n} PR = {d, n} M < n C = mod nM e M = mod nC d 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 15/36 a) Uma única chave privada. b) Uma chave pública e outra privada. c) Duas chaves privadas. d) Duas chaves públicas. e) Um código aleatório. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 16/36 São funções matemáticas que, para uma cadeia digital de qualquer tamanho, calculam um identi�cador digital con�ável de tamanho �xo (VICECONTI, 1999). No contexto da criptogra�a, uma função de hash pode ser aplicada em um texto claro, de tamanho variável, para produzir um código (código hash) de tamanho �xo (STALLINGS, 2015). Esse código gerado é único para o texto claro, ou seja, nenhum outro texto claro irá gerar o mesmo código numérico para uma determinada função de hash. As funções hash devem possuir as seguintes propriedades (STALLINGS, 2015): 1. A função hash é aplicada a qualquer tamanho de bloco de dados, ou seja, para um texto claro a função é aplicada para todo o texto. Além disso, não há limitação para o tamanho do texto claro; 2. O código hash gerado terá tamanho �xo; 3. A função hash é irreversível, ou seja, a partir do código hash gerado não é possível obter o dado original; 4. Qualquer modi�cação no dado original, por menor que seja, irá gerar um código hash diferente. Funções de HashFunções de Hash 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 17/36 A Figura 2.3 ilustra o funcionamento de uma função hash. Como ilustrado na Figura 2.3, a partir de um texto claro aplica-se uma função de hash. A função irá processar o texto e ao �nal do processo irá gerar um código único associado ao texto claro (código hash). Aplicações das Funções de Hash Os códigos hash são utilizados para detectar alterações em uma mensagem ou conteúdo transmitido. Por exemplo, em uma comunicação pela Internet, um remetente envia uma mensagem para um destinatário. Essa mensagem irá trafegar por vários computadores na Internet até chegar ao ponto de destino. Nesse percurso, a mensagem poderia ser capturada por um invasor de sistemas, alterada e reencaminhada ao destinatário. O destinatário, somente analisando o conteúdo da mensagem, não possui nenhuma informação adicional que permita veri�car a integridade da mensagem, ou seja, se essa sofreu alguma alteração não autorizada de seu conteúdo original durante a transmissão (o conceito de integridade será discutido nas próximas unidades deste curso). Nesse contexto, se fosse utilizada uma função hash para gerar um código associado à mensagem e esse fosse transmitido junto com a mensagem, o destinatário poderia veri�car se a mensagem sofreu alguma alteração durante a sua transmissão. Para isso, o remetente e o destinatário precisam acordar antecipadamente qual a função hash utilizada. A validação é feita da seguinte forma: o destinatário, ao receber a mensagem, aplica a função hash sobre a mensagem recebida. Isso irá gerar um código hash para a mensagem Figura 2.3 - Funcionamento de uma função de hash Fonte: Adaptado de Stallings (2015). 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 18/36 recebida. Na sequência, esse código hash gerado é comparado ao código hash recebido junto com a mensagem. Se os dois forem iguais, a mensagem não foi alterada. Se os códigos forem diferentes, a mensagem foi alterada durante a transmissão. A Figura 2.4 ilustra o exemplo descrito. Esta técnica também pode ser utilizada para validar a transferência de grandes volumes de dados de um site, por exemplo, no caso de downloads de softwares de diversos gigabytes como sistemas operacionais. Nesse caso, junto com o link para o download do software é fornecido um código hash gerado por um algoritmo de hash chamado MD5 (Message Digest 5). Após do download do arquivo, o usuário gera novamente o código hash para o arquivo com o MD5 e compara o código disponível no site com o gerado. Se forem iguais, não houve erro durante o download do arquivo. Uma fragilidade deste modelo é a possibilidade de alteração do código hash da mensagem pelo por um invasor de sistemas. Se ele souber o algoritmo hash utilizado, poderá gerar um código hash válido para a mensagem alterada. Dessa forma, parao destinatário, a mensagem parecerá inalterada. A solução para essa fragilidade é a criptogra�a do código hash a partir da utilização de um algoritmo simétrico. O código hash criptografado recebe o nome de MAC (Message Authentication Code - Código de Autenticação de Mensagens). No exemplo citado, o emissor e o destinatário de�nem uma Figura 2.4 - Geração e validação de um código hash para uma troca de mensagens Fonte: Elaborada pelo autor. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 19/36 chave privada e um algoritmo simétrico para cifrar o código hash. Nesse modelo, o código �ca protegido contra alteração porque será capaz de modi�car a mensagem, mas não de gerar o código e criptografá-lo corretamente. Isso torna evidente para o destinatário que a mensagem foi alterada durante o envio. Além dos algoritmos de criptogra�a simétrica, os de criptogra�a assimétrica também podem ser usados neste exemplo. A utilização desses gera um modelo chamado Assinatura Digital, que será estudado em detalhes na próxima unidade. praticar Vamos Praticar Um aluno da disciplina de Criptogra�a e Certi�cados Digitais implementou o código de uma função hash em um programa de computador. O programa recebe como entrada um texto e gera um código hash correspondente. Ao digitar a palavra SEGURANÇA foi gerado o seguinte código em hexadecimal: 2B5F17A. Se o aluno digitar a mesma palavra novamente, o código hash gerado será igual a: a) 3E721EF. b) 2B5F17B. c) 2B5F17A. d) 56BE2F6. e) SEGURANÇA. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 20/36 Todas as empresas, independentemente do ramo de negócios ou do tamanho, dependem de uma infraestrutura computacional formada, na maioria dos casos, por uma rede local contendo um conjunto de computadores (estações de trabalho e servidores). Os servidores são computadores de maior poder computacional que disponibilizam serviços para as estações de trabalho dos funcionários, como Sistemas Integrados de Gestão, Banco de dados, Compartilhamento de Arquivos, Impressoras, etc. Essa rede local utiliza os mesmos protocolos que a Internet e é chamada de Intranet. A Intranet provê alguns serviços para a rede externa, por meio da Internet, como acesso a página web da empresa, envio e recebimento de e-mails, dentre outros. Entretanto, alguns serviços são restritos à Intranet, como acesso a banco de dados de clientes e fornecedores, acesso ao sistema de gestão, pastas compartilhadas. À medida que a empresa cresce e se expande geogra�camente com a abertura de �liais, novas Intranets são criadas. Isso gera uma di�culdade de VPN (Virtual Private Network)VPN (Virtual Private Network) 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 21/36 gestão da empresa, pois os dados sobre faturamento, despesas, clientes passam a ser divididos em duas ou mais redes distintas e não concentrados como anteriormente. Além disso, tanto a Intranet da matriz quanto a Intranet da �lial disponibilizam os mesmos serviços para os funcionários, tais como envio e recebimento de e-mails, compartilhamento de arquivos, etc. Em uma rede única, alguns destes serviços poderiam ser concentrados, gerando economia para a empresa. Esses aspectos, principalmente a distribuição dos dados da empresa, geram a necessidade de integração dessas redes, mesmo que geogra�camente separadas. A primeira alternativa para essa integração é a aquisição de linhas privadas de comunicação por meio de operadoras de telefonia. Consiste em um cabeamento privado ou link de transmissão sem �o, instalado/disponibilizado pela empresa de telefonia, que irá conectar �sicamente a Intranet da matriz com a Intranet da �lial. O problema dessa solução é o alto custo envolvido, pois é criada uma infraestrutura de comunicação exclusiva (rede privada) interligando a matriz com a �lial (SILVA, 2019). Para algumas empresas esse custo de instalação e manutenção acaba sendo proibitivo. Nesse caso, uma segunda opção é utilizar uma rede pública, como a Internet, para prover a comunicação. O problema com a utilização da Internet para interligar as redes de uma matriz com sua �lial é que as informações trafegadas por estas não estão protegidas, ou seja, todos os dados sigilosos, como balanços �nanceiros, cadastro de clientes, arquivos de projetos etc., podem ser capturados durante a transmissão entre as Intranets pelos computadores da Internet que são utilizados para encaminhar as informações até o ponto de destino (SILVA, 2019). Como explicado anteriormente, os dados trafegados pela Internet não são protegidos contra o acesso não autorizado e podem ser capturados por softwares maliciosos. A Figura 2.5 ilustra a comunicação entre duas redes privadas (Intranet) utilizando uma rede pública (Internet). 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 22/36 No exemplo da Figura 2.5, os dados são trafegados em um computador da �lial (utilizando um navegador web) para um servidor na rede da matriz (servidor web). Os dados trafegam pela rede Internet passando por roteadores e outros computadores utilizados para a transmissão de dados. Se uma dessas máquinas estiver comprometida por um invasor de sistemas, este terá acesso a todos os dados, visto que o TCP/IP não os criptografa. Visando possibilitar a utilização de redes públicas, como a Internet, para interligar redes de uma mesma empresa ou entre empresas e parceiros de negócios com segurança, surge como alternativa a utilização de Redes Privadas Virtuais (Virtual Private Network - VPN). Uma VPN transforma uma rede pública em uma rede privada sem a necessidade de utilizar uma infraestrutura dedicada, como linhas privadas de comunicação por meio de operadoras de telefonia (SILVA, 2019). Para isso, a VPN usa algoritmos de criptogra�a para cifrar todas a comunicação entre as Figura 2.5 - Comunicação entre dois computadores (navegador e servidor web) por meio da Internet Fonte: Elaborada pelo autor. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 23/36 redes que estão sendo interligadas, criando um túnel virtual que interliga as redes. Formalmente, uma VPN é uma forma de simular uma rede privada sobre uma rede pública onde as conexões são virtuais, ou seja, são temporárias e criadas via software utilizando a infraestrutura da rede pública (SCOTT, 1999). A Figura 2.6 ilustra a criação de uma VPN interligando duas redes por meio da Internet. A Figura 2.6 apresenta a criação de túnel virtual que protege, por meio da criptogra�a, os dados trafegados. A VPN irá permitir o acesso seguro a recursos como Banco de Dados, Sistemas de Gestão, pastas compartilhadas sem os riscos do acesso feito diretamente pela Internet. As informações trafegadas entre as redes pela internet estão criptografadas e, mesmo que sejam capturadas, não será possível decodi�car os dados. Para os usuários, o Figura 2.6 - VPN conectando duas Intranets por meio de uma rede pública (Internet) Fonte: Elaborada pelo autor. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 24/36 acesso aos recursos da outra rede é similar ao acesso a serviços na própria Intranet, exceto pela necessidade de utilizar algum recurso de autenticação, a exemplo do usuário e da senha, para acessar os recursos protegidos pela VPN. Em relação ao hardware/software, a Figura 2.6 apresenta uma VPN implementada nos roteadores das respectivas Intranets. Nesse caso, todo o tráfego entre as duas redes passa pela VPN. Além dessa con�guração, pode- se utilizar um computador, com um software cliente de VPN instalado (rede deorigem), e um servidor de VPN, em um computador na Intranet que se deseja acessar, para criar a VPN. O cliente é responsável por encaminhar os dados de uma Intranet para outra criptografando e transmitindo as informações pelo canal virtual através da Internet ao servidor da VPN. Ao receber as informações pelo canal virtual, o servidor fará a decifragem do tráfego e encaminhará a informação ao respectivo computador da Intranet (CRIST; KEIJSER, 2015). Nesse segundo modelo, somente os dados trafegados entre o cliente da VPN e o servidor da VPN são protegidos. A Figura 2.7 ilustra essa con�guração. Figura 2.7 - Comunicação entre um cliente de uma VPN (Intranet Filial) e seu respectivo servidor na Intranet da Matriz Fonte: Elaborada pelo autor. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 25/36 A Figura 2.7 apresenta uma VPN con�gurada entre um cliente e o respectivo servidor da VPN. Nessa con�guração, o túnel virtual �ca restrito à comunicação entre essas duas máquinas e o servidor da VPN �ca responsável por encaminhar o dado ou disponibilizar o acesso ao respectivo serviço na Intranet da Matriz. Além da interligação de redes privadas (Intranets) de uma empresa, pode-se utilizar uma VPN, por exemplo, nas seguintes aplicações (CRIST; KEIJSER, 2015): 1. Os caixas eletrônicos podem utilizar uma VPN para se conectar de forma mais segura aos sistemas dos bancos; 2. Os usuários podem usar uma VPN para proteger os dados trafegados quando usam redes sem �o gratuitas em shoppings e outros estabelecimentos; 3. Em regimes totalitários onde todo o tráfego é monitorado e com determinadas informações censuradas, os usuários podem utilizar uma VPN para burlar o mecanismo de bloqueio; 4. Interligação entre redes de empresas distintas, por exemplo, entre uma Montadora de Automóveis e empresas fornecedoras de peças. Nesse caso, o acesso é restrito a uma parte dos sistemas. Tipos de VPN As VPNs diferem entre si de acordo com a tecnologia utilizada para criar a conexão virtual entre as redes. Segundo Crist e Keijser (2015), as VPNs podem ser divididas em três categorias: 1. VPNs que utilizam o protocolo PPTP (Point-to-Point Tunneling Protocol - Protocolo de Tunelamento ponto a ponto): essa foi uma das primeiras tecnologias utilizadas para a criação de redes privadas. Foi desenvolvida pela Microsoft. Nos dias atuais, seu uso não é mais recomendado porque a criptogra�a utilizada para cifrar as senhas dos usuários é fraca e suscetível a ataques de força bruta. Utiliza dois 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 26/36 canais para con�guração da VPN: um é utilizado para estabelecer a comunicação (túnel virtual) e o outro para o envio de dados; 2. VPNs que utilizam o protocolo IPSec (IP Security): o IPSec é um protocolo de segurança que está sendo adotado na arquitetura de protocolos TCP/IP, os quais são responsáveis pelo funcionamento da Internet. Provê recursos para criptogra�a dos dados transmitidos, mecanismos de autenticação dos emissores e receptores do pacote além do controle de integridade. Esses conceitos serão relacionados com os algoritmos de criptogra�a, que opera em dois modos: pode criar um túnel virtual utilizando, como no PPTP, onde o usuário onde o usuário necessita se autenticar para usar a VPN ou nativamente e de forma transparente para o usuário criptografando todos os dados enviados diretamente pelo protocolo. Esse protocolo, como o anterior utiliza dois canais de comunicação. Um para estabelecer con�gurar a conexão e outro para o envio dos dados. Adicionalmente, o IPSec suporta o uso de Certi�cados Digitais, tema da próxima unidade. Um certi�cado digital permite associar a uma pessoa, entidade ou a um equipamento (como um servidor de rede) um par de chaves público-privadas. Isso possibilita que as chaves sejam validadas como pertencentes a uma determinada pessoa ou organização no momento em que são recebidas e antes de serem utilizadas. Dessa forma, garante-se a identidade do emissor e do destinatário; 3. VPNs que utilizam o protocolo SSL/TLS (Secure Socket Layer / Transport Layer Security): são os protocolos utilizados para garantir a segurança do protocolo HTTPS (para proteger os dados trafegados em um navegador web e em um servidor web durante o acesso a website). Eles criptografam toda a comunicação trafegada entre o navegador (Chrome, Microsoft Edge, Firefox etc.) e o servidor web. Como a VPN é construída diretamente sobre a arquitetura de protocolos TCP/IP, pode funcionar diretamente pelo navegador e não necessita de um cliente próprio (software) para a utilização da VPN. A autenticação dos usuários pode ser feita por uma conta de usuário e senha ou por Certi�cados Digitais. Diferentemente das redes anteriores, não há dois canais para a con�guração da rede virtual e 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 27/36 depois para o envio de dados. O protocolo SSL/TLS estabelece a conexão virtual, realiza a autenticação do usuário na VPN, criptografa os dados e entrega para a camada de transporte do protocolo TCP/IP fazer o envio como se fosse um pacote convencional. Independentemente da categoria de VPN utilizada, todas fazem uso algoritmos de chave simétrica e assimétrica na construção da rede virtual. A criptogra�a assimétrica é usada para realizar trocas de mensagens que irão gerar uma chave de sessão e determinar um algoritmo simétrico a ser empregado. Após de�nida a chave de sessão, esta será utilizada como chave privada para cifrar todas as informações trafegadas entre os equipamentos nos extremos da VPN. Esse processo será visto detalhadamente na próxima unidade. ti reflitaRe�ita As VPNs proporcionam a segurança das comunicações em uma rede pública como a Internet. Outra forma de se garantir a segurança da comunicação em redes públicas (como a Internet) é utilizar protocolos criptográ�cos como o SSL/TLS, os quais serão abordados na próxima unidade. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 28/36 praticar Vamos Praticar Utiliza um conjunto de softwares, protocolos e algoritmos de criptogra�a e autenticação que possibilitam a comunicação segura entre duas redes por meios de uma rede pública insegura (como a Internet). A de�nição apresentada descreve uma: a) Intranet. b) VPN. c) Protocolo IP. d) Rede Local. e) Roteador. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 29/36 indicações Material Complementar LIVRO Criptogra�ia e Teoria dos Números Framilson José Ferreira Carneiro Editora: Ciência Moderna ISBN: 978-8539908202 Comentário: O livro apresenta um embasamento matemático sobre as técnicas de criptogra�a e algoritmos, da criptogra�a clássica à criptogra�a assimétrica. O texto foca nos conceitos matemáticos necessários ao entendimento do RSA, em como o algoritmo gera as chaves e analisa a segurança deste. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 30/36 FILME Caçada Virtual Ano: 2000 Comentário: O �lme retrata a captura de Kevin Mitnick após a invasão de sistemas e roubo de informações de Tsutomu Shimomura, um renomado especialista em segurança da informação. Apesar de ser antigo, o �lme aborda os principais problemas de segurança da Internet e a utilização de criptogra�a para proteção de informações. Acesso em: 04 fev. 2020. T R A I L E R https://www.youtube.com/watch?v=NbgDMYy9mzM 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 31/36 conclusão Conclusão A criptogra�aassimétrica possui um desempenho inferior quando comparado com a criptogra�a simétrica, no que se refere à cifragem de grandes quantidades de informação. Entretanto, possibilita a proteção de dados na comunicação entre usuários em redes públicas como a Internet. Além disso, a criptogra�a assimétrica utiliza técnicas matemáticas mais so�sticadas, como fatoração de números inteiros, ao invés de permutação e substituições de bloco de dados. Isso gera a diferença de performance entre as duas categorias de algoritmos de criptogra�a. Na próxima unidade será discutida a união da criptogra�a simétrica com a assimétrica, o que irá possibilitar o desenvolvimento dos protocolos de criptogra�a como o SSL/TLS e as VPNs abordadas nesta unidade. As funções de hash também serão essenciais para o desenvolvimento das assinaturas digitais. Esse tópico que será abordado na última unidade desta disciplina. referências Referências Bibliográ�cas AMARO, G. Criptogra�a Simétrica e Criptogra�a de Chaves Públicas: vantagens e desvantagens. Faculdade de Educação Superior do Paraná. 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 32/36 Disponível em: http://publica.fesppr.br/index.php/rnti/issue/download/4/33. Acesso em: 21 dez. 2019. OLIVEIRA, P. E. R; ANDRADE, P. T. E; D’OLIVEIRA, R. L. G. RSA. Instituto de Matemática e Estatística da Unicamp. Disponível em: https://www.ime.unicamp.br/~ftorres/ENSINO/MONOGRAFIAS/oliv_RSA.pdf. Acesso em: 24 dez. 2019. SCHNEIER, B. Applied Cryptography. Second Edition. New Jersey: John Wiley & Sons, 1996. SILVA, L. S. Virtual Private Network - VPN: aprenda a construir redes privadas virtuais em plataformas Linux e Windows. Novatec Editora LTDA. Disponível em: http://www.martinsfontespaulista.com.br/anexos/produtos/capitulos/143139.pdf. Acesso em: 26 dez. 2019. SCOTT, C.; WOLFE. P.; ENWIN, M. Virtual Private Networks. O’Reilly, 1999. CRIST, E. F.; KEIJSER, J. J. Mastering OpenVPN: Master building and integrating secure private networks using OpenVPN. Birmingham: Packt Publishing, 2015. STALLINGS, W. Criptogra�a e segurança de redes: princípios e práticas. 6. ed. Tradução Daniel Vieira. São Paulo: Pearson Education do Brasil, 2015. Disponível em: https://www.docdroid.net/BebtXZO/criptogra�a-e-seguranca- de-redes-6a-ed-2014.pdf#page=6. Acesso em: 04 fev. 2020. VICECONTI, A. C. Tecnologias Disponíveis para Implementação de Sistemas Seguros e Auditáveis. São José dos Campos: Simpósio Sobre Segurança em Informática, 1999. WAHID, M. N. A.; ALI, A.; ESPARHAM, B.; MARWAN, M. A Comparison of Cryptographic Algorithms: DES, 3DES, AES, RSA and Blow�sh for Guessing Attacks Prevention. Journal of Computer Science Applications and Information Technology. Disponível em: https://symbiosisonlinepublishing.com/computer-science- http://publica.fesppr.br/index.php/rnti/issue/download/4/33 https://www.ime.unicamp.br/~ftorres/ENSINO/MONOGRAFIAS/oliv_RSA.pdf http://www.martinsfontespaulista.com.br/anexos/produtos/capitulos/143139.pdf https://symbiosisonlinepublishing.com/computer-science-technology/computerscience-information-technology32.pdf 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 33/36 technology/computerscience-information-technology32.pdf. Acesso em: 24 dez. 2019. https://symbiosisonlinepublishing.com/computer-science-technology/computerscience-information-technology32.pdf 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 34/36 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 35/36 29/05/2021 Ead.br https://anhembi.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_667188… 36/36
Compartilhar