카테고리 없음

쿠키는 무엇이고 왜 필요한가?

youngmki 2022. 1. 30. 23:12
목차
1. 쿠키란?
2. 다양한 유형의 쿠키 - 매직 쿠키 와 HTTP 쿠키
3. 쿠키는 어떤 목적으로 사용하는가
4. HTTP 쿠키의 분류 - 세션 쿠키와 퍼시스턴트 쿠키
5. 쿠키와 보안

 

쿠키란?

쿠키는 컴퓨터 네트워크를 사용할 때 컴퓨터를 식별하는 사용자 이름 및 암호와 같은 작은 데이터 조각이 포함된 텍스트 파일이다. 그중에서도 HTTP 쿠키는 특정 사용자를 식별하고 웹 브라우징 경험을 개선하는 데 사용된다.

 

쿠키에 저장된 데이터는 연결 시 서버에 의해 생성된다. 이 데이터는 유저와 유저의 컴퓨터에 고유한 ID로 레이블이 지정된다.

 

유저의 컴퓨터와 네트워크 서버 간에 쿠키가 교환될 때 서버는 ID를 읽고 해당 유저에게 구체적으로 어떤 정보를 제공해야 하는지를 알게 된다.

 

다양한 유형의 쿠키

  • 매직 쿠키
  • HTTP 쿠키

"매직 쿠키"는 변경 없이 송수신되는 정보 패킷을 나타내는 오래된 컴퓨팅 용어로, 일반적으로 비즈니스의 내부 네트워크와 같은 컴퓨터 데이터베이스 시스템에 로그인하는 데 사용된다. 이는 오늘날 우리가 이야기하는 최신 "쿠키"보다 더 앞선 개념이다.

 

"HTTP" 쿠키 또는 인터넷 쿠키는 인터넷 웹 브라우저가 각 사용자의 세션에 대한 정보를 추적, 개인화 및 저장하도록 특별히 제작되었다. 

 

쿠키는 유저가 새로운 웹사이트를 방문할 때 해당 유저를 식별하기 위해 생성된다. 웹 사이트의 데이터를 저장하는 웹 서버는 식별을 위한 짧은 스트림을 웹 브라우저에 보낸다.

 

브라우저 쿠키는 "이름-값" 쌍으로 식별되고 읽는다. 서버는 웹 브라우저가 쿠키를 저장하기를 원할 때에만 쿠키를 보낸다. 웹 브라우저는 유저를 식별하는 "이름-값" 쌍을 기억하기 위해 쿠키를 로컬에 저장한다.

 

사용자가 나중에 해당 사이트를 다시 방문하면 웹 브라우저는 해당 데이터를 쿠키 형태로 웹 서버에 반환한다. 이때 서버는 쿠키를 통해 해당 연결에 대해서 해당 유저의 세션을 다시 가져올 수 있게 된다.

 

  1. 로그인을 통해, 인증이 완료되면 웹 사이트의 서버는 쿠키를 생성하여 브라우저에 반환한다.
  2. 웹사이트의 쿠키는 유저에게 제공되고 해당 유저의 웹 브라우저에 저장된다. 쿠키에는 해당 유저만을 위한 특별한 고유 ID를 가지고 있다.
  3. 웹 브라우저에서는 웹 사이트에 해당 유저의 쿠키를 제공하고, 웹사이트 쪽 서버에서는 쿠키의 고유 ID를 읽어 활동 데이터를 수집하고 유저가 페이지를 떠났을 때의 방문을 기억하게 된다.

 

쿠키는 어떤 목적으로 사용하는가

웹사이트는 HTTP 쿠키를 사용하여 웹 경험을 간소화할 수 있다. 쿠키가 없다면 사이트를 떠난 후 다시 로그인해야 하거나 실수로 페이지를 닫은 경우 장바구니에 물건을 전부 다시 담아야 할 것이다.

 

쿠키가 사용되는 방식은 다음과 같다.

 

1. 세션관리 (Session management)

예를 들어, 쿠키는 웹사이트가 사용자를 인식하고 개별 로그인 정보 및 기본 설정들을 기억할 수 있도록 한다.

 

2. 개인화 (Personalization)

맞춤형 광고는 쿠키를 사용하여 세션을 개인화하는 예시 중의 하나이다. 유저는 사이트의 특정 항목 또는 일부를 볼 수 있으며, 이때 쿠키는 이 데이터를 사용하여 유저에게 노출되는 타겟 광고를 구축하는데 도움을 준다.

 

3. 추적(Tracking)

