[ 공모전 ] Auth : http 통신의 특징과 그에 따른 인증/인가 이해해 보기

최문길·2024년 7월 16일
0

공모전

목록 보기
29/46
post-thumbnail

http 통신

먼저 http통신에 대해서 알아보자.
클라이언트가 서버와 통신 할 때의 "특징"을 알아야

  • 쿠키, 세션, 토큰이라는 개념
  • 인증/인가
    위의 2가지를 이해하는데 큰 도움이 되기 때문이다.

Stateless한 프로토콜에는 UDP와 HTTP를 들 수 있다. ( HTTP 통신 기본이 무상태이다. )

무상태(stateless)

서버는 클라이언트의 상태를 기억하지 않는다. 바꿔말하면, 서버는 단순히 요청이 오면 응답을 보내는 역할만 수행을 한다.
더 나아가서 매(각) 요청마다 서버에서 요구하는 모든 정보를 담아서 요청해야 한다.

" 서버가 모든 요청(악성정보,일반정보, 등...)을 계속해서 받고, 그에 따른 응답을 보낸다면 보안문제등 이슈가 있지 않을까? "
내가 이해한, Auth의 관점?에서 이야기 한다.

비연결성(Connectionless)

서버와 클라이언트는 연결되어 있지 않는다. 클라이언트가 요청을 했었다 해도, 매번 "새로운" 요청이다.
바꿔 말하면, 클라이언트 요청에 서버가 응답을 마치면 연결을 종료한다라는 뜻이다.

정리

클라이언트가 매회 서버에 요청을 할 때마다 필요한 서류(정보)를 보내야 하는 것이 무상태이고,
서버는 필요한 정보를 받아 응답을 하고 난 이후에,
서버와 클라이언트의 연결을 종료시키는 것이 비연결성이다.

cf ) 통신에 필요한 모든 상태 정보는 클라이언트에서 제공하는 것이 상태 구조임.

무상태(stateless)와 비연결성(connectionless)에 따른 인증/ 인가 이해해보기

인증 / 인가를 항상 헷갈려 했는데, 나만의 예시를 들어가며 이해해보기로 했다.

"나님은 회사(서버)에 합격 하여, 지문을 등록하고, 지문인식을 통해 회사에 들어가고,
회사 내에서 나를 위해 준비된 노트북을 사용하려면 비밀번호(인가)가 필요한데,
이것은 별도의 비밀번호 키를 발급받아서 사용한다."

회사에 들어가기 위해 필요한 것이 지문(인증)이고,
회사내에 준비된 노트북을 사용하기 위해서는 비밀번호(인가)가 필요하다.

그런데 말입니다....

회사퇴근 이후, 다시 회사에 들어가려고 정문에서 지문을 찍고 가려하는데,
등록되지 않은 지문이므로, 다시 회사면접과 지문등록을 새롭게 하고, 노트북 비밀번호를 다시 발급받으라고 안내문을 받았다.

회사에 출근 할 때마다 계속해서 면접과 지문등록 그리고 노트북 비밀번호발급을 받아야 한다.
이것이 무상태(stateless)와 비연결성(connectionless)에 따른 인증/인가라 이해 했다.

불편함

회사 합격을 했는데,
회사 내에는 내 정보가 없으니 다시 서류를 챙겨서 회사면접을 보고, 지문등록과 비밀번호 키를 발급 받는 과정을
매번 회사를 다니지 않을 때 까지 계속해야 한다면, 그 회사를 다니고 싶을까???

매번 숨막히고, 혹시 모를 지각 등 스트레스에 쌓여야 할 것이다.

내가 해결책을 제시한다면?

회사에서는 보안정책상 어쩔수 없다라는 답변만 내놓아서,
그렇다면

  • 사원증을 발급해달라고 요청하고,
  • 노트북 비밀번호키를 발급, 또는 유효기간을 정해서 일정 기간 계속 사용할 수 있게 해주세요

위의 2가지 해결책을 회사측에 제시 할 것이다.
(아 물론 예시고 이해하기 위함이니까 그렇다 하고 넘어가자)

이제 이해가 잘 되었으니(적어도 난...)

마무리

위의 예시를 통해 비상태와 무연결성에 따른 불편함을 이해해 봤다.
물론 2가지의 특징에 따른 장점이 있다.

물론 무상태와 비연결성에 따른 서버에서 상태유지비용, 상태유지부하가, 적어도 최소한이 된고, 동일한 서버를 여러 개로 확장 시켜 트래픽 관리를 할 수 있다.

그러나 현재는 왜 세션, 쿠키, 토큰의 개념이 무상태와 비연결성의 무엇 때문에 나왔는 지를 알아보고자 함이기에....
자 이제는, 서버와 클라이언트를 통해 왜 세션, 쿠키, 토큰 개념이 나왔는지 알아보자

0개의 댓글

관련 채용 정보