320x100
320x100

Authorization 헤더
http 프로토콜에서 클라이언트가 서버에 인가된 상태임을 전달하기 위한 헤더
http/1.1 표준에서 처음 정의됨 (http/1.1 RFC 2616)

- 일반적인 형식
```
Authorization: <schema> <token>
```

- 스키마 종류
Basic
Bearer




Bearer 토큰
클라이언트가 특정 리소스에 접근할 수 있는 권한을 증명하기 위해 서버에 전달하는 토큰
https를 통해 전송되어야하고, 이를 통해 토큰이 네트워크에서 탈취되는 것을 방지할 수 있음
OAuth 2.0의 핵심 인증 방식으로 선정되어 액세스 토큰을 전달하는 표준 방식으로 사용됨

- Bearer 토큰의 종류
JWT (JSON Web Token)

- Bearer의 의미와 철학
bearer (소지자)의 의미로 토큰을 가지고 있는 자가 인증된 사용자로 간주된다는 의미

- 한계
토큰 탈취 시 악의적인 사용 가능
MITM(중간자 공격)을 통해 토큰 노출 가능

- 보완 방법
통신에서 https를 사용하여 토큰이 암호화된 채로 전송되도록 해야함
토큰에 만료시간을 설정
scope와 permission 제한

- 대안 인증 방식
> Proof-of-Possession (PoP 토큰 / 토큰 소지 여부 만으로 인증하지 않고 요청에 서명하여 토큰의 정당성을 추가로 검증. 탈취된 토큰이 유효하지 않게 됨)
> Mutually Authenticated TLS (MTLS / 클라이언트가 서버가 서로를 인증하는 TLS인증 방식)






Reference

왜 Authorization "Bearer"인가요?

이 글에서는 Bearer 토큰이 왜 현대 웹 인증에서 표준처럼 자리 잡았는지, 그리고 이를 활용하는 방법에 대해 다룹니다.

velog.io


300x250
728x90