A fixación de TLS e o acceso por VPN responden a preguntas distintas
Unha fixación limita a que servidor confía a aplicación; a política de VPN decide quen chega á rede. Ningunha cobre a autorización nin un dispositivo perdido.
Poña unha aplicación móbil privada detrás dunha VPN e unha persoa razoable preguntará se aínda necesita fixación de certificados. A pregunta soa como unha escolla entre dous controis equivalentes, e en realidade é unha pregunta sobre dúas portas distintas. A VPN decide se este dispositivo pode usar sequera o camiño; a aplicación decide se o servidor ao que chegou é o que esperaba. Responda ambas por separado e o deseño vólvese máis simple.
Dúas portas, dúas preguntas
A admisión á rede ten que ver co cliente: está inscrito este dispositivo, son válidas as súas credenciais e permite a política que entre neste camiño? A confianza da aplicación ten que ver co servidor: chegou a conexión a un servizo cunha identidade que a aplicación acepta? Esas respostas veñen de sistemas distintos, fallan por motivos distintos e corríxenas equipos distintos. Un aperto de mans VPN pode ter éxito mentres a aplicación fala cun certificado caducado detrás do par. Unha aplicación perfectamente fixada pode seguir sendo inalcanzable para todos, porque o dispositivo nunca chegou á rede.
As dúas súmanse. Quitar unha elimina un control; engadir a outra non a substitúe.
Que limita realmente unha fixación
Unha fixación estreita o conxunto de identidades de servidor que a aplicación aceptará, normalmente nomeando unha chave pública ou un resumo de certificado en lugar de confiar en cada cadea que un almacén avalaría. É unha restrición superposta á validación ordinaria, non un substituto dela. A validación ordinaria responde se unha cadea é fiable; a fixación responde se é a cadea que esta aplicación espera. Unha implementación que salta o primeiro paso non gañou seguridade, só novidade.
O obxecto que se fixa varía entre plataformas, así que a palabra por si soa di moi pouco. Copiar un resumo do almacén de confianza dun produto e tratalo como o mesmo nunha aplicación móbil é un erro común e silencioso.
A fixación na plataforma é unha configuración, non unha política
Android expón a fixación mediante a súa configuración de seguridade de rede, onde un conxunto de fixacións garda resumos dunha chave pública e a cadea debe conter polo menos un deles. Ese ficheiro é por aplicación e require un cambio de compilación deliberado. iOS non ten un mecanismo de manifesto equivalente, así que alí a fixación vive no propio código de avaliación de confianza da aplicación.
Como o mecanismo difire, o requisito debe escribirse por plataforma. Unha política que diga fixa o certificado sen nomear a plataforma non é implementable.
A rotación decide se a fixación sobrevive
A parte difícil non é a primeira versión, senón a renovación do certificado posterior. Unha política de confianza restritiva rexeita unha chave nova lexítima coa mesma firmeza que a dun atacante.
Dous mecanismos fan a rotación superable: unha fixación de reserva xa confiada antes de necesitarse, e unha data de caducidade no conxunto de fixacións para que a aplicación da política decaia en lugar de inutilizar a aplicación. Ambos son decisións de política, e a caducidade en particular é unha redución deliberada de seguridade, non un temporizador inofensivo. Nomeen quen controla a compilación da aplicación, o extremo de TLS e a renovación do certificado, e póñanos nun só proceso de cambio. Se son tres equipos distintos, a fixación acabará provocando unha caída que ninguén planificara.
Un dispositivo perdido é un terceiro problema
Revogar unha credencial de VPN non termina necesariamente unha sesión de aplicación, e unha fixación de servidor non fai absolutamente nada por un teléfono en mans alleas. O bloqueo do dispositivo, o almacenamento de credenciais, a vida da sesión e a revogación remota son decisións separadas con donos separados. Pregalas dentro da discusión sobre a fixación garante que ningunha delas se deseñe.
Proben catro relacións en lugar da que poden ver: o servidor e a operación previstos, unha conta que debería ser rexeitada, unha identidade de servidor que debería ser descartada e a rotación planificada. Unha VPN que funciona exercita só a primeira. Anoten que probou cada proba, porque a seguinte persoa asumirá que un túnel verde significa que as catro pasaron.