Arquitectura de cliente / servidor sin inicio de sesión (iOS)

3

Actualmente estoy en la fase de planificación de un proyecto que implica un servicio sin inicio de sesión.

Los usuarios se identificarían por un ID de dispositivo único creado en el cliente (ios).

¿Cuáles son los problemas de seguridad?

  • los sockets se envolverían con ssl
  • crear un certificado privado para verificar el cliente? (¿qué pasa con alguien que descompila el binario y lo obtiene?)

cualquier pensamiento es apreciado

    
pregunta sebastianmarkow 25.07.2012 - 21:13
fuente

1 respuesta

1

Si puede almacenar una ID de dispositivo en el cliente, entonces puede usar eso como "nombre de usuario" y "contraseña": dentro del túnel SSL , el cliente envía la ID de dispositivo, que El servidor busca en la base de datos. Si se encuentra la identificación del dispositivo, voilà! El cliente está autenticado. Recuerde que "un cliente está autenticado" tiene el mismo significado que "ninguna otra entidad que el mismo cliente podría haber dicho". Siempre que la "ID de dispositivo" sea específica del cliente, secreta e indiscutible, es una base adecuada para la autenticación.

Por supuesto, un cliente que extraiga el contenido de los datos de su dispositivo y realice una ingeniería inversa del código encontrará su propia ID de dispositivo, y podrá acceder al servidor desde otras computadoras. Eso es inevitable. No puede forzar el uso de un dispositivo cliente específico a menos que el dispositivo cliente contenga un elemento resistente a la manipulación (por ejemplo, un TPM ), y , al parecer, los iPhones no . Los certificados u otros artilugios criptográficos no te ayudarán allí.

    
respondido por el Thomas Pornin 13.01.2013 - 23:33
fuente

Lea otras preguntas en las etiquetas