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
'Computer Science > Network' 카테고리의 다른 글
SASE (Secure Access Service Edge) (1) | 2025.02.02 |
---|---|
ZTNA (Zero Trust Network Access) (1) | 2025.02.02 |
IP가 고갈되지 않는 이유 (0) | 2024.11.30 |
CORS에 대해 알아보자 (Cross-Origin Resource Sharing) (2) | 2024.11.30 |
http 1.1과 http 2.0의 차이 (0) | 2024.09.28 |