- 대칭키 : 암호화,복호화 할 때 동일한 키를 사용하는 방식
- 비대칭키 : 암호화는 A키로, 복호화는 B키로 사용하는 방식, A키가 탈취된다 하더라도 암호화하는 용도이기에 안전하다.
클라이언트와 서버가 데이터를 암호화하여 주고받을 때 비대칭키와 대칭키를 혼용해서 사용하는데
대칭키는 데이터를 주고 받을 때 사용하며 비대칭키는 대칭키를 주고 받을 때 사용 한다.
HTTP 무상태, connection less로 인해 서버는 클라이언트를 식별할 수 없어서 매번 새로운 인증을 해야하는데, 상태를 기억하기 위해 쿠키, 세션, 토큰 방식이 있다.
*클라이어트에서도 서버로 쿠키를 보냄.
서버가 웹브라우저에 정보를 저장한다.
쿠키가 있으면 웹브라우저는 http 요청시 쿠키를 함께 도메인에 전달합니다.
ex) 자동로그인, 개인정보 장기간 저장, 장바구니 등등
단 노출되어선 안되는 정보는 추가하지 않는게 좋습니다.
쿠키 옵션
1) Domain : 쿠키의 도메인 정보와 서버의 도메인 정보가 일치해야 쿠키 전송 가능
2) Patch : 서버 요청의 세부정보가 일치하는 경우 쿠키 전송 가능
3) Secure : HTTPS에서만 쿠키 전송 여부 설정
4) Expire : 서버에서 쿠키의 유효기간 설정
5) SameSite : 같은 사이트에서만 쿠키를 사용할 수 있음. CSRF를 막는데 효과적인 옵션.
세션 ID는 쿠키에 저장되기 때문에 서버에 데이터를 요청할 때 쿠키도 같이 전달된다.
로그아웃 시 해야할 사항
- 서버 : 세션 정보를 삭제
- 클라이언트 : 쿠키를 갱신