- 앞서 했던 "JWT의 동작방식"은 특정 알고리즘과 secret이란 비밀 키를 통해서 암호화하였다.
- 또한 특별히 복호화의 과정을 거치지않았다. 단지 signature를 검증해서 유효한 토큰인지 확인했을뿐.
- 하지만 이럴 경우, 비밀 키를 모르는 제3의 서비스는 이 JWT가 유효한지 그렇지않은지 판단할 수 없다. (비밀키를 모르니까~!)‼️
🍊참고 URL: https://velog.io/@curiosity806/JWT-Json-Web-Token
- 인증 서버에서 제3의 서비스에 공개키를 전달한다.
- 제3의 서비스는 공개키를 이용하여 사용자에게서 전달받은 Token의 Signature를 복호화할 수 있게되고, 이를 이용하여 JWT안의 header, payload의 값과 Sign을 복호화한 값이 일치하는지 확인할 수 있게된다.
이 공개키는 유출되도 되는거야?!
- 아직 확실친 않지만⁉️, 앞서 설명한 적이 있는 HTTPS에서의 비대칭키 공유 임시글 파트에 설명되어있는 방식으로 공개키를 전달하는 것이라면, 이 공개키가 유출될 일이 없을 것이다.
- 만약, 처음 handshake단계에서의 인증서도 훔치고, CA에게 인증받고, 그러다보면 공유키를 훔칠 수도 있을 것!! 그래서 HTTPS역시 완전히 보안적으로 안전하다고 할 순 없다고 하지만, 그래도 이정도라도 해야 보안적으로 괜찮다고함~!!‼️