Contents
Session에 대해서
   Mar 30, 2023     1 min read

세션의 동작방식

✏️세션은 어떻게 동작할까?

✅웹 브라우저 : 로그인 시도

Untitled

✅세선 생성

Untitled 1

  • 세션 ID를 생성하는데, 추정이 불가능해야 한다.

✅세션 ID를 응답 쿠키로 전달

  • MySessionId라는 이름으로 세션ID만 쿠키에 담아서 전달한다.
  • 클라이언트는 쿠키 저장소에 mySessionId 쿠키를 보관한다.

Untitled 2

🚨중요

  • 회원과 관련된 정보는 전혀 클라이언트에 전달하지 않는다는 것이다.
  • 오직 추정 불가능한 세션 ID만 쿠키를 통해 클라이언트에 전달한다.

✅클라이언트의 세션Id 쿠키 전달

Untitled 3

  • 클라이언트는 요청시 항상 mySessionId 쿠키를 전달한다.
  • 서버에서는 클라이언트가 전달한 mySessionId쿠키 정보로 세션 저장소를 조회해서 로그인시 보관한다.

➡️정리

세션을 사용해서 서버에서 중요한 정보를 관리하게 되었다. 따라서 보안 문제들을 해결

  • 쿠키 값을 변조 가능 → 예상 불가능한 복잡한 세션ID를 사용한다.
  • 쿠키에 보관하는 정보는 클라이언트 해킹시 유출 가능성이 있다. → 세션ID가 노출되어도 여기에는 중요한 정보가 없다.
  • 쿠키 탈취 후 사용 → 해커가 토큰을 털어가도 시간이 지나면 사용할 수 없도록 서버에서 세션의 만료시간을 짧게 유지한다.

📎출처