쿠키

오현섭 2022. 3. 11. 00:04
반응형

쿠키(Cookie) : 쿠키를 통해 사용자 식별 및 세션 유지를 통해 클라이언트와 서버 간의 상태 관리를 한다.

  웹의 중요한 기술 중의 하나로 현재 가장 많이 사용되고 있는 인증 방식이다. 

종류는 쿠키는 지속 쿠키, 세션은 세션 쿠키이다.

 

쿠키 헤더 구조

-서버에서 클라이언트 쿠키 발급 시 Set-Cookie 헤더에 의해 클라이언트 쿠키 값이 세팅되며, 해당 사이트 접근 시 마다

 클라이언트는 Set-Cookie에 의해 세팅 된 값을 Cookie 헤더에 세팅하여 요청 메시지를 전달한다.

 서버는 이를 통해 상태를 관리한다.

 

지속 쿠키(Persistent Cookie)

-지속 쿠키는 웹 서버에서 발급 시 클라이언트 하드 디스크에 텍스트 형태로 저장되며, 클라이언트 pc

 사용자들은 해당 쿠키 정보를 열람할 수 있다.

문제점 : 폐기 하여도 해당 값을 알고 있으면 재사용이 가능한 문제점이다. 

 즉 폐기 후에도 재사용이 가능하다. 또한 쿠키 값이 평문일 경우 변조의 위협이 있기 떄문에 사용자 식별 및 인증관리를 할 경우 반드시 암호화 과정을 거쳐야 한다. 또한 쿠키의 유효기간 폐기 방법, 암호화 알고리즘에 대한 적절성 검토하여 로직을 구현해야 한다.

 

세션 쿠키(Session Cookie)

-세션 쿠키는 웹 서버에서 발급 시 클라이언트 웹 브라우저 캐시에 저장되며, 정상적으로 로그인 시

  웹 어플리케이션 서버는 서버 측에 해당 세션에 대한 정보를 저장한다. 서버에서 세션을 저장하는 방법으로

메모리, 파일 시스템, 데이터베이스에 저장하며 일반적으로 메모리에 저장해둔다.

 세션은 암호화,난독화가 아닌 임의의 문자들로 나열되어서 공격자는 세션을 추측하기 어렵다.

 

지속 쿠키의 필요성

-세션쿠키를 사용하면 보안 담당자, 개발자 들이 편하다. 그러나 대규모 웹서비스의 경우 세션을 관리하기에는

 서버에 엄청 난 부하를 가져와 서버에 부담이 낮은 지속 쿠키를 사용한다.

'' 카테고리의 다른 글

쿠키와 세션  (0) 2022.03.21
http 프로토콜  (0) 2022.03.10
웹의 기초  (0) 2022.03.10