Cómo verificar la identidad del llamante de un servicio web

3

Tengo un servidor que se compone de una página y un servicio web. El servicio web está destinado a ser utilizado por una aplicación móvil de Windows Phone que yo mismo desarrollaré.

Ahora, mi pregunta es, ¿cómo identifico que la solicitud de servicio web proviene de la aplicación móvil que desarrollé? En las aplicaciones web normales, uno puede hacer uso de una combinación de certificados y firmas digitales para garantizar la identidad de la persona que llama.

El principal problema es que Silverlight no permite al desarrollador cargar los certificados instalados en el teléfono móvil y obtener la clave privada para firmar los datos. Pensé en codificar la clave privada en la aplicación, sin embargo, esto no es seguro en absoluto, ya que la aplicación puede ser fácilmente desensamblada e invertida.

¿Qué más puedo hacer para asegurarme de que la solicitud de servicio web provino de la aplicación móvil que desarrollé en lugar de una aplicación web normal?

    
pregunta Joe Borg 29.04.2013 - 17:38
fuente

1 respuesta

2

Puede agregar un API_key a su proceso de autenticación, algo que un usuario necesita solicitar primero al servidor. Esta solicitud inicial puede contener información específica del dispositivo, información específica de la aplicación y bits de identidad del usuario. El API_key generado puede ser una función hash criptográfica de esos datos.

Un servidor almacena todos los API_keys y vincula una clave a un usuario (si lo desea).

Solo se autentican las solicitudes que tienen un certificado válido y API_key . Entonces, solo puede permitir un inicio de sesión simultáneo con un API_key válido para mitigar el API_key de intercambio.

    
respondido por el oleksii 29.04.2013 - 18:21
fuente

Lea otras preguntas en las etiquetas