HTTPS

Termos comuns de segurança

Quando falamos sobre a área de Segurança dentro da Tecnologia da Informação, é comum que existam termos que até já ouvimos falar, mas não sabemos ao certo o que significam. Por isso, neste artigo, vamos abordar alguns termos comuns de segurança.

HoneyPot

banner-segurança-honeypot

Honeypot é uma ferramenta ou um sistema criado que contém vulnerabilidades e pode conter até dados falsos. É como se fosse uma “isca” para fisgar atacantes, onde você configura o computador de modo a deixá-lo vulnerável a invasões.

Quando um invasor tenta acessar seu sistema e consegue realizar a invasão com sucesso, ele realmente acredita que conseguiu invadir uma aplicação, mas na verdade ele está em um honeypot: um ambiente simulado justamente para enganar o invasor.

Com a utilização do honeypot, todos os passos do invasor são vigiados, permitindo o registro e controle de todas as atividades que ele venha a fazer.

Com isso, é possível saber quais ferramentas foram utilizadas para a invasão e quais brechas o invasor está utilizando. Todos estes passos são enviados para a pessoa que está monitorando o honeypot.

Tipos de honeypots

Pesquisa – São ferramentas programadas para observar as ações dos atacantes, permitindo análises detalhadas de suas motivações, ferramentas utilizadas e vulnerabilidades que foram exploradas.

É bastante utilizada com o intuito de estudar o padrão de cada invasor, pois com essas informações pode-se fazer um estudo mais aprofundado para que a equipe possa verificar quais partes os atacantes estão mais tentando acessar e, com isso, tomar os devidos cuidados.

Produção – São utilizadas em redes de produção como complemento ou no lugar de sistemas para detectar, analisar ou ainda desviar ataques contra ativos de rede. Pode ser utilizado por empresas e instituições que visam proteger suas redes. Tem o objetivo de analisar e detectar atacantes na rede.

Se você se interessou, temos um artigo abordando mais a fundo sobre o que é o HoneyPot, seus tipos e níveis de serviços. Além de explorar o que é um HoneyNet e algumas ferramentas.

Phishing

banner-segurança-phishing

O Phishing é uma maneira que os hackers utilizam para nos induzir a revelar informações importantes, como dados pessoais, senhas, cartão de crédito, número de contas bancárias e até fazer pagamentos/transferências bancárias.

Para isso, eles enviam e-mails se passando por uma pessoa ou empresa confiável com o intuito de atrair vítimas, mas na verdade, tudo não passa de um golpe virtual. Neste e-mail geralmente contém links que te direcionam a sites também falsos.

À primeira vista o e-mail recebido pode parecer confiável. Eles copiam o logo da marca para desviar sua atenção, escrevem de forma muito educada, onde acabam pedindo por confirmação de dados dizendo que houve algum problema.

Com isso, no desespero, a pessoa clica e é direcionada a um site onde é enganada, resultando em roubos de identidade.

Para conhecer mais a fundo o que é phishing e como reconhecer esse golpe com alguns exemplos, temos um artigo específico dele aqui no blog.

Zero-day

banner-segurança-zero-day

Quando um ponto fraco da segurança de um sistema ou aplicação é descoberto, um hacker pode fazer um ataque utilizando exploits – um código malicioso que se aproveita dessa falha para que possam acessar um sistema e fornecer as permissões necessárias para depois infectá-lo.

O nome zero-day faz referência ao tempo que o fabricante/desenvolvedor estão cientes da brecha de segurança e devem resolvê-la em menos de 1 dia, ou seja, a partir do momento que a falha é detectada, tem-se efetivamente “zero dias” para produzir uma atualização que corrija o problema, impedindo a exploração por criminosos antes disso.

As vulnerabilidades zero-day podem ser exploradas por meio de vírus, worms, trojans e vários tipos de malwares, o que propaga e infecta outros usuários de maneira muito rápida e, pior, podendo circular pela internet por meses.

Temos um artigo específico falando em detalhes, o que é zero-day, como funciona e alguns casos famosos desse tipo de ataque.

Segurança da Informação - Fundamentos
Curso de Segurança da Informação - Fundamentos
CONHEÇA O CURSO

DDoS

banner-segurança-DDoS

O ataque DDoS tem como objetivo tirar um serviço (como sites e servidores web em geral) do ar através de uma sobrecarga de requisições de múltiplos computadores ao mesmo tempo.

