HPKP e più certificati SSL

3

Alcune settimane fa, abbiamo abilitato l'intestazione HTTP Key Pinning sul nostro sito web. In base alle specifiche, abbiamo incluso non solo l'impronta digitale SHA-256 della nostra chiave RSA corrente, ma anche quella di una chiave di backup (RSA).

Ora, tuttavia, vorremmo aggiungere una seconda chiave (ECC) al nostro sito. Abbiamo creato un server di test con due certificati autofirmati (uno RSA, uno ECC). Quando si guarda l'handshake TLS in Wireshark, sembra che il server invii solo un certificato (quello ECC). Utilizzando l'opzione -cipher di openssl s_client , tuttavia, posso provare che entrambi i certificati possono essere forniti dal server (forzando OpenSSL a utilizzare solo suite di crittografia aRSA o ECDSA).

A mio avviso, quando un visitatore con un browser abbastanza moderno visiterà il nostro sito di produzione, il server presenterà solo la chiave ECC e il browser si lamenterà con l'utente che non conosce quella chiave, poiché era non incluso nell'intestazione HPKP inviata durante l'ultima visita. C'è un modo per far sì che il server (Apache 2.4.7) presenti sempre entrambi i certificati? Oppure il browser in qualche modo riesce a ottenere la (nota) chiave RSA dal server?

    
posta TheWolf 23.06.2015 - 10:10
fonte

2 risposte

2

Is there a way to make the server (Apache 2.4.7) always present both certificates?

No. Questo è di progettazione in TLS. Il server presenta il certificato solo dopo che è stata negoziata una suite di crittografia comune.

E la suite di crittografia determina il tipo di certificato (ECDSA o RSA). Quindi il server saprà quale dei certificati utilizzare.

MODIFICA: vedi domanda precedente: Ecco una delle mie risposte più vecchie a una domanda correlata:

SecSE: In che modo un browser sceglie quale certificato utilizzare se il mio server web ha più certificati?

    
risposta data 23.06.2015 - 13:35
fonte
3
  • Hai un PIN con HPKP: Key1 (impronta digitale chiave RSA corrente) e Key2 (impronta digitale chiave di backup) con una durata massima di X giorni.
  • Vuoi usare un certificato ECC (quindi, con una nuova chiave non ancora pinnata).
  • Devi:

    1. Pin con HPKP Key1, Key2 e Key3 (impronta digitale chiave ECC)
    2. aspetta almeno lo stesso tempo del tempo di scadenza del blocco: X giorni (per affermare che tutti i tuoi visitatori dimenticano la vecchia lista di blocco)
    3. Ora puoi utilizzare RSA e il certificato ECC

Non puoi presentare i due certificati nello stesso tempo. Quando una chiave è bloccata, il browser controlla che la chiave sia nella catena corrente

.     
risposta data 25.06.2015 - 21:47
fonte

Leggi altre domande sui tag