che cosa fai quando un certificato SSL scade e la tua app utilizza il pin ssl?

13

Inizialmente avevo postato questa domanda su StackOverflow, ma ho ripubblicato qui a causa della mancanza di risposte.

Sto cercando di decidere se è una buona idea eseguire il pin ssl nel mio gioco iOS che utilizza un server per distribuire contenuti. Sembra che sia importante, ma l'unica cosa che mi infastidisce è il pensiero del giorno in cui il certificato scade. Dal momento che il certificato deve essere incluso nel pacchetto dell'app, questo significa che ci sarà un punto in cui gli utenti saranno costretti ad aggiornare. A seconda di ciò che Apple sta facendo in quel momento, potrebbe significare che non è possibile eseguire l'aggiornamento a causa di restrizioni del dispositivo / os. Quindi, sono davvero preoccupato di inserire questo.

Qualcuno ha avuto esperienza con i certificati ssl e i certificati scaduti, rendendo questa cosa senza interruzioni per i tuoi utenti?

    
posta patrick 20.01.2016 - 07:07
fonte

3 risposte

5

La tua applicazione potrebbe memorizzare più certificati nel proprio elenco di pin. La procedura per modificare il certificato sarebbe quindi:

  1. Qualche tempo prima che il certificato scada, rilascia una nuova versione di la tua app con un certificato di sostituzione nella lista pin, così come il certificato originale
  2. quando scade il vecchio certificato, sostituirlo con server - l'app dovrebbe quindi funzionare ancora come il nuovo certificato essere nella lista pin
  3. Qualche tempo dopo che il certificato scade, rilascia un nuovo versione della tua app che rimuove il vecchio certificato

Questo dovrebbe ridurre il rischio di interruzione del servizio ma non lo rimuove completamente, poiché alcuni utenti potrebbero non installare la nuova versione della tua app.

Inoltre, potrebbe non essere d'aiuto nei casi in cui è necessario modificare il certificato del server in fretta (ad esempio, si ritiene che il certificato possa essere stato compromesso).

Ho anche sentito parlare di persone che hanno permesso alle loro applicazioni di aggiornare la loro lista pin quando si collegavano su reti "più affidabili". Ad esempio il Wi-Fi sarebbe meno affidabile di 3G / 4G dato che è meno costoso e più facile fare un uomo nel mezzo dell'attacco al WiFi.

Nel complesso e da un punto di vista operativo, ritengo che il blocco dei certificati causi più problemi di quanti ne risolva, a meno che i dati non siano particolarmente sensibili e la riservatezza / integrità superi di gran lunga la disponibilità nell'elenco delle preoccupazioni. (Mi rendo conto che potrei ottenere alcuni downvotes per questa visualizzazione).

    
risposta data 20.01.2016 - 10:42
fonte
0

Firmi un nuovo certificato con la chiave di firma intermedia .
In particolare, ciò che è "incluso nel pacchetto di app" è la chiave di verifica della firma radice .

    
risposta data 20.01.2016 - 07:28
fonte
0

Devo supporre che stiate descrivendo Public Key Pinning (HPKP) come documentato al link (Al giorno d'oggi le attività correlate a TLS sono piuttosto veloci, quindi forse ci sono altri attacchi SSL da sperimentare).

Come descritto nella risposta di Ricky, puoi bloccare la chiave pubblica dei certificati intermedi (o anche di root) e / o puoi bloccare anche la "prossima" chiave della CA. (Ad esempio, è possibile collegare la CA corrente e la CA intermedia di LetCrypt). Il pericolo con questo è ovviamente che non c'è alcuna garanzia che il loro prossimo certificato emesso utilizzerà quella specifica chiave! E nel bloccare qualsiasi altra chiave, si attribuisce la fiducia che non sarà quella che rilascia un certificato per il proprio dominio a qualcun altro - i rischi devono essere pesati solo da voi. (Alcuni sono stati morsi dalla CA che passa a una nuova chiave poco prima del rinnovo).

C'è un'altra opzione, dato che il perno è in realtà sulla chiave pubblica, se si riemette il certificato con la stessa chiave pubblica, il nuovo certificato avrà lo stesso hash del pin. Allo stesso modo, puoi preparare il nuovo pin con il nuovo CSR che hai già generato, ma non ancora inviato a qualsiasi CA.

    
risposta data 20.01.2016 - 10:16
fonte

Leggi altre domande sui tag