Per quanto mi risulta, SSL Pinning consiste nel confrontare la chiave pubblica o la certificazione di un server con le copie fornite in bundle nel client.La modalità di blocco SSL di iOS AFNetwork fornisce un ulteriore bonus di sicurezza se viene distribuito un certificato valido
Ho visto in Stackoverflow che molti sviluppatori utilizzano SSL Pinning dalle librerie AFNetwork, ma la maggior parte di essi lo utilizza insieme a un certificato autofirmato.
Ho acquistato un certificato valido da un'autorità di certificazione e ho superato il test per verificare che funzionasse correttamente. Voglio dire, ho impostato il seguente ed ha funzionato
...
_sharedHttpsInstance.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
_sharedHttpsInstance.securityPolicy.allowInvalidCertificates = NO;
...
Quello che mi chiedo è che se impostare la modalità di Pinning per AFSSLPinningModePulicKey, la mia domanda sarebbe più sicuro in comunicazione con il server in aggiunta a ciò che il certificato valido hanno fornito?
grazie mille.
Sì, pinning è più sicuro di quanto non pinning. Considera che quando Diginotar è stato violato, l'autore dell'attacco ha emesso certificati falsi per Google, Hotmail, Yahoo, ecc. I client inattivi li hanno accettati come legittimi perché Diginotar era una CA nell'archivio fidato. Se vuoi vedere un esempio di iOS, guarda come gli acquisti in-app sono stati interrotti dallo stesso attacco. Vedi [Servizio "acquisto in-app" di Apple per iOS escluso dall'hacker russo] (http://arstechnica.com/security/2012/07/ios-in-app-purchase-service-hacked/). Apple dovrebbe essere bloccata nel loro quadro di Store Kit, ma è un re troppo arrogante o stupido. – jww