[2022.02.27]-TIL

Onni·2022년 2월 26일
0

📌 JWT

  • 시그니처 : header + payload + secretKey
    - Encoded값은 시크릿키로 서명된 시그니처 값이 저장되기때문에 시크릿키를 모르면 시그니처를 만들 수 없음

  • hash 함수를 이용하기때문에 글자가 한글자라도 바꾸면 전혀 다른 Encoded 값이 됨
  • 위에에서 name을 oni -> onida로 바꿨을때 완전히 다른 값이 나옴
  • 따라서 secretKey를 모른다면 Encoded 된 결과 값을 얻을 수 없음
  • 그렇지만 해커가 secretKey를 모르더라도 Encoded된 값 자체는 탈취가 가능함
    • 토큰은 만료기간이 있기때문에 끝나기 전까지는 유효함
    • 해커가 토큰을 이용해도 서버는 검증된 사용자인지 모름
    • session을 사용할 경우에는 서버에서 사용자와 sessionId를 검증하기 때문에 다른 사용자일경우 캐치할수 있음
    • 그러나 session은 매 요청마다 DB sessionTable에서 조회해야함
profile
꿈꿈

0개의 댓글