HTTPS, 쿠키, 세션

이용만·2023년 5월 10일
0
post-thumbnail

HTTPS : HTTP 통신하는 과정에서 데이터를 암호화하고 전송하는 방법


그림 출처

  • 대칭키 : 암호화,복호화 할 때 동일한 키를 사용하는 방식
  • 비대칭키 : 암호화는 A키로, 복호화는 B키로 사용하는 방식, A키가 탈취된다 하더라도 암호화하는 용도이기에 안전하다.

클라이언트와 서버가 데이터를 암호화하여 주고받을 때 비대칭키와 대칭키를 혼용해서 사용하는데
대칭키는 데이터를 주고 받을 때 사용하며 비대칭키는 대칭키를 주고 받을 때 사용 한다.


HTTP 무상태, connection less로 인해 서버는 클라이언트를 식별할 수 없어서 매번 새로운 인증을 해야하는데, 상태를 기억하기 위해 쿠키, 세션, 토큰 방식이 있다.

쿠키 : 서버가 일방적으로 클라이언트에 전달하는 작은 데이터.

*클라이어트에서도 서버로 쿠키를 보냄.

  • 서버가 웹브라우저에 정보를 저장한다.

  • 쿠키가 있으면 웹브라우저는 http 요청시 쿠키를 함께 도메인에 전달합니다.
    ex) 자동로그인, 개인정보 장기간 저장, 장바구니 등등

  • 단 노출되어선 안되는 정보는 추가하지 않는게 좋습니다.

쿠키 옵션
1) Domain : 쿠키의 도메인 정보와 서버의 도메인 정보가 일치해야 쿠키 전송 가능
2) Patch : 서버 요청의 세부정보가 일치하는 경우 쿠키 전송 가능
3) Secure : HTTPS에서만 쿠키 전송 여부 설정
4) Expire : 서버에서 쿠키의 유효기간 설정
5) SameSite : 같은 사이트에서만 쿠키를 사용할 수 있음. CSRF를 막는데 효과적인 옵션.


세션기반인증 :

그림출처

세션 ID는 쿠키에 저장되기 때문에 서버에 데이터를 요청할 때 쿠키도 같이 전달된다.

로그아웃 시 해야할 사항

  • 서버 : 세션 정보를 삭제
  • 클라이언트 : 쿠키를 갱신

profile
성장하는 개발자가 되고자 합니다.

0개의 댓글