반응형

JWT가 사용자 인증에 위험한 이유는 무엇입니까?

JWT의 가장 큰 문제는 토큰 취소 문제입니다. 만료될 때까지 계속 작동하므로 서버에서 쉽게 취소할 방법이 없습니다.

다음은 이를 위험하게 만드는 몇 가지 사용 사례입니다.

  1. 로그아웃은 실제로 로그아웃하지 않습니다!

트윗을 한 후 트위터에서 로그아웃했다고 상상해 보십시오. 서버에서 로그아웃했다고 생각할 수 있지만 그렇지 않습니다. JWT는 자체 포함되어 있고 만료될 때까지 계속 작동하기 때문입니다. 5분 또는 30분 또는 토큰의 일부로 설정된 기간이 될 수 있습니다. 따라서 누군가가 해당 시간 동안 해당 토큰에 액세스할 수 있으면 만료될 때까지 계속 액세스할 수 있습니다.

  1. 사용자를 차단해도 즉시 차단되지는 않습니다.

실제 사용자가 시스템을 사용하는 Twitter 또는 일부 온라인 실시간 게임의 중재자라고 상상해 보십시오. 그리고 중재자로서 누군가가 시스템을 남용하지 못하도록 신속하게 차단하고 싶습니다. 같은 이유로 다시 할 수 없습니다. 차단한 후에도 사용자는 토큰이 만료될 때까지 서버에 계속 액세스할 수 있습니다.

  1. 오래된 데이터가 있을 수 있음

사용자가 관리자이고 더 적은 권한을 가진 일반 사용자로 강등되었다고 상상해 보십시오. 다시 말하지만 이것은 즉시 적용되지 않으며 사용자는 토큰이 만료될 때까지 계속 관리자가 됩니다.

  1. JWT는 종종 암호화되지 않으므로 중간자 공격을 수행하고 JWT를 스니핑할 수 있는 사람은 이제 인증 자격 증명을 갖게 됩니다. MITM 공격은 서버와 클라이언트 간의 연결에서만 완료하면 되므로 더 쉽습니다. 

 

https://redis.com/blog/json-web-tokens-jwt-are-dangerous-for-user-sessions/

 

JSON Web Tokens (JWT) are Dangerous for User Sessions—Here’s a Solution | Redis

Learn why JSON Web Token (JWT), although popular, is dangerous and also view a proposed battle-tested solution.

redis.com

 

반응형

+ Recent posts