Baixe o app para aproveitar ainda mais
Prévia do material em texto
18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&PA… 1/30 CRIPTOGRAFIA E CERTIFICAÇÃOCRIPTOGRAFIA E CERTIFICAÇÃO DIGITALDIGITAL CERTIFICADOS DIGITAIS ECERTIFICADOS DIGITAIS E PROTOCOLOS DEPROTOCOLOS DE CRIPTOGRAFIACRIPTOGRAFIA Autor: Me. Luciano Freire Revisor : Douglas Melman I N I C I A R 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&PA… 2/30 introduçãoIntrodução A criptogra�a possibilita a proteção de arquivos e dados armazenados em computadores e celulares, bem como a troca de mensagens seguras entre usuários pela Internet. Devido à importância da Internet no dia a dia das empresas e pessoas, deve-se garantir que as informações sejam trafegadas de forma mais simples e transparente para o usuário sem a necessidade de autenticações adicionais e uso de softwares especí�cos como ocorre com o uso de redes privadas virtuais. Isso pode ser realizado utilizando protocolos de criptogra�a, os quais implementam algoritmos de criptogra�a simétricos e assimétricos para a proteção dos dados trafegados. A utilização de diferentes esquemas de criptogra�a (simétrica, assimétrica e protocolos criptogra�a) e de certi�cados digitais é capaz de garantir requisitos de segurança, como con�dencialidade, integridade, autenticidade e não repúdio. 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&PA… 3/30 A Internet se tornou um recurso essencial para as empresas e pessoas. Não se imagina uma empresa sem um site de E-commerce e/ou Website, mesmo as pessoas físicas que criam blogs e sites pessoais, dentre outras páginas na web. Nesse contexto, a World Wide Web (WWW) é a tecnologia mais utilizada. Essa foi desenvolvida para possibilitar a criação de páginas de conteúdo e o acesso a essas páginas por meio da Internet. Dentre os diversos protocolos do TCP/IP, que suportam a Internet, o protocolo HTTP (Hypertext Transport Protocol) é o responsável por possibilitar o acesso a páginas web hospedadas em websites. As páginas são disponibilizadas em servidores web, que são os responsáveis por encaminhar o conteúdo da página para um cliente que as solicita, utilizando, para esse processo, um cliente web (navegador de Internet). Para acessar uma página, os usuários utilizam um navegador web, por exemplo Chrome, Firefox, Internet Explorer, Microsoft Edge e Safari, dentre diversos outros. O acesso é feito Protocolos HTTP eProtocolos HTTP e HTTPSHTTPS Figura 3.1 - O acesso a uma página web é feito por um navegador web (p. ex.: Firefox) por meio do protocolo HTTP que possibilita a comunicação com o servidor Fonte: Elaborada pelo autor. 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&PA… 4/30 a partir do endereço de uma página Web, o qual possui o seguinte formato: www.nomedosite.com.br para sites comerciais hospedados no Brasil, como: www.uol.com.br, www.amazon.com.br, dentre outros. O endereço completo do site contempla o protocolo utilizado que pode ser o HTTP ou o HTTPS. Por exemplo, o seguinte site do governo http://www.caixa.gov.br/ utiliza o protocolo http, enquanto que o site da Amazon no Brasil utiliza o https: https://www.amazon.com.br. As quatro letras iniciais do endereço completo de�nem o protocolo utilizado para acesso às páginas web. Esse especi�ca a comunicação entre o navegador web e o servidor web, além dos comandos utilizados para recuperar uma página web e encaminhar informações para a páginas hospedada no servidor web por meio, por exemplo, de um formulário. O HTTP, da mesma forma que os demais protocolos do TCP/IP, foi concebido para possibilitar a comunicação, nesse caso o acesso às informações publicadas em websites. À medida que as informações trafegam entre o navegador web e o servidor web, passam a ser con�denciais, por exemplo, nomes de usuário e senhas, informações bancárias, números de cartões de crédito etc. Surge, então, a necessidade de se prover mecanismos de segurança para garantir que essas informações trafegadas pela Internet, entre o navegador e servidor, não sejam acessadas por terceiros. Visando prover a segurança da informação, foi desenvolvida uma versão do protocolo HTTP, chamado de HTTPS. Esse protocolo utiliza recursos criptográ�cos (algoritmos simétricos, assimétricos e certi�cados digitais – os quais serão abordados no próximo tópico – para garantir que a segurança dos dados trafegados entre o navegador web e o servidor Web seja promovida (SILVA; SILVA, 2009). Isso é alcançado pela integração do HTTP com o protocolo SSL (Secure Socket Layer – também abordado nesta unidade) nesse novo protocolo. O SSL fará a criptogra�a e a decifragem das mensagens trocadas entre o servidor web e o navegador, além de garantir a autenticidade do servidor web (GHOSH, 1998). Os sites protegidos pelo protocolo HTTPS são denominados de sites seguros e possuem um símbolo de segurança, como um cadeado fechado, antes do endereço em determinados navegadores web. Enquanto isso, os que utilizam apenas o HTTP são denominados sites inseguros, pois não apresentam esse símbolo ou apresentam a palavra inseguro, para a indicar a ausência de proteção na comunicação, conforme ilustrado na Figura 3.2. http://www.nomedosite.com.br/ http://www.uol.com.br/ http://www.amazon.com.br/ http://www.caixa.gov.br/ https://www.amazon.com.br/ 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&PA… 5/30 O navegador web Chrome, como mostrado na Figura 3.2, utiliza um símbolo de cadeado, antes do endereço do site, para indicar que a conexão é segura (protegido pelo HTTPS). Quando o mesmo navegador acessa um site inseguro, não protegido pelo HTTPS, aparece a palavra “Inseguro” na frente do endereço do site. Nesse caso, o usuário precisa estar atento porque todas as informações trocadas entre o navegador e o site poderão ser visualizadas por terceiros que tenham acesso à comunicação entre as partes. praticarVamos Praticar A troca de informações entre usuários na Internet está sujeita a uma série de riscos de segurança. Para limitar esses problemas, utilizam-se protocolos criptografados para garantir a con�dencialidade dos dados trafegados. A partir dos conceitos relacionados aos protocolos HTTP, SSL e HTTPS, assinale a alternativa correta. a) O protocolo HTTP implementa mecanismos de segurança que protegem contra acesso não autorizado aos dados trafegados. Portanto, não há necessidade de utilizar outro protocolo além desse. b) A sigla HTTPS é utilizada para indicar que aplicação utiliza o HTTP sobre o protocolo SSL. c) Não há uma identificação visual nos navegadores indicando se um determinado site é protegido pelo SSL. d) O SSL é um protocolo desenvolvido exclusivamente para operar navegadores web. e) O SSL permite apenas um algoritmo de criptografia e não há a possibilidade de inclusão de outros protocolos. Figura 3.2 - Acesso a um site protegido pelo HTTPS (site do Uol) a um site inseguro (Caixa) utilizando o navegador Chrome Fonte: Elaborada pelo autor. 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&PA… 6/30 A capacidade de identi�car uma pessoa ou organização é necessária em muitas operações na Internet, por exemplo em transações de compra on-line ou em acesso a informações con�denciais. Nesse caso, uma falha no processo de identi�cação pode causar o acesso a informações con�denciais ou fraudes �nanceiras. Devido a essa necessidade, foram desenvolvidos certi�cados digitais. Um certi�cado digital é um documento digital que garante que uma chave pública pertença a uma determinada entidade ou pessoa (STALLINGS, 2015). Esse certi�cado é emitido, e também revogado, por uma organizaçãochamada Autoridade Certi�cadora (Certi�cation Authority – CA), que irá associar a chave pública à identidade de uma pessoa através de dados como: endereço, telefone, RG, CPF etc. Uma CA pode ser a própria entidade que irá utilizar os certi�cados digitais, por exemplo uma empresa que proverá certi�cados para identi�car os funcionários dessa ou outra dedicada exclusivamente a essa função (STALLINGS, 2015). As entidades certi�cadoras serão estudadas em detalhes na próxima unidade. O processo de utilização de certi�cados digitais pode ser ilustrado pelo seguinte exemplo: um funcionário necessita remotamente transferir informações con�denciais à base de dados do sistema da empresa, e, nessa situação, podem se utilizar certi�cados digitais para garantir que o funcionário esteja realmente acessando o servidor da empresa. Nesse caso, quando esse acessa o servidor, ele obtém o certi�cado digital do servidor e, uma vez de posse desse, o funcionário pode utilizar a autoridade certi�cadora para validar a autenticidade do certi�cado digital. Esse modelo, como será visto, é implementado pelos protocolos SSL e TLS (Transport Layer Security) para proteger a comunicação entre um navegador e o servidor web. Certi�cados DigitaisCerti�cados Digitais 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&PA… 7/30 Existem vários tipos de certi�cados digitais, utilizados na Internet, e cada um é apropriado à identi�cação de uma determinada entidade (GARFINKEL, 1997). Certi�cados de Certi�cação de Autoridades: esses certi�cados contêm a chave pública de uma CA, o nome do CA e os serviços que serão certi�cados. Esses certi�cados são geralmente disponibilizados por meio de navegadores como o Chrome e o Internet Explorer. Esse certi�cado é emitido pelo próprio CA ou por outro CA utilizado para certi�car CAs. Certi�cados de Servidores: esses certi�cados contêm a chave pública de um servidor (esse deve suportar o protocolo SSL), o nome da organização que disponibiliza o servidor e o nome do servidor na Internet. Certi�cados Pessoais: esses certi�cados possuem basicamente o nome da pessoa e sua chave pública, mas também podem conter outras informações, como e-mail, número da carteira de identidade, endereço etc. Certi�cados de Distribuição de Software: esses certi�cados são utilizados para garantir a autenticidade do software distribuído através da Internet. Consistem basicamente no nome da empresa, que desenvolveu o software, e a chave pública, que deverá ser utilizada para validar a distribuição desse. Os navegadores permitem acessar um certi�cado digital de um servidor web que provê páginas seguras. Para isso, acesse um site que utilize o HTTPS, como o site da Laureate, e pressione o seguinte atalho: Ctrl-Shift+I. O navegador exibirá os elementos da página, em um painel à direita, como mostrado na Figura 3.3. No painel apresentado, na parte superior, há um pequeno menu com as opções Elements, Console, Network etc. Para acessar o certi�cado digital, é necessário clicar no símbolo >> e selecionar a opção Security (Figura 3.4). 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&PA… 8/30 Após clicar nessa opção, um novo painel é mostrado. Na opção Securiy Overview, clique no botão View Certi�cate (Figura 3.5). O certi�cado digital é apresentado conforme ilustrado na Figura 3.6. A Figura 3.6 mostra um certi�cado digital do site da Laureate l (www.laureate.net), e no momento em que um usuário acessa esse site é estabelecida uma conexão segura Figura 3.4 - Acesso à opção Security do menu para acessar o certi�cado digital Fonte: Elaborada pelo autor. http://www.laureate.net/ 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&PA… 9/30 (HTTPS). Antes da troca de dados, o navegador do cliente recebe e valida o certi�cado digital do servidor. Por meio desse certi�cado, é possível identi�car a qual organização o website pertence (campo emitido para). No caso, é um certi�cado digital que protege todas as páginas do domínio www.laureate.net. Também é possível identi�car a entidade que emitiu o certi�cado (Lets´s Encrypt Authority X3) e a validade do certi�cado (de 11/02/2020 até 11/05/2020). Esse é um aspecto importante: os certi�cados têm um período de validade. Antes do término desse período, o proprietário precisa renovar o certi�cado para esse continuar válido. Ao clicar na aba Detalhes do Certi�cado (Figura 3.6), é possível visualizar a chave pública associada ao certi�cado (Figura 3.7). A Figura 3.7 mostra a chave pública disponibilizada pelo certi�cado digital e o algoritmo utilizado para a geração dessa. No caso, a chave tem tamanho de 2048 bits e foi gerada utilizando o algoritmo RSA. O navegador web é capaz de extrair essa chave pública do certi�cado para enviar mensagens cifradas para o servidor web e, assim, estabelecer uma comunicação segura (como será visto no estudo do protocolo SSL/TLS). Considerando que o certi�cado digital foi emitido por uma entidade certi�cadora (Lets’s Encrypt Authority X3), a validade desse certi�cado pode ser veri�cada pelo navegador. Assim, garante-se que o navegador irá estabelecer uma conexão segura com o servidor real da Laureate. Figura 3.7 - Certi�cado digital do servidor web do Universo On-line emitido pela Amazon Fonte: Elaborada pelo autor. http://www.laureate.net/ 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 10/30 praticarVamos Praticar A certi�cação digital é uma tecnologia complementar à criptogra�a, que visa prover a segurança da informação transmitida pela Internet, garantindo a con�dencialidade, integridade e saibamaisSaiba mais Os certi�cados digitais garantem que um par de chaves, pública e privada, esteja associada a uma determinada pessoa física ou jurídica por meio de uma autoridade certi�cadora. Isso permite a autenticidade de um ator em transações feitas pela Internet, viabilizando uma série de aplicações. Dentre essas, pode-se citar a assinatura eletrônica de contratos por meio da assinatura digital e de certi�cados digitais emitidos por autoridades certi�cadoras. Para conhecer como essas tecnologias podem ser aplicadas para possibilitar a assinatura de contratos digitais, com a mesma segurança dos contratos físicos, recomenda-se a leitura de “Um modelo para a implementação de contratos eletrônicos válidos”, de Telmo De Cesaro Júnior, publicado na Revista Brasileira de Computação Aplicada, no link a seguir. ACESSAR https://doaj.org/article/e398fe6c6cb34c86a9357291fd2e95c4 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 11/30 autenticidade. Assim, os certi�cados digitais foram criados para solucionar o problema relacionado à: a) dificuldade de se gerar chaves simétricas complexas. b) baixa performance do algoritmo de criptografia de chaves simétricas. c) facilidade de se quebrar o sigilo das chaves dos algoritmos assimétricos. d) dificuldade para distribuir chaves assimétricas de forma segura. e) baixa performance do algoritmo de criptografia de chaves assimétricas para cifrar grandes volumes de dados. 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 12/30 O Secure Socket Layer (SSL) é um protocolo desenvolvido pela Netscape com o intuito de possibilitar o envio de informações criptografadas na Internet entre clientes e servidores (STALLINGS, 2015). A primeira versão do SSL foi desenvolvida em 1994, mas essa não foi disponibilizada publicamente devido a falhas de implementação. O lançamento o�cial ocorreu em 1995, com a disponibilização da versão 2 do SSL. Em 1996, foi lançada a versão 3 deste protocolo(TINOCO et al., 2020, on-line). O protocolo foi padronizado pelo IETF (Internet Engineering Task Force), a partir da versão 3 do SSL, e passou a ser denominado TLS (Transport Layer Security) em 1999 (TINOCO et al., 2020, on-line). Essa padronização foi necessária, pois o SSL nasceu como um protocolo proprietário da Netscape, cuja empresa não atua mais no mercado. Como padrão, esse pode ser implementado livremente em diversos navegadores, não somente no navegador da empresa criadora, além de padronizar a comunicação entre equipamentos na Internet. Existem pequenas diferenças entre a implementação do TLS e do SSL, como algoritmos de criptogra�a suportados. Entretanto, o funcionamento é estruturalmente o mesmo (STALLINGS, 2015). Assim, as explicações referentes ao SSL são válidas para o TLS também. A comunicação entre os computadores na Internet só é possível graças à arquitetura de protocolos TCP/IP. Essa arquitetura de�ne regras, estruturadas logicamente em camadas, que permitem aos computadores se comunicarem. Cada camada do protocolo possui uma função bem de�nida (TANENBAUM; WETHERALL, 2011). O infográ�co, a seguir, apresenta as camadas da arquitetura TCP/IP apresentada por Kurose e Ross (2013): Protocolos SSL e TLSProtocolos SSL e TLS 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 13/30 ARQUITETURA DE PROTOCOLOS TCP/IP Na arquitetura TCP/IP, o SSL/TLS está localizado entre a camada de aplicação e a de transporte. Isso é feito para garantir que a segurança na comunicação, provida pelo SSL/TLS, possa ser utilizada por todos os protocolos de aplicação. Na camada de Aplicação Transpo rte Rede Enlace Físico 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 14/30 transporte, o SSL/TLS utiliza o protocolo TCP, pois esse garante a entrega das mensagens no destino (STALLINGS, 2015). A Figura 3.9 mostra o posicionamento do SSL/TLS na arquitetura TCP/IP. Funcionamento do SSL/TLS No momento do estabelecimento de uma conexão entre uma máquina cliente e um servidor utilizando o protocolo SSL/TLS, existe um processo de troca de mensagens antes da efetivação da transmissão de dados. Essas mensagens visam à de�nição dos algoritmos e chaves de criptogra�a utilizadas na criptogra�a dos dados, além da autenticação do servidor e do cliente (opcional). Assim, o processo de comunicação utilizando o protocolo SSL pode ser descrito da seguinte maneira (STALLINGS, 2015): A. Antes de a troca de dados acontecer, o cliente e o servidor precisam de�nir as con�gurações da conexão. Isso envolve uma série de mensagens entre eles. A primeira mensagem é encaminhada pelo cliente ao servidor e se chama client_hello. Nessa mensagem, são especi�cados os algoritmos de criptogra�a, versão do SSL e métodos de compressão de dados suportados pelo cliente. Basicamente, o cliente especi�ca os algoritmos que ele suporta para que o servidor de�na quais serão utilizados. Além disso, o cliente fornece um número que será utilizado para identi�car essa sessão de comunicação entre o cliente e o servidor. B. Ao receber a mensagem, o servidor analisa os algoritmos suportados pelo cliente, compara com a lista de algoritmos suportados por ele e de�ne quais serão utilizados na comunicação. O critério para a escolha dos algoritmos é o de utilizar os algoritmos mais fortes, considerando o tamanho da chave privada, para evitar ataques que possam comprometer a segurança dos dados transmitidos. Um ponto importante: são escolhidos Figura 3.9 - Arquitetura de protocolos TCP/IP com a inclusão do SSL/TLS Fonte: Stallings (2015). 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 15/30 os algoritmos mais fortes suportados por ambos. Pode ser que o servidor possua um algoritmo mais forte, mas, se esse não for suportado pelo cliente, não será utilizado. Para formalizar a escolha dos algoritmos, o servidor responde ao cliente com uma mensagem (server_hello), em que especi�ca todos os algoritmos que serão utilizados. O cliente sempre irá aguardar a resposta do servidor para continuar com o processo de de�nição da conexão. Caso não receba a mensagem server_hello, o processo de abertura de conexão é encerrado. A Figura 3.10 ilustra esse processo. C. Uma vez estabelecidos os algoritmos criptográ�cos a serem utilizados, o cliente e o servidor iniciam um processo de autenticação. Após o envio da mensagem sever_hello, o servidor irá se identi�car para o cliente com o envio do certi�cado digital dele. Esse irá especi�car o proprietário do servidor e irá conter a chave pública desse (utilizada na comunicação entre o cliente e o servidor). D. O servidor pode solicitar ao cliente o envio do certi�cado digital dele. Entretanto, além de ser uma etapa opcional do protocolo, normalmente esse certi�cado não é solicitado. A utilização de certi�cados digitais por pessoas é muito pequena, ocorrendo apenas em situações em que isso seja exigido, como a assinatura de contratos digitais com o governo. No contexto da segurança da comunicação com o cliente e servidor, no SSL, não há prejuízos para a segurança da comunicação caso o cliente não possua um certi�cado digital para fornecer. E. Para �nalizar essa etapa de con�guração e autenticação com o cliente, o servidor envia uma mensagem chamada sever_hello_done. Agora, ele passa a aguardar a resposta do cliente (Figura 3.11). 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 16/30 F. Ao receber a mensagem de �nalização dessa etapa (server_hello_done), o cliente irá validar o certi�cado digital do servidor veri�cando a assinatura digital do certi�cado, feito pela entidade certi�cadora (o assunto sobre entidades certi�cadoras será abordado em detalhes na próxima unidade). Além disso, o cliente veri�ca se os parâmetros estabelecidos na conexão são aceitáveis, ou seja, se a escolha dos algoritmos é adequada do ponto de vista da segurança. G. Se obrigatório, o cliente irá enviar o certi�cado digital para o servidor. Isso só acontecerá se o servidor for autenticado corretamente, se o servidor exigir o certi�cado e se o cliente possuir o certi�cado. Na maioria dos casos, como citado, não há essa exigência. Caso o cliente não possua um certi�cado digital, esse envia uma mensagem informando que não possui. Se o fornecimento do certi�cado digital for opcional, o protocolo continua para a próxima etapa. Caso contrário, o servidor encerra a conexão. H. Após a �nalização do processo de autenticação e de�nição dos parâmetros da conexão (algoritmos utilizados), será de�nida uma pré-chave, chamada de pre-master_secret. Essa é gerada pelo cliente, cifrada com a chave pública do servidor (obtida do certi�cado digital desse) e enviada para o servidor. A Figura 3.12 ilustra essa etapa. I. A pre-master_secret é utilizada para gerar uma chave privada a ser utilizada nos algoritmos simétricos para cifrar as informações trocadas entre o cliente e o servidor. A geração dessa chave privada, chamada master_secret, é feita independentemente e 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 17/30 localmente por ambos a partir de operações matemáticas sobre a pre-master_secret. Um ponto importante: não há o envio da chave privada (master_secret) entre o cliente e o servidor visto que essa é gerada localmente. Isso aumenta segurança da chave privada evitando que essa seja capturada durante a comunicação entre o cliente e o servidor. No SSL, os algoritmos assimétricos são usados para o envio da pre-master_secret do cliente para o servidor. Após a geração da master_secret, passa-se a utilizar algoritmos simétricos para cifrar as trocas de dados entre eles. J. Após o envioda pre-master_secret, o cliente sinaliza para o servidor que está pronto para iniciar a troca de dados. Isso ocorre com o envio de uma mensagem, chamada change_cipher_spec, a qual sinaliza que a próxima etapa utilizará os algoritmos negociados, no caso os algoritmos de simétricos, e outra mensagem (�nished) indicando o término do processo de negociação e início da troca de dados entre eles. K. Após o recebimento dessas mensagens, o servidor responde também com duas outras mensagens. A primeira é a mensagem change_cipher_spec, que sinaliza o uso do algoritmo de criptogra�a negociado com o cliente. A segunda é uma mensagem chamada �nished. O objetivo dessa é sinalizar que o servidor está preparado para a troca de dados com o cliente. L. Finalizada essa etapa, inicia-se a troca de dados entre o cliente e servidor ilustrado na Figura 3.13. No pacote hello enviado pelo cliente (client_hello), o identi�cador de sessão pode ser utilizado para estabelecer uma nova conexão entre o cliente e o servidor ou para abrir uma conexão com os parâmetros utilizados em uma conexão anterior (STALLINGS, 2015). No primeiro caso, o cliente em seu pacote hello não atribui nenhum valor ao campo identi�cador de sessão e aguarda que esse seja de�nido pelo servidor no pacote resposta. No outro caso, o cliente envia em seu pacote de abertura de conexão um identi�cador de sessão contendo um número de uma sessão anteriormente executada entre o cliente e o servidor. Nesse caso, se o servidor ainda possuir os parâmetros da conexão anterior 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 18/30 armazenados, a conexão é estabelecida já na etapa de transmissão de dados, eliminando todas as etapas do protocolo executadas na de�nição dos algoritmos de criptogra�a e chaves, pois serão utilizados os de�nidos em uma sessão anterior (STALLINGS, 2015). No caso dos algoritmos sugeridos pelo cliente não serem suportados pelo servidor ou vice-versa, a conexão não é estabelecida, e uma mensagem de erro é enviada para o cliente (GHOSH, 1998). Características do SSL/TLS O SSL/TLS possui as seguintes características (GHOSH, 1998): A. Utiliza um par de chave público privadas para a geração de uma chave privada para um algoritmo de criptogra�a simétrico. Esse algoritmo simétrico e a chave serão utilizados para cifrar todas as mensagens trocadas entre o cliente e o servidor, visto que os algoritmos assimétricos são mais lentos para cifrar grande quantidade de dados. B. A autenticação do cliente e servidor é feita através de certi�cados digitais emitidos por uma entidade certi�cadora. C. Funciona com qualquer protocolo da camada de aplicação que seja orientado à conexão (use o TCP como protocolo de transporte) como HTTP, SMTP e POP3, dentre outros. D. Oferece proteção contra ataques de interceptação de dados e reenvio de mensagens. E. Suporte para a compressão de dados. praticarVamos Praticar Uma das formas de promover a comunicação segura em redes públicas, como a Internet, é utilizar a criptogra�a para cifrar as mensagens. Dentre as opções existentes, a mais utilizada é o protocolo SSL (Secure Socket Layer), que provê segurança para aplicações web. A partir do 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 19/30 conhecimento sobre o funcionamento do protocolo SSL, avalie a a�rmações a seguir e escolha a alternativa correta. I. Considerando a arquitetura TCP/IP, o protocolo SSL situa-se entre a camada de aplicação e a camada de transporte. II. Devido a ine�ciências e falhas de implementação do protocolo SSL, foi desenvolvido um novo protocolo para substituí-lo, chamado de TLS (Transport Layer Security). III. Devido à localização do protocolo SSL, na arquitetura TCP/IP, esse é capaz de prover a segurança das aplicações da camada de transporte e não somente do HTTP. IV. O HTTPS opera na porta 8080. Em relação ao SSL, estão corretas as a�rmativas: a) I e III, apenas. b) I e II, apenas. c) II e III, apenas. d) III e IV, apenas. e) I, II e III, apenas. 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 20/30 Segurança de sistemas é o ato de prevenir que os invasores de sistema consigam atingir seus objetivos por meio de um acesso não autorizado ou uso não autorizado de computadores e redes (HOWARD, 1997). Isso pode ser atingido utilizando uma combinação de diversas tecnologias, como �rewall, sistemas de detecção de intrusos, antivírus etc. Especi�camente, quando se considera a utilização de algoritmos de criptogra�a, é possível garantir as seguintes propriedades de segurança (STALLINGS, 2015): A. Con�dencialidade. B. Integridade. C. Autenticidade. D. Não repúdio. A con�dencialidade permite que somente pessoas autorizadas possam ter acesso à informação (HOWARD, 1997). Logo, para garantir a con�dencialidade de informações armazenadas em computadores, dispositivos móveis ou trafegadas pelas Internet, é necessária a implementação de medidas de segurança que evitem o acesso de usuários não autorizados a essas informações. A criptogra�a simétrica pode ser utilizada para garantir a con�dencialidade de arquivos armazenados em computadores e dispositivos móveis. Já a combinação de algoritmos simétricos e assimétricos em protocolos de criptogra�a, como o SSL/TLS, garante a con�dencialidade dos dados trafegados pela Internet. Propriedades dePropriedades de SegurançaSegurança 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 21/30 A integridade refere-se a proteger a informação de ser apagada ou alterada por pessoas não autorizadas (HOWARD, 1997). Dentre os recursos que podem ter a integridade comprometida, podem-se citar: arquivos armazenados em computadores e dispositivos móveis, dados em banco de dados e informações transmitidas pela Internet, dentre outros. As funções hash e as assinaturas digitais (estudadas na próxima unidade) podem ser utilizadas para veri�car se uma determinada informação ou arquivo foi alterado durante uma transmissão ou de forma não autorizada em um dispositivo. A autenticidade está relacionada à possibilidade de se veri�car o emissor de uma mensagem ou o autor de uma determinada informação ou arquivo (STALLINGS, 2015), ou seja, por exemplo, se o emissor de uma mensagem é quem realmente a�rma ser. Com o auxílio da criptogra�a, isso pode ser feito utilizando certi�cados digitais ou utilizando algum mecanismo de autenticação com usuário e senha (as senhas são protegidas de acesso não autorizado por meio de algoritmos de criptogra�a). 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 22/30 O requisito de não repúdio visa garantir que o ator de uma ação não possa negar que executou uma determinada ação (HOWARD, 1997). A utilização de assinaturas digitais e certi�cados digitais visa garantir o não repúdio por parte de um emissor sobre o envio de uma mensagem. reflitaRe�ita A utilização da criptogra�a para proteger informações, sistemas, comunicações etc. deve preceder uma análise do que se deseja proteger. Por exemplo, pode-se desejar proteger o conteúdo de um documento-texto contra acesso não autorizado. Nesse caso, pode-se utilizar a criptogra�a assimétrica. Em outros casos, garantir a integridade do conteúdo do arquivo é importante. Para isso, basta assinar digitalmente o arquivo. Logo, existe uma associação entre as propriedades de segurança, que se deseja garantir, com algoritmo ou protocolo de criptogra�a utilizado. Como exercício, imagine um banco de dados de um site de comércio eletrônico, como a Amazon, e que armazena números de cartão de crédito no banco de dados. Quais propriedades de segurança devem ser garantidas? Alémdisso, como a criptogra�a pode ser utilizada para garantir que essas propriedades sejam atendidas? 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 23/30 praticarVamos Praticar Um usuário necessita transportar uma planilha do Excel, com dados �nanceiros da empresa onde trabalha, em um pen drive. Para evitar o comprometimento desses dados, no caso do roubo ou perda do pen drive, o arquivo foi cifrado utilizando uma chave privada e um algoritmo de criptogra�a simétrico. Considerando que a chave não foi comprometida, quais propriedades de segurança o funcionário estava buscando garantir? Assinale a alternativa correta. a) Confidencialidade, integridade e autenticidade. b) Somente autenticidade. c) Confidencialidade e integridade. d) Integridade e autenticidade. e) Somente confidencialidade. 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 24/30 indicações Material Complementar FILME Hacker Ano: 2015 Comentário: O �lme conta a história de um invasor de computadores que foi preso por cometer crimes virtuais e que tem a possibilidade de se libertar da prisão se auxiliar o FBI na captura de um criminoso. O �lme discute os riscos da interligação dos sistemas à Internet em que falhas de segurança podem possibilitar crimes e até atentados terroristas. T R A I L E R 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 25/30 LIVRO O Livro dos Códigos Editora: Record Autor: Simon Singh ISBN: 978-8501055989 Comentário: O livro traz um relato histórico da evolução da criptogra�a em uma linguagem divertida, mas sem abrir mão dos detalhes técnicos. Além desse relato, o livro discute como a criptogra�a possibilitou o uso dos cartões de crédito na Internet. 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 26/30 conclusão Conclusão A criptogra�a assimétrica e simétrica podem ser combinadas para construir protocolos de comunicação seguros. O SSL/TLS utiliza a criptogra�a assimétrica para gerar uma chave de sessão que depois será utilizada em algoritmos simétricos para cifrar os dados transmitidos. A criação dos certi�cados digitais proporciona um nível adicional de segurança. Essa permite a autenticação de um servidor web e/ou cliente, vinculando a identidade deste a uma chave pública por meio de um certi�cado digital. Esses certi�cados são gerados por entidades certi�cadoras (tema da próxima unidade). Por meio dos algoritmos de criptogra�a, é possível garantir a con�dencialidade, autenticidade, integridade e não repúdio das informações. referências Referências Bibliográ�cas GARFINKEL, S. Web security & commerce. Sebastopol: O’Reilly & Assoc.,1997. GHOSH, A. K. E-commerce security: weak links, best defenses. Hoboken, New Jersey: John Wiley & Sons, 1998. HACKER – TRAILER LEGENDADO. 26 set. 1 vídeo (2 min. 52 s.). Canal do Cinemaginando. Disponível em: https://www.youtube.com/watch?v=gQK2liXiLfc. Acesso em: 13 fev. 2020. HOWARD, J. D. An Analysis of Security Incidents on the Internet 1989 – 1995. Departament of Engineering and Public Policy – CarnegieMellon University, 1997. https://www.youtube.com/watch?v=gQK2liXiLfc 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 27/30 KUROSE, J. F.; ROSS, K. Redes de computadores e a Internet: uma abordagem top-down. São Paulo: Pearson Education do Brasil, 2013. SILVA, A. L. S.; SILVA R. C. M. F. Protocolo HTTP x Protocolo HTTPS. Revista Nucelus, v. 6, n. 1, abr. 2009. Disponível em: https://www.researchgate.net/publication/44024943_PROTOCOLO_HTTP_X_PROTOCOLO_HTTPS Acesso em: 9 jan. 2020. SINGH, S. O livro dos códigos. Rio de Janeiro: Record, 2001. STALLINGS, W. Criptogra�a e segurança de redes: princípios e práticas [Recurso eletrônico, Biblioteca Virtual]. 6. ed. São Paulo: Pearson Education do Brasil, 2015. TANENBAUM, A. S.; WETHERALL, D. Redes de computadores. São Paulo: Pearson Universidades, 2011. TINOCO, C. et al. Security socket layer e transport layer security. GTA/UFRJ. Disponível em: https://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2015_2/Seguranca/conteudo/SSL- TLS/Historia-do-SSL.html. Acesso em: 13 fev. 2020. https://www.researchgate.net/publication/44024943_PROTOCOLO_HTTP_X_PROTOCOLO_HTTPS https://www.gta.ufrj.br/ensino/eel879/trabalhos_vf_2015_2/Seguranca/conteudo/SSL-TLS/Historia-do-SSL.html 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 28/30 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 29/30 18/05/2021 Ead.br https://fmu.blackboard.com/webapps/late-course_content_soap-BBLEARN/Controller?ACTION=OPEN_PLAYER&COURSE_ID=_665887_1&P… 30/30
Compartilhar