¿qué hace cuando expira un certificado ssl y su aplicación utiliza la fijación ssl?

13

Originalmente publiqué esta pregunta en StackOverflow, pero la volví a publicar aquí debido a la falta de respuestas.

Estoy tratando de decidir si es una buena idea hacer un ssl pinning en mi juego de iOS que usa un servidor para entregar contenido. Parece que es importante, pero lo único que realmente me molesta es la idea del día en que expira el certificado. Dado que el certificado debe incluirse en el paquete de la aplicación, esto significa que habrá un punto en el que los usuarios se verán obligados a actualizar. Dependiendo de lo que Apple esté haciendo en ese momento, puede significar que no pueden actualizarse debido a las restricciones del dispositivo / os. Por lo tanto, estoy muy nervioso por poner esto.

¿Alguien ha tenido alguna experiencia con la fijación de SSL y certificados vencidos, lo que hace que esto sea una tarea sin interrupciones para sus usuarios?

    
pregunta patrick 20.01.2016 - 07:07
fuente

3 respuestas

5

Su aplicación podría almacenar múltiples certificados en su lista de pines. El procedimiento para cambiar el certificado sería entonces:

  1. Un tiempo antes de que caduque el certificado, lanza una nueva versión de su aplicación con un certificado de reemplazo en la lista de pines, así como la certificado original
  2. cuando el certificado anterior caduque, reemplácelo en el Servidor: la aplicación debería seguir funcionando como lo hará el nuevo certificado. estar en la lista de pin
  3. Algún tiempo después de que caduque el certificado, lance un nuevo versión de su aplicación eliminando el antiguo certificado

Esto debería reducir el riesgo de interrupción del servicio, pero no lo elimina por completo, ya que algunos usuarios pueden no instalar la nueva versión de su aplicación.

Además, es posible que no le ayude en los casos en que necesite cambiar el certificado del servidor rápidamente (por ejemplo, cree que el certificado puede haber sido comprometido).

También he oído hablar de personas que han permitido que sus aplicaciones actualicen su lista de contactos cuando se conectan a través de redes "más confiables". Por ejemplo, WiFi sería menos confiable que 3G / 4G ya que es más barato y más fácil de hacer que un hombre en el ataque central a WiFi.

En general y desde una perspectiva operativa, creo que la fijación de certificados causa más problemas de los que resuelve a menos que sus datos sean particularmente confidenciales y la confidencialidad / integridad supere significativamente la disponibilidad en su lista de inquietudes. (Me doy cuenta de que podría obtener algunos votos negativos para esta vista).

    
respondido por el Mike Goodwin 20.01.2016 - 10:42
fuente
0

Firmas un nuevo certificado con tu clave de firma intermedia .
Específicamente, lo que está "incluido en el paquete de aplicaciones" es su clave de verificación de la firma raíz .

    
respondido por el user49075 20.01.2016 - 07:28
fuente
0

Debo suponer que está describiendo Public Key Pinning (HPKP) como se documenta en enlace (Las actividades relacionadas con TLS son bastante rápidas en estos días, por lo que quizás se esté experimentando con otra fijación de SSL).

Como se describe en la respuesta de Ricky, puede anclar la clave pública de los certificados intermedios (o incluso la raíz) y / o también puede anclar la clave de la CA "siguiente". (Por ejemplo, puede anclar la CA actual y la CA intermedia de letsencrypt). ¡El peligro con esto es obviamente que no hay garantía de que su próximo certificado emitido usará esa clave específica en absoluto! Y al fijar cualquier otra clave, confía en que no será el que emita un certificado para su dominio a otra persona, solo usted tendrá que sopesar los riesgos. (Algunos han han sido mordidos por la CA que cambia a una nueva clave justo antes de la renovación).

Hay una opción más, ya que el pin es en realidad acerca de la clave pública, si vuelve a emitir el certificado con la misma clave pública, entonces el nuevo certificado tendrá el mismo hash de pin. De la misma manera, puede preparar el nuevo pin con la nueva CSR que ya generó, pero que aún no ha enviado a ninguna CA.

    
respondido por el chexum 20.01.2016 - 10:16
fuente

Lea otras preguntas en las etiquetas