¿Es posible averiguar el id y el secreto del cliente auth 2.0 cuando una aplicación se está comunicando con un servicio web?

3

Estoy creando una aplicación móvil que necesita comunicarse con un servicio web. Para asegurarme de que solo mi aplicación se esté comunicando con el servicio web, me autentico usando OAuth 2. El hecho de que necesito almacenar un ID de cliente + secreto en el binario de la aplicación es bastante desafortunado, pero para recuperar un token de acceso usando OAuth 2 Necesito enviar una identificación de cliente y un secreto de cliente al servidor. ¿No es muy fácil:

  • Falsifique un certificado SSL y agréguelo a la lista de certificados de confianza de un dispositivo móvil
  • Simule ser el servidor y supervise las solicitudes entrantes

La solicitud contendrá el ID de cliente y el secreto del cliente. Ahora los uso en alguna otra aplicación y me comunico con mi servidor.

¿Me falta o no entiendo algo? ¿Estaría mejor usando OAuth 1?

    
pregunta Erik 26.10.2012 - 16:33
fuente

2 respuestas

4

Si está distribuyendo su "secreto" al mundo con su aplicación, entonces ya no es un secreto. No es posible evitar que un atacante se comunique con su servicio web.

Nunca puede confiar en el cliente en una arquitectura cliente / servidor.

    
respondido por el rook 26.10.2012 - 18:52
fuente
0

Es muy difícil o imposible hacerse pasar por el servidor. Como te das cuenta, la única exposición real es que alguien puede sacar los secretos de tu binario, no interceptarlos en el cable.

También existe una pequeña posibilidad de que alguien esté MITM-ing tus comunicaciones si estás en una red completamente no confiable, por ejemplo. en conexión inalámbrica en una cafetería.

    
respondido por el Vitaly Osipov 27.10.2012 - 05:15
fuente

Lea otras preguntas en las etiquetas