Autor
|
Tema: Consulta sobre HTTPS y JWT (Leído 3,409 veces)
|
zonahurbana
Desconectado
Mensajes: 178
RS, JC.
|
Hola. Debo implementar una api en Laravel, que será usada en una app Android. Ya he hecho esto antes, pero nunca me preocupé realmente por si la api era segura.
Lo primero que debo hacer es el login. Para ello he leído que usar Json Web Tokens en una forma válida de hacerlo. JWT consiste en enviar las credenciales haciendo una petición a la api. La api verifica los datos, genera un token, y lo devuelve como respuesta. La app Android almacenará este token y lo usará en el header de las peticiones siguientes.
Mi pregunta es, ¿por qué se aplica un cifrado sobre el token y no se envían las credenciales en cada petición? Si el token es cifrado debe ser porque se puede acceder a él a través de un análisis en el tráfico de red. En todo caso, la primera petición, cuando el token aun no se ha generado, ¿está totalmente expuesta?
Leí acerca de "man-in-the-middle", pero no sé si el concepto se aplique exactamente en este caso. Según leí, esto puede evitarse usando HTTPS. ¿HTTPS protege las peticiones que se hagan sobre una página determinada sin importar quién sea el cliente (web, app móvil)?
Si esta protección es cierta, ¿debería preocuparme en conseguir HTTPS para el dominio donde funcionará la api más que por aplicar JWT? Es decir, podría aplicarse JWT adicionalmente, pero si HTTPS ofrece un cifrado a las peticiones, teóricamente ya no tendría que usar tokens, verdad?
|
|
« Última modificación: 17 Agosto 2016, 03:31 am por zonahurbana »
|
En línea
|
Nunca dejar de aprender es importante, más allá del ritmo que se siga ...
|
|
|
Diabliyo
Desconectado
Mensajes: 1.441
shell# _
|
El token es una cosa y asegurar el canal de comunicacion es otra.
Una token generalmente se usa para que seas identificado sin necesidad de enviar siempre el usuario y password. En APIs como facebook, twitter y otros... es forzoso emparejarse con el servidor para obtener el token y ya con esa token puedes mandar consultas, mientras jamas responde.
El HTTPS se encarga de cifrar el canal de comunicacion, el cual te ofrece una capa adicional de seguridad ante miradas indiscretas.
Pero OJO nada es seguro, porque igual un MITM puede capturar tu emparejamiento del servicio https y ya sabra las credenciales.
Saludos !
|
|
« Última modificación: 18 Agosto 2016, 05:35 am por Diabliyo »
|
En línea
|
|
|
|
zonahurbana
Desconectado
Mensajes: 178
RS, JC.
|
El HTTPS se encarga de cifrar el canal de comunicacion, el cual te ofrece una capa adicional de seguridad ante miradas indiscretas.
Pero OJO nada es seguro, porque igual un MITM puede capturar tu emparejamiento del servicio https y ya sabra las credenciales.
Gracias por responder. Si alguien revisa el tráfico, y no hay presencia de HTTPS, verá el token y podrá usarlo (hasta que caduque). Pero si llegó a ver la 1ra petición (cuando no había token), ya tiene las credenciales. ¿Es correcto? Es decir si alguien está viendo las peticiones, el hecho de usar token solo reduce la probabilidad de que vea las credenciales (por ser usadas solo en la 1ra petición). No hace nada más que eso.
|
|
|
En línea
|
Nunca dejar de aprender es importante, más allá del ritmo que se siga ...
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Sobre https
« 1 2 »
Dudas Generales
|
NaSaRiD15
|
11
|
7,501
|
11 Enero 2012, 20:44 pm
por Aberroncho
|
|
|
Sobre https
Seguridad
|
ccrunch
|
3
|
2,523
|
14 Abril 2013, 00:18 am
por ccrunch
|
|
|
Consulta MITM y https
Hacking
|
pindonga123
|
4
|
4,009
|
17 Febrero 2014, 16:06 pm
por .:UND3R:.
|
|
|
¿Consulta sobre C + MySQL, traspaso del resultado de una consulta MySQL a C?
Programación C/C++
|
GisiNA
|
2
|
4,202
|
8 Abril 2014, 16:00 pm
por GisiNA
|
|
|
[C](Consulta) Pregunta sobre si una característica es de ANSI C (sobre arreglos)
Programación C/C++
|
class_OpenGL
|
4
|
3,958
|
5 Junio 2016, 23:17 pm
por class_OpenGL
|
|