Baixe o app para aproveitar ainda mais
Prévia do material em texto
MARCELO LOPES F. CAMPOS AUTORIA CRIPTOGRAFIA APLICADA SER_DIGSEC_CRIPTO_UNID1.indd 1 24/09/2020 15:31:29 © Ser Educacional 2020 Rua Treze de Maio, nº 254, Santo Amaro Recife-PE – CEP 50100-160 *Todos os gráficos, tabelas e esquemas são creditados à autoria, salvo quando indicada a referência. Informamos que é de inteira responsabilidade da autoria a emissão de conceitos. Nenhuma parte desta publicação poderá ser reproduzida por qualquer meio ou forma sem autorização. A violação dos direitos autorais é crime estabelecido pela Lei n.º 9.610/98 e punido pelo artigo 184 do Código Penal. Imagens de ícones/capa: © Shutterstock Presidente do Conselho de Administração Diretor-presidente Diretoria Executiva de Ensino Diretoria Executiva de Serviços Corporativos Diretoria de Educação a Distância Autoria Projeto Gráfico e Capa Janguiê Diniz Jânyo Diniz Adriano Azevedo Joaldo Diniz Enzo Moreira Marcelo Lopes F. Campos DP Content DADOS DO FORNECEDOR Análise de Qualidade, Edição de Texto, Design Instrucional, Edição de Arte, Diagramação, Design Gráfico e Revisão. SER_DIGSEC_CRIPTO_UNID1.indd 2 24/09/2020 15:31:29 Boxes ASSISTA Indicação de filmes, vídeos ou similares que trazem informações comple- mentares ou aprofundadas sobre o conteúdo estudado. CITANDO Dados essenciais e pertinentes sobre a vida de uma determinada pessoa relevante para o estudo do conteúdo abordado. CONTEXTUALIZANDO Dados que retratam onde e quando aconteceu determinado fato; demonstra-se a situação histórica do assunto. CURIOSIDADE Informação que revela algo desconhecido e interessante sobre o assunto tratado. DICA Um detalhe específico da informação, um breve conselho, um alerta, uma informação privilegiada sobre o conteúdo trabalhado. EXEMPLIFICANDO Informação que retrata de forma objetiva determinado assunto. EXPLICANDO Explicação, elucidação sobre uma palavra ou expressão específica da área de conhecimento trabalhada. SER_DIGSEC_CRIPTO_UNID1.indd 3 24/09/2020 15:31:30 Unidade 1 - Organismos de criptografia e aplicações Objetivos da unidade ........................................................................................................... 14 Gerência e distribuição de chaves: criptoanálise ......................................................... 15 A cifragem ...................................................................................................................... 16 Construção de chaves .................................................................................................. 17 Interceptações da informação: força bruta e MITM ..................................................... 18 Criptografia de chaves ........................................................................................................ 20 Simétrica ......................................................................................................................... 21 Algoritmos simétricos ................................................................................................... 23 Assimétrica .................................................................................................................... 24 Algoritmos assimétricos .............................................................................................. 25 Híbrida ............................................................................................................................. 26 Algoritmos híbridos ....................................................................................................... 27 Da atribuição e gerência de chaves: gestão de chaves ............................................... 28 Certificação digital e infraestruturas de chaves públicas: gerência de certificados digitais ............................................................................................................. 29 Hierarquia de entidades e entidades certificadoras .............................................. 30 Funções hash: estrutura ...................................................................................................... 32 Funções hash: algoritmos e colisões ............................................................................... 33 Infraestrutura de chaves: assinatura digital ................................................................... 36 Sumário SER_DIGSEC_CRIPTO_UNID1.indd 4 24/09/2020 15:31:30 Infraestrutura de chaves: algoritmos de assinatura digital ......................................... 39 Sintetizando ........................................................................................................................... 41 Referências bibliográficas ................................................................................................. 42 SER_DIGSEC_CRIPTO_UNID1.indd 5 24/09/2020 15:31:30 Sumário Unidade 2 - Proteção da informação em redes sem fio Objetivos da unidade ........................................................................................................... 44 Protocolos para proteção de enlace de dados .............................................................. 45 Enlace de dados cabeado ........................................................................................... 45 MAC ................................................................................................................................. 47 LLC ................................................................................................................................... 52 Protocolos de enlace de dados sem fio ........................................................................... 55 WEP ................................................................................................................................. 56 WPA e WPA2 .................................................................................................................. 58 Protocolos para camada de rede ...................................................................................... 62 Protocolos de proteção: IPSec e tunelamento ........................................................ 64 Protocolos de proteção: VPNs e implantação de túneis........................................ 66 Protocolos de proteção para transição: CVR e GRN .............................................. 70 Sintetizando ........................................................................................................................... 73 Referências bibliográficas ................................................................................................. 74 SER_DIGSEC_CRIPTO_UNID1.indd 6 24/09/2020 15:31:30 Sumário Unidade 3 - Protocolos de rede e criptografia Objetivos da unidade ........................................................................................................... 76 Protocolos para transporte seguro: SSL/TLS, HTTPS, SSH .......................................... 77 Mecanismos de criptografia ....................................................................................... 77 Protocolo SSL/TLS ........................................................................................................ 81 Protocolo HTTPS ........................................................................................................... 84 Protocolo SSH ................................................................................................................ 87 Protocolos na camada de aplicação: PGP ...................................................................... 92 Sintetizando ........................................................................................................................... 94 Referências bibliográficas ................................................................................................. 96 SER_DIGSEC_CRIPTO_UNID1.indd 7 24/09/2020 15:31:30 Sumário Unidade 4 - Criptografia em demais serviços de rede Objetivos da unidade ...........................................................................................................99 Redes de anonimização de tráfego: Tor, I2P e serviços escondidos ........................ 100 Tor, I2P e serviços escondidos .................................................................................. 103 Tópicos avançados: votação eletrônica, criptomoedas e outros usos do blockchain.....112 Criptomoedas ............................................................................................................... 114 Outros usos do blockchain ........................................................................................ 118 Sintetizando ......................................................................................................................... 122 Referências bibliográficas ............................................................................................... 123 SER_DIGSEC_CRIPTO_UNID1.indd 8 24/09/2020 15:31:30 SER_DIGSEC_CRIPTO_UNID1.indd 9 24/09/2020 15:31:30 Esse livro tem como objetivo apresentar uma área de extrema importância dentro do mundo de redes: a criptografi a da informação e suas diversas ver- tentes no mundo digital. Em tempos que podem ser denominados de quarta revolução industrial, grande parte dos processos manuais serão automatizados e determinadas profi ssões darão lugar a máquinas e ferramentas computadorizadas. Certas análises mercadológicas e pesquisas na área da saúde poderão ser realizadas com o auxílio de algoritmos especializados, treinados para atingir seus objeti- vos com efi cácia e excelência. Todas essas melhorias no mundo moderno só serão possíveis à medida que se garante a efi cácia do seu meio de sobrevivência. Assim como não é possível que exista vida sem água, é impossível para um algoritmo se sustentar sem a devida segurança que garanta seu funcionamento. Por isso, é importante saber como realizar essa etapa vital no processo de automação industrial, ou seja: garantir a segurança tanto de informações pes- soais, como o RG e o CPF, quanto saber proteger seu algoritmo ou programa de um ataque virtual. E para isso, não há técnica melhor do que difi cultar o acesso à informação por partes mal-intencionadas, sem que este processo transfor- me-se em um transtorno para seu proprietário. Convido você, estudante, a conhecer mais sobre o mundo criptografado, suas técnicas, práticas e métodos para manter todas as informações envolvi- das resguardadas e seguras, além de compreender o funcionamento dos prin- cipais organismos de criptografi a da rede. Bons estudos! CRIPTOGRAFIA APLICADA 10 Apresentação SER_DIGSEC_CRIPTO_UNID1.indd 10 24/09/2020 15:31:30 O professor Marcelo Lopes possui graduação em Análise e Desenvolvi- mento de Sistemas pelo Instituto Fe- deral de São Paulo (2020) e atua na rede federal, ministrando aulas de Introdução à Programação para his- pânicos da capital paulista. Também já ministrou aulas na rede pública de ensino. Formado em Eletrônica e Com- putação pelo Centro Paula Souza, atua também na área de Inteligência de Mercado. Currículo Lattes: http://lattes.cnpq.br/9992620275462300 Dedico esta obra a todos os familiares e amigos que me auxiliaram no desafi o de conduzir um conteúdo dessa grandeza, bem como aos colegas de profi ssão e de sala de aula, que ministram esse tópico de forma exemplar, demonstrando aos interessados a importância dos temas aqui tratados. Dedico, por fi m, aos alunos que vierem a fazer uso desse material: que ele seja de grande ajuda, tanto no âmbito acadêmico quanto profi ssional. CRIPTOGRAFIA APLICADA 11 O autor SER_DIGSEC_CRIPTO_UNID1.indd 11 24/09/2020 15:31:36 O professor Lucas Gonçalves Cor- reia é pós-graduado em Segurança da Informação pela UNIBTA (2010) e graduado em Tecnologia de Redes de Computadores pela Faculdade Intera- mericana (2004). Possui 15 anos de atuação no seg- mento de TI, trabalhando na área de infraestrutura e segurança da infor- mação, e tem sólida experiência técni- ca e em projetos relacionados a rede, servidores, sistemas operacionais e segurança das informações. Atua como professor em cursos de MBA e de infraestrutura e segurança da informação. Também é palestrante sobre o tema Software Livre e coautor do livro BS7799: Da Tática a Prática em Servidores Linux. Currículo Lattes: http://lattes.cnpq.br/8158562376448463 À Deus, por me dar vida, saúde, sabedoria e ser o pilar de sustentação da minha vida, e aos demais pilares: Catarina, Juliana, Neuza e Moisés (in memoriam), pelo apoio e amor. O autor CRIPTOGRAFIA APLICADA 12 SER_DIGSEC_CRIPTO_UNID1.indd 12 24/09/2020 15:31:38 ORGANISMOS DE CRIPTOGRAFIA E APLICAÇÕES 1 UNIDADE SER_DIGSEC_CRIPTO_UNID1.indd 13 24/09/2020 15:32:05 Objetivos da unidade Tópicos de estudo Introduzir e aprofundar os principais conceitos de criptografia existentes, como linguagem cifrada, sistemas de criptografia, algoritmos de um processo de cifragem e atribuição, gerência e domínio de chaves dentro de um ambiente determinado; Apresentar os principais organismos de gerência e controle das informações referentes à segurança de informação criptografada, bem como a área de atuação e especialidade de cada um; Trabalhar modelos de ataques à segurança da informação e os principais métodos de prevenção, além da estrutura das ferramentas de segurança da informação. Gerência e distribuição de chaves: criptoanálise A cifragem Construção de chaves Interceptações da informação: força bruta e MITM Criptografia de chaves Simétrica Algoritmos simétricos Assimétrica Algoritmos assimétricos Híbrida Algoritmos híbridos Da atribuição e gerência de chaves: gestão de chaves Certificação digital e infraes- truturas de chaves públicas: gerência de certificados digitais Hierarquia de entidades e entidades certificadoras Funções hash: estrutura Funções hash: algoritmos e colisões Infraestrutura de chaves: assi- natura digital Infraestrutura de chaves: algoritmos de assinatura digital CRIPTOGRAFIA APLICADA 14 SER_DIGSEC_CRIPTO_UNID1.indd 14 24/09/2020 15:32:05 Gerência e distribuição de chaves: criptoanálise Durante a evolução da computação e dos acessos pessoais dentro da rede, a privacidade vem sendo garantida principalmente com a utilização de senhas de acesso exclusivas para cada pessoa portadora de determinado acesso. Com esse método, a informação pessoal é protegida e a única deten- tora do acesso é ela mesma. Na criptografi a, as chaves têm o mesmo propósito: proteger a informação para garantir o acesso apenas das partes interessadas, mas com um organis- mo de funcionamento diferente das senhas de acesso habituais. A título de comparação, as senhas geram proteção na camada física de modelo OSI, ao passo que as chaves a geram nas camadas de transporte e rede, por exemplo. Diferentemente das senhas de acesso, que protegem o acesso do usuário à informação, as chaves de criptografi a protegem a mensagem na camada de transporte entre os usuários, em uma tentativa de evitar interceptações por parte de terceiros. Em um primeiro momento, uma chave trabalha com um conjunto de algoritmos para criptografar e tornar a informação ilegível, deixando-a em um estado conhecido como cyphertext (ou texto cifrado) que é alterado quando esta chega ao usuário. Ou seja, uma chave serve como código de acesso de um algoritmo de cripto- grafi a durante todo seu transporte, e sua conversão para o que é denominado de plain text (ou texto plano, em português) só é realizada ao chegar no destinatário. Assim como ocorre com uma chave comum, apenas a chave especifi ca pode desbloquear a informação atribuída a si e somente seu portador tem o poder de decriptar a informação, sendo este geralmente o destinatário dos dados. Em caso de tentativa de desbloqueio com uma chave que não a auten- ticada, a informação devolvida não deve ser legível. Além de torná-la ilegível, existem táticas para garantir que, em casos de furto da chave deacesso por parte de terceiros, a informação não seja divulgada explicitamente para alguém não autorizado. Essas táticas de bloqueio são conhecidas como criptografia no nível de chave e atuam em um complexo sistema que engloba diversas ações para garantir a segurança da informação. CRIPTOGRAFIA APLICADA 15 SER_DIGSEC_CRIPTO_UNID1.indd 15 24/09/2020 15:32:05 A cifragem Antes de iniciar os estudos sobre a estrutura de um sistema de criptografi a baseado em chaves, é necessário entender o que está em jogo quando a pala- vra cifrar é citada; e para isso deve-se recorrer à história. Desde o princípio dos registros históricos pela humanidade, sempre houve a necessidade de transmitir entre duas partes informações extre- mamente sigilosas e resistentes a tentativas de leitura e interceptações. Esta preocupação remonta até o Egito Antigo, fato notado pela manuten- ção dos termos encriptar/cifrar para esconder a informação e decifrar/de- criptar para revelá-la. O exemplo relativo à criptografi a mais evidente remete aos tempos do Império Romano com Júlio Cesar, que se utilizava de cifras e algarismos para ocultar informações relevantes e mantê-las em seus meios. O método utilizado fi cou conhecido como cifra de César. A cifra de César é conhecida por introduzir na história um conceito de substituição utilizado até hoje. Enquanto César utilizava um valor x para pular as letras (caso X = 2, B em uma mensagem seria B = Y), os criptógra- fos e agentes de segurança da informação substituem um conjunto de bits dentro de uma informação por outros, acrescentando dados, retirando-os posteriormente e encriptando informações de duas a três vezes no mes- mo processo. Assim, métodos matemáticos avançados são utilizados para garantir a privacidade e segurança do que hoje é conhecido como o “novo petróleo”: a informação. O método que se demonstrou mais efi caz para assegurar a segurança da informação, desde a Segunda Guerra Mundial até hoje, foi proteger a informa- ção utilizando chaves. Essas chaves nada mais são do que protocolos e práticas de acesso a uma informação protegida por variações feitas na quantidade de bits e que a tornaram ilegível. ASSISTA Para compreender melhor o assunto, indicamos duas grandes produções da cultura pop sobre o mundo da segurança digital: O Escaravelho de Ouro (2014), fi lme baseado na obra de Allan Poe sobre o primeiro CRIPTOGRAFIA APLICADA 16 SER_DIGSEC_CRIPTO_UNID1.indd 16 24/09/2020 15:32:05 enigma desenvolvido em formato de livro, e Risk (2016), fi lme que discorre sobre o maior ataque realizado à segurança de um site, o WikiLeaks. Construção de chaves Em um organismo criptográfi co, uma chave pode ser composta de valores numéricos ou alfanuméricos que sejam compatíveis, no quesito bytes, com o tipo de algoritmo a ser utilizado. Assim, a construção de chaves de acesso tem como principal fundamento conceitos lógico-matemáticos, como escalas logarítmicas ou derivadas, que utilizam entropia (ou aleatoriedade) o sufi ciente para não serem adivinhadas a partir de de cálculos matemáticos. Atualmente, a IETF – ou Internet Engineering Task Force –, organização mun- dial responsável por especifi car padrões utilizados por toda a internet, man- tém um valor mínimo de entropia para que uma chave seja desenvolvida. Há diversas técnicas para gerar chaves. Destaca-se o sistema de geração de números aleatórios RNG – ou Randon Number Generator –, que trabalha atribuindo e agrupando números de diferentes fontes não estáveis para ge- rar uma chave com variações elétricas em redes ou condições meteorológicas. Ademais, outro ponto importante é o tamanho da chave que será desenvolvi- da: chaves de criptografi a são medidas em bits e, portanto, a unidade de medi- da para chave é seu tamanho. Na criptografi a, o tamanho da chave segue dois critérios: quanto o desen- volvedor tem de tamanho disponível e qual o algoritmo de criptografi a ele irá utilizar. Habitualmente, o desenvolvedor de chaves de criptografi a sempre obe- dece ao tamanho de chave especifi cado pelo algoritmo pretendido. Por exemplo: o algoritmo AES – ou Advanced Encryption Standard – tem três padrões de tamanho de chave: 128, 192 e 256 bits. Para desenvolver uma cha- ve em AES, o desenvolvedor é obrigado a entregar uma chave com o tamanho máximo de 128 bits, a fi m de que seja compatível com a criptografi a oferecida pela AES. Os tamanhos 192 e 256 são tamanhos padrões utilizados exclusivamente pelo governo dos EUA para a criptografi a de informações confi denciais. Consi- derando que poucos atacantes têm acesso a um supercomputador, a partir de 128 bits já se tem um tamanho de chave confi ável para aplicações AES. CRIPTOGRAFIA APLICADA 17 SER_DIGSEC_CRIPTO_UNID1.indd 17 24/09/2020 15:32:05 Por ser uma ferramenta de desenvolvimento, a complexidade para desen- volver uma chave foi reduzida drasticamente com o passar dos anos; hoje é possível, inclusive, programar chaves nas principais linguagens de programa- ção disponíveis ao público a partir da instalação de certas bibliotecas, como a KeyPairGenerator, disponível em Java ou pelo comando sn –k em C#. Interceptações da informação: força bruta e MITM Sabendo que a geração de chaves é realizada da maneira mais aleatória possível, como é possível que um atacante descubra a sequência de uma cha- ve? Essa pergunta é respondida pelos principais métodos de invasão de infor- mações criptografadas: força bruta e Man in the Middle, em conjunto com o tamanho da chave. O ataque por força bruta consiste no atacante tentar de maneira randô- mica todas as combinações possíveis para aquele tamanho de chave. Em ou- tras palavras, ele basicamente irá testar a senha do usuário até encontrar a correspondente. Por ser um trabalho automatizado, o computador consegue empregar todo o processo de tentativa e erro sozinho, dependendo apenas do tamanho da chave para conseguir realizar o trabalho em um tempo hábil para o atacante. Em se tratando de senhas padrões, como a utilizada em e-mails, majori- tariamente os servidores exigem uma senha de no mínimo oito caracteres, obrigatoriamente contendo combinações de números, letras e símbolos. Se- guindo essa base, pode-se afi rmar que em uma chave de dois bits, o interva- lo de valores vai de 0 até 2, totalizando quatro possibilidades (0 0, 0 1, 1 0, 1 1). Com 40 bits esse intervalo corresponde a 240, valor numericamente próximo a um trilhão de combinações. EXPLICANDO Apesar de serem relacionados, o tamanho da chave é baseado no conjunto de caracteres da senha, não correspondendo diretamente à senha em si. Em um site de acesso com oito caracteres existem 2.1834011×1014 combi- nações possíveis, e mais de 600 bits envolvidos. Mesmo sendo um número CRIPTOGRAFIA APLICADA 18 SER_DIGSEC_CRIPTO_UNID1.indd 18 24/09/2020 15:32:05 virtualmente impossível de ser alcançado, com um computador que possa rea- lizar duas mil combinações de senha por segundo – como o IBM Watson –, leva- ria 3,5 mil anos para descobrir essa senha, caso ela seja a última da lista. Caso contrário, levaria o tempo correspondente à sua posição, podendo esta ser a primeira ou a centésima senha e assim por diante. Além de infiltrações na própria chave, também é possível que o atacante intercepte a informação durante a etapa inicial de uma transferência. Esse tipo de ataque é conhecido como Man in the Middle (ou homem no meio, em portu- guês) e consiste em uma infiltração na camada de transporte – ou, em alguns casos, na camada física –, na qual o atacante se estabelece na plataforma em que a transferência será realizada para interceptar a informação. Essa estratégia é utilizada na etapa de transferência da chave entre as par- tes, afinal, interceptar a informação criptografada e realizar um ataque por força bruta não é o propósito de um atacante especializado em MITM. Após se infiltrar em algum ponto da comunicação,o atacante aguarda até que seja enviada alguma informação relevante no canal; após isso, ele a intercepta e pode ou não interagir e entregar a mensagem para o verdadeiro destinatário, conforme demonstra o Diagrama 1. DIAGRAMA 1. FUNCIONAMENTO DO ATAQUE MITM Processo comum Informação é interceptada pelo MITM, que pode ou não transmitir para o usuário A Informação é interceptada pelo MITM, que pode ou não transmitir para o usuário A Usuário A envia chave para usuário B Processo com chaves criptográficas Chave é interceptada pelo MITM Usuário B envia informação criptografada Mensagem Usuário A Usuário B MITM MITM Usuário B Usuário A CRIPTOGRAFIA APLICADA 19 SER_DIGSEC_CRIPTO_UNID1.indd 19 24/09/2020 15:32:05 Apesar de ser um ataque realizado principalmente a nível de usuário co- mum, como por exemplo através de uma rede wi-fi insegura ou página da web, a complexidade de se instaurar um MITM em rede criptografada é ba- tida quando se tem acesso a softwa- res de interceptação permitidos, como o Pegasus ou keyloggers e spywares, que podem interceptar a informação sem quebrar o algoritmo de criptogra- fi a em si. Ainda que sejam dois tipos de ataques efi cazes nas camadas física e de transporte, ambos apresentam falhas quando a informação está na camada de rede. No caso, o MITM não tem, de fato, acesso ao processo de envio da informação criptografada, enquanto que o método por força bruta depende principalmente do tamanho da chave para obter sucesso. Neste caso, pode-se prolongar a tentativa de desbloqueio da chave por tempo indeterminado até que a informação se torne obsoleta, por exemplo. Criptografia de chaves Em um sistema criptográfi co, as chaves, quando disponibilizadas, são con- cebidas dentro de um organismo complexo, que possui relação com mais de uma etapa durante a troca de informação. Imagine o seguinte cenário: o usuário B precisa de determinada infor- mação em um ponto distante do servidor do qual se encontra e não possui acesso remoto, enquanto que o usuário A tem acesso a essa informação em segundos, mas, por ser uma informação privilegiada, não pode ser transpor- tada por meios convencionais. Escolhe-se um método de envio utilizando chave criptografada e algoritmo para garantir a privacidade da informação. Todavia, é necessário questionar como realizar o envio da chave do usuário B para decriptar a informação, uma vez que a chave também teria de ser enviada por um meio digital não-seguro. CRIPTOGRAFIA APLICADA 20 SER_DIGSEC_CRIPTO_UNID1.indd 20 24/09/2020 15:32:16 DIAGRAMA 2. SEGURANÇA DE CHAVE Usuário A faz uma requisição de informação para usuário B Usuário B envia conteúdo encriptado pela chave C Como enviar a chave C com segurança? Para responder à pergunta, foram desenvolvidos dois processos de encripta- ção diferentes: os de criptografi a de chave simétrica e assimétrica. Simétrica O processo de criptografi a de chave simétrica (ou chave privada) é o mais simples e o primeiro a surgir. Esse sistema consiste na criação de apenas uma chave, que é divulgada exclusivamente entre destinatário e remetente. Desde que as partes interessadas saibam qual a chave que é utilizada, é possível crip- tografar e decriptar qualquer informação. Apesar de parecer fácil de ser burlado e não escapar da situação cria- da na problematização, Claude Shannon, pai da teoria da informação, demonstrou em sua tese An algebra for theoretical genetics de 1936 que, para se tornar um método confiável de criptografar informações, a chave utilizada tem que ser do mesmo comprimento ou maior que a mensagem codificada, e a transmissão da chave só deve ocorrer por linha direta, ou seja, sem intermediários. Além de Claude Shannon, Whitfi eld Diffi e, Martin Hellman e Ral- ph Merkle demonstraram outro método para tornar a troca da chave mais segura. Aqui, para cada usuário é atribuída outra chave, diferente da chave criptografada, em que a soma das chaves dos usuários A e B resultam na chave criptografada. CRIPTOGRAFIA APLICADA 21 SER_DIGSEC_CRIPTO_UNID1.indd 21 24/09/2020 15:32:17 DIAGRAMA 3. CRIPTOGRAFIA SIMÉTRICA POR DIFFIE-HELLMAN-MERKLE Chave A1 (posse original) Chave A2 (enviada por usuário B) Usuário A faz uma requisição da informação para usuário B Chave A2 Chave B Usuário B envia conteúdo encriptado pela chave B Como consequência de um sistema com apenas uma chave, a criptografia simétrica tem como característi- ca ser mais rápida que sua semelhante, a criptografia assimétrica. Entretanto, como utiliza a mesma chave, tanto para encriptar quanto para desencriptar, há um risco de segurança duplo da chave no ponto final da comunica- ção, visto que mesmo que o processo de envio de chave seja fei- to em uma plataforma confiável, ao utilizar diversas chaves para encriptar a mesma informação, a chance de que ela seja roubada multipli- ca-se exponencialmente. Outro problema da utilização de chave privada são as multifaces de acesso. Para cada parte interessada no desenvolvimento, realiza-se uma estrutura cliente-servidor em que cada ponta tem sua própria chave confi- dencial gerada pelo servidor que é, no caso, o proprietário da informação, o que compromete a agilidade e segurança do processo. CRIPTOGRAFIA APLICADA 22 SER_DIGSEC_CRIPTO_UNID1.indd 22 24/09/2020 15:32:17 Algoritmos simétricos A implantação de um processo de cifra por chave simétrica, além da arqui- tetura, envolve também algoritmos, suas estruturas e relacionamentos. Para uma operação simétrica, existem duas classes principais de algoritmos: as ci- fras de fl uxo e as cifras de bloco. A principal diferença entre as classes dá-se no processo de fl uxo de bits: enquanto que as cifras de bloco processam a in- formação necessária em blocos e realizam a união no fi nal do processo, a cifra de fl uxo efetua o processamento bit por bit em cada mensagem. Assim, exemplos dos processos descritos são a cifra de César e a encripta- ção AES: a primeira realiza a encriptação caractere por caractere, podendo ser intitulada de cifragem em fl uxo, e o algoritmo AES realiza a conversão por eta- pas. Primeiro, adiciona-se uma sub-chave dentro de cada byte, aumentando seu tamanho. Posteriormente, bytes são trocados de acordo com uma tabela de substituição de bytes, primeiro individualmente, logo após por coluna e, por último, realiza-se a troca em matrizes. Assim como na comparação entre assimetria e simetria, o critério de sele- ção entre os dois métodos é tamanho por velocidade. Embora mais robusta, a cifragem por blocos é mais lenta para cifrar e decifrar, podendo inutilizar o uso de uma chave simétrica caso o objetivo seja velocidade. Por outro lado, por ser um processo de cifragem individualizado, as cifras de fl uxo correm o risco de sofrer alterações de informação, uma vez que, por não ser dar-se bit a bit, a cifra não identifi cará se a posição do bit é igual até realizar a soma no fi nal do processo. Apesar de se mostrar mais lento, o processamento por blocos, ainda assim, consegue ser mais rápido que outras metodologias de criptografi a, sendo am- plamente recomendado para quem planeja desenvolver chaves simétricas. Os principais algoritmos modernos para cifragem em bloco são: • RC4: apesar de ser considerado obsoleto, o RC4 é a base de diversos algorit- mos do sistema de cifragem simétrica. O princípio básico de funcionamento do RC4 é utilizar uma matriz que, cada vez que é empregada, tem os valores somados com outra matriz de blocos, e o resultado se mistura com a chave; • 3DES: evolução do algoritmo DES, o 3DES (Triple Data Encryption Standard) é um algoritmo simétrico para cifragem simétrica que, assim como o RC4, CRIPTOGRAFIA APLICADA 23 SER_DIGSEC_CRIPTO_UNID1.indd 23 24/09/2020 15:32:17 também tem como princípio a proteção por chaveamento. Com o 3DES, são empregadas três ciframentos sucessivos do mesmo caractere,utilizando-se sub-chaves geradas no algoritmo. Assimétrica A criptografi a de chave assimétrica (ou chave pública) difere da simétrica no quesito quantidade de chaves. Enquanto que no modelo simétrico utiliza-se apenas uma chave para destinatário e remetente, no modelo assimétrico são elaboradas duas: a primeira conhecida como chave pública e a segunda como chave privada. A chave pública tem como princípio a livre distribuição pelo destinatário da mensagem, ou seja: qualquer pessoa tem acesso a chave pública do desti- natário; ao passo que a privada é conhecida apenas pelo proprietário, e não é possível distribuí-la ou revelá-la para qualquer outra pessoa. No quesito funcionalidade, a chave pública tem como objetivo encriptar a informação, enquanto que a chave privada (que sempre é correspondente com a chave pública) serve para desencripta-la. DIAGRAMA 4. CHAVE ASSIMÉTRICA Chave pública do usuário B Chave privada do usuário B Usuário A Usuário B Informação criptografada com a chave pública Informação criptografada com a chave pública Mensagem Mensagem O principal benefício do sistema criptografado por chave pública é sua livre distribuição, o que permite maior agilidade na etapa de envio da informação, visto que não há necessidade de acordar com o destinatário uma chave privada de conhecimento mútuo. Além disso, a preocupação com o canal no qual a cha- ve é transmitida não é mais necessária, uma vez que a chave pública é a única compartilhada, sendo do conhecimento de qualquer pessoa. CRIPTOGRAFIA APLICADA 24 SER_DIGSEC_CRIPTO_UNID1.indd 24 24/09/2020 15:32:17 Como a criptografi a assimétrica trabalha com um par de chaves para cada cifragem, o comprimento de cada chave é bem maior que o necessário em um sistema de criptografi a simétrica – cerca de 1,024 até 4.0168 bits de tamanho de chave –, tornando extremamente difícil descobrir uma chave privada. Quando se trata de ataques externos, o sistema de criptografi a assimétrica se sai bem, visto que para o método por força bruta a única chave que roda pela rede é a pública, já aberta, diminuindo a visibilidade da transação; já no MITM a abordagem da informação em relação à transferência de chave é anulada. Algoritmos assimétricos Diferentemente dos algoritmos simétricos, em que existem classes de al- goritmos, os algoritmos de criptografi a assimétrica são amplamente genera- lizados e servem para diversas outras funcionalidades, além de unicamente encriptar. Não obstante, por esses algoritmos serem construções derivadas de conceitos intermediários, ou seja, conceitos que nasceram do período entre a criptografi a simétrica e assimétrica, é comum que aqueles descritos aqui tam- bém possam ser utilizados em outros processos, como o RSA. Os algoritmos de criptografi a assimétrica se destacam pelo fato de terem como base a impossibilidade de resolução em tempo hábil, pois utilizam con- ceitos matemáticos conhecidos por serem computacionalmente impossíveis de serem resolvidos durante uma vida humana. Os principais são: • RSA: principal algoritmo já desenvolvido, e que serviu de base para grande parte dos algoritmos de segurança, o RSA (acrônimo do sobrenome de seus cria- dores Ron Rivest, Adi Shamir e Len Adleman) tem como princípio fundamental números primos e sua multiplicação. O RSA funciona com o pressuposto da mul- tiplicação de dois números primos de ordens numéricas grandes o sufi ciente para demandar anos além do tempo de vida humano para a fatoração desse nú- mero. Assim, a segurança do RSA e de tantas outras arquiteturas baseadas em RSA são fortifi cadas com um sistema de fatoração de grandes números primos; • Diffi e-Hellman: baseado no problema do logaritmo discreto, o algoritmo desenvolvido consiste na soma dos valores da chave escolhidos por cada ponta da comunicação aplicados em um modulo matemático e com o acrés- cimo de dois valores combinados pelas partes envolvidas. CRIPTOGRAFIA APLICADA 25 SER_DIGSEC_CRIPTO_UNID1.indd 25 24/09/2020 15:32:17 Assim, este último assumiria a seguinte estrutura: Usuário A utiliza Ra = (Ag) módulo X, sendo: Ra o resultado, A e X um valor atribuído em comum e g a sub-chave de conhecimento apenas do usuário A. O mesmo processo é feito pelo usuário B utilizando os valores Rb para o re- sultado, A e X um valor atribuído em comum e h a sub-chave de conhecimento apenas do usuário B. A fórmula fi nal para se obter a chave é Chave = Rbg módulo b ou Rbh módulo b. Híbrida Imagine um sistema que junte a velocidade de uma transferência simétrica com a segurança extra oferecida pela transferência assimétrica. Esse é o con- ceito da chave híbrida. Quando analisadas as vantagens de ambas as criptografi as, desenvolveu-se um novo modelo de criptografi a conhecido como criptografi a híbrida. Este se baseia na ideia de cifrar a chave pública do processo de criptografi a assimé- trica com a chave privada – ou chave de sessão – do processo de criptografi a simétrica. Nesse procedimento, o fl uxograma de criptografi a possui o processo descrito no Diagrama 5. DIAGRAMA 5. CHAVE HÍBRIDA Mensagem Usuário A pega chave pública do destinatário Chave da sessão cifrada com a chave pública Recebe a chave da sessão cifrada com a chave pública Usuário B “puxa” sua chave privada Envio para o destinatário Mensagem cifrada com a chave da sessão Mensagem cifrada com a chave da sessão Chave da sessão Usuário A Usuário B Usuário B Usuário A gera a chave da sessão Mensagem CRIPTOGRAFIA APLICADA 26 SER_DIGSEC_CRIPTO_UNID1.indd 26 24/09/2020 15:32:17 Detalhando: O usuário A escreve uma mensagem, gera uma chave de sessão e a encripta, como no sistema de criptografi a simétrica. Em seguida, ele, com a chave pública do destinatário, encripta a chave de sessão. Após realizar esse processo, a men- sagem e chave encriptadas são enviadas para o destinatário (Usuário B) que, com sua chave privada, decifra a chave de sessão e com ela a mensagem. O método assimétrico, por ser lento, é utilizado na distribuição de chaves por ser mais seguro; enquanto que o simétrico, por ser mais rápido, é utilizado na cifra da mensagem. Algoritmos híbridos Por ser um sistema relacionado à fusão dos sistemas assimétricos, os algo- ritmos para a chave híbrida habitualmente são, também, a união de dois algo- ritmos desenvolvidos exclusivamente para chave assimétrica ou simétrica. Por esse motivo, os algoritmos tratados até aqui também podem ser utilizados no sistema híbrido, desde que dedicados a uma etapa especifi ca da criptografi a. Alguns exemplos: • El Gamal: o principal algoritmo desenvolvido pensando na criptografi a hibrida é o El Gamal. Por ser baseado no sistema matemático comutativo, fundamenta-se no cálculo de grandes valores numéricos. No tratamento de chaves públicas, o algoritmo de decriptação se baseia em um logaritmo dis- creto, como o algoritmo Diffi e-Hellman em um corpo fi nito, não utilizando a resolução de curvas elípticas; • Curvas elípticas: desenvolvido por Koblitz e Miller em 1985, o siste- ma de curva elíptica se usa do conceito matemático de curva elíptica dentro da computação criptográfica. Apesar de poder ser por si só um algoritmo de chave assimétrica, a curva elíptica é aplicada em cima de algoritmos já existentes e que utilizam o princípio de corpos finitos, como o algoritmo Diffie- -Hellman e Schnorr. Com as curvas elípticas, resolve- -se também o problema do tamanho de chave, que assumia valores incrivelmente grandes para siste- mas de segurança. CRIPTOGRAFIA APLICADA 27 SER_DIGSEC_CRIPTO_UNID1.indd 27 24/09/2020 15:32:18 Da atribuição e gerência de chaves: gestão de chaves Após o processo de criação, é necessário implementar a chave de segurança criada no processo de interesse, bem como gerenciar todo o ciclo para certificar o acesso apenas a partes interessadas e sigi- losas. Para realizar uma boa gestão do controledas chaves, é necessário seguir etapas de segurança exter- nas que buscam a sua proteção. Após dedicar ao algoritmo o ta- manho e a criptografia de chave ideais para o processo, é importante certificar-se que está sendo realiza- da uma gestão eficaz das chaves, ga- rantir que as chaves geradas sejam mantidas em sigilo contra diversos tipos de furtos de informação, controlar o acesso físico às chaves (como acesso de funcionários em uma empresa de segurança, por exemplo) e alterar com frequência a chave destinada a determinada informação, au- mentando o tempo necessário para uma futura adivinhação da chave por parte de terceiros. A fim de obter sucesso em todas essas métricas, é importante possuir uma boa política de segurança da informação em sua empresa, bem como parceiros e funcionários dedicados à confidencialidade do processo. Para ter certeza de que o processo está sendo realizado da maneira correta, é necessário sempre ter a informação sobre o local onde as chaves são mantidas e quem é o responsável por elas. No caso dos serviços de gerenciamento, as chaves são mantidas na ca- mada de serviço para um fácil acesso por parte dos administradores, mas, por ser mantida numa camada de baixo acesso, são sujeitas a ataques na rede do administrador da chave. CRIPTOGRAFIA APLICADA 28 SER_DIGSEC_CRIPTO_UNID1.indd 28 24/09/2020 15:32:27 A maneira mais efi caz de se garantir uma boa gestão e segurança de cha- ves é realizar um estudo das principais ameaças que possam afl igir sua em- presa, seu processo ou suas chaves, e criar em cima desse estudo uma políti- ca de segurança que englobe todos os aplicativos e dispositivos que possam ser utilizados nessa política, inclusive na nuvem. A padronização dos acessos e dispositivos de segurança é vital para uma boa gestão de chaves, pois toda a infraestrutura e investimento em seguran- ça de uma empresa podem ruir em caso de uma má gestão de segurança. Certificação digital e infraestruturas de chaves públi- cas: gerência de certificados digitais Mesmo que a criptografi a se baseie em princípios de segu- rança da informação, privacidade e proteção dos dados a partir de práticas e sistemas, não há garantias que o seu mais novo clien- te não seja um cracker em busca de suas informações confi denciais. Para sanar esse imbróglio, é vital que ambas as partes tenham auten- ticidade, a fi m de passar confi ança durante uma troca de informações. Partindo do princípio que o dado não estará seguro se o destino da infor- mação não for seguro, bem como do fato de que não se pode autenticar o proprietário da chave privada correspondente à chave pública, criou-se os certifi cados digitais. Um certifi cado digital garante por meio de uma auto- ridade que determinada chave pública, em uma criptografi a assimétrica ou híbrida, pertence ao seu proprietário. Ou seja, certifi cados digitais garantem que a entidade portadora da chave pública é confi ável para realizar determi- nada transação que utiliza a chave credenciada, sejam essas entidades uma empresa, uma pessoa física ou um gerenciador de chaves. Um certifi cado digital atua na internet como qualquer documento que contenha informações pessoais, tais como CPF, RG ou data de nascimento. Entretanto, em um certifi cado, essas informações dão lugar às seguintes: • Validade do certifi cado; • Dados da entidade que autentifi cou o certifi cado; • Chave pública associando a entidade ao certifi cado; • Subject ou entidade dona do certifi cado. CRIPTOGRAFIA APLICADA 29 SER_DIGSEC_CRIPTO_UNID1.indd 29 24/09/2020 15:32:27 Após ser verifi cado, o certifi cado garante credibilidade no mundo digital para seu portador, uma vez que, por ser baseado em cálculos matemáticos e lógicos de chaves, a possibilidade de alguém se passar por um portador de cer- tifi cado é ínfi ma. Para isso, é necessário falsifi car um certifi cado digital válido. Além das certifi cações no mundo digital, um certifi cado também tem va- lidade fora dele, possuindo validade jurídica e reconhecimento perante a lei. Hierarquia de entidades e entidades certificadoras Mas, sendo uma certifi cação digital que garante credibilidade aos envol- vidos em uma troca de informação, é natural que ocorra o questionamento sobre quem certifi ca as certifi cações. O Diagrama 6 evidencia a hierarquia de como funciona a etapa de certifi cação digital. DIAGRAMA 6. INFRAESTRUTURA DE CHAVES Entidade regulamentar ICP AC – raiz Autoridade certifi cadora AR AR AR AR AR AR AR AR AR Autoridade certifi cadora Autoridade certifi cadora Detalhando: AR – Autoridade registro: uma autoridade de registro tem como função ser a porta de entrada para entidades e pessoas que buscam uma garantia digital, realizando a comunicação entre a autoridade certifi cadora e o interessado. Sempre relacionada à uma AC, podendo inclusive estar fi sicamente situada em uma, as autoridades de registro têm como responsabilidade – além de realizar CRIPTOGRAFIA APLICADA 30 SER_DIGSEC_CRIPTO_UNID1.indd 30 24/09/2020 15:32:27 a ponte supracitada – manter o registro de todas suas operações e entidades que buscarem certificação por ela. Para dentro de uma AR, residem os agentes de registro, pessoas físicas responsáveis por atividades como autenticação e validação das informações, além de emissão e revogação dos certificados; AC – Autoridade certificadora: para garantir a credibilidade do documen- to gerado pela AR, a autoridade certificadora é o órgão, público ou privado, responsável por emitir, gerenciar, distribuir, renovar e revogar certificados di- gitais de qualquer pessoa solicitante dentro de determinada região. Também é função de uma AC gerenciar as ações das ARs associadas a ela. Uma AC atua verificando se o titular da requisição de certificado possui uma chave privada correspondente à chave pública na qual foi feita a requisição do certificado. Também compete a uma AC assinar como responsável pela entidade que utili- za o certificado em alguma transferência de informações on-line. Além dessas delegações, uma AC também é responsável pela emissão, publicação e atuali- zação periódica da LCR; LCR – Lista de certificados revogados: é onde constam certificados que, por diversos motivos, tais como comprometimento da chave privada, atualiza- ção de dados ou comprometimento da chave privada da autoridade certificado- ra, foram revogados antes de sua data de expiração. Deve constar em uma LCR a data e o nome do emitente da revogação, além da data da próxima verificação. Também deve haver em uma LCR o número de série dos certificados revogados; AC Raiz – Autoridade certificadora raiz: hierarquicamente, o organismo regulatório acima da AC é conhecido como autoridade certificadora raiz, sendo esta a entidade que audita e fiscaliza todas as entidades ligadas a ICP e funcio- nando basicamente como extensão de monitoramento de uma ICP. Uma AC-R, além de fiscalizar e auditar, também fornece o prazo de validade de um certifi- cado digital emitido por alguma AC; ICP – Infraestrutura de chaves públicas: o principal organismo, podendo ou não ser físico, dentro de um sistema de certificação digital. Uma ICP é o con- junto organizacional de práticas e procedimentos realizado para o controle de certificações e emissão de chaves públicas pelas ACs. O objetivo de uma ICP é estabelecer diretrizes e fundamentos do sistema de certificação digital com base no sistema de chaves públicas. No Brasil, desde 2002 existe a ICP-Brasil, órgão público regulatório de chaves públicas que também atua como AC-Raiz; CRIPTOGRAFIA APLICADA 31 SER_DIGSEC_CRIPTO_UNID1.indd 31 24/09/2020 15:32:27 Entidade regulamentar: elemento obrigatoriamente público, dentro da hierarquia, uma entidade regulamentar é o organismo responsável por garan- tir a jurisdição de determinado país e interesses públicos no meio digital, po- dendo, inclusive, gerenciar e regulamentar as ações permitidaspor uma ICP. Um exemplo claro de atuação de uma ER é o ITI, ou Instituto Nacional de Tec- nologia da Informação, organismo brasileiro responsável por gerenciar todas as ações da ICP relacionadas a pessoas proprietárias de certifi cado digital em território brasileiro. CURIOSIDADE O ITI mantém a estrutura de todas as entidades e organismos relaciona- dos à infraestrutura de chave pública no brasil. É possível consultar essa lista no site do órgão. Funções hash: estrutura Além de toda a estrutura necessária para gestão de chaves públicas e emis- são de certifi cados, também há as estruturas que residem apenas no mundo digital, responsáveis por garantir, de fato, a ordenação e segurança de todos as certifi cações emitidas. Essa etapa é realizada por um conjunto de técnicas basea- das na função hash. Uma função hash tem como base três princípios: o algorit- mo hash, o mecanismo de resolução de colisões e a função hash em si. Para entender como funciona o algoritmo hash dentro da criptografi a, pri- meiro é necessário compreender o que é isso no mundo da computação. Ao pagar ou gerar um boleto, aquele digito solitário no meio de tantas sequências aleatórias é conhecido como hash, e serve como digito verifi cador de todo o con- junto, ou seja: o hash nada mais é que uma função matemática responsável por pegar determinada quantidade de números e condensá-los em outro número. Outro exemplo de utilização do hash, além do boleto, é a realização de downloads por meio da rede. É normal, em casos de arquivos grandes e auten- tifi cados, que o hash code relacionado àquele download esteja especifi cado na plataforma em que foi realizado o descarregamento. Isso ocorre porque, após a conclusão do download, é possível fazer o cálculo de hash no arquivo de sua máquina e comparar com o especifi cado no site. Se houver qualquer alteração CRIPTOGRAFIA APLICADA 32 SER_DIGSEC_CRIPTO_UNID1.indd 32 24/09/2020 15:32:28 do conteúdo durante o processo, também haverá uma diferença no hash do seu download com o hash do site, e o erro será detectado pela responsável pela transferência. Para que esse sistema funcione, é necessário que os algoritmos de hash se- jam públicos, de forma que qualquer pessoa possa calcular e verifi - car os dados. Além de ser possível realizar a comparação, o hash também tem como característica o fato de que cada algoritmo sempre irá gerar o mesmo hash para a mesma entrada, não havendo a possibilidade de cal- cular a entrada do dado apenas em posse do hash. Funções hash: algoritmos e colisões Alguns dos algoritmos foram construídos com o conceito de familiaridade, ou seja, cada algoritmo soma funções adicionais com outras funções de algo- ritmos semelhantes. Para exemplifi car, analise a família de hash conhecida como SHA. O primeiro SHA, concebido pela Agência de Segurança Nacional dos EUA (NSA-EUA) em 1993 para servir como padrão de hash a ser utilizado pelos servi- ços de inteligência americana, é utilizado ainda hoje em outras variáveis conheci- das como SHA-224, 256, 384 ou 512, todas estas funções resumidas como SHA-2. A família SHA tem como princípio lógico implementar um hash sem nenhum chaveamento em qualquer mensagem de até 264 bits e, a partir dessa mensa- gem, produzir uma outra resumida, de 160 bits, utilizada para verifi cação da in- tegridade da mensagem original. Ele é baseado em outros dois algoritmos co- nhecidos como MD4 e MD5 e, assim como os dois, os algoritmos SHA herdaram o processamento de blocos com no máximo 512 bits. O SHA-1 tem como base acrescentar bits de enchimento em cada dado na informação até que se atinja o valor máximo de 512 bits. Após isso, há um incre- mento no tamanho da mensagem (ou informação completa) até que essa seja transformada em um bloco de 64 bits. Assim, gera-se, além de blocos incremen- tares, um bloco com a mensagem original comprimida no tamanho de 64 bits. Após as etapas de compressão da informação, um buff er de 160 bits é ini- cializado para armazenar os resultados obtidos até o momento, além do último CRIPTOGRAFIA APLICADA 33 SER_DIGSEC_CRIPTO_UNID1.indd 33 24/09/2020 15:32:28 bloco da função de hash, sendo esse buffer composto de cinco registradores de 32 bits cada com os seguintes valores em hexadecimal: EXPLICANDO Buffer é um espaço de alocação de memória temporário, geralmente especificado por um determinado período ou tamanho máximo atingido. A = 67 45 23 01 C = 98 BA DC FE B = EF CD AB 89 D = 10 32 54 76 E = C3 D2 E1 F0 A etapa final da produção de um SHA é a compressão, montada em quatro interações com 20 passos similares, porém utilizando estruturas lógicas dife- rentes. Depois de processar os blocos de 512 bits, a saída do último bloco for- nece o hash de 160 bits. DIAGRAMA 7. ESTRUTURA DO HASH SHA-1 160 bits 160 bits 160 bits 160 bits M 160 bits Mensagem = tM ≠ 64b = M 512 bits 512 bits 512 bits 512 bits M tM: tamanho da mensagem CRIPTOGRAFIA APLICADA 34 SER_DIGSEC_CRIPTO_UNID1.indd 34 24/09/2020 15:32:28 Ainda que seja baseado em um sistema complexo, o hash SHA-1 já foi que- brado em situações de teste de segurança pela própria Google para demons- trar como esse sistema se tornou obsoleto em comparação a novas versões baseadas em 256 bits. Entretanto, mesmo se mostrando um sistema obsoleto de codificação, mui- tas aplicações se utilizam desse hash para realizar uma verificação de corrup- ção de arquivo dentro de um único sistema ou site. Esse método tem como funcionalidade garantir que informações não sejam corrompidas por quedas de rede ou fins abruptos e, geralmente, é utilizado com algum outro hash de segurança contra falsificações. Apesar de ser um feito incrível a Google ter realizado uma quebra de hash em tão pouco tempo, o método que foi utilizado é um sistema bem conhecido, chama- do de colisões de hash. Ao se atentar em uma função hash, são perceptíveis alguns padrões importantes. O principal deles é o tamanho fixo que cada modelo ofere- ce, como por exemplo o SHA-1, que oferece 160 bits, e o MD5, que oferece 128 bits. Considerando que é possível, em qualquer uma das duas funções, escrever um número infinito de mensagens, em algum momento do tempo duas men- sagens existirão com o hash idêntico. Quando esse evento acontece, recebe o nome de colisão de hash. Mesmo sendo um evento que demore séculos para ocorrer, partindo do princípio que a possibilidade de mensagens concebíveis é tão grande quanto as combinações possíveis entre letras, números e caracteres, o código hash gera- do sempre vai obedecer o padrão hexadecimal e um limite de, até o momento, quarenta caracteres. Haverá um momento em que esse código hexadecimal haverá de se dupli- car, a fim de preencher um número maior que um trilhão de possibilidades de mensagens, visto que o mesmo é gerado partindo de um padrão aleatório. Na teoria, isto torna possível que ocorra uma colisão antes mesmo de todas as possibilidades de valores para um código hash serem preenchidas. Ironicamente, mesmo se provando que em algum momento haverão de se encontrar dois hashs iguais em utilização, dificilmente isso será útil para um or- ganismo mal-intencionado, visto que a probabilidade de alguma dessas mensa- gens algum dia encontrar a outra dentro da rede global de sistemas de compu- tadores é ínfima. CRIPTOGRAFIA APLICADA 35 SER_DIGSEC_CRIPTO_UNID1.indd 35 24/09/2020 15:32:28 Outra questão que difi culta o encontro de hash é o prazo de validade de um certifi cado digital, pois, considerando todas as etapas de segurança passadas antes de chegar no hash, é impro- vável que alguém mal intencionado encontre um código hash idêntico ao do seu alvo em um intervalo menor que quatro anos – que é o intervalo médio de duração de um certifi cado até que o código hash seja trocado – sem o auxílio de uma supermáquina. E mesmo no cenário atual, com o advento de um computador quântico, se torna bem maisfactível capturar a informação antes mesmo do hash, tornando ain- da mais remota a possiblidade de essa brecha ser explorada. Mesmo aparentando ser uma possibilidade extremamente improvável de furto de informação, o motivo da preocupação de gigantes da tecnologia com algo tão remoto pode ser explicado com base em previsões computacionais. Conforme a previsão de Moore avança, métodos e acessórios de computação também progridem, assim como a utilização de chaves e hashs por todo mun- do. Logo, é possível imaginar que em um período de décadas à frente, ou até mesmo antes, a brecha envolvendo o encontro de duas chaves possa ser ex- plorada mesmo com evoluções no sistema de chaves e hashs. Infraestrutura de chaves: assinatura digital O dono de um certifi cado digital deseja que seu hash seja o mais segu- ro e individual possível e sabe quais métricas são cumpridas no método de criação de um hash, além da aleatoriedade envolvida. Apesar de ter a chave pública autenticada através do sistema de certifi cação digital e conseguir re- sumir e proteger as mensagens envidas por meio do hash, é preciso também assinar cada mensagem enviada pelo remetente. Essa questão é desenvolvi- da pelas assinaturas digitais. Para tratar sobre assinatura digital, é necessário primeiramente relem- brar os princípios que tornam o sistema de certifi cação digital seguro. Segun- do Houlsey e Polk (2001) os princípios de um certifi cado digital são: a. Ser um objeto puramente digital, a fi m de que possamos distribuí-lo e processá-lo automaticamente; b. Deve conter informações sobre o detentor da chave privada; CRIPTOGRAFIA APLICADA 36 SER_DIGSEC_CRIPTO_UNID1.indd 36 24/09/2020 15:32:28 c. Deve ser fácil de determinar se o certificado foi recentemente emitido; d. Deve ser criado por uma entidade confiável, ao invés do próprio usuário que detém a chave privada; e. Posto que uma entidade confiável pode criar vários certificados, inclusi- ve para um mesmo usuário, deve ser fácil diferenciá-los; f. Deve ser fácil determinar se o certificado foi forjado ou se é genuíno; g. Deve ser à prova de violação, de modo que ninguém consiga alterá-lo; h. Deve ser possível verificar de forma imediata se alguma informação no certificado não é mais válida; i. Deve-se poder determinar para quais aplicações o certificado é válido. Após garantir que o certificado digital possui todos os itens listados, uma ICP deve garantir, também, a realização das assinaturas digitais. Uma assi- natura digital consiste em implementar o conceito do hash, mas, ao invés de utilizar um trecho da mensagem para gerar um código exclusivo, gerar dentro do próprio resumo que o hash é um trecho com informações sobre o emissor da mensagem. É possível observar esse processo no Diagrama 8. DIAGRAMA 8. ASSINATURA DIGITAL Assinatura Verificação Certificado digital Encriptar usando chave privada do assinante Descriptar usando chave pública do assinante Informação Informação assinada digitalmente Hash Assinatura Certificado Informação Se forem iguais, a assinatura é válida Informação Hash Assinatura CRIPTOGRAFIA APLICADA 37 SER_DIGSEC_CRIPTO_UNID1.indd 37 24/09/2020 15:32:29 Conforme visto no diagrama, o processo de assinatura consiste em gerar o hash da mensagem que será enviada e cifrar esse resumo com a chave privada do assinante. Logo, para poder conferir a assinatura, é preciso de- cifrá-la com a chave pública do assinante e comparar com a hash contida no documento oficial. Assim como no certificado digital, a assinatura também tem validade no mundo físico, constando como uma assinatura válida para qualquer situação durante o período em que o certificado digital for vigente. A assinatura digital pode ser aplicada a qualquer documento eletrônico como, por exemplo, contratos, procurações e certificados, apresentando, além de todas as vantagens de segurança oferecidas pelo meio digital, a dimi- nuição dos custos de emissão e descartes desses documentos, bem como a eliminação do uso de papel. Além desses fatores, a assinatura digital é a última etapa de um processo de verificação e envio de informações entre entidades. Além disso, uma assi- natura digital garante integridade, pois assegura que aquela informação não sofreu nenhuma alteração durante seu envio e elimina a possibilidade de o emissor se retratar ou negar o envio da informação presente no documento. Outro método realizado diretamente entre pessoas ou entidades sem a intervenção do ICP ou de qualquer outa autarquia relacionada a certificação digital é a assinatura eletrônica. Esse método surgiu para identificar uma pes- soa por meio de uma assinatura não criptografada na internet – em outras palavras, uma identificação de maneira mais informal. A assinatura eletrônica pode ser desde uma nota de rodapé com o nome do emissor do documento ou uma assinatura através de mouse ou caneta touch até o próprio login e senha deste usuário no documento. Embora as assinaturas digitais sejam um método reconhecidamente legal, existem variações entre a legislação de um país e outro, o que tornaria a vali- dade de um certificado questionável se aplicado em um país em que não haja uma infraestrutura de chaves públicas bem definida. Para contornar essa questão, países com culturas tecnologicamente avan- çadas emitem uma lista com entidades globais confiáveis para aplicação de ICP na legislação local, podendo, caso o documento seja emitido em outro país, ter também validade jurídica legal no país em questão. A União Euro- CRIPTOGRAFIA APLICADA 38 SER_DIGSEC_CRIPTO_UNID1.indd 38 24/09/2020 15:32:29 peia, por exemplo, emite periodicamente a EUTL – European Trusted List (ou Lista de Confi ança Europeia), com mais de 200 provedores presentes. Outra inovação para a assinatura digital é a possibilidade de armazenar tanto o certifi cado quanto a assinatura digital na nuvem. Com esse novo ad- vento, é possível acessar a assinatura digital em qualquer plataforma, sendo possível realizar a assinatura de documentos e outros arquivos de maneiras mais descomplicadas que em um computador ou notebook. Com isso, além de ser garantida a praticidade, também assegura-se uma camada de segurança adicional pois, além da assinatura estar protegida por todas as etapas de verifi cação de segurança realizadas anteriormente, tam- bém é possível contar com a segurança de se manter um arquivo na nuvem, o que gera uma camada de proteção extra contra tentativas de falsifi cações e invasões no documento. Infraestrutura de chaves: algoritmos de assinatura digital Todo processo realizado em criptografi a é feito com o auxílio de algum algoritmo, e isto não seria diferente com a assinatura digital. Para poder as- sinar, são utilizados algoritmos de particionamento e embaralhamento de in- formação, que se baseiam, em sua maioria, em variações do algoritmo RSA que realizam apenas assinaturas. É o caso do DSS, um padrão de assinatura digital que mescla conceitos de RSA para a assinatura, criando um algoritmo conhecido como DAS. Além de ter como base o algoritmo assimétrico, o DSS tem um organismo que utiliza SHA-1 para codifi car o hash, além de usar um método de cálculo baseado no El Gamal com menos potências fi nitas. Além do padrão DSA com potência fi nita, também pode utilizar-se a curva elíptica. Essa variação é conhecida como ECDSA e oferece o mesmo espaço de bits que o algoritmo RSA incrementado com curva elíptica em um sistema de chaveamento assimétrico. Como os algoritmos de criptografi a de assinatura têm como base a assimetria, o problema do sistema em si persiste também na assinatura, ou seja, na velocidade de encriptar a informação. Essa questão causa diversas CRIPTOGRAFIA APLICADA 39 SER_DIGSEC_CRIPTO_UNID1.indd 39 24/09/2020 15:32:29 falhas de projeto na implantação de sistemas de segurança que utilizam o sis- tema assimétrico ou a criptografia híbrida.Esta é a etapa em que a velocidade de encriptar a informação “engasga”, podendo causar queda de confiança e furto de informações no processo. CRIPTOGRAFIA APLICADA 40 SER_DIGSEC_CRIPTO_UNID1.indd 40 24/09/2020 15:32:29 Sintetizando Nessa unidade trabalhamos com os principais tipos de sistemas de cripto- grafia: simétrica, assimétrica e híbrida. Vimos que a principal diferença entre cada uma é a quantidade de chaves utilizadas no processo de ciframento, sen- do que a simétrica utiliza uma chave privada, a assimétrica uma chave pública e uma privada e a híbrida ambas, bem como seus algoritmos, tais quais RSA e DES3, e seus métodos e formas de utilização e de cálculos, como fatoração e curva elíptica. Entendemos como funciona a construção de uma chave cripto- gráfica, bem como dois tipos de ataque a qual uma chave está sujeita: por força bruta e Man in the Middle. Na segunda etapa, entendemos como é realizada a gestão de uma chave e seus principais métodos de resguarda, a hierarquia em torno de uma chave pú- blica, que parte desde a autoridade de registro até a autoridade certificadora raiz, bem como dois organismos de controle, entidade regulatória e ICP, e seus mecanismos dentro do Brasil. Vimos como é realizada a emissão de um certifi- cado digital por parte da AC-Raiz que, no nosso caso, é a ICP-Brasil, assim como também o processo de geração de hash. Dentro do processo de geração de hash, analisamos algoritmos importan- tes para essa função e mais um tipo de ataque, a colisão de hash, além de estudar a possibilidade da ocorrência de um ataque desse tipo. Finalizamos o capítulo estudando a parte final de uma infraestrutura de chave pública: a assinatura digital, seu organismo de funcionamento, as semelhanças com a as- sinatura eletrônica e os algoritmos de assinatura digital, além das semelhanças com algoritmos de chaveamento assimétrico e seus principais problemas. CRIPTOGRAFIA APLICADA 41 SER_DIGSEC_CRIPTO_UNID1.indd 41 24/09/2020 15:32:29 Referências bibliográficas BURNETT, S. Criptografia e Segurança: o guia oficial RSA. Rio de Janeiro: Else- vier, 2002. JORDÃO, F. Google e CWI relatam colisão da criptografia SHA-1, que agora é defasada. 2017. Disponível em <https://www.tecmundo.com.br/seguranca/ 114584-google-cwi-relatam-colisao-criptografia-sha-1-defasada.htm>. Acesso em: 15 de abril de 2020. HOUSLEY, R.; POLK, T. Planning for PKI - best practices guide for deploying public key infrastructures. [s.l.]: John Wiley and Sons, 2001. MALENKOVICH, S. O que é um Ataque Man-in-the-Middle? 2013. Disponível em <https://www.kaspersky.com.br/blog/what-is-a-man-in-the-middle-attack/462/>. Acesso em: 12 abr. 2020. MARGI, C. B. Um mecanismo para distribuição segura de vídeo MPEG. 2000. Disponível em <https://teses.usp.br/teses/disponiveis/3/3141/tde-31082017- 082144/publico/CintiaBorgesMargi_D.pdf> Acesso em: 14 abr. 2020. MAZIERO, C. Troca de chaves de Diffie-Hellman-Merkler. 2014. Disponível em: <http://wiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=sas:diffie-hellman. pdf>. Acesso em: 15 abr. 2020. MORENO, E.; PEREIRA, F.; CHIARAMONTE, R. B. Criptografia em software e hardware. 2005. Disponível em: <https://www.academia.edu/23246044/Crip- tografia_em_software_e_hardware>. Acesso em: 11 abr. 2020. SHANNON, C. E. An algebra for theoretical genetics. 1936. Disponível em: <https://dspace.mit.edu/bitstream/handle/1721.1/11174/34541447-MIT.pdf?- sequence=2&isAllowed=y>. Acesso em: 10 abr. 2020. TERADA, R. Segurança de dados: criptografia em redes de computador. [S.l.]: Edgar Blucher, 2000. CRIPTOGRAFIA APLICADA 42 SER_DIGSEC_CRIPTO_UNID1.indd 42 24/09/2020 15:32:29
Compartilhar