Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Quanto a segurança do JWT relacionado a secret

Olá, tudo bem?
Supondo em um cenário onde um dos funcionários demitidos de uma empresa que trabalhava no Backend feito em Spring Boot, consegue salvar pessoalmente o secret. Então, é verdadeiro afirmar que este funcionário poderia fazer o login para todos os usuários sem precisar da senha? Uma vez que tem o secret e o nome do usuário do campo login.
Imagino também, que colocar a senha do próprio usuário para dificultar a entrada, seria extremamente problemático, uma vez que qualquer usuário com o token poderia saber a senha sem data de expiração. Logo, qual é a alternativa mais segura para isso. Pensei em criar no subject uma chave criada no momento em que é criado o usuário, e esta chave é privada e só é visível via token. Logo, para alguém acessar o usuário de fato, precisaria tanto da chave privada, quanto o secret, o que deixaria mais difícil.
Além disso, pensei em colocar outro atributo tipo o ID do usuário no token, ou seja para logar a chave tem que bater com o ID.
Essa estratégia de criar uma chave privada, faz sentido? Ou tem algo melhor e mais seguro ainda?

2 respostas
solução!

Bom dia, Pedro! Tudo bem?

Essa é uma solução adequada para casos como esse e imagino que seja bem provável que seja usada por algumas empresas. Mas, em alguns casos, temos credências diferentes para momentos diferentes do desenvolvimento.

Não sei se deparou com configurações de banco de dados de outras linguagens. Normalmente em JavaScript, dependendo do ORM utilizado, você usa 3 objetos de configuração, sendo as credenciais de desenvolvimento, teste e produção. E produção, são definidas apenas variáveis de ambiente que são utilizadas dentro do ambiente de deploy, que já contém essas variáveis de ambiente com as senhas, credenciais e secrets.

No Java/Spring Boot não é muito diferente, então existem várias maneiras de não deixar expostos esses dados sensíveis, até mesmo para os desenvolvedores.

Espero ter ajudado de alguma forma e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Interessante
Ok, obrigado...