SameSite属性 【SameSite Cookie】

概要

SameSite属性(SameSite Cookie)とは、WebサーバWebブラウザの間でやり取りされるCookie(クッキー)に指定できる属性の一つで、サイトをまたがるアクセス時にクライアントからCookieを送信するか否かを指定するもの。

CookieWebコンテンツの伝送に用いられるHTTPHypertext Transfer Protocol)に用意された仕組みの一つで、サーバからの応答時に任意の文字列データを付与し、クライアントがこれを永続的に保存してサーバへのリクエスト時に毎回送信する。サーバクライアントを識別したり、クライアント側で必要な情報を保管することができる。

SameSite属性はサーバCookieを発行する際に指定することができる属性の一つで、サイトAのリンククリックしてサイトBにアクセスした場合や、サイトAのWebページサイトBの画像ファイルを埋め込んで表示している場合など、サイトをまたぐアクセスわれたときのCookieの扱いについて指定する。

指定値は「None」「Lax」「Strict」の3種類で、HTTPレスポンスの「Set-Cookie:ヘッダで指定することができる。Cookie文字列本体や他の属性と「;」(セミコロン)で区切って「SameSite=Lax」のように指定する。オプションであるため指定しないこともでき、その場合はブラウザ側のデフォルト指定(近年ではLax)に従う。

SameSite=Strict

最も厳しく送信を制限する設定値で、サイト間の遷移(トップレベルナビゲーション)時にも、サイトをまたぐリソースの読み込み時にも、遷移先・参照先のWebサーバに対してCookieを送信しない。遷移先に対しては未ログイン状態となるためサービス間連携などの利便性は低下するが、クロスサイトリクエストフォージェリCSRF)攻撃を効果的に防ぐことができる。

SameSite=Lax

Strictよりは制限を緩和した設定値で、サイト間の遷移(トップレベルナビゲーション)時に遷移先にはCookieを送信し、遷移先でのログイン状態を維持することができる。ただし、POSTメソッドによる遷移(遷移先に情報送信や操作指示をう)や、画像埋め込み、XHRXMLHttpRequest)、iframeタグなどによるサイトをまたぐリソースの読み込み時にはCookieを送信しない。近年の主要ブラウザはSameSite属性が無指定の場合はLaxとする挙動が標準となっている。

SameSite=None

初期には存在しなかったが追加された指定値で、制約なくどのような場合もCookieを送信するよう指示する。近年、無指定の場合のデフォルト値がLax相当の挙動に変更されたため、「送信を制約しない」ことを指示するには明示的にNoneを指定する必要がある。その場合、必ずSecure属性HTTPS接続必須)も併用しなければならないとされている。

同一サイトの範囲

SameSite属性における「同一のサイト」の判定はWebサイトドメイン名によってい、実質的に同一の所有者・管理主体であるとみなせる場合に同じサイトと判断する。具体的には、ドメイン名の階層構造の中で、トップレベルドメインTLD)や、TLDのように単一の所有者を持たないドメインを「eTLD」(effective TLD)と定義し、その次の階層のサブドメイン(eTLD+1)が異なっていれば異なるサイトとみなす。

例えば、「.com」はTLDであるため、「example1.com」と「example2.com」は異なるサイトとなる。一方、「.co.jp」はセカンドレベルのドメインだが、「coドメインの所有者」というものは存在せず、「.co」の部分は単にドメイン属性を表しているだけである。このようなドメインがeTLDで、「example1.co.jp」と「example2.co.jp」はセカンドレベルが共通しているが別のサイトとなる。

.co.jp」のようにドメイン名の割り当て組織が管理するドメイン以外にも、「github.io」のようにドメイン自体が特定の所有者を持ちながら、ユーザーごとにサブドメインを付与するネットサービスなどでも、サブドメイン同士は別サイトであるとみなされる。何がeTLDに当たるのかは機械的に判定することはできず、Public Suffix Listという公開リストを参照して判定している。

なお、スクリプト実行におけるSame Origin(同一オリジン)概念とは異なり、URIスキームの「http://」と「https://」の違い、接続先ポート番号の「www.example.jp:80」と「www.example.jp:443」などの違いは影響せず、これらが異なっていても同じサイトであるとみなされる。

(2022.11.18更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる