정보관리기술/최신서비스

JWT(Jason Web Token)

아이티신비 2024. 4. 25. 09:30

문제5) JASON Web Token에 대하여 다음을 설명하시오..

가. JASON Web Token의 개념

나. JASON Web Token의 구성과 인증 메커니즘

다. JASON Web Token의 장·단점과 활용방안

 

답)

 

 

1. 마이크로서비스의 인증 프로세스, JASON Web Token의 개념

개념
선택적 서명 및 선택적 암호화를 사용하여 데이터를 만들기 위한 인터넷 표준으로 Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token

특징
JASON 암호화
정보가 담긴 JASON 객체 자체를 암호화한 후 http header에 추가
Claim 기반 토큰 방식
Token 자체가 의미를 갖는 Claim 기반의 토큰 방식
유효 기간
토큰(Token)이 탈취되었을 경우를 대비하여 유효 기간 존재
  • 토큰이 필요한 모든 정보를 포함하고 있어 참조가 필요 없기 때문에 마이크로서비스(Microservice) 자체에서는 유효성을 검증

 

2. JASON Web Token의 구성과 인증 메커니즘

가. JASON Web Token의 구성

구성
구성 설명
header
  • 토큰의 타입(type)과 해싱 알고리즘(Hashing Algorithm)을 지정
payload
  • 토큰에 담을 클레임(Claim, payload에 담는 정보의 한 조각) 정보 포함
  • 클레임(Claim)은 payload에 담는 정보의 하나로 name/value 한 쌍으로 구성
claim
registered claim
  • 서비스에 필요한 정보가 아니라 토큰에 대한 정보들을 담기 위해 이름이 이미 정해진 Claim
  • iss(발급자), sub(제목), aud(대상자), exp(만료시간), nbf(토큰의 활성날짜), iat(발급된시간), jti(JWT 고유식별자, 일회용 토큰에 사용)
public claim
  • 충돌을 방지된 이름을 가지고 있어야 하며 이를 위해 URI 형식으로 이름 지정
private claim
  • server/client 간 협의 하에 사용되는 claim
signature
  • header의 인코딩값, 정보의 encoding 값을 합친 후 주어진 비밀키로 해쉬를 하여 생성
  • JASON Web Token은 header, payload, signature로 구성되어 있으며 각각 .(dot) 으로 구분

 

나. JASON Web Token의 인증 메커니즘

단계
세부 단계
단계 설명
Access Token 발급
로그인
사용자가 ID와 Password를 입력한 후 Login 시도
Access Token 발급
서버는 요청을 확인하고 Secret Key를 통해 Access Token 발급
인증 단계
JASON Web Token 전달
클라이언트가 API 요청 시 Authorization header에 Access Token을 추가하여 전송
사용자 정보 확인
Server는 JWT Signature를 체크하여 사용자 정보 확인
요청 응답
허용된 사용자일 경우 요청한 API의 결과 전달

 

3. JASON Web Token의 장·단점과 활용방안

가. JASON Web Token의 장·단점

구분
장·단점
설명
장점
인증 저장소 불필요
  • 사용자 인증에 필요한 모든 정보가 토큰 자체에 포함되어 있으므로 별도 인증 저장소가 불필요
분산 마이크로 서비스
환경 지원
  • 중앙 집중식 인증 서버와 데이터베이스에 의존되지 않으므로 분산 마이크로 서비스 환경에 적합
확장 용이
  • 토큰 검증에 CPU만 소요되며 I/O 또는 별도의 네트워크 액세스가 필요하지 않고 최신 웹 서버 하드웨어에서 확장 용이
단점
사용자 정보 수정 어
려움
  • 토큰이 클라이언트에 저장되어 있어 서버가 가지고 있는 사용자 정보를 수정해도 토큰에 직접 적용 불가
토큰의 사이즈 증가
  • 더 많은 필드가 추가되면 토큰의 크기 증가
데이터 트래픽 증가
  • 모든 요청에 대해 인증을 위한 토큰이 전달되어야 하므로 트래픽 크기 증가

 

나. JASON Web Token의 활용방안

활용 방안
설명
회원인증
  • JASON Web Token을 많이 사용하는 방법으로 사용자 로그인 시, 서버는 사용자 정보를 기반으로 한 Token 발급
  • 서버는 클라이언트로부터 요청을 받을 때마다, 해당 토큰이 유효하고 인증된것인지 검증하고 요청 작업에 대해 진행
정보교환
  • 두 개체 사이에 안정성 있는 정보를 교환
  • 정보가 서명되어 있는 상태이므로 전송된 정보가 변경되거나 조작된 것인지를확인


 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥

 

 

 

 

'정보관리기술 > 최신서비스' 카테고리의 다른 글

IT 투자평가  (2) 2024.04.26
CoE(Center of Excellence)  (1) 2024.04.26
NFT(Nonfungible Token)  (2) 2024.04.25
개방형 API  (2) 2024.04.24
API Gateway  (2) 2024.04.24