Tengo dudas. Para la seguridad de las aplicaciones de Android, ¿qué método de fijación SSL es bueno?
- Implementando la fijación de la clave pública HTTP
- Implementar la validación de certificados usando el formato * .bks junto con el verificador de nombre de host.
La segunda es más recomendada para infraestructuras críticas, como militares, según algunos expertos.
En HTTPPubliKeyPinning hay una ventaja que puedo dar a una matriz de numerosas claves públicas. De modo que si uno de mis certificados caduca, la aplicación cambiará automáticamente la clave pública de otro certificado en otro dominio.
En BKS, el desarrollador debe adjuntar un nuevo certificado en APK y debe proporcionar al cliente el uso de la aplicación forzar la actualización, de lo contrario no funcionará.
Sin embargo, las métricas de habilidad de explotación tienen el mismo marco de tiempo. Puedo explotar el error 1 y el error 2 utilizando el marco Xposed utilizando la aplicación JustTrustMe. Requerirá la misma cantidad de tiempo y esfuerzo. También en ambos casos, si el pirata informático vuelve a empaquetar la aplicación con 1. nuestra clave pública o con 2. el certificado después de la ingeniería inversa, él / ella podrá evitar estas restricciones. ¿Algún otro beneficio de usar el segundo método? ¿Hay algún buen método disponible que este?
Entonces, en función de la continuidad y la seguridad del negocio, ¿cuál es la mejor?