쇼핑 사이트는 쿠키를 사용하여 사용자가 이전에 본 항목을 추적하여 사이트에서 사용자가 좋아할 만한 다른 상품을 제안하고 쇼핑을 계속하는 동안 항목을 장바구니에 보관할 수 있도록 한다.

 

이는 대부분 사이트를 이용하는 유저 측에서의 이익이지만, 웹 개발자 측에서도 쿠키를 사용하여 많은 것을 얻을 수 있다.

 

쿠키는 웹사이트 서버의 저장 공간을 확보하기 위해 장치를 로컬에 저장한다. 결과적으로 웹 사이트는 서버 유지 관리 및 저장 비용을 절약하면서 개인화할 수 있게 된다.

 

HTTP 쿠키의 분류 - 세션 쿠키와 영구 쿠키

세션 쿠키(Session Cookie)는 웹사이트를 탐색하는 동안에만 사용된다. 이때 쿠키는 RAM에 저장되게 된다. 하드 드라이브에는 기록되지 않는다. 세션이 종료되면 세션 쿠키는 자동으로 삭제된다. 

 

퍼시스턴트 쿠키(Persistent Cookie)는 컴퓨터에 무기한 남아 있지만, 만료 날짜가 포함되어 있어 해당 날짜에 도달하게 되면 자동으로 제거된다.

 

퍼시스턴트 쿠키는 다음 두 가지 목적으로 사용된다.

 

1. 인증(Authentication)

이 경우 쿠키는 사용자가 어떤 이름으로 로그인했는지 여부를 추적한다. 또한 로그인 정보를 간소화하여 사용자가 사이트 암호를 기억할 필요가 없게 된다.

 

2. 추적(Tracking)

이 경우 쿠키는 시간이 지남에 따라 동일한 사이트에 대한 여러 방문을 추적한다. 예를 들어 일부 온라인 판매자는 쿠키를 사용하여 조회한 페이지 및 제품을 포함하여 특정 사용자의 방문을 추적한다. 그들이 얻은 정보를 통해 방문자가 관심을 가질 다른 항목들을 제안할 수 있다. 판매자는 해당 사이트에서 사용자의 검색 기록을 기반으로 방문자의 프로필을 작성하고 이를 통해 사용자의 관심사를 추적할 수 있게 된다.

 

쿠키와 보안

쿠키의 데이터는 변경되지 않으므로 쿠키 자체는 유해하지 않다. 쿠키가 바이러스나 기타 멜웨어를 포함하여 컴퓨터를 감염시킬 수는 없다. 다만 악의적인 해커가 의도적으로 중간에서 쿠키를 가로채고 이를 통해 해당 유저에 대한 액세스를 활성화할 수 있다는 점에 유의해야 한다. 이 경우 해커는 유저의 검색 기록을 추적할 수 있게 되며, 이는 직접적인 개인 정보 유출로 이어진다.

 

또한 특정 쿠키는 다른 쿠키보다 보안적으로 더 취약할 수 있다.

 

퍼스트 파티 쿠키와 서드 파티 쿠키의 비교

일부 쿠키는 출처에 따라 다른 쿠키보다 더 위협적일 수 있다.

 

퍼스트 파티(First-party)쿠키는 유저가 사용하는 웹사이트에서 직접 생성된다. 평판이 좋은 웹사이트나 손상되지 않은 웹사이트를 탐색하는 한 일반적으로 더 안전하다.

 

서드 파티(Third-party)쿠키는 일반적으로 보안에 더 취약하다. 해당 페이지의 광고에 연결되어 사용자가 현재 서핑하고 있는 웹 페이지가 아닌 다른 웹사이트에서 생성된다. 10개의 광고가 있는 사이트를 방문하면 사용자가 해당 광고를 클릭하지 않더라도 10개의 쿠키가 생성될 수 있다. 서드 파티 쿠키를 사용하면 광고주 또는 분석회사가 광고가 포함된 모든 사이트의 웹에서 개인의 검색 기록을 추적할 수 있게 된다. 

 

좀비 쿠키는 타사에서 제공하며 쿠키 설치를 선택하지 않은 경우에도 사용자의 컴퓨터에 영구적으로 설치된다. 좀비 쿠키는 삭제 시에도 다시 나타난다. 좀비 쿠키는 Adobe Flash 저장소에 저장된 데이터에서 처음 생성되어 "Flash 쿠키"라고도 하며, 제거하기가 상당히 어렵다.

 

다른 서드 파티 쿠키와 마찬가지로 좀비 쿠키는 웹 분석 회사에서 고유한 개인의 검색 기록을 추적하는 데 사용할 수 있다. 웹사이트는 좀비를 사용하여 특정 사용자를 차단할 수도 있다.