O quanto é seguro o JWT?

28/01/2019

10

E ai pessoal, blz?

Uma dúvida quanto a segurança do JWT.

Se um cliente "A" tiver efetuado um login em algum servidor que tenha JWT implementado. E outra pessoa "B" tiver roubado o JWT de "A", o "B" poderá enviar a solicitação para esse servidor sem login, se passando pela pessoa "A"?

Forte abraço!!!
Responder

Post mais votado

28/01/2019

Faala!

Pode sim. Uma vez que um terceiro tenha acesso ao token (o que seria uma situação bem especial) ele poderá realizar requisições como se fosse o usuário dono do token. É por isso que existem algumas práticas para a proteção do Token:

1 - O servidor deve receber e responder requisições utilizando HTTPs, pois HTTP puro sem criptografia é totalmente público e o transito de pacotes pode ser (facilmente) interceptado.
2 - O Token pode ser uma validade curta (de alguns minutos). Dessa forma, mesmo que um terceiro tenha acesso ao token, ele só será alguns minutos de uso.
3 - Na sua API (back-end) realizar verificações como origem das requisições (por IP, por exemplo) e outras verificações mais profundas (como requisições sendo realizadas de múltiplos devices utilizando o mesmo token) para identificar uma utilização incorreta e invalidar o token utilizando uma Blacklist (uma lista de tokens teoricamente válidos mas que não serão aceitos).

Perceba que as práticas de segurança são as mesmas que utilizamos em aplicações tradicionais (monolíticas ou Multi-page). Utilizar HTTPs, limitar o tempo da sessão e realizar verificações ativas de acesso são coisas que fazemos a muito tempo.


Abraços!
Responder