ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 로그인 인증 방식 - 쿠키&세션, 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
Designed by Tistory.