SSL/TLS: supporto per i certificati ECDSA

Tradotto automaticamente da Deepl

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).

blank

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.

Nicolas Brachfogel
- Proprietario del prodotto e sviluppatore senior - Nicolas Brachfogel è entrato in 4D nel 2017 come Senior Developer (4D Server e networking). In qualità di Product Owner per gestire il rilascio di Apple Silicon, si occupa di scrivere le storie degli utenti e di tradurle in specifiche funzionali, nonché di assicurarsi che le implementazioni delle funzionalità soddisfino le esigenze dei clienti. Diplomato all'Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas ha iniziato la sua carriera come sviluppatore di software nel 2001. Dopo diversi anni di codifica in Java e C++, si è specializzato nello sviluppo di client-server per aziende di videogiochi. Come sviluppatore/architetto di server, ha lavorato con successo alle architetture server di molti giochi (Dofus Arena, Drakerz, Trivial Pursuit Go!).