🍪

First-Party Setsについて

2021/04/26に公開

概要

Cookie のセキュリティについてです。

party

Cookieにはfirst-partyとthird-partyがあります。
first-partyとは現在訪れているドメインです。
third-partyとは現在訪れているドメインとは違うドメインです。

SameSite Cookies

https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Set-Cookie/SameSite
現在、訪れているドメインから別ドメインにHTTPリクエストを送信するときに、
Cookieをセットするか設定するものです。

これにはStrict、Lax、Noneの3つの種類があります。
Strictはfirst-partyからのリクエストでしかCookieをセットしません。
Laxはthird-partyでもトップレベルナビゲーションでGETリクエストの場合はCookieをセットします。
Noneは制限なくCookieをセットします。
Noneの場合はCSRFの危険性があるため、最新のChromeやEdgeではLaxが標準になっています。

Google Chrome 88ではスキーム(http、https)が別の場合も同じpartyと見なさくなり安全性が向上しました。

First-Party Sets

First-Party Setsとは複数のドメインを同じpartyとして扱えるようにするものです。
実際のWebサイトでは一つの組織が複数のドメインにまたがって運用されていることがあります。
例えば、First-Party Setsを利用すればログイン状態を維持しながらドメインを跨ぐことも可能になります。
この機能はまだ導入予定の段階でGoogle Chromeでは89のバージョンから試用することができます。
下記にブラウザでの設定が書かれています。
https://www.chromium.org/updates/first-party-sets
下記にサイトでの設定が書かれています。
https://github.com/privacycg/first-party-sets

Discussion