SSL/TLS: compatibilidad con certificados ECDSA

4D utiliza SSL/TLS para asegurar la comunicación cliente-servidor y las peticiones HTTP. 4D soporta la criptografía RSA desde hace más de una década y con 4D v20R3 estamos añadiendo criptografía ECDSA a nuestras herramientas. Es un buen momento para hablar un poco sobre seguridad.

SSL/TLS es un protocolo utilizado para cifrar las comunicaciones entre un cliente y un servidor. Se utiliza en todo el mundo desde hace casi 3 décadas, es sólido, incansable y rápido. En 4D, puede utilizarlo principalmente en 2 lugares: para encriptar la comunicación entre un Cliente 4D y un Servidor 4D y para encriptar las peticiones al servidor web 4D. Le recomendamos especialmente encriptar tanto sus comunicaciones cliente-servidor como las peticiones a su servidor web, de hecho encriptar la comunicación cliente-servidor se ha convertido en la configuración por defecto desde 4D v18.

Encriptar la comunicación cliente-servidor

Para activar el cifrado de sus comunicaciones cliente-servidor, puede abrir la pestaña cliente-servidor de los parámetros de la base de datos y marcar la casilla «Cifrar comunicación cliente-servidor».

Nota para el futuro: la capa de red QUIC que estamos implementando actualmente está basada en el protocolo QUIC que está necesariamente encriptado. Por lo tanto, si selecciona la capa QUIC, la casilla de verificación no se mostrará, ya que la encriptación siempre está activada.

Activar el protocolo SSL/TLS no es suficiente para proteger su comunicación, también debe proveer un certificado que 4D utilizará para encriptar la comunicación. 4D ofrece uno que puede encontrar en la carpeta Resources de 4D Server en los archivos llamados key.pem y cert.pem. Como 4D ofrece el mismo certificado a todos sus clientes, no se recomienda utilizar estos archivos en producción. Debería sustituirlos por su propio certificado.

Cifrar LAS peticiones HTTP

Si desea cifrar sus comunicaciones con el servidor web, debe utilizar el protocolo HTTPS, que es la versión segura del protocolo HTTP. En la pestaña web de la configuración de la base de datos, puedes activar HTTPS (está activado por defecto).

blank

Una vez más, tendrá que proporcionar un certificado que 4D utilizará para el cifrado (puede utilizar el mismo certificado que para 4D Server si lo desea). Debe poner los archivos key.pem y cert.pem junto a la carpeta del proyecto.

Certificados ECDSA

Hablemos de certificados. Hay 2 algoritmos principales de encriptación usados por TLS/SSL: RSA y ECDSA. Ambos son inviolables, estables y rápidos, así que puede elegir el que prefiera. RSA es el estándar de la industria, pero ECDSA es cada vez más común. Por ello, hemos decidido manejar ECDSA junto con RSA. Para usted, no hay diferencia en cómo usarlos, sólo necesita poner sus archivos key.pem y cert.pem en la ubicación correcta, sea cual sea el algoritmo de encriptación que esté utilizando su certificado.

Si quiere saber más sobre TLS/SSL y encriptación, puedo redirigirlo a la documentación de 4D. Y si tiene alguna pregunta, no dude en preguntar en el foro oficial de 4D.

Nicolas Brachfogel
• Propietario de producto y Desarrollador Senior - Nicolas Brachfogel se unió a 4D en 2017 como Senior Developer (4D Server y networking). Como Product Owner para gestionar el lanzamiento de Apple Silicon, está a cargo de escribir historias de usuario y traducirlas en especificaciones funcionales, así como asegurarse de que las implementaciones de las funcionalidades satisfagan las necesidades del cliente. Diplomado por el Instituto Superior de Informática Aplicada (INSIA), Nicolas comenzó su carrera como desarrollador de software en 2001. Tras varios años codificando en Java y C++, pasó a especializarse en el desarrollo cliente-servidor para empresas de videojuegos. Como desarrollador/arquitecto de servidores, trabajó con éxito en las arquitecturas de servidores de muchos juegos (Dofus Arena, Drakerz, Trivial Pursuit Go!).