써드파티 쿠키(third-party cookies)
써드파티 쿠키(third-party cookies)는 사용자가 방문한 웹사이트(퍼스트파티 웹사이트)와는 다른 도메인에서 설정되는 쿠키를 의미합니다.
이 쿠키는 일반적으로 광고 네트워크, 소셜 미디어 플랫폼, 또는 웹 분석 서비스와 같은 외부 서비스 제공자가 사용자 행동을 추적하고 분석하기 위해 사용됩니다.
써드파티 쿠키의 주요 특징과 사용 사례:
추적 및 광고 타겟팅:
- 써드파티 쿠키는 사용자의 브라우징 패턴을 추적하여 사용자에게 맞춤형 광고를 제공하는 데 주로 사용됩니다.
예를 들어, 사용자가 여러 웹사이트를 방문할 때 이 쿠키를 통해 수집된 데이터로 관심사에 맞는 광고를 보여줄 수 있습니다.
- 써드파티 쿠키는 사용자의 브라우징 패턴을 추적하여 사용자에게 맞춤형 광고를 제공하는 데 주로 사용됩니다.
웹 분석:
- 웹사이트 소유자는 써드파티 쿠키를 이용해 사용자 행동을 분석할 수 있습니다.
이를 통해 웹사이트의 성과를 평가하고 사용자 경험을 개선하는 데 필요한 정보를 얻을 수 있습니다.
- 웹사이트 소유자는 써드파티 쿠키를 이용해 사용자 행동을 분석할 수 있습니다.
소셜 미디어 통합:
- 웹사이트에 소셜 미디어 버튼이나 위젯이 포함된 경우, 해당 소셜 미디어 플랫폼이 써드파티 쿠키를 설정할 수 있습니다.
이를 통해 사용자가 특정 웹사이트를 방문했을 때 소셜 미디어 상호작용을 추적할 수 있습니다.
- 웹사이트에 소셜 미디어 버튼이나 위젯이 포함된 경우, 해당 소셜 미디어 플랫폼이 써드파티 쿠키를 설정할 수 있습니다.
써드파티 쿠키와 프라이버시:
프라이버시 우려:
- 써드파티 쿠키는 사용자의 온라인 활동을 광범위하게 추적할 수 있기 때문에 프라이버시 침해에 대한 우려가 제기되고 있습니다.
이러한 우려는 여러 국가에서 데이터 보호 규정을 강화하게 만들었습니다.
- 써드파티 쿠키는 사용자의 온라인 활동을 광범위하게 추적할 수 있기 때문에 프라이버시 침해에 대한 우려가 제기되고 있습니다.
규제 및 브라우저 변화:
- 유럽연합의 GDPR(General Data Protection Regulation)과 같은 법률은 쿠키 사용에 대한 엄격한 규제를 도입했습니다.
이에 따라 사용자 동의 없이 쿠키를 설정하는 것이 금지됩니다. - 주요 웹 브라우저들도 써드파티 쿠키를 차단하는 방향으로 정책을 변경하고 있습니다.
예를 들어,Apple
의Safari
와Mozilla
의Firefox
는 기본적으로 써드파티 쿠키를 차단하고 있으며,Google
의Chrome
도 단계적으로 이를 제한하려는 계획을 발표했습니다.
- 유럽연합의 GDPR(General Data Protection Regulation)과 같은 법률은 쿠키 사용에 대한 엄격한 규제를 도입했습니다.
써드파티 쿠키는 온라인 광고 및 웹 분석에 중요한 도구이지만, 프라이버시 보호를 위한 규제 강화와 브라우저 정책 변화로 인해 그 사용이 점점 제한되고 있습니다.
이러한 변화는 광고주와 웹사이트 소유자가 새로운 추적 및 분석 방법을 모색하도록 유도하고 있습니다.
발생 가능한 변화:
광고 타겟팅의 정확성 감소:
- 맞춤형 광고를 제공하는 데 사용되던 써드파티 쿠키가 제한되면, 광고주는 사용자의 관심사나 행동을 기반으로 광고를 타겟팅하기 어려워집니다.
이는 광고의 효율성을 감소시키고, 광고 수익이 줄어드는 결과를 초래할 수 있습니다.
- 맞춤형 광고를 제공하는 데 사용되던 써드파티 쿠키가 제한되면, 광고주는 사용자의 관심사나 행동을 기반으로 광고를 타겟팅하기 어려워집니다.
웹 분석 데이터 감소:
- 웹 분석 서비스가 사용자의 행동을 추적하기 어렵게 되면, 웹사이트 소유자는 방문자 행동, 트래픽 소스, 전환율 등에 대한 정확한 데이터를 얻기 어려워집니다.
이는 데이터 기반 의사결정을 방해할 수 있습니다.
- 웹 분석 서비스가 사용자의 행동을 추적하기 어렵게 되면, 웹사이트 소유자는 방문자 행동, 트래픽 소스, 전환율 등에 대한 정확한 데이터를 얻기 어려워집니다.
소셜 미디어 통합 기능의 감소:
- 소셜 미디어 위젯이나 로그인 기능이 써드파티 쿠키를 사용한다면, 이러한 기능의 유용성이 감소할 수 있습니다.
사용자는 소셜 미디어 상호작용이나 공유 기능을 이전보다 덜 사용할 가능성이 있습니다.
- 소셜 미디어 위젯이나 로그인 기능이 써드파티 쿠키를 사용한다면, 이러한 기능의 유용성이 감소할 수 있습니다.
대비가 필요한 페이지 및 웹사이트 유형:
온라인 광고 플랫폼:
- Google Ads, Facebook Ads 등 광고 플랫폼은 써드파티 쿠키 없이도 타겟팅을 지속할 수 있는 대안을 모색해야 합니다.
예를 들어, 컨텍스트 기반 광고나 퍼스트파티 데이터 활용이 그 대안이 될 수 있습니다.
- Google Ads, Facebook Ads 등 광고 플랫폼은 써드파티 쿠키 없이도 타겟팅을 지속할 수 있는 대안을 모색해야 합니다.
웹 분석 서비스 제공자:
- Google Analytics, Adobe Analytics 등은 쿠키 대신 퍼스트파티 데이터나 다른 추적 방법을 사용할 수 있도록 시스템을 개편해야 합니다.
전자상거래 사이트:
- 쇼핑몰, 예약 사이트 등은 사용자 행동 데이터를 기반으로 개인화된 경험을 제공하는 데 의존하므로, 퍼스트파티 데이터 활용 및 대체 기술을 도입해야 합니다.
소셜 미디어 통합 사이트:
- 웹사이트에 소셜 미디어 로그인이나 공유 기능을 제공하는 경우, 이 기능들이 써드파티 쿠키 없이도 동작할 수 있도록 업데이트가 필요합니다.
콘텐츠 제공 사이트:
- 뉴스, 블로그 등 콘텐츠 사이트는 사용자 행동 데이터를 활용해 추천 콘텐츠를 제공하는 경우가 많습니다.
이에 대비해 퍼스트파티 데이터나 다른 대체 기술을 사용해야 합니다.
- 뉴스, 블로그 등 콘텐츠 사이트는 사용자 행동 데이터를 활용해 추천 콘텐츠를 제공하는 경우가 많습니다.
대응 전략:
퍼스트파티 데이터 활용:
- 웹사이트 소유자는 직접 수집한 퍼스트파티 데이터를 활용해 사용자 경험을 개인화하고, 광고 타겟팅을 조정해야 합니다.
컨텍스트 기반 타겟팅:
- 사용자의 현재 페이지나 콘텐츠를 기반으로 광고를 타겟팅하는 방법을 사용합니다. 이는 사용자의 즉각적인 관심사를 반영하므로 효과적일 수 있습니다.
쿠키 대체 기술 도입:
- 브라우저 저장소, 서버 사이드 추적 등 쿠키를 대체할 수 있는 기술을 도입해 사용자 행동을 추적합니다.
사용자 동의 관리:
- GDPR 등 규제에 따라 사용자에게 명확한 쿠키 사용 동의를 받고, 투명하게 관리해야 합니다.
yyy.test.com 도메인에서 iframe 태그로 xxx.test.com 도메인을 불러오는 중.
각 도메인끼리는 javascript의 postMessage로 통신함.
써드파티 쿠키 지원이 중단된다면?
발생 가능한 문제:
1. 인증 및 세션 관리 문제:
- 만약 xxx.test.com 도메인이 세션 관리나 인증에 써드파티 쿠키를 사용하고 있다면, 써드파티 쿠키가 차단될 경우 사용자는 정상적으로 인증되지 않을 수 있습니다.
이는 로그인 상태를 유지하거나 사용자 세션을 관리하는 데 어려움을 초래할 수 있습니다.
2. 사용자 상태 추적 문제:
- 사용자 맞춤형 설정이나 상태를 쿠키로 관리하는 경우, 써드파티 쿠키가 차단되면 사용자의 개인화된 설정이나 상태를 추적하는 것이 어려워집니다.
예를 들어, 장바구니 정보나 사용자 선호도 등이 저장되지 않을 수 있습니다.
3. 광고 및 분석 데이터 손실:
- xxx.test.com이 광고나 분석 목적으로 써드파티 쿠키를 사용하고 있다면, 이러한 데이터 수집이 불가능해질 수 있습니다.
이는 광고 타겟팅의 효율성 감소와 웹사이트 성과 분석의 정확성 저하로 이어질 수 있습니다.
4. Cross-Domain 데이터 공유 제한:
- 도메인 간 데이터를 공유하는 데 쿠키를 사용하는 경우, 써드파티 쿠키 차단으로 인해 이러한 데이터 공유가 차단될 수 있습니다.
이는 두 도메인 간의 원활한 통신과 데이터 연동에 문제를 일으킬 수 있습니다.
대처 방안:
1. 퍼스트파티 쿠키 사용:
- 가능한 경우, 퍼스트파티 쿠키로 전환하여 데이터를 관리하도록 합니다.
예를 들어, 동일한 루트 도메인(test.com)을 사용하도록 설정을 변경하고 서브도메인 간 쿠키를 공유할 수 있는 방법을 고려할 수 있습니다.
2. 서버 사이드 세션 관리:
- 세션 관리를 서버 측에서 수행하여 클라이언트 측 쿠키에 의존하지 않도록 합니다.
이를 통해 써드파티 쿠키 제한의 영향을 줄일 수 있습니다.
3. postMessage 활용:
- 이미 사용 중인 postMessage를 더 적극적으로 활용하여, 도메인 간 데이터를 쿠키 대신 메시지로 전달합니다.
이를 통해 필요한 데이터를 iframe 간에 안전하게 공유할 수 있습니다.
4. 로컬 스토리지 사용:
- 브라우저의 로컬 스토리지를 활용하여 데이터를 저장합니다.
로컬 스토리지는 도메인별로 격리되어 있어 써드파티 쿠키 차단의 영향을 받지 않습니다.
5. OAuth나 토큰 기반 인증:
- OAuth나 JWT(JSON Web Token)와 같은 토큰 기반 인증 방식을 도입하여 인증 및 세션 관리를 합니다.
이는 쿠키가 아닌 헤더나 URL 파라미터를 통해 인증 정보를 전달하므로 써드파티 쿠키 제한의 영향을 받지 않습니다.
즉, `xxx.test.com` 도메인이 인증 및 세션 관리를 `yyy.test.com` 도메인의 쿠키로 처리한다면, 써드파티 쿠키 지원이 중단되었을 때, 문제가 발생할 수 있습니다.
인증 및 세션 관리 문제 설명:
- 현재 상황:
- xxx.test.com 도메인은 인증 및 세션 관리를 yyy.test.com 도메인의 쿠키로 처리하고 있습니다.
이는 xxx.test.com 도메인이 iframe으로 로드될 때, yyy.test.com 도메인에서 설정된 쿠키를 사용하여 사용자의 인증 상태나 세션 정보를 확인하는 방식입니다.
- 써드파티 쿠키 지원 중단의 영향:
- 대부분의 최신 웹 브라우저가 기본적으로 써드파티 쿠키를 차단합니다.
써드파티 쿠키란, 사용자가 방문한 페이지(여기서는 yyy.test.com)가 아닌 다른 도메인(xxx.test.com)에서 설정된 쿠키를 의미합니다.
- 브라우저가 써드파티 쿠키를 차단하면, xxx.test.com이 yyy.test.com 도메인에서 설정된 쿠키에 접근할 수 없게 됩니다.
이는 xxx.test.com이 인증 및 세션 관리를 위해 필요한 정보를 얻지 못한다는 것을 의미합니다.
- 그 결과, xxx.test.com 도메인은 사용자를 인증할 수 없거나 세션 상태를 확인할 수 없게 되어, 로그인 상태가 유지되지 않거나 세션이 끊기는 등의 문제가 발생할 수 있습니다.
- 해결 방안:
1. 퍼스트파티 쿠키로 전환:
- 동일한 루트 도메인(.test.com)을 공유하여, xxx.test.com과 yyy.test.com 간의 쿠키 공유가 가능하도록 설정할 수 있습니다.
예를 들어, 쿠키 설정 시 Domain=.test.com으로 지정하면, 서브 도메인 간 쿠키를 공유할 수 있습니다.
2. 서버 사이드 세션 관리:
- 세션 관리를 클라이언트 측 쿠키 대신 서버 측에서 수행하여, 각 도메인 간 세션 상태를 서버에서 직접 관리합니다.
이를 통해 클라이언트 측에서 쿠키에 의존하지 않고 세션을 유지할 수 있습니다.
3. OAuth 또는 토큰 기반 인증:
- OAuth 또는 JWT(JSON Web Token)와 같은 토큰 기반 인증 방식을 도입합니다.
인증 토큰은 HTTP 헤더나 URL 파라미터를 통해 전달되므로 쿠키 차단의 영향을 받지 않습니다.
4. postMessage 활용:
- 이미 사용 중인 postMessage API를 통해 도메인 간 인증 정보를 안전하게 전달할 수 있습니다.
예를 들어, yyy.test.com에서 xxx.test.com으로 인증 토큰을 전달하고, xxx.test.com이 이를 사용하여 인증 상태를 확인합니다.
5. 로컬 스토리지 사용:
- 브라우저의 로컬 스토리지를 활용하여 인증 정보를 저장하고 도메인 간 데이터를 전달할 수 있습니다.
로컬 스토리지는 각 도메인별로 격리되어 있으므로 써드파티 쿠키 제한의 영향을 받지 않습니다.
이러한 해결 방안을 통해 써드파티 쿠키 제한으로 인한 인증 및 세션 관리 문제를 효과적으로 해결할 수 있습니다.
써드파티 쿠키 사용이 가능하다면, 도메인이 .test.com으로 설정되어 있지 않더라도, xxx.test.com에서 yyy.test.com 도메인의 쿠키를 사용할 수 있습니다.
하지만 이는 어디까지나 브라우저가 써드파티 쿠키를 차단하지 않는 경우에만 해당됩니다.
요약:
1. 써드파티 쿠키의 개념:
- 써드파티 쿠키는 사용자가 방문한 페이지와 다른 도메인에서 설정된 쿠키입니다.
예를 들어, 사용자가 xxx.test.com을 방문할 때 yyy.test.com이 설정한 쿠키는 써드파티 쿠키입니다.
2. 도메인 설정:
- 쿠키의 Domain 속성이 yyy.test.com으로 설정되어 있다면, 해당 쿠키는 yyy.test.com에서만 직접 설정할 수 있으며, 기본적으로 xxx.test.com에서는 접근할 수 없습니다.
그러나, 브라우저가 써드파티 쿠키를 허용한다면, yyy.test.com의 리소스를 포함한 xxx.test.com 페이지는 이 쿠키에 접근할 수 있습니다.
조건:
- 써드파티 쿠키 허용:
- 브라우저 설정이나 정책에 따라 써드파티 쿠키가 허용된 상태여야 합니다.
많은 최신 브라우저는 기본적으로 써드파티 쿠키를 차단하고 있습니다.
- 쿠키 설정의 Secure 및 SameSite 속성:
- 쿠키가 Secure 속성으로 설정되어 있다면, HTTPS를 통해서만 전송됩니다.
- SameSite 속성이 None으로 설정되어 있어야만, 쿠키가 다른 도메인에서 요청될 때도 전송됩니다.
SameSite=Lax나 SameSite=Strict로 설정된 쿠키는 동일 사이트 내에서만 전송됩니다.
결론:
브라우저가 써드파티 쿠키를 허용하는 경우, Domain=yyy.test.com으로 설정된 쿠키는 xxx.test.com에서 iframe이나 다른 방식으로 로드된 yyy.test.com의 리소스를 통해 접근할 수 있습니다.
즉, 쿠키의 도메인 설정이 .test.com으로 되어 있지 않더라도, 써드파티 쿠키로서 접근할 수 있는 것입니다.
그러나 브라우저의 보안 정책과 사용자 프라이버시 보호를 위해 많은 브라우저가 써드파티 쿠키를 차단하고 있으므로, 이를 염두에 두고 대체 방법을 고려하는 것이 좋습니다.
SameSite 속성의 설정에 따라 쿠키의 전송 범위가 결정되며, 브라우저의 써드파티 쿠키 허용 여부와는 별도로 작동합니다. 다음은 SameSite 속성에 따른 동작 방식입니다:
SameSite=Strict:
이 설정은 쿠키가 동일한 사이트 내의 요청에만 전송되도록 합니다. 즉, 사용자가 직접 도메인(예: yyy.test.com)을 방문한 경우에만 쿠키가 전송됩니다.
다른 사이트(예: xxx.test.com)에서 리소스를 요청하는 경우, 쿠키가 전송되지 않습니다. 따라서, Strict 설정된 쿠키는 절대 써드파티 요청에 포함되지 않습니다.
SameSite=Lax:
이 설정은 쿠키가 대부분의 경우 동일한 사이트 내에서만 전송되지만, 사용자가 링크를 클릭하여 이동하는 경우에는 쿠키가 전송될 수 있도록 허용합니다.
예를 들어, yyy.test.com에서 xxx.test.com으로 이동하는 링크를 클릭하면, yyy.test.com의 쿠키가 전송될 수 있습니다. 그러나 이 설정도 대부분의 써드파티 요청에는 쿠키를 포함하지 않습니다.
SameSite=None:
이 설정은 쿠키가 써드파티 요청을 포함한 모든 요청에 전송될 수 있도록 합니다. 쿠키를 None으로 설정하려면 Secure 속성도 함께 설정되어야 합니다. 즉, 쿠키가 HTTPS 연결을 통해서만 전송되도록 해야 합니다.
브라우저의 써드파티 쿠키 허용 여부와 SameSite 속성:
브라우저가 써드파티 쿠키를 허용:
브라우저가 써드파티 쿠키를 허용하는 경우, SameSite=None으로 설정된 쿠키는 다른 도메인에서 요청할 때도 전송될 수 있습니다.
SameSite=Strict 또는 SameSite=Lax로 설정된 쿠키는 브라우저가 써드파티 쿠키를 허용하더라도 동일 사이트 요청에서만 전송됩니다.
브라우저가 써드파티 쿠키를 차단:
브라우저가 써드파티 쿠키를 차단하면, SameSite=None으로 설정된 쿠키도 다른 도메인에서 요청할 때 전송되지 않습니다.
결론:
SameSite=Strict 또는 SameSite=Lax로 설정된 쿠키는 브라우저가 써드파티 쿠키를 허용하더라도 동일 사이트 내에서만 전송됩니다.
SameSite=None으로 설정된 쿠키는 브라우저가 써드파티 쿠키를 허용하는 경우, 다른 도메인에서의 요청에도 전송될 수 있습니다.
브라우저가 써드파티 쿠키를 차단하는 경우, SameSite=None으로 설정된 쿠키도 다른 도메인에서 요청할 때 전송되지 않습니다.
따라서, 써드파티 쿠키를 사용하려면 쿠키의 SameSite 속성을 None으로 설정하고, 브라우저가 써드파티 쿠키를 허용해야 합니다.
써드파티 쿠키 지원이 중단될 때 문제가 되는 쿠키들은 주로 SameSite=None으로 설정되어 있으면서 써드파티 쿠키 역할을 하는 쿠키들입니다.
이 쿠키들은 다음과 같은 이유로 문제가 될 수 있습니다:
문제가 되는 이유:
1. 인증 및 세션 관리:
- 많은 웹사이트는 사용자의 인증 상태와 세션을 유지하기 위해 써드파티 쿠키를 사용합니다.
예를 들어, xxx.test.com이 iframe으로 로드될 때, yyy.test.com의 인증 쿠키가 필요하다면, 브라우저가 써드파티 쿠키를 차단하면 인증이 실패하게 됩니다.
2. 광고 및 트래킹:
- 광고 네트워크와 분석 도구는 사용자의 웹사이트 간 이동을 추적하기 위해 써드파티 쿠키를 사용합니다.
이러한 쿠키는 사용자의 행동을 분석하고 맞춤형 광고를 제공하는 데 중요한 역할을 합니다. 써드파티 쿠키가 차단되면 이러한 기능이 저하됩니다.
3. 사용자 맞춤 설정:
- 사용자 맞춤 설정 정보(예: 언어 설정, 사용자 선호도 등)를 저장하고 다른 도메인에서 접근할 수 있도록 써드파티 쿠키를 사용하는 경우, 이러한 설정이 제대로 작동하지 않을 수 있습니다.
예를 들어 설명:
- yyy.test.com이 xxx.test.com의 iframe을 통해 로드되며, yyy.test.com 도메인의 쿠키가 SameSite=None으로 설정되어 있어 xxx.test.com에서도 접근할 수 있는 상황을 가정합니다.
- 브라우저가 써드파티 쿠키를 차단하면, xxx.test.com의 iframe 내에서는 yyy.test.com의 쿠키에 접근할 수 없게 됩니다.
- 이로 인해, yyy.test.com에서 인증 상태를 확인하거나 세션을 유지할 수 없게 되어, 사용자는 로그아웃 상태가 되거나 세션이 만료되는 문제가 발생할 수 있습니다.
대처 방안:
1. 퍼스트파티 쿠키 사용:
도메인을 통합하거나 공통 루트 도메인(예: .test.com)을 사용하여 퍼스트파티 쿠키로 전환합니다.
2. 토큰 기반 인증:
OAuth 또는 JWT(JSON Web Token)와 같은 토큰 기반 인증 방식을 도입하여 인증 및 세션 관리를 합니다.
3. 서버 사이드 세션 관리:
클라이언트 측 쿠키 대신 서버 측에서 세션 관리를 수행하여 브라우저의 쿠키 제한 영향을 최소화합니다.
4. postMessage API 사용:
도메인 간 데이터를 안전하게 전송하기 위해 postMessage API를 활용합니다.
5. 로컬 스토리지 사용:
도메인별로 격리된 브라우저의 로컬 스토리지를 활용하여 데이터를 저장하고 필요한 경우 데이터 전달을 처리합니다.
이와 같은 방법들을 통해 써드파티 쿠키 제한으로 인한 문제를 완화할 수 있습니다.