[Spring] JWT 서명 검증의 원리
·
Spring/Spring
서론유튜브를 보다가 우연히 JWT에 대해 설명해 주는 영상을 접하게 되었습니다. 영상을 보며 JWT의 서명 검증 원리를 너무 쉽게 설명해 주어서, 이를 바탕으로 본 게시글을 작성하게 되었습니다. 이번 포스팅에서는 JWT의 기본적인 구조와 서명 생성 및 검증 과정을 쉽게 설명해 보려고 합니다.JWT 구조 JWT(JSON Web Token)는 세 가지 주요 구성 요소로 이루어져 있습니다: 헤더(header), 페이로드(payload), 서명(signature). 이 이미지는 JWT의 각 부분을 시각적으로 설명합니다. 헤더(Header): 알고리즘 유형과 토큰 유형을 지정합니다. 예시에서는 HS256 알고리즘과 JWT 타입이 사용되었습니다.페이로드(Payload): 토큰의 데이터가 포함된 부분입니다. 여기에는..
[Spring Boot] Access Token & Refresh Token
·
Spring/Spring Boot
1. JWT 비밀키 탈취 JWT 토큰은 우리가 서버와 클라이언트 간에 안전하게 정보를 주고받을 수 있게 해주는 열쇠와 같습니다. 이 열쇠는 사용자의 신원이나 권한 같은 중요한 정보를 담고 있습니다. 그래서 이 열쇠를 사용하면, 클라이언트와 서버는 서로를 신뢰하고 통신할 수 있습니다. JWT 토큰 인증방식은 비밀키(개인키 or 대칭키)를 사용하여 암호화합니다. 누군가 이 비밀키를 가지고 있다면 그 사람은 신뢰할 수 있는 사람으로 인정받습니다. 비밀키를 탈취당하게 된다면 문제가 발생하기 때문에 비밀키에 유효 기간을 두어야합니다 그런데 유효기간을 짧게 두면 사용자가 로그인을 자주 해야하므로 사용자 경험적으로 좋지 않고, 유효기간을 길게 두면 보안상 탈취 위험에서 벗어날 수 없습니다. 이런 문제를 해결하기 위해..
[Spring Boot] JWT(Json Web Token) - 웹의 안전한 인증 방식
·
Spring/Spring Boot
JWT에 대하여 설명하기 이전에 Session / Cookie 방식과 Token 방식에 대하여 먼저 설명하겠습니다. 1. Session / Cookie 방식 vs Token 방식 사용자 인증 방식에는 크게 Session / Cookie 방식과 Token 방식이 있습니다. 1-1) Session / Cokie 방식 쿠키-세션 방식은 클라이언트와 서버 간에 세션 ID를 주고받으며 사용자 인증을 처리합니다. 로그인이 성공하면, 서버는 세션 ID를 생성하고 이를 클라이언트에게 전송합니다. 클라이언트는 이 세션 ID를 쿠키에 저장하고, 이후 요청마다 쿠키에 저장된 세션 ID를 함께 보내어 사용자 인증을 수행합니다. 이 방식의 장점은 상태를 유지하면서 사용자 인증을 처리할 수 있다는 것입니다. 하지만 서버 측에서 ..
JoonYong
'jwt' 태그의 글 목록