상세 컨텐츠

본문 제목

Basic HTTP Authentication

Spring Security

by Wanderer Kim 2024. 3. 24. 22:21

본문

728x90

이번 글에서는 Basic HTTP Authentication에 대해서 간랸하게 알아보도록 하겠습니다.

 

Basic HTTP Authentication이란 user id, password로 이루어진 한 쌍의 데이터를 Base64로 인코딩하여  인증하는 방법 입니다.

Base64는 쉽게 복호화할 수 있습니다. 단순 base64 인코딩된 사용자 ID와 비밀번호를 HTTP로 전달하면 요청의 보안이 보장되지 않습니다. Basic 인증을 사용하는 요청은 꼭 HTTPS, SSL/TLS로 통신해야 안전합니다.

 

아래는 Authorization 헤더에 보내는 basic 토큰의 형태 입니다.

Authorization: Basic base64({USERNAME}:{PASSWORD})

 

 

Basic 인증의 장점과 단점

basic 인증 방식의 가장 큰 장점은 간단합니다. 사용자 ID롸 비밀번호 외에 로그인 페이지나 별도의 인증 정보를 요구하지 않습니다. 이런 간편함 때문에 다수의 서비스가 basic 인증 방식을 사용하고 있습니다.

 

그러나 basic 인증 방식은 서버에 사용자 목록을 저장합니다. 요청한 리소스가 많거나 사용자가 많으면 목록에서 권한을 확인하는 시간이 길어집니다. 또한 서버에 현실적으로 저장할 수 있는 데이터는 한정되어 있어서 사용자가 많거나 사용자 변화가 잦은 서비스가 basic 인증을 사용하면 서버에 부담기 커지게 됩니다.

 

또한 basic 인증 방식만으로는 사용자 권한을 정교하게 제어할 수 없습니다. 사용자가 꼭 필요한 리소스에만 권한을 주는 게 좋은데, basic 인증 방식으로 세세하게 사용자의 권한을 설정하려면 추가 구현이 필요합니다.

반응형

'Spring Security' 카테고리의 다른 글

Spring Security Authentication 흐름  (0) 2024.06.09

관련글 더보기

댓글 영역