Utilizzo di certificati con entrambe le chiavi RSA ed ECDSA

Vuoi mettere a disposizione dei tuoi clienti una crittografia moderna e veloce con la chiave EC ma ti preoccupa ancora la sua compatibilità con i browser meno recenti? Non devi più preoccuparti. È possibile installare due certificati affiancati sul server web: il RSA farà da fallback. In questo articolo apprenderai come utilizzare due certificati con chiavi RSA ed EC insieme sullo stesso dominio.

I server web sono in grado di farlo da tempo; pertanto, se esiti a passare a un certificato EC a causa della compatibilità con i visitatori, è possibile configurare entrambi i certificati. I browser recenti supportano l'uso della chiave EC e la loro comunicazione con il server sarà più veloce. I browser che non possono utilizzare la crittografia a curva ellittica (ECC) useranno il certificato RSA tradizionale come fallback.

Come funzionano due certificati su un server web

Il funzionamento di due certificati affiancati, dotati di algoritmi diversi, è semplice. È sufficiente aggiungere un secondo certificato alla configurazione del server web e lasciare che sia il server web a decidere quale dei certificati utilizzare.

Saranno disponibili due certificati, ciascuno con un algoritmo di chiave diverso, e il loro utilizzo sarà determinato dall'elenco di cifrari ordinati in base alle preferenze (e naturalmente in base alle preferenze del browser che si sta connettendo). Il certificato preferito sarà quello ECC che contiene una chiave più breve e la cui crittografia è più forte di quella RSA.

L'ordine dei certificati è determinato dalla preferenza degli algoritmi di crittografia impostati per il dominio sul server web. Nell'elenco dei cifrari preferiti (nonché quelli disabilitati), i cifrari sono ordinati in base alle preferenze in modo che il server provi i primi elencati e poi quelli successivi.

Fallback da ECC a RSA

Se il server e il client non si accordano sui cifrari con chiave EC, il server passa ai seguenti cifrari RSA che il browser supporta sicuramente. In tale modo viene garantito il cosiddetto fallback a un certificato RSA tradizionale, il che rende sicuro l'uso della duplice configurazione e tu non dovrai preoccuparti che un cliente con un vecchio browser non riesca ad accedere al sito.

Impostazione delle preferenze di cifrari

Per ogni server web è necessario definire i cifrari preferiti; ti consigliamo di utilizzare il servizio di moz://a SSL Configuration Generator oppure Cipherli.st. In questo modo otterrai un elenco di cifrari adatti, raccomandati dagli esperti di sicurezza, e non dovrai crearlo tu stesso.

Come ottenere un duplicato del certificato

Nell'SSLmarket ottieni, in modalità standard, un certificato con l'algoritmo utilizzato nella CSR. Se desideri ottenere gratuitamente un duplicato del certificato esistente (con un algoritmo diverso), contatta la nostra assistenza clienti. Per il duplice uso di RSA ed ECC non è necessario acquistare due volte lo stesso certificato.

Apache

Alla configurazione dell'host di un sito web specifico aggiungerai la posizione della seconda coppia di certificato e chiave privata. Il secondo certificato avrà un algoritmo di chiave diverso dal primo; si presume che tu stia aggiungendo il certificato ECC a un certificato RSA esistente.

Aggiungerai solo la seconda coppia di chiavi alla configurazione. Il loro utilizzo dipenderà dalla preferenza degli algoritmi nelle suite di cifratura:

SSLCertificateFile /etc/ssl/certs/ssl-rsa.crt
SSLCertificateKeyFile /etc/ssl/private/pkey-rsa.pem

SSLCertificateFile /etc/ssl/certs/ssl-ecc.pem
SSLCertificateKeyFile /etc/ssl/private/pkey-ecc.pem

Se la direttiva SSLCACertificateFile è abilitata nella tua configurazione, puoi eliminarla o disattivarla. Non è necessario aggiungere separatamente il certificato Intermediate (CA) poiché è già presente nel file del certificato di dominio.

Gli algoritmi di crittografia che utilizzano l'ECC dovrebbero logicamente essere in cima all'elenco, con una priorità elevata. È possibile configurare i protocolli e l'elenco dei cifrari nel file ssl.conf (per impostazione predefinita nella cartella /mods-enabled). Esempio tratto da ssl-config.mozilla.org:

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off

Nginx

Nginx riesce ad utilizzare contemporaneamente i certificati RSA ed ECC a partire dalla versione 1.11.0 rilasciata nel 2016. Le impostazioni di configurazione di Nginx seguono la stessa logica di Apache. È sufficiente aggiungere un secondo certificato alla configurazione e lasciare che sia il server a decidere.

server {
listen 443 ssl default_server;
server_name dominio.it www.dominio.it;
# RSA certificato
ssl_certificate /var/ssl/dominio.it/certs/fullchain.rsa.pem;
ssl_certificate_key /var/ssl/dominio.it/private/privkey.rsa.pem;
# ECDSA certificato
ssl_certificate /var/ssl/dominio.it/certs/fullchain.ecc.pem;
ssl_certificate_key /var/ssl/dominio.it/private/privkey.ecc.pem;

# Other directives
}

Impostazioni del protocollo e dell'elenco di cifratura (tratte da ssl-config.mozilla.org):

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;

Verifica della corretta installazione

È possibile verificare la corretta installazione del certificato SSL con nostro strumento. Per ulteriori informazioni leggi Controllo dell'installazione del certificato TLS.

Risorse e ulteriori informazioni


Pomoc s SSL certifikáty

È troppo per te?

Scrivici una e-mail
info@sslmarket.it
Modulo di Contatto
Ti è stato utile questo articolo?