-
로그인 인증 방식 - 쿠키&세션, JWT토큰CS/웹 보안 2024. 7. 4. 20:54
쿠키 & 세션 인증 방식
쿠키
- 서버는 클라이언트의 로그인 요청에 대한 응답을 작성할 때, 클라이언트 측에 저장하고 싶은 정보를 응답 헤더의 set-cookie 에 담는다.
- 이후 클라이언트가 재요청 할 때마다 저장된 쿠키를 요청 헤더의 cookie 에 담아 보낸다.
- 서버는 쿠키에 담긴 정보를 바탕으로 해당 요청의 클라이언트가 누군지 식별 할 수 있다.
쿠키가 사라지는 시점
- 만료 날짜 도달:
쿠키를 생성할 때 expires 속성을 사용하여 특정 날짜와 시간을 설정할 수 있다. 쿠키는 이 날짜와 시간 이후에 자동으로 삭제된다.
ex) : document.cookie = "token=your-token-here; expires=Fri, 31 Dec 2024 23:59:59 GMT";
- 세션 종료:
만료 날짜를 설정하지 않으면 기본적으로 세션 쿠키가 됩니다. 세션 쿠키는 브라우저를 닫으면 사라진다.세션
클라이언트측(브라우저)에 저장되는 쿠키와 달리 세션은 서버(메모리)에 세션 아이디와 함께 사용자 정보가 저장된다.
(프로그램이 실행되는 곳 -> 메모리)
쿠키&세션 인증
쿠키는 세션 아이디 저장용으로 사용되고, 세션은 서버에 저장돼 사용자 정보를 확인할 때 사용된다.

JWT 토큰 인증 방식

JWT 토큰
토큰이 브라우저에 저장되는 방식
- 브라우저의 로컬 스토리지 (Local Storage):
- 비교적 간단하고 쉽게 접근할 수 있는 방식입니다.
- 토큰을 클라이언트 측에서 저장하고 필요할 때마다 꺼내 쓸 수 있습니다.
- 예: localStorage.setItem('token', 'your-token-here');
- 브라우저의 세션 스토리지 (Session Storage):
- 로컬 스토리지와 비슷하지만, 브라우저 탭을 닫으면 데이터가 사라집니다.
- 세션이 지속되는 동안에만 토큰을 사용할 때 유용합니다.
- 예: sessionStorage.setItem('token', 'your-token-here');
- 쿠키 (Cookies):
- 서버와 클라이언트 간에 자동으로 전송될 수 있어 편리합니다.
- 쿠키에 HttpOnly 속성을 설정하면 자바스크립트에서 접근할 수 없어 보안이 강화됩니다.
- 예: document.cookie = "token=your-token-here; Secure; HttpOnly";
'CS > 웹 보안' 카테고리의 다른 글
SSL, HTTPS, SSH (0) 2025.03.28 SALT 암호화 (0) 2025.03.17