TLS
Summary
O TLS (Transport Layer Security) é um protocolo criptográfico utilizado para proteger a comunicação entre dois sistemas através de uma rede, como a Internet.
Como funciona?
O TLS estabelece uma ligação segura entre dois sistemas através de um processo chamado TLS Handshake (negociação inicial).
De forma simplificada, funciona assim:
- Client Hello: o cliente (por exemplo, um POS ou servidor) inicia a comunicação e apresenta as versões e os algoritmos criptográficos que suporta.
- Server Hello: o servidor seleciona os parâmetros criptográficos da ligação.
- Autenticação: o servidor apresenta um certificado digital, que permite ao cliente verificar a sua identidade.
- Estabelecimento de chaves: os sistemas estabelecem um segredo partilhado, normalmente através de ECDHE.
- Comunicação segura: ambos passam a utilizar chaves de sessão para cifrar e autenticar os dados transmitidos.
Para que serve?
O TLS garante três propriedades fundamentais:
- Confidencialidade: Impede que terceiros leiam os dados transmitidos.
- Integridade: Permite detetar alterações nos dados durante a transmissão.
- Autenticação: Permite verificar a identidade do servidor e, opcionalmente, também do cliente.
É utilizado, por exemplo, em:
- Websites HTTPS.
- Comunicações entre bancos e processadores de pagamento.
- Comunicações entre POS e servidores de pagamento.
- APIs (interfaces de comunicação entre aplicações).
- Aplicações bancárias e sistemas financeiros.
O que torna o TLS seguro?
A segurança do TLS depende da utilização correta dos seus mecanismos criptográficos.
Alguns dos principais elementos são:
- Certificados digitais: permitem autenticar a identidade dos sistemas.
- RSA ou ECDSA: podem ser utilizados para autenticação através de assinaturas digitais.
- ECDHE: permite estabelecer um segredo partilhado de forma segura.
- AES-GCM ou ChaCha20-Poly1305: algoritmos utilizados para cifrar e autenticar os dados transmitidos.
- SHA-256: função de hash utilizada em mecanismos criptográficos do protocolo.