O documento descreve como funciona a criptografia ponto a ponto em aplicativos de mensagens, protegendo as comunicações desde o emissor até o receptor. A criptografia usa chaves públicas e privadas para autenticação e chaves de sessão simétricas para cada conversa, garantindo privacidade, integridade e autoria.
1. Criptografia P2P - Ponto a
ponto
Funcionamento da criptografia de dados em
aplicativos de mensagens
Raphael Queiroz - roq2503@gmail.com - 2017
2. Introdução
O presente documento foi elaborado com o objetivo de esclarecer, de forma
didática, o funcionamento da criptografia ponto a ponto (P2P) nas comunicações
em aplicativos de mensagens instantâneas que utilizam ou derivam do protocolo
Signal da Open Whisper Systems. Como exemplos de aplicativos podemos citar
WhatsApp, Facebook Messenger, Google Allo, entre muitos outros.
3. Criptografia P2P
A criptografia ponto a ponto (ou peer-to-peer) é aquela aplicada sem intermédio
de servidor central, ou seja, a comunicação é protegida desde a origem até seu
destinatário final. Por conta disso, ela também é capaz de evitar ataques man-in-
the-middle (MITM).
O uso de um protocolo de criptografia de código aberto (open source) assegura
ainda que problemas como backdoors (portas de acesso escondidas) ou ataques
de força bruta enfraqueça o sistema de segurança aplicado.
4. Chaves Criptográficas Utilizadas no Processo
Há dois tipos diferentes de criptografia utilizados no processo: par de chaves
pública-privada e chaves de sessão.
1. A chave privada do par de chaves pública-privada é utilizada para a
autenticação do usuário na plataforma (registro).
1. Já as chaves de sessão são chaves simétricas geradas entre as partes e
utilizadas unicamente em cada sessão de mensagem. Essa chave é
descartada após o encaminhamento da mensagem.
5. Chaves Criptográficas Utilizadas no Processo
Identity Key
Pair
(Identidade)
Signed Pre
Key
One-Time Pre
Key
(Descartável)
Root Key Chain Key Message Key
Par de chaves (1 Chave Publica + 1 Chave Privada)
Chave Única
6. CELULAR
SERVIDOR
Processo de Registro do Usuário
Identity Key
Pair
(Identidade)
Signed Pre
Key
One-Time Pre
Keys
(Descartável)
Chave Pública Chave Pública
Chaves
Públicas
7. Processo de Estabelecimento de Sessão
SERVIDOR
EMISSOR
(Chaves Públicas)
RECEPTOR
(Chaves Públicas)
EMISSOR
(Chaves Privadas)
RECEPTOR
(Chaves Privadas)ROOT
KEY
CHAIN
KEY
MESSAGE
KEY
8. Processo de Troca de Mensagens
SERVIDOR
EMISSOR
(Chaves Públicas)
RECEPTOR
(Chaves Públicas)
EMISSOR RECEPTOR
MESSAGE
KEY
Olá Mundo!
ArdEsdR$Edsa% ArdEsdR$Edsa%
Olá Mundo!
9. Vantagens do uso
● A criptografia ponto a ponto, quando bem implementada, impede acessos
não autorizados, mesmo por parte do provedor do serviço ou monitoramento
de entidades governamentais.
● Garante a confidencialidade (privacidade) e integridade (conteúdo) das
informações, além da previsão de autoria das mensagens enviadas.
● Quanto utilizado protocolos e algoritmos de forma aberta ainda torna mais
confiável sua regulação e auditoria.
10. Termos Técnicos
Criptografia: A palavra tem origem no grego, com significado de “escrita secreta”. De acordo com Stallings (2015), os muitos esquemas
utilizados para a encriptação constituem a área de estudo conhecida como criptografia. Pode-se dizer que é o estudo dos princípios e técnicas
pelas quais a informação pode ser transformada da sua forma original para outra ilegível, de forma que possa ser conhecida apenas por seu
destinatário (detentor da "chave secreta"), o que a torna difícil de ser lida por agentes não autorizados. Assim sendo, só o receptor da
mensagem pode ler a informação com facilidade (WIKIPEDIA, s.d.). De acordo com Tanembaum e Wetherall (2011), as mensagens a serem
criptografadas, denominadas como texto simples, são transformadas por meio de uma função parametrizada por uma chave. Em seguida, a
saída do processo de criptografia, conhecida como texto cifrado, é transmitida. Stallings (2015) diz que o processo de converter um texto claro
em um texto cifrado é conhecido como cifração ou encriptação, enquanto a restauração do texto claro a partir do texto cifrado é chamada de
decifração ou decriptação.
Tipos de criptografia: Uma das formas de classificar sistemas criptográficos se refere ao número de chaves utilizadas no processo. Se tanto o
emissor quanto o receptor utilizarem a mesma chave, o sistema é classificado como encriptação simétrica; já se emissor e receptor usarem
chaves diferentes, o sistema é classificado como encriptação assimétrica ou de chave pública (STALLINGS, 2015).
Peer-to-peer (ou P2P, ponto a ponto): é uma arquitetura de redes de computadores em que cada um dos pontos (ou nós) da rede funciona
tanto como cliente quanto como servidor, permitindo compartilhamentos de serviços e dados sem a necessidade de um servidor central. Por
não se basear em uma arquitetura cliente-servidor, em que apenas o servidor é responsável pela execução de todas as funções da rede, o
P2P apresenta vantagem significativa justamente por não depender de um servidor e de todos os nós estarem interconectados, o que
possibilita que o acesso a qualquer nó possa ter origem em qualquer outro nó. Devido a essas características, define-se essa rede como sendo
de elevada disponibilidade (WIKIPEDIA, s.d.).
11. Termos Técnicos
Signal Protocol: O Signal é tanto um protocolo de segurança como um aplicativo embarcado que fornece criptografia ponto a ponto para
mensageiros instantâneos. O núcleo do protocolo foi recentemente adotado por aplicativos utilizados em aplicativos bastante populares, dentre
os quais podemos destacar WhatsApp, Facebook Messenger e Google Allo, entre muitos outros.
Ataque por força bruta (brute force): Consiste em utilizar o processamento computacional para descobrir, por meio de tentativas e erros, um
segredo de forma não autorizada. O tempo necessário para a descoberta pode variar de acordo com a quantidade possível de tentativas por
segundo (capacidade computacional) e a probabilidade de acerto (número de combinações diferentes possíveis) (CERT.BR, s.d.).
Backdoor: é um método, muitas vezes secreto, de transpor a autenticação normal em um produto, sistema de computador, criptosistema ou
algoritmo etc. Backdoors são freqüentemente usadas para assegurar acesso remoto não autorizado a um computador ou obter acesso a textos
em sistemas criptográficos. Pode assumir a forma de uma parte oculta de um programa, um programa separado (por exemplo, o Back Orifice
pode subverter o sistema através de um tipo de código malicioso conhecido como rootkit), ou pode ser um recurso de hardware.
Man-in-the-middle: é uma forma de ataque em que os dados trocados entre duas partes são de alguma forma interceptados, registrados e
possivelmente alterados pelo atacante sem que origem ou destino dos dados percebam. O atacante pode optar por retransmitir entre os
legítimos participantes os dados inalterados, com alterações, ou bloquear partes da informação.
Notas del editor
há dois tipos
diferentes utilizados no processo em si: par de chaves pública-privada e chaves de
sessão. As chaves de sessão são chaves simétricas geradas entre as partes e
utilizadas unicamente em cada sessão de mensagem. Essa chave é descartada após o
encaminhamento da mensagem. Já a chave privada do par de chaves pública-privada
é utilizada para a autenticação do usuário na plataforma.