Ao contrário do que muitas pessoas podem pensar, não se trata de um ataque de invasão: os ataques DDoS são apenas para fins de sobrecarga, ou seja, deixar sites sobrecarregados e até mesmo fora do ar.

Como resultado, esse ataque pode causar a interrupção operacional de um serviço por horas ou até dias, o que acaba resultando em prejuízo financeiro e até mesmo dano à reputação de uma organização.

É um ataque direto contra a disponibilidade – um dos três pilares da segurança da informação.

O ataque DDoS pode ocorrer de três formas: ataque por inundação, ataque por amplificação e ataque por exploração. Conheça mais sobre o que é o DDoS e seus tipos de ataques, além de exemplos de empresas famosas que já sofreram com esse tipo de ataque.

Man-in-the-middle

banner-segurança-man-in-the-middle

O ataque man-in-the-middle (em português homem-no-meio) é um ataque relativamente fácil de ser realizado, porém super poderoso. Nele envolve a interceptação e escuta de comunicação entre um usuário e uma outra parte envolvida, como um usuário e um sites de compras, por exemplo.

Contudo, nem o cliente quanto o servidor sabem que a conexão está sendo controlada por uma terceira pessoa. O atacante se posiciona no “meio” entre essas duas partes, acessando a informação trocada entre os dois, se passando por uma das partes envolvidas.

Um ataque man-in-the-middle bem sucedido, permite ao hacker ver tudo o que é enviado como informações de navegação, detalhes de sua conta e login, senhas, dados financeiros, etc.

Além de poder visualizar todas essas informações, ele ainda pode fazer um ataque a confidencialidade e integridade dos dados trafegados, sem que as vítimas percebam. Nesse meio tempo, quando as partes envolvidas derem conta, já será tarde demais.

Alguns tipos de ataques man-in-the-middle são: sequestro de sessão, DNS spoofing, ARP Spoofing e Stripping SSL.

Se você quer se aprofundar mais sobre o que é o man-in-the-middle e como se prevenir, temos um artigo dele aqui no blog.

HTTPS

banner-segurança-https

O HTTPS é uma extensão do protocolo HTTP com a adição de uma camada de segurança na comunicação entre cliente/servidor, fazendo o uso do protocolo SSL (Secure Socket Layer).

Essa camada adicional permite que os dados sejam transmitidos por meio de uma conexão criptografada, além de garantir a verificação da autenticidade do servidor e do cliente por meio de certificados digitais.

Essas técnicas de criptografia servem para proteger os dados trafegados contra ataques de terceiros, minimizando bastante a possibilidade de que outras pessoas consigam ter acesso a informações que são trafegadas.

Se tiver interesse em saber como o HTTPS funciona por “debaixo dos panos” temos um artigo só dele aqui no blog.

Ransomware

Ransomware é um malware que impede os usuários de acessarem seus arquivos, podendo liberá-los somente com um pagamento de “resgate”. Esse pagamento pode ser enviado por cartão de crédito ou ainda criptomoedas, como por exemplo o bitcoins.

O termo “ransomware” vem da junção de ransom (resgate) com malware. Os hackers se “instalam” no computador sem que o usuário tenha consentimento e vão trabalhando escondido, com o único objetivo de arrancar dinheiro de suas vítimas.

Temos um artigo abordando mais a fundo sobre o que é o Ransomware, como ele invade um computador, os meios que ele utiliza, seus tipos e algumas dicas para se prevenir desse tipo de ataque.

Esses são apenas alguns termos comuns na área de segurança. Tem algum que você acha que deva entrar nessa lista? Conta pra gente =)

Termos comuns de segurança: HTTPS

Com certeza, ao navegar na internet, você já viu no começo da URL o protocolo HTTPS. Mas, você sabe para que serve e como funciona esse protocolo?

Primeiramente, antes de falarmos sobre HTTPS precisamos entender o que é o HTTP.

O que é HTTP?

HTTP é uma sigla para Hypertext Transfer Protocol (em português, Protocolo de Transferência de Hipertexto).

Trata-se do principal protocolo de comunicação utilizado para transferência de dados entre computadores utilizados na internet. Essa comunicação entre as máquinas envolvidas ocorre baseada em informações que trafegam como texto.

Para que esse sistema de comunicação em rede baseada em textos seja possível, o HTTP precisa trabalhar em conjunto com o TCP (Transmission Control Protocol), responsável pela transferência das informações; e com o protocolo IP (Internet Protocol), que cuida do encaminhamento dos dados. Juntos, os protocolos TCP e IP formam o modelo TCP/IP, modelo sob o qual o protocolo HTTP é executado.

HTTP - Fundamentos
Curso de HTTP - Fundamentos
CONHEÇA O CURSO

Como o HTTP funciona?

A comunicação realizada pelo HTTP segue o modelo cliente-servidor, baseando-se nos conceitos de request (pedido) e response (resposta). Um request corresponde a um pedido feito ao servidor. Uma mensagem de requisição do cliente é composta pelos seguintes campos de maneira geral:

Linha de pedido: formada pelo identificador do método HTTP (GET, POST, PUT, DELETE, etc.), URI do recurso (endereço para o qual será enviado o pedido) e versão do protocolo (geralmente, HTTP 1.1 e HTTP 2);

Cabeçalho: contém meta-informações sobre a requisição, como a identificação do cliente que está fazendo o pedido;

Corpo: contém os dados da requisição.

Já o response corresponde à resposta que é enviada pelo servidor. Geralmente, ele é composto dos seguintes componentes:

Linha de status: contém informações como a versão do protocolo utilizado no servidor, código numérico do status da resposta e o texto associado ao status;

Cabeçalho: é bem similar ao cabeçalho do pedido, ou seja, contém meta-informações e informações adicionais sobre o seu pedido e conteúdo de resposta;

Corpo: conteúdo de resposta para a requisição realizada (no caso de acesso a um site, seria o HTML para que o browser renderize a página, por exemplo).

De fato, essa comunicação baseada nesse modelo cliente/servidor é extremamente rápida e eficiente. Porém, existe um problema grande: toda essa comunicação que ocorre através do protocolo HTTP é baseada em texto puro, o que é completamente inseguro. E aqui entra o HTTPS.

HTTPS

O HTTPS é uma extensão do protocolo HTTP com a adição de uma camada de segurança na comunicação entre cliente/servidor, fazendo o uso do protocolo SSL (Secure Socket Layer).

Essa camada adicional permite que os dados sejam transmitidos por meio de uma conexão criptografada, além de garantir a verificação da autenticidade do servidor e do cliente por meio de certificados digitais.

Essas técnicas de criptografia servem para proteger os dados trafegados contra ataques de terceiros, minimizando bastante a possibilidade de que outras pessoas consigam ter acesso a informações que são trafegadas.

Por exemplo, quando você está em uma página servida através de HTTPS onde você precisa colocar seus dados (como uma página de login, por exemplo), esses dados são criptografados através de certificados digitais.

Nesse sentido, o fato de que o HTTPS em conjunto com o SSL pode prover aspectos de segurança adicionais faz com que até mesmo sua utilização seja praticamente obrigatória em alguns nichos (em e-commerces, por exemplo, é obrigatório o uso do certificado SSL para que seja possível autorizar compras com o cartão de crédito).

Afinal, o HTTPS realmente garante nossa segurança ao navegar pela web?

Definitivamente, protocolo HTTPS é considerado mais seguro porque ele faz uma criptografia forte dos dados trafegados ente clientes e servidores. Por isso, podemos concluir que o protocolo HTTPS de fato representa segurança. Porém, tal segurança se aplica somente ao âmbito da conexão e da comunicação entre clientes e servidores.

Uma conexão segura não significa necessariamente um site seguro: existem muitos outros tipos de brechas que podem ser exploradas em aplicações web que não envolvem necessariamente aspectos relacionados à conexão.

Gerando certificados SSL gratuitos com Certbot

Vimos anteriormente como automatizar a geração de certificados SSL locais para ambientes de desenvolvimento, mas e quando precisamos de um certificado para um servidor de produção? Não podemos utilizar um certificado local auto-assinado nesse caso, e tradicionalmente para gerar um certificado SSL precisamos pagar por isso.

Entretanto, existe algumas alternativas para gerar um certificado SSL válido para seus ambientes fora do ambiente local. Uma dessas formas é com o Certbot. Vamos conhecer nesse artigo o Certbot, como ele funciona e como podemos configurá-lo em um dos nossos servidores.

O que o Certbot faz

Acessar um site que tenha HTTPS é quase um pré requisito hoje em dia. Além de ser recomendável pelos principais navegadores, acessar um site com HTTPS te dá mais segurança e até ajuda no rankeamento do seu site nos resultados de busca do Google. Para isso é preciso ter um certificado SSL emitido por uma Autoridade Certificadora (Certificate Authority) que reconhece a sua titularidade para determinado domínio. Para uma introdução sobre SSL, leia mais no artigo O que é certificado SSL.

Para gerar um certificado SSL válido é preciso vários passos, como entrar em contato com uma Autoridade Certificadora, gerar a chave privada que vai ser utilizada para assinar seu certificado e enviar seu certificado para a Autoridade Certificadora, validar que você é o responsável pelo domínio que deseja utilizar HTTPS, aguardar a resposta da Autoridade Certificadora e configurar seus servidores. Tudo isso precisa ser repetido anualmente ou a cada três anos, pois o certificado SSL tem um prazo de validade, e geralmente existe um custo envolvido para a emissão desse certificado.

Esse processo pode ser automatizado, e o melhor, realizado de forma gratuita, ao utilizar o Certbot. O Certbot é um utilitário em linha de comando mantida pela Eletronic Frontier Fountation (EFF), uma organização sem fins lucrativos que luta pela privacidade online e desenvolve tecnologias para melhorar a segurança na internet.

Junto com Let’s Encrypt, o Certbot faz parte de uma iniciativa da EFF que tem como objetivo encriptar a internet como um todo. Desde o lançamento do Let’s Encrypt e do Certbot (que chegou na sua versão 1.0 recentemente), o percentual do tráfego web que é encriptado saiu de 40% para 77%, segundo dados da EFF.

Com o Certbot é possível gerar certificados emitidos pelo Let’s Encrypt como Autoridade Certificadora, gerar e configurar esse certificado em seu servidor web e renovar automaticamente esse certificado, tudo isso de forma gratuita. Para isso você só precisa ter acesso SSH ao seu servidor e acesso ao sudo. Caso esteja utilizando uma hospedagem talvez você não tenha acesso ao SSH dos servidores, porém algumas hospedagens já suportam a geração de certificados através dos seus painéis.

Vamos acompanhar como gerar esse certificado utilizando um servidor Ubuntu 18.04 LTS com Ngnix.

Como instalar o Certbot no Ubuntu com Nginx

Para efetuar a instalação do Certbot, é preciso que nosso servidor Web já esteja configurado com nosso domínio e esteja rodando com HTTP. O Certbot se encarregará de configurar um desafio com HTTP para validar que você é responsável por aquele domínio. Caso isso não seja possível, existe a opção de efetuar um desafio incluindo um registro TXT no seu domínio, porém esse processo leva mais tempo.

Site sem HTTPS

Ao selecionar sua distribuição e servidor web, você pode consultar as instruções para instalação. No Ubuntu, vamos adicionar o repositório do apt-get do Cerbot e iniciar sua instalação:

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update

sudo apt install certbot python-certbot-nginx

No último comando, temos a variação de um script python com a variação de web server utilizado. Por exemplo, caso esteja utilizando o Apache, você instalaria python-certbot-apache

O próximo passo é executar o certbot com o argumento do servidor web que você irá configurar:

sudo certbot --nginx

Caso se sinta mais confortável, você pode escolher fazer a configuração do seu servidor web manualmente, e somente gerar o certificado com a opção certonly:

sudo certbot certonly  --nginx

Será feita algumas perguntas, como qual o domínio a ser configurado, se você deseja redirecionar todo o tráfego para HTTPS automaticamente, entre outros. Será gerado então sua chave privada para esse certificado e o Nginx será configurado de acordo:

Execução do certbot

Com isso temos nosso servidor configurado e respondendo em HTTPS!

Site com HTTPS

O Certbot irá gerar um certificado com validade de apenas três meses, ao contrário dos certificados de um ou três anos geralmente emitidos por outras Autoridades Certificadoras. Entretanto, o certificado do Certbot é gratuito e se renova automaticamente. É possível testar o processo de renovação automática com o comando:

sudo certbot renew --dry-run

Caso você esteja utilizando outra distribuição Linux, na página inicial do Certbot você pode consultar instruções detalhadas de como instalar em diferentes distribuições e servidores web:

Opções de servidores e distribuições suportadas

O que mais o Certbot pode fazer?

Vimos aqui o processo de geração de certificados no caso que temos acesso ao servidor via SSH. Em uma hospedagem compartilhada isso pode não ser possível, porém caso a mesma forneça suporte para utilizar um certificado SSL gerado por você, é possível gerar o certificado somente na sua máquina local e fazer o upload dos certificados necessários pela sua hospedagem.

É possível até gerar um certificado wildcard, que é válido para todos os subdomínios, caso seu domínio esteja em um DNS suportado. O processo para gerar um certificado wildcard é bem próximo ao mostrado anteriormente, alterando somente os plugins utilizados na hora da instalação.

Para outras variações de configuração, confira a documentação do Certbot para instruções mais detalhadas para seu cenário. Muito provavelmente você encontrará o que precisa.

Para que serve o certificado SSL?

O número de pessoas que executam transações sensíveis na internet (como compras online, transações bancárias, etc.) cresce cada vez mais. Porém, com a facilidade que a internet trouxe em geral para a execução destas operações, os cuidados devem ser redobrados. Analisar e verificar os sites onde estas operações são feitas com o intuito de detectar se o site é confiável, real e seguro é algo essencial.

Por isso, aspectos relacionados a segurança em geral em aplicações web merecem uma atenção especial. A sensação de segurança que uma aplicação web passa a seus usuários é algo extremamente importante, pois inspira confiança e credibilidade. Uma aplicação web precisa garantir que é verdadeira e que as informações trocadas estarão criptografadas e seguras. Visando isso, a implementação de um certificado SSL torna-se algo essencial.

O SSL (Secure Socket Layer) é um mecanismo de criptografia com o objetivo de aumentar a segurança na troca de informações entre clientes e servidores, protegendo a integridade e veracidade do conteúdo que trafega na internet. O certificado garante que a informação do navegador chegará de forma segura desde um cliente (como um browser) até o servidor do site. Quando você coloca seu número de cartão de crédito em uma página que utiliza SSL por exemplo, os números serão codificados e embaralhados, dificultando que um invasor ou interceptador consiga ver o número de cartão de crédito informado.

HTTP - Fundamentos
Curso de HTTP - Fundamentos
CONHEÇA O CURSO

Com a utilização do certificado SSL, o endereço do seu site passa de HTTP para HTTPS, indicando que as informações trafegadas entre cliente e servidor ocorrerão através do protocolo SSL/TLS e que as informações serão criptografadas. Além disso, os browsers modernos passam a exibir o desenho de um cadeado antes da URL, fazendo com que o usuário saiba que a aplicação web é segura.

O HTTPS (sigla para Hyper Text Transfer Protocol Secure ou Protocolo de Transferência de Hipertexto Seguro) é uma derivação do protocolo HTTP com uma camada SSL/TLS adicional implementada, o que adiciona mais segurança ao HTTP. Como o HTTPS utiliza criptografia, as chances de um intruso interceptar as mensagens trocadas entre cliente e servidor e obter acesso ao conteúdo destas mensagens reduz-se consideravelmente, pois as mensagens passam a ser criptografadas através de certificados digitais. Quando falamos sobre aplicações web, essa criptografia é essencial: através do tradicional HTTP, as mensagens são trafegadas como texto puro, ou seja: caso um interceptador capture mensagens HTTP, este terá total acesso a seu conteúdo sem maiores dores de cabeça. Com o HTTPS e sua criptografia inerente, esse risco é drasticamente reduzido.

Além de deixar o seu site mais seguro e confiável, a utilização do certificado SSL traz um outro benefício: a otimização do SEO. São diversos fatores que influenciam o ranqueamento dos sites no Google, sendo que um destes fatores é justamente a utilização de SSL. Como o Google considera o certificado SSL um benefício importante para os usuários, ele prioriza isso ao selecionar os sites que aparecem na busca, melhorando o posicionamento do seu site.

Como ele funciona?

O ciclo de uma transmissão HTTPS começa com um certificado digital. Um certificado digital é como se fosse uma espécie de RG eletrônico, identificando a sua aplicação como sendo uma aplicação confiável e verdadeira. Certificados digitais devem ser obtidos através de entidades certificadoras (ou CAsCertification Authorities), pois somente estas têm as permissões necessárias para gerar certificados digitais válidos. É um processo muito parecido com o RG humano propriamente dito… Um RG não pode ser emitido em qualquer lugar: ele deve ser solicitado somente em locais autorizados a lidarem com a emissão de RGs e que tenham acesso aos sistemas estaduais e nacionais de identificação. É o mesmo cenário com certificados digitais, já que estes irão identificar sua aplicação dentro de toda a web. Algumas entidades certificadoras são Verisign, GeoTrust, Comodo e Amazon. O serviço de geração de um certificado é geralmente pago e deve ser feito peridiodicamente, pois os certificados possuem uma data de expiração. Também existem serviços que emitem certificados de maneira gratuita, como o Let’s Encrypt.

Um certificado é composto basicamente por duas partes: uma chave pública e uma chave privada que são geradas randomicamente pela entidade certificadora. A chave pública é utilizada para verificar os clientes que realizam as requisições, enquanto a chave privada é utilizada para a realização do processo de criptografia.

Quando você se conecta a um servidor que utilize HTTPS/SSL para a transferência de informações, o servidor irá responder inicialmente com a chave pública e o certificado associado à aplicação que está sendo acessada. Cabe ao cliente (como um browser), ao receber esta chave, verificar alguns pontos:

  • Se a chave pública não está expirada (o que ocorre quando o certificado já se encontra expirado);
  • Se a chave pública pertence realmente à aplicação que está sendo acessada;
  • Se o cliente consegue descriptografar a assinatura digital do certificado enviado, o que significa que aquela chave pública e aquele certificado são válidos.

Quando um destes pontos de verificação falha, o cliente (como um browser) aborta a conexão e mostra uma mensagem de alerta para o usuário parecida com a tela abaixo.

Caso todas as verificações ocorram com sucesso, o browser entende que a comunicação está sendo feita com um servidor confiável.

Quando o cliente detecta que a conexão é confiável, o cliente cria uma nova chave, chamada de chave de sessão ou session key. Com a chave de sessão criada, o cliente envia esta chave de volta ao servidor, porém, criptografada com a chave pública validada nos passos anteriores.

Quando o servidor recebe a chave de sessão do cliente, ele utiliza a chave privada (que nunca é trafegada entre as requisições) para tentar obter a chave de sessão informada pelo browser. Um conteúdo criptografado com a chave pública só pode ser descriptografado com a chave privada, o que garante a autenticidade e legitimidade das informações que são trafegadas criptografadas com a chave pública. Caso o servidor consiga realizar este processo, é enviado de volta ao cliente uma resposta de que “está tudo OK”, também chamada de ACK (acknowledgement ou reconhecimento). Esse processo todo é chamado de handshake, pois agora somente o cliente e o servidor têm conhecimento das chaves públicas e de sessão que foram trocadas. É como se o cliente e o servidor tivessem se identificado um com o outro e, após existir a confiança entre os dois, ambos apertassem as mãos e disessem: “sei que você é você mesmo de fato e, por isso, confio nas informações que vamos trafegar entre nós”.

A partir deste momento, o servidor passa a responder as informações de volta ao cliente criptografando-as com a chave de sessão que somente o cliente e o servidor têm conhecimento. O cliente passa a utilizar a chave de sessão para descriptografar as informações enviadas pelo servidor. Quando o cliente precisa enviar informações para o servidor, este utiliza também a chave de sessão para criptografar o conteúdo, enquanto o servidor utiliza a mesma chave (que somente este cliente e o servidor possuem conhecimento) para descriptografar o conteúdo.

Veja que o processo de confidencialidade é bem forte neste processo: se algum interceptador interceptar estas mensagens, este não terá a chave de sessão vinculada ao cliente para descriptografar as mensagens. Ele também não conseguirá obter esta chave de sessão, mesmo que ele tenha acesso à chave pública do certificado: não se esqueça que o conteúdo criptografado com a chave pública só pode ser descriptografado com a chave privada. A única maneira de um invasor conseguir descriptografar o conteúdo é se este, de alguma maneira, tiver acesso à chave privada do certificado do servidor ou à chave de sessão do cliente.

Um ponto interessante é que esse processo de criptografia que é utilizado no HTTPS é chamado por muitos de criptografia assimétrica, já que existem duas chaves de criptografia utilizadas durante o processo: uma estática, mas que fica escondida no cliente (no caso da chave privada) e no cliente (no caso da chave de sessão); e uma chave pública, cujo conteúdo só pode ser descriptografado justamente com a chave privada. Veja que esse processo é diferente da criptografia “tradicional”, que também é dita como criptografia simétrica, onde só existe uma chave estática para a realização do processo de criptografia e descriptografia.

© 2004 - 2019 TreinaWeb Tecnologia LTDA - CNPJ: 06.156.637/0001-58 Av. Paulista, 1765, Conj 71 e 72 - Bela Vista - São Paulo - SP - 01311-200