반응형
JWT가 사용자 인증에 위험한 이유는 무엇입니까?
JWT의 가장 큰 문제는 토큰 취소 문제입니다. 만료될 때까지 계속 작동하므로 서버에서 쉽게 취소할 방법이 없습니다.
다음은 이를 위험하게 만드는 몇 가지 사용 사례입니다.
- 로그아웃은 실제로 로그아웃하지 않습니다!
트윗을 한 후 트위터에서 로그아웃했다고 상상해 보십시오. 서버에서 로그아웃했다고 생각할 수 있지만 그렇지 않습니다. JWT는 자체 포함되어 있고 만료될 때까지 계속 작동하기 때문입니다. 5분 또는 30분 또는 토큰의 일부로 설정된 기간이 될 수 있습니다. 따라서 누군가가 해당 시간 동안 해당 토큰에 액세스할 수 있으면 만료될 때까지 계속 액세스할 수 있습니다.
- 사용자를 차단해도 즉시 차단되지는 않습니다.
실제 사용자가 시스템을 사용하는 Twitter 또는 일부 온라인 실시간 게임의 중재자라고 상상해 보십시오. 그리고 중재자로서 누군가가 시스템을 남용하지 못하도록 신속하게 차단하고 싶습니다. 같은 이유로 다시 할 수 없습니다. 차단한 후에도 사용자는 토큰이 만료될 때까지 서버에 계속 액세스할 수 있습니다.
- 오래된 데이터가 있을 수 있음
사용자가 관리자이고 더 적은 권한을 가진 일반 사용자로 강등되었다고 상상해 보십시오. 다시 말하지만 이것은 즉시 적용되지 않으며 사용자는 토큰이 만료될 때까지 계속 관리자가 됩니다.
- JWT는 종종 암호화되지 않으므로 중간자 공격을 수행하고 JWT를 스니핑할 수 있는 사람은 이제 인증 자격 증명을 갖게 됩니다. MITM 공격은 서버와 클라이언트 간의 연결에서만 완료하면 되므로 더 쉽습니다.
https://redis.com/blog/json-web-tokens-jwt-are-dangerous-for-user-sessions/
반응형
'프로그래밍' 카테고리의 다른 글
코드 검토를 하지 말고 대신 Mob을 사용해 보십시오. (0) | 2022.11.28 |
---|---|
아이디어를 찾기 위한 세 가지 조언 , 문제를 발견하는 건 모두에게 중요하다 (0) | 2022.11.28 |
테크의 시대가 뭔데? (0) | 2022.11.22 |
개발 배우기가 정말 어려운 이유 (0) | 2022.11.16 |
암호화 해야 하는 정보와 저장하면 안 되는 정보 (0) | 2022.11.15 |