인프런의 영한님 강의를 보고 정리한 글입니다.
무엇을 배웠나요?
- 쿠키에 중요한 정보를 보관하는 방법은 여러가지 보안 이슈가 있었다.
- 그러므로 중요한 정보는 모두 서버에 저장해야 한다.
- 그리고 클라이언트와 서버는 추정 불가능한 임의의 식별자 값으로 연결해야한다.
- 이렇게 서버에 중요한 정보를 보관하고 연결을 유지하는 방법을 세션이라고 한다.
- 세션의 동작방식
- 클라이언트와 서버는 결국 쿠키로 연결이 되어야 한다.
- 중요한 포인트는 회원과 관련된 정보는 전혀 클라이언트에 전달하지 않으며 오직 추정 불가능한 세션 ID만 쿠키를 통해 클라이언트에 전달한다.
- 클라이언트의 세션ID쿠키 전달
- 세션을 사용해서 서버에서 중요한 정보를 관리하게 되었다. 덕분에 다음과 같은 보안 문제들을 해결할 수 있다.
- 쿠키 값을 변조 가능 → 예상 불가능한 복잡한 세션 ID를 사용한다.
- 쿠키에 보관하는 정보는 클라이언트 해킹시 털릴 가능성이 있다. → 세션 Id가 털려도 여기에는 중요한 정보가 없다.
- 쿠키 탈취후 사용 → 해커가 토큰을 털어가도 시간이 지나면 사용할 수 없도록 서버에서 세션의 만료시간을 짧게 유지한다. 또는 서버에서 해당 세션을 강제로 제거하면 된다.
'Spring' 카테고리의 다른 글
로그인 처리1 - 쿠키, 세션 : 로그인 처리하기 - 서블릿 HTTP 세션1 (0) | 2022.09.12 |
---|---|
로그인 처리1 - 쿠키, 세션 : 로그인 처리하기 - 세션 직접 만들기 (0) | 2022.09.12 |
로그인 처리1 - 쿠키, 세션 : 쿠키와 보안문제 (0) | 2022.09.12 |
로그인 처리1 - 쿠키, 세션 : 로그인 처리하기 - 쿠키 사용 (0) | 2022.09.11 |
로그인 처리1 - 쿠키, 세션 (0) | 2022.09.11 |