Dev/Etc

JWT 부록, JWS/JWE/JWK

린네의 2024. 6. 3. 18:42

이전 포스팅은 여기로

2024.05.20 - [Dev/Etc] - JWT 란 무엇인가? - Session과 JWT 인증 방식의 비교 / 예제 코드 포함 ( feat. OAuth )

 

JWT 란 무엇인가 ? - Session과 JWT 인증 방식의 비교 / 예제 코드 포함 ( feat. OAuth )

오늘 게시글은 인증 시 많이 사용하는 JWT의 기본 개념과 실제로 어떻게 구현하는지에 대한 내용을 정리해보고자 한다. 관련해서 OAuth 도 공유하면 좋을 것 같아서 함께 묶었다. 이전에 Swagger 사

zigo-autumn.tistory.com

 

 

 

이전에 JWT를 정리하면서 궁금했던 점에 대해 따로 정리하는 게시글이다. 간단한 용어정리 정도니 자세한 JWT 내용은 위 게시글을 참고 바란다.

 

JWT 관련 용어 

  • JWT

RFC7519표준인 Json Web Token을 의미한다. 속성 정보(Claim)를 json포맷으로 표현한 토큰이다. JWE 또는 JWS를 뜻한다. 둘 중 적합한 방식을 선택한다.

 

  • JWS

RFC7515표준인 JSON Web Signature는 json 전자 서명을 한 뒤 url-safe 문자열로 표현한 서명 표준이다. 즉, 디지털 서명을 하는 방식이다. 무결성과 관련된다. 

 

  • JWE

RFC7516표준인 JSON Web Encryption은 json 구조를 사용하는 암호화 방법이다. 즉, 암호화하는 방식이다. 

 

  • JWK

JSON 형태로 암호화키를 나타내는 데이터 구조이다. Signature을 생성하거나 검증하는 데 사용될 수 있는 공개키 또는 비공개키를 포함할 수 있다. JWS에 디지털 서명하는데 해당하는 공개키다.

 

 

 

cf. 전자서명

 

더보기

"누가 데이터를 보냈는지 확인"하는 목적으로 사용한다.

 

비대칭 암호(공개키암호)의 응용 프로그램으로, 서명은 비밀키로만 생성이 가능하며 공개키를 통해 전달 받은 서명에 대해 짝을 이루는 비밀키로 생성된 게 맞는지 검증할 수 있다. 데이터 + 서명 형태로 전달된다.

 

[출처] https://iludaslab.tistory.com/entry/%EC%A0%84%EC%9E%90%EC%84%9C%EB%AA%85%EA%B3%BC-%EA%B3%B5%EA%B0%9C%ED%82%A4-%EC%95%94%ED%98%B8%ED%99%94