Certificato autodidattico SSL per la mia app mobile?

10

Il mio cellulare (iOS e Android) si collega al mio server tramite un'API REST su HTTP. Mi piacerebbe che HTTP fosse sicuro, quindi l'HTTPS sembra essere la scelta più ovvia. Tutte le domande sui certificati SSL di autofirmazione mettono in guardia su come gli utenti di un sito Web non si fideranno di te se firmi automaticamente e non ti conoscono. Ma in questo caso, non ho bisogno che i miei utenti si fidino di me, ma l'app deve fidarsi di me. Ci sono problemi con questo approccio o dovrei sborsare i soldi a una delle CA in modo da non dovermi preoccupare?

    
posta Max 04.12.2012 - 14:13
fonte

4 risposte

11

Per il tuo caso d'uso particolare, un certificato autofirmato andrebbe bene.

Mentre controlli l'app, non devi utilizzare i certificati riconosciuti dai browser, che è il punto chiave di un certificato di una CA attendibile.

Funzionalmente, non c'è differenza nella sicurezza. Vedi: Does Self il certificato firmato differisce dalla CA dal punto di vista della sicurezza?

    
risposta data 04.12.2012 - 15:34
fonte
2

La sicurezza del sistema dipende dall'implementazione del client. Tutto ciò che un certificato fa intrinsecamente è fornire un "protocollo di comunicazione crittografato concordato". Quanto è sicura la comunicazione in atto è se c'è qualcuno che interpreta "l'uomo nel mezzo".

Quindi, come si verifica che il certificato ricevuto sia lo stesso certificato che la fonte desidera utilizzare? Ciò avviene tramite un verificatore di terze parti (che è ciò che viene fornito con il pagamento a una CA) o tramite il client che (da un'implementazione già codificata in precedenza) già che cosa dovrebbe essere l'aspetto del certificato.

Gluck!

    
risposta data 06.12.2012 - 16:17
fonte
1

Puoi ottenere un certificato SSL per qualcosa come $ 10. Non ottenerne uno crea molto più fastidio di quanto valga quel denaro.

Puoi scrivere codice per verificare in sicurezza il certificato SSL autofirmato nella tua app, ma la possibilità di commettere errori è maggiore di zero e quindi non ne vale la pena.

    
risposta data 04.12.2012 - 14:28
fonte
0

L'utilizzo di certificati autoprodotti è generalmente una cattiva idea. Considerare lo scenario: si codifica l'impronta digitale del certificato per assicurarsi che non ci sia MITM. Immagina che il tuo server venga compromesso e devi revocare il certificato e emetterne uno nuovo.

Pensa alle conseguenze per la tua base di utenti, dovendo aggiornare una nuova versione dell'app.

È possibile? Lo è, sebbene il tuo chilometraggio possa variare, come si suol dire. Lavori fuori dal profilo di rischio dei dati che stai trasferendo e dalla natura delle transazioni. Ad esempio, se hai una partita e trasferisci solo i punteggi più alti del tuo gioco, allora dovrebbe essere OK. Tuttavia, se inizi a tradurre altre cose, come la registrazione degli utenti, non sarebbe poi così bello.

    
risposta data 25.11.2017 - 14:25
fonte

Leggi altre domande sui tag