Estoy construyendo una API sin estado RESTful y estoy usando un token para la autenticación. El problema que tengo es que no estoy seguro de qué tan seguro es HMAC.
Estoy usando una biblioteca token web JSON que permite cifrar y descifrar los datos que paso.
Básicamente, la forma en que funciona es la siguiente:
Si lo paso este JSON:
{
token: "asdasdasdass",
userId: 1234
}
Devuelve 325345ljljn5llnk4.245j4k5j4525ñ4j55n
, donde la primera parte es la codificación JSON base64 y la segunda parte es HMAC.
Por ejemplo si pongo:
{
sessionId: 145
}
¿Hay alguna forma en que un atacante pueda generar un token válido con el ID de sesión que desea? ¿Es factible?
Además, ¿cuánto tiempo debe ser la longitud de mi clave?
No encontré respuestas en este sitio ... y he estado leyendo mucho.