SSL/TLS: Suporte para certificados ECDSA

Tradução automática de Deepl

4D usa SSL/TLS para proteger a comunicação cliente-servidor e pedidos HTTP. 4D suporta a criptografia RSA há mais de uma década e com 4D v20R3 estamos agora adicionando a criptografia ECDSA ao nosso conjunto de ferramentas. É um bom momento para eu falar um pouco sobre segurança.

SSL/TLS é um protocolo usado para encriptar comunicações entre um cliente e um servidor. É usado mundialmente por quase 3 décadas, é forte, inquebrável e rápido. Em 4D, pode ser usado principalmente em 2 lugares: Para encriptar a comunicação entre um Cliente 4D e um Servidor 4D e para encriptar os pedidos ao servidor web 4D. Aconselhamos fortemente que criptografe ambas as comunicações cliente-servidor e os pedidos para seu servidor web, e de fato criptografar a comunicação cliente-servidor se tornou a configuração padrão desde 4D v18.

Encriptar a comunicação cliente-servidor

Para ativar a criptografia de suas comunicações cliente-servidor, pode abrir a aba cliente-servidor das configurações do banco de dados e marcar a caixa de seleção “Encrypt client-server communication”.

Nota para o futuro: A camada de rede QUIC que estamos a implementar atualmente baseia-se no protocolo QUIC, que é necessariamente encriptado. Assim, se selecionar a camada QUIC, a caixa de verificação não será apresentada, uma vez que a encriptação está sempre activada.

Ativar o protocolo SSL/TLS não é suficiente para proteger sua comunicação, também é necessário fornecer um certificado que 4D vai usar para criptografar a comunicação. 4D fornece um que pode ser encontrado na pasta Resources do 4D Server nos arquivos chamados key.pem e cert.pem. Como 4D fornece o mesmo certificado para todos os seus clientes, não é recomendado usar esses arquivos em produção. Você deve substituí-los por seu próprio certificado.

Criptografar pedidos HTTP

Se quiser criptografar suas comunicações com o servidor web, precisa usar o protocolo HTTPS, que é a versão segura do protocolo HTTP. No separador Web das definições da base de dados, pode ativar o HTTPS (está ativado por predefinição).

blank

Mais uma vez, precisa fornecer um certificado que 4D vai usar para a encriptação (pode usar o mesmo certificado que para 4D Server se quiser). Precisa colocar os arquivos key.pem e cert.pem ao lado da pasta do projeto.

Certificados ECDSA

Então, vamos falar sobre certificados. Há 2 algoritmos de encriptação principais usados por TLS/SSL: RSA e ECDSA. Ambos são inquebráveis, estáveis e rápidos, por isso pode escolher o que preferir. O RSA é o padrão da indústria, mas o ECDSA está a tornar-se cada vez mais comum. Como tal, decidimos lidar com o ECDSA juntamente com o RSA. Para si, não há diferença na forma de os utilizar, apenas precisa de colocar os seus ficheiros key.pem e cert.pem na localização correcta, independentemente do algoritmo de encriptação que o seu certificado está a utilizar.

Se quiser saber mais sobre TLS/SSL e encriptação, posso redireccioná-lo para a documentação 4D. E se tiver alguma pergunta, não hesite em perguntar no fórum oficial 4D.

Nicolas Brachfogel
• Proprietário do produto e Desenvolvedor Senior -Nicolas Brachfogel entrou a 4D em 2017 como Senior Developer (4D Server e Networking). Como Product Owner para gerenciar o lançamento de Apple Silicon, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais, além de garantir que as implementações de funcionalidade cumpram com as necessidades do cliente. Diplomado pelo Instituto Superior de Informática Aplicada (INSIA), Nicolas começou sua carreira como desenvolvedor de software em 2001. Depois de vários anos codificando em Java e C++, passou a especializar-se no desenvolvimento cliente-servidor para empresas de videogames. Como desenvolvedor/arquiteto de servidores, trabalhou com sucesso nas arquiteturas de servidores de muitos jogos (Dofus Arena, Drakerz, Trivial Pursuit Go!)