320x100
320x100

토큰 기반 인증

: 사용자가 자신의 Identity를 확인하고 고유한 액세스 토큰을 받을 수 있는 프로토콜 (통신규약)

: 사용자는 토큰 유효 시간 동안 웹 페이지 및 웹, 토큰으로 보호받는 리소스를 돌아 갈때마다 자격증명을 다시 입력할 필요 없이 액세스 할 수 있음

 

- 인증 토큰의 종류

: 연결형 (키, 디스크, 드라이브 및 기타 물리적 장치가 시스템에 연결되어 액세스를 허용)

: 비접촉형 (디바이스와 서버가 충분한 거리에서 연결되어 액세스를 허용)

: 분리형 (디바이스가 먼 거리에서 접촉 없이 서버와 통신하여 액세스를 허용)

 

- 토큰의 인증 절차

: 요청 (사용자가 서버에 요청)

: 확인 (서버가 사용자의 액세스 여부를 확인)

: 토큰 (서버가 링, 키, 휴대전화 등의 인증 디바이스와 통신. 확인 후 토큰을 발급하여 사용자에게 전달)

: 저장 (작업이 지속되는 동안 토큰이 사용자의 브라우저에 저장됨)

 

 

 

 

JWT (JSON Web Token)

: 인증에 필요한 정보들을 암호화 시킨 개방형 토큰

 

- 구성 요소

: 헤더 (토큰 유형을 비롯한 관련된 서명 알고리즘을 정의)

: 페이로드 (토큰 발급자, 토큰 유효기간 등을 정의)

: 서명 (보안 서명을 통해 메시지가 바뀌지 않은 것을 확인)

 

- 장점

: 크기 (JSON 형식의 데이터이기 때문에 용량이 작음)

: 용이성 (거의 모든 곳에서 토큰을 생성할 수 있으며, 서버에서 확인할 필요가 없음)

: 제어 (액세스 가능한 데이터, 권한 지속 시간, 로그인 시 가능한 작업 지정 가능)

 

- 단점

: 단일키 (키가 유출될 경우 보안 위협 가능)

: 복잡성 (암호 서명 알고리즘에 대한 이해 필요)

: 제한 (메시지를 모든 클라이언트에 push 할 수 없고 서버 측 클라이언트 관리 불가)

 

 

 

 

 

토큰 인증 타입

: http 헤더의 Authorization에 해당하는 부분

 

- Basic

: 사용자의 아이디와 암호를 Base64로 인코딩한 값을 토큰으로 사용 (RFC 7617)

 

- Bearer (전달자)

: JWT 혹은 OAuth에 대한 토큰 사용 (RFC6750)

: 일반적인 토큰 (JWT가 아니어도 된다는 뜻)

 

- Digest

: 서버에서 난수 데이터 문자열을 클라이언트에 보내고 클라이언트는 사용자 정보와 nonce를 포함하는 해시값으로 응답 (RFC 7616)

 

- HOBA

: 전자 서명 기반 인증 (RFC 7486)

 

- Mutual

: 암호를 이용한 클라이언트-서버 상호 인증 (draft-left-httpauth-mutual)

 

- AWS-HMAC-SHA256

: AWS 전자 서명 기반 인증

 

- 커스텀

: memberToken, apikey, token, myCustomToken 등 개발자가 임의로 정한 Scheme 이름

 

 

 

 

 

Bearer Token과 JWT의 차이

- Token

: 본질적으로는 의미가 없는 문자열의 조합

: 해당 Token에 대해 DB 조회를 하여 맞는 권한을 요청하는 방식 

 

- JWT

: 자체적으로 요청을 인코딩하여 서명(signing)을 통해 확인 (verify) 가능

: 상태를 저장하지 않기 때문에 DB나 저장소가 불필요 (stateless)

: JWT 만으로 많은 것들을 확인 할 수 있어 인증 프로세스 간소화

 

 

 

 

 

 

 

Reference

 

토큰 기반 인증이란? 인증 토큰의 종류와 JWT의 이점 | Okta Identity Korea

토큰 기반 인증이란 사용자가 자신의 아이덴티티를 확인하고 고유한 액세스 토큰을 받을 수 있는 프로토콜을 말합니다. 그렇다면 토큰 기반 인증에는 어떤 종류가 있는지, 그리고 이를 사용했

www.okta.com

 

토근 기반 인증에서 bearer는 무엇일까?

본 글은 MDN - HTTP 인증, Veloport님의 게시글을 참고하여 작성되었습니다. 자세하게 알고싶으신 분은 해당 링크를 참고해주세요.토큰 기반 인증인증 타입마치며토큰 기반 인증은 쿠키나 세션을 이

velog.io

 

토큰 기반 인증 Bearer Authentication

OAuth를 들어가려고 생각하다가, 이전에 Bearer scheme 부터 조져야 겠다는 생각을 먼저 해봤다 블로그에 글을 쓸 때 마다 드는 생각Bearer scheme 에 대해서 정확히 설명을 하기 위해서 여러 자료들을 봤

www.ssemi.net

 

300x250
728x90