개발일지/웹개발

토큰 기반 자격 증명 방식

2022. 11. 23. 11:11
목차
  1. ✔️ 토큰이란?
  2. ✔️ 토큰 기반 자격 증명의 특징
728x90

토큰이라 하면 오락실이나 놀이공원서 사용하는 동전을 떠올릴 수 있다

물론 요즘은 사용하지 않지만... ㅎㅎ

 

토큰은 '대가를 지불하였고, 이 시설(서비스)을 이용할 수 있다'는 의미를 담은 증표이다

 

애플리케이션 보안 측면에서의 토큰은 어떤 의미일까?

 

✔️ 토큰이란?

인증된 사용자의 자격을 증명하는 동시에 접근 권한을 부여해 접근 권한이 부여된 특정 리소스에만 접근이 가능하게 하는 역할

 

✔️ 토큰 기반 자격 증명의 특징

인증된 사용자의 정보를 토큰에 저장하고, 접근 권한을 부여해 접근 권한이 부여된 특정 리소스에만 접근이 가능하게 하는 방식

  • 토큰에 포함된 인증된 사용자 정보는 서버 측에서 별도의 관리를 하지 않는다
  • 생성된 토큰을 헤더에 포함시켜 request 전송 시, 인증된 사용자 인지를 증명하는 수단으로 사용된다
  • 토큰 내에 인증된 사용자 정보 등을 포함하고 있으므로 세션에 비해 상대적으로 많은 네트워크 트래픽을 사용한다
  • 기본적으로 서버 측에서 토큰을 관리하지 않으므로 보안성 측면에서 조금 더 불리하다(세션에 비해)
  • 인증된 사용자 request의 상태를 유지할 필요가 없기 때문에 서버의 확장성 면에서 유리하고, 세션 불일치 같은 문제가 발생하지 않는다
  • 토큰에 포함되는 사용자 정보는 토큰의 특성상 암호화가 되지 않기 때문에 공격자에게 토큰이 탈취될 경우, 사용자 정보를 그대로 제공하는 셈이 되므로 민감한 정보는 토큰에 포함시키면 안 된다
  • 기본적으로 토큰이 만료되기 전까지는 토큰을 무효화시킬 수 없다
  • CSR 방식의 애플리케이션에 적합한 방식이다

 

세션의 경우 서버 확장 시, 세션 불일치 문제가 발생할 수 있지만 Sticky Session, Session Clustering, Session 저장소의 외부 분리 등의 작업을 통해 보완을 하고 있습니다.

토큰의 경우, 기본적으로 토큰 무효화를 할 수 없지만 key/value 쌍의 형태로 저장되는 Redis 같은 인메모리 DB에 무효화시키고자 하는 토큰의 만료 시간을 짧게 주어 해당 토큰을 사용하지 못하게 하는 등의 방법으로 보완하고 있습니다.

 

https://e-room.tistory.com/138

 

세션(session)이란?

✔️ 세션(session)이란? 웹 사이트의 여러 페이지에 걸쳐 사용되는 사용자 정보를 저장하는 방법 일정 시간 동안 같은 사용자로부터 들어오는 요구를 하나의 상태로 보고, 그 상태를 유지시키는

e-room.tistory.com

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'개발일지 > 웹개발' 카테고리의 다른 글

Spring-boot Github Actions 환경변수 설정해주기  (0) 2023.01.12
Spring-boot Github Actions를 이용한 자동배포  (0) 2023.01.06
세션(session)이란?  (0) 2022.11.23
Cookie의 옵션들  (0) 2022.11.22
Hashing, Salt  (0) 2022.11.22
  1. ✔️ 토큰이란?
  2. ✔️ 토큰 기반 자격 증명의 특징
'개발일지/웹개발' 카테고리의 다른 글
  • Spring-boot Github Actions 환경변수 설정해주기
  • Spring-boot Github Actions를 이용한 자동배포
  • 세션(session)이란?
  • Cookie의 옵션들
E-room
E-room
나의 성취 기록들
E-room
E-room Achievement Logs
E-room
전체
오늘
어제
  • 분류 전체보기
    • 개발일지
      • 돌픽
      • Spring
      • Algorithm
      • Java
      • Node.js
      • Python
      • DataBase
      • 웹개발
      • JavaScript
      • 컴퓨터지식
      • Django
    • 이것저것
    • 피드백 감사히 받겠습니다

블로그 메뉴

  • 태그
  • Github
  • 돌픽-이상형월드컵

인기 글

최근 글

최근 댓글

태그

  • search
  • dfs
  • 스파르타코딩클럽
  • dp
  • 파이썬
  • 알고리즘
  • SQL
  • 조합
  • 다이나믹
  • mysql
  • API
  • boot
  • 재귀
  • python
  • 순열
  • 자바
  • 백준
  • 백트래킹
  • javascript
  • Java
  • 수열
  • 생활코딩
  • Spring
  • algorithm
  • 완전탐색
  • Django
  • 프로그래밍
  • 탐색
  • JPA
  • 자료구조

공지사항

hELLO · Designed By 정상우.
E-room
토큰 기반 자격 증명 방식
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.