Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 09/01/13, 23:18:42
Avatar de pascotk
pascotk pascotk no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: may 2011
Mensajes: 5
Modelo de smartphone: Galaxy Nexus & Nexus 7
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
Seguridad en Servicio Web (Autenticacion)

Hola a todos,

Tengo mi aplicación ya medio terminada, aunque hasta ahora sin seguridad en el servicio web.
El servicio web es propio, y va con JSON y la BD es MYSQL.
Para la seguridad se entiende que hay 2 aspectos: la Confidencialidad (encriptado de las conexiones con https) que está por incluir y por otro lado la Autenticación (identificación y control de acceso de los JSON a la BD)

La pega la tengo con la Autenticación, quiero que los JSON vayan acompañados de "algo" que identifique las conexiones y compruebe que el usuario que intenta acceder está correctamente registrado y está accediendo a su información.
Para las cuentas en la app uso Acccount Manager, ya lo tengo totalmente integrado.

He estado investigando y he visto que una opción es usar OAuth 2 en el modo 2 legged, pero la verdad me parece a mí que se complica bastante, para partir he encontrado lo siguiente: https://github.com/Xotan/OAuth2Android
Aunque teniendo en cuenta que la app deberá funcionar seguramente en iOS y la complejidad que tiene esta opción no la veo muy clara.

En resumen, ¿Cómo me aconsejáis autenticar los JSON de una manera razonablemente segura y no tan complicada? Sin incluir en ellos por su puesto el usuario y contraseña, que no sería nada seguro. Si cuál sería la manera más estándar de hacerlo.

Bueno si alguien ha hecho algo del estilo y le ha funcionado bien pues agradezco bastante consejo. Si doy con la solución o lo que haga finalmente lo comentaré más adelante! Creo que esto es bastante importante para desarrollar bien una app que requiera esta seguridad y por mucho que he investigado no lo he acabado de ver claro.

Si véis necesaria alguna otra información me comentáis! ;)

Un saludo y gracias!
Responder Con Cita


  #2  
Viejo 10/01/13, 12:10:12
Avatar de Estornino
Estornino Estornino no está en línea
Miembro del foro
Mensajes: 106
 
Fecha de registro: oct 2010
Mensajes: 106
Modelo de smartphone: HTC Magic
Tu operador: Pepephone
Mencionado: 0 comentarios
Tagged: 0 hilos
En android developers (el blog de blogspot) hay un artículo que explica eso del mes de enero de 2013. No te puedo poner el enlace porque no me deja el foro

Si no quieres usar eso y vas por https, puedes mandar en cada header del post un login y un pass que autentique con el servidor por ejemplo.
Responder Con Cita
  #3  
Viejo 10/01/13, 14:00:04
Avatar de pascotk
pascotk pascotk no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: may 2011
Mensajes: 5
Modelo de smartphone: Galaxy Nexus & Nexus 7
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
Gracias por tu respuesta,

He estado viendo el post que comentas: http://android-developers.blogspot.c...m-android.html

Muy recomendable y la discusión que sigue en Google+ también. Resuelve mi problema pero sólo vale para Android, con lo que no me vale, tengo que poder dar soporte para iOS, incluso BB, por lo que debe ser algo más o menos genérico.

Lo que comentas de enviar el user y el pass en cada JSON podría ser pero no es muy seguro que digamos, la app requiere más seguridad. La idea en general consiste en enviar un "token" sustitutivo del par user y pass..

Bueno seguimos con la investigación..

Saludos

Última edición por pascotk Día 10/01/13 a las 14:02:48
Responder Con Cita
  #4  
Viejo 10/01/13, 15:35:46
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Paradigma challenge-response: http://es.wikipedia.org/wiki/Protoco...%ADo-respuesta

La contraseña no se envía en claro pero ese token que metas en el JSON se basa en información que proporciona el servidor y en una operación con la contraseña, de modo que nadie pueda contestar al "reto" del servidor sin saber la contraseña. Si el reto contiene elementos aleatorios (el nonce), entonces los ataques por repetición tampoco valen.
Responder Con Cita
  #5  
Viejo 11/01/13, 00:05:49
Avatar de pascotk
pascotk pascotk no está en línea
Usuario novato en la web
Mensajes: 5
 
Fecha de registro: may 2011
Mensajes: 5
Modelo de smartphone: Galaxy Nexus & Nexus 7
Tu operador: Vodafone
Mencionado: 0 comentarios
Tagged: 0 hilos
Bueno la idea es esa sí, la cuestión es concretarla que es en lo que estoy, si implementar OAuth 2 propio u otra opción más sencilla y con un nivel de seguridad aceptable..
Responder Con Cita
  #6  
Viejo 14/01/13, 12:08:02
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Por lo que he leído el OAuth 2.0 2-legged no soluciona el tema de la autenticación, sino el de la autorización. El mecanismo de autenticación lo deja en manos del desarrollador del servicio.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 22:22:46 (GMT +2)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007