Download di un nuovo certificato pinned SSL non sicuro?

1

Voglio creare un'app mobile protetta con SSL bloccato. Il problema che so di avere è se il certificato scade.

La mia possibile soluzione potrebbe essere il download di un certificato dal mio server di volta in volta. Penso che non sarebbe male, ma cosa succede se intercetto quella connessione iniziale (potenzialmente non protetta) e sostituisco il certificato con uno personalizzato. È una preoccupazione valida? C'è un modo in cui questo può essere negativo per la mia app?

    
posta facumedica 21.06.2016 - 22:45
fonte

1 risposta

1

Supponendo che l'origine del nuovo certificato sia quella che stai bloccando e il certificato di blocco non sia stato revocato, probabilmente stai bene. Ad un certo livello, devi avere fiducia nel sistema (EDIT: voglio dire che devi fidarti che la crittografia a chiave pubblica funzioni in generale, non che il sistema PKI / CA in particolare sia affidabile), e stai già facendo tutto ciò che potresti ragionevolmente per verificare il server.

Ora, con ciò detto, la pratica standard è quella di appuntare solo le informazioni sulla chiave pubblica (il che significa che puoi fare cose come riemettere lo stesso certificato con una nuova data di scadenza, senza interrompere il blocco) e bloccare entrambe le chiavi del certificato attuale e una chiave di backup. La chiave di backup è per se è necessario ruotare o revocare il certificato corrente, piuttosto che semplicemente ri-emetterlo. La coppia di chiavi di backup può essere creata in anticipo e quindi si lancia l'unica copia della chiave privata di backup in un vault o qualcosa del genere finché non è necessario.

Tra la possibilità di riemettere i certificati fino a quando non si cambia la chiave pubblica, e avendo una chiave di backup se è necessario cambiare le chiavi, si dovrebbe avere una grande finestra tra quando è necessario ruotare / revocare una chiave e quando si interrompe il blocco. Durante questa finestra, è possibile rilasciare un aggiornamento dell'app che trasforma il vecchio backup nella chiave primaria, aggiunge un nuovo backup e rimuove interamente il primario non più attendibile. Se necessario, l'app può includere una funzione di controllo della versione che ricorda agli utenti di eseguire l'upgrade dal negozio quando cambiano le chiavi.

    
risposta data 22.06.2016 - 01:32
fonte

Leggi altre domande sui tag