Poseu una aplicació mòbil privada darrere d’una VPN i una persona raonable preguntarà si encara necessita fixació de certificats. La pregunta sona com una tria entre dos controls equivalents, i en realitat és una pregunta sobre dues portes diferents. La VPN decideix si aquest dispositiu pot fer servir el camí; l’aplicació decideix si el servidor que ha assolit és el que esperava. Responeu les dues qüestions per separat i el disseny es fa més simple.

Dues portes, dues preguntes

L’admissió a la xarxa tracta del client: aquest dispositiu està inscrit, la seva credencial és vàlida i la política el deixa entrar en aquest camí? La confiança de l’aplicació tracta del servidor: la connexió ha arribat a un servei amb una identitat que l’aplicació accepta? Aquestes respostes venen de sistemes diferents, fallen per motius diferents i les arreglen equips diferents. Una encaixada de mans VPN pot tenir èxit mentre l’aplicació parla amb un certificat caducat darrere del parell. Una aplicació perfectament fixada pot quedar inaccessible per a tothom, perquè el dispositiu mai no ha arribat a la xarxa.

Les dues se sumen. Treure’n una elimina un control; afegir-ne una no substitueix l’altra.

Què limita realment una fixació

Una fixació estreny el conjunt d’identitats de servidor que l’aplicació acceptarà, normalment anomenant una clau pública o un resum de certificat en lloc de confiar en cada cadena que un magatzem avalaria. És una restricció posada damunt de la validació ordinària, no un substitut. La validació ordinària respon si una cadena és fiable; la fixació respon si és la cadena que aquesta aplicació espera. Una implementació que salta el primer pas no ha guanyat seguretat, només novetat.

L’objecte que es fixa varia entre plataformes, així que la paraula sola diu molt poc. Copiar un resum del magatzem de confiança d’un producte i tractar-lo com la mateixa cosa en una aplicació mòbil és un error habitual i silenciós.

La fixació a la plataforma és una configuració, no una política

Android exposa la fixació mitjançant la seva configuració de seguretat de xarxa, on un conjunt de fixacions conté resums d’una clau pública i la cadena ha de contenir almenys un d’ells. Aquest fitxer és per aplicació i necessita un canvi de compilació deliberat. iOS no té cap mecanisme de manifest equivalent, així que allà la fixació viu en el codi propi d’avaluació de confiança de l’aplicació.

Com que el mecanisme difereix, el requisit s’ha d’escriure per plataforma. Una política que diu fixa el certificat sense anomenar la plataforma no és implementable.

La rotació decideix si la fixació sobreviu

La part difícil no és la primera versió, sinó la renovació del certificat posterior. Una política de confiança restrictiva rebutja una clau nova legítima tan fermament com la d’un atacant.

Dos mecanismes fan la rotació superable: una fixació de reserva ja confiada abans de necessitar-se, i una data de caducitat al conjunt de fixacions perquè l’aplicació de la política decaigui en lloc d’immobilitzar l’aplicació. Totes dues són decisions de política, i la caducitat en particular és una reducció deliberada de seguretat, no un temporitzador inofensiu. Anomeneu qui controla la compilació de l’aplicació, el punt final de TLS i la renovació del certificat, i poseu-los en un sol procés de canvi. Si són tres equips diferents, la fixació acabarà provocant una caiguda que ningú no havia planificat.

Un dispositiu perdut és un tercer problema

Revocar una credencial de VPN no acaba necessàriament una sessió d’aplicació, i una fixació de servidor no fa absolutament res per un telèfon a la mà d’una altra persona. El bloqueig del dispositiu, l’emmagatzematge de credencials, la durada de la sessió i la revocació remota són decisions separades amb propietaris separats. Plegar-les dins la discussió de la fixació garanteix que no es dissenyi cap d’elles.

Proveu quatre relacions en lloc de la que podeu veure: el servidor i l’operació previstos, un compte que hauria de ser refusat, una identitat de servidor que hauria de ser rebutjada i la rotació planificada. Una VPN que funciona només exerceix la primera. Anoteu què ha demostrat cada prova, perquè la propera persona assumirà que un túnel verd vol dir que les quatre han passat.

Articles relacionats