Atualmente existe uma preocupação muito grande com a segurança e o sigilo dos dados de uma maneira geral. Desde 14 de Agosto de 2018, foi sancionada no Brasil a Lei Geral de Proteção de Dados do Brasil (LGPD) que entrou em vigor em Setembro do ano passado. Ela tem o objetivo de mudar a forma de funcionamento e operação das organizações ao estabelecer regras claras sobre coleta, armazenamento, tratamento e compartilhamento de dados pessoais, impondo um padrão mais elevado de proteção e penalidades significativas para o não cumprimento da norma. Isso ressalta ainda mais a preocupação com o sigilo dos dados que são considerados sensíveis, principalmente quando falamos de dados que são trafegados na internet. Porém, existem formas de incrementar a segurança sobre esses dados que são trafegados, impedindo possíveis ataques e interceptações. Hoje vamos falar um pouco sobre o protocolo HTTPS e seus benefícios para a segurança da informação.
Primeiramente, é necessário dar um passo atrás para entender as diferenças entre os protocolos HTTP e HTTPS. O HTTP (Hypertext Transfer Protocol) é utilizado para transferir dados através da rede. A maioria das informações é enviada através da internet, sendo através de sites ou chamadas de API’s, que utilizam o protocolo HTTP. Os principais tipos de mensagens HTTP são as solicitações (requests) e as respostas (responses).
As solicitações HTTP são geradas pelo navegador do usuário durante sua navegação. Por exemplo, se um usuário clicar em um hiperlink, o navegador enviará uma série de solicitações "HTTP GET" para o conteúdo que aparece nessa página. Todas essas solicitações HTTP vão para um servidor que será responsável por gerar uma resposta HTTP. Respostas HTTP são basicamente as respostas das solicitações HTTP.
Diferente do protocolo HTTP, o HTTPS (Hypertext Transfer Protocol Secure) utiliza mecanismos de segurança digital, sendo eles o TLS (Transport Layer Security) ou SSL (Secure Sockets Layer), para criptografar solicitações e respostas HTTP. Por exemplo, uma solicitação padrão HTTP seria algo parecido com o trecho abaixo:
GET /hello.txt HTTP/1.1
User-Agent: curl/7.63.0 libcurl/7.63.0 OpenSSL/1.1.l zlib/1.2.11
Host: www.example.com
Accept-Language: en
Ao utilizar o HTTPS, caso essa requisição fosse interceptada, a informação apresentada seria algo similar a isso:
t8Fw6T8UV81pQfyhDkhebbz7+oiwldr1j2gHBB3L3RFTRsQCpaSnSBZ78Vme+DpDVJPvZdZUZHpzbbcqmSW1+3xXGsERHg9YDmpYk0VVDiRvw1H5miNieJeJ/FNUjgH0BmVRWII6+T4MnDwmCMZUI/orxP3HGwYCSIvyzS3MpmmSe4iaWKCOHQ==
Essa criptografia é realizada pelos protocolos TLS/SSL e é utilizada um mecanismo chamado de criptografia de chave pública. Nesse caso, existem duas chaves: uma chave pública e uma chave privada. A chave pública é compartilhada com dispositivos clientes por meio do certificado SSL do servidor. Quando um cliente abre uma conexão com um servidor, os dois dispositivos usam a chave pública e privada para concordar com novas chaves, chamadas de chaves de sessão e para criptografar outras comunicações entre eles. Todas as solicitações e respostas HTTP são criptografadas com essas chaves de sessão, para que qualquer pessoa que intercepte as comunicações possa ver apenas uma sequência aleatória de caracteres, não o texto simples.
Sendo assim, os principais benefícios do HTTPS são:
Criptografia dos dados
Os dados que trafegam por HTTPS sempre são criptografados. Assim, as informações são altamente seguras. Mesmo que essas informações fossem interceptadas por pessoas não autorizadas, elas não poderiam ser utilizadas indevidamente, uma vez que os dados já estão criptografados.
Proteção
Ao contrário do HTTP, onde ele salva alguns dados diretamente no sistema do cliente, nenhum dado do usuário é armazenado dentro do sistema do cliente em HTTPS. Assim, os riscos dos dados de serem roubados ou expostos diminuem.
Verificação
O certificado garante que suas políticas e as políticas do site sejam iguais. Caso contrário, os usuários receberão uma notificação de que a conexão não é segura. Portanto, se você estiver usando HTTPS, os usuários podem garantir que seus dados sejam enviados para o lugar certo e não para sites inválidos.
Validação de dados
O protocolo HTTPS realiza o processo de validação de dados por meio de handshaking. Todo o processo de transferência de dados é validado, assim como quem está emitindo os dados e quem está recebendo. Somente se as validações forem bem-sucedidas é que de fato ocorre a transferência de dados. Caso contrário, as operações não são executadas.
Confiabilidade
O cadeado verde que aparece próximo a URL da página dá aos visitantes uma sensação de confiança e de que o site está preocupado com a segurança.