STUDY

JWT와 JWK의 차이

nicesugi 2023. 7. 25. 16:20

둘 다 JSON 형태로 정보를 표현하고 전송하는 방식이지만, 그 목적과 사용되는 정보는 다릅니다.

JWT는 주로 인증과 권한 부여에 사용되며, 정보를 안전하게 전달하는 역할을 합니다.

반면에, JWK는 암호키를 안전하게 공유하고 전송하는 데 사용됩니다.

 

JWT(JSON Web Token):

    • JWT 클라이언트와 서버 간에 정보를 안전하게 전달하기 위해 사용되는 작은 정보 단위
    • 주요 역할보통 인증과 정보 교환에 사용됩니다.
    • JWT 기본적으로 부분으로 이루어져 있습니다: Header, Payload, Signature.
    • 예시
      • 애플리케이션에서 사용자 인증에 대한 예를 들어보겠습니다.
      • 사용자가 로그인을 하면, 서버는 사용자의 인증 정보를 JWT 생성해서 사용자에게 전달합니다.
      • JWT에는 사용자의 신원 정보(: 사용자 ID) 등이 포함되어 있습니다.
      • 그리고 토큰은 서버에서 생성할 특정 비밀키로 서명이 되어,
      • 누군가가 토큰을 변경하려고 하면 서버는 그것을 감지할 있습니다.
      • 이제 사용자가 서버에 다시 요청을 보낼 때마다 JWT 첨부하게 됩니다.
      • 서버는 JWT 검증하고, 안에 들어있는 사용자 ID 등의 정보를 사용하여 요청을 처리합니다.
      • 방식을 사용하면, 사용자가 매번 로그인을 하지 않아도 되며, 사용자의 요청을 신속하게 처리할 있습니다.

JWK (JSON Web Key):

  • JWK는 JSON 형태로 암호화키를 나타내는 데이터 구조입니다.
  • JWT의 Signature를 생성하거나 검증하는 데 사용될 수 있는 공개키 또는 비공개키를 포함할 수 있습니다.
  • JWK는 공개키 암호 시스템에서 키를 공유하거나 전송하는 데 사용됩니다.

 

  •  예시
    • 웹 애플리케이션에서 JWK를 사용하는 한 가지 예는 공개 키를 배포하는 것입니다.
    • 예를 들어, 서버가 클라이언트에게 자신의 공개 키를 전달해야 하는 상황이 있습니다.
    • 이 공개 키는 JWT의 서명을 검증하거나, 서버로 보낼 데이터를 암호화하는데 사용될 수 있습니다.
    • 서버는 공개 키를 JWK 형태로 변환하여 클라이언트에게 전달합니다.
    • 클라이언트는 JWK 사용하여 JWT 서명을 검증하거나, 데이터를 암호화할 있습니다.
    • 이렇게 JWK 사용하면, 공개 키를 안전하고 표준화된 방식으로 교환할 있습니다.
반응형

'STUDY' 카테고리의 다른 글

디자인 패턴 51개의 한줄 요약 모음  (0) 2023.08.22