JWT를 실무 혹은 토이프로젝트서 사용하시는 분들께 질문드립니다..
안녕하세요!!
포트폴리오를 만들고 있습니다.
유저 로그인 및 인증/인가를 JWT를 사용하고자 합니다.
인터넷에 널린 소스 및 많은 튜토리얼이 있어서
구현이야 어떻게든 해볼 수 있겠습니다만.. (물론 Java아닌 파이썬은 잘 없네요...)
OWASP에서 가이드라인?한 Cheat Sheet을 보았습니다. (Java를 예로든 자료입니다.)
https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_for_Java_Cheat_Sheet.html
내공이 부족해서 Standards 아닌 CheatSheet 내용도 소화가 안되지만,
중요하고 최소한 알아야 될 내용 같은데, 실제 (토이)프로젝트하시는 분들 혹은
실무 분들께서는 저런 사항들을 다 고려해서 구현을 하시는지요?!
JWT를 사용할때 최소한 고려해야할 이슈 및 사항들
1. None Hashing Algorithm (hashing algorithm 없는 걸로하고 뚫어버리기?)
2. Token Sidejacking (중간에 JWT 가로채버리기)
3. No Bulit-In Token Revocation by the User (Client에서 Token을 무효화(사망)시킬 수 없음)
4. Token Information Disclosure (Token 내용 자체는 Base64라서 암호화 되어있지 않음)
5. Token Storage on Client Side(Token을 Client side에 저장할시, XSS, CRSF 등의 공격)
6. Weak Token Secret (Token을 만들때 사용된 secret key 자체가 약할 경우)
소중한 댓글 기다립니다!