![]() |
|
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 |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
||||
|
||||
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! |
|
#2
|
||||
|
||||
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. |
#3
|
||||
|
||||
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 |
#4
|
||||
|
||||
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. |
#5
|
||||
|
||||
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..
|
#6
|
||||
|
||||
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.
|
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 22:22:46 (GMT +2)
HTCMania: líderes desde el 2007