4D utilizza SSL/TLS per proteggere le comunicazioni client-server e le richieste HTTP. 4D supporta la crittografia RSA da oltre un decennio e con 4D v20R3 stiamo aggiungendo la crittografia ECDSA alla nostra gamma di strumenti. È un buon momento per parlare un po’ di sicurezza.
SSL/TLS è un protocollo utilizzato per crittografare le comunicazioni tra un client e un server. È utilizzato in tutto il mondo da quasi trent’anni, è resistente, infrangibile e veloce. In 4D, è possibile utilizzarlo principalmente in due punti: Per criptare la comunicazione tra un client 4D e un server 4D e per criptare le richieste al server web 4D. Consigliamo vivamente di crittografare sia le comunicazioni client-server che le richieste al server web; di fatto, la crittografia delle comunicazioni client-server è diventata l’impostazione predefinita a partire da 4D v18.
Crittografia delle comunicazioni client-server
Per attivare la crittografia delle comunicazioni client-server, è possibile aprire la scheda client-server delle impostazioni del database e selezionare la casella di controllo “Crittografa comunicazione client-server”.
Nota per il futuro: Il livello di rete QUIC attualmente implementato si basa sul protocollo QUIC, che è necessariamente crittografato. Pertanto, se si seleziona il livello QUIC, la casella di controllo non verrà visualizzata poiché la crittografia è sempre attivata.
L’attivazione del protocollo SSL/TLS non è sufficiente per proteggere la comunicazione, ma è necessario fornire un certificato che 4D utilizzerà per crittografare la comunicazione. 4D ne fornisce uno che si trova nella cartella Resources di 4D Server nei file denominati key.pem e cert.pem. Poiché 4D fornisce lo stesso certificato a tutti i suoi clienti, non è consigliabile utilizzare questi file in produzione. Si consiglia di sostituirli con il proprio certificato.
Crittografia delle richieste HTTP
Se si desidera criptare le comunicazioni con il server web, è necessario utilizzare il protocollo HTTPS, che è la versione protetta del protocollo HTTP. Nella scheda Web delle impostazioni del database, è possibile attivare HTTPS (è attivato per impostazione predefinita).
Ancora una volta, è necessario fornire un certificato che 4D utilizzerà per la crittografia (se si desidera, è possibile utilizzare lo stesso certificato di 4D Server). È necessario inserire i file key.pem e cert.pem accanto alla cartella del progetto.
Certificati ECDSA
Parliamo quindi dei certificati. Esistono due algoritmi di crittografia principali utilizzati da TLS/SSL: RSA ed ECDSA. Entrambi sono infrangibili, stabili e veloci, quindi potete scegliere quello che preferite. RSA è lo standard del settore, ma ECDSA sta diventando sempre più comune. Per questo motivo, abbiamo deciso di gestire ECDSA insieme a RSA. Per voi non c’è alcuna differenza nel modo di usarli, dovete solo mettere i file key.pem e cert.pem nella posizione corretta, qualunque sia l’algoritmo di crittografia utilizzato dal vostro certificato.
Se volete saperne di più su TLS/SSL e sulla crittografia, posso indirizzarvi alla documentazione di 4D. E se avete qualche domanda, non esitate a farla sul forum ufficiale di 4D.