用語辞典・標準化・インターネット組織

Public Suffix List

Public Suffix Listとは

Public Suffix List(パブリック・サフィックス・リスト/PSL・ピーエスエル)は、ブラウザなどがCookieの登録単位を判断できるよう、公開サフィックスをまとめた一覧です。

公開サフィックスは、インターネット利用者がその直下へ独立した名前を登録・利用できる境界です。comのようなTLDだけでなく、制度上二階層目までが登録境界になるサフィックスや、ホスティングサービスが利用者へ割り当てるサブドメインも含まれます。

ドメイン名を右から二つに切れば常に登録ドメインになるわけではありません。サフィックスの深さは登録機関制度やサービスによって異なるため、PSLという保守されたデータで判断します。

ドメイン階層木の異なる深さに登録境界を置くブラウザーがCookie・サイト分離の単位を誤って上位へ広げないようにする
ドメイン名の木構造で公開サフィックス境界が枝ごとに異なる深さにあり、更新リストをブラウザーへ配ってCookieを登録可能ドメインごとに分離する様子を示すピクトグラム図解
図1PSLは上位サフィックス全体へCookieを置けないようにし、互いに無関係な登録者やサービス利用者の境界を守ります。

公開サフィックスと登録可能ドメイン

公開サフィックス登録者を分ける境界

原則として、そのサフィックス自体へ利用者サイトのCookieを設定させません。

登録可能ドメインサフィックスの直前を一ラベル足した単位

eTLD+1とも呼ばれ、登録者・利用者を識別する基準になります。

サブドメイン登録可能ドメインの内側

同じ管理者が用途別に作る名前ですが、委任やサービスで別主体になる場合もあります。

ホスト名実際のサービスを表す名前

Web、メール、APIなどの接続先を示し、登録可能ドメインより深いことがあります。

例としてshop.example.comでは、PSLにcomがあれば公開サフィックスはcom、登録可能ドメインはexample.comshopはそのサブドメインです。実際の結果はその時点のPSLで確かめます。

なぜTLDリストだけでは足りないのか

国別ドメインにはco.xxのような分類型二階層ドメインを使う制度があります。またクラウド・ブログ・動的DNSなど、一つの事業者ドメイン直下を別々の利用者へ貸すサービスがあります。その境界を知らないブラウザーは、ある利用者のCookieを隣の利用者へ送る危険があります。

DNSだけを問い合わせても「どのラベルから別の登録者になれるか」は分かりません。NS委任の有無とも一致しないため、人が管理する方針リストが必要です。

ICANN区分とPRIVATE区分

区分主な内容例の考え方
ICANN登録機関が運用するTLD・登録制度上のサフィックスTLDや分類型登録階層
PRIVATEサービス提供者が利用者を分離するため申請したサフィックスホスティング・基盤の利用者サブドメイン境界

PRIVATEという名前は秘密・非公開という意味ではありません。リスト自体は公開され、プライベート組織が運用するサービス境界を収録する区分です。アプリケーションによっては両区分を使うかICANN区分だけ使うか要件を分けます。

ワイルドカード規則と例外規則

*.exampleのようなワイルドカード規則は、直下の任意ラベルまで公開サフィックスとして扱います。一方、!city.exampleのような例外規則は、ワイルドカードに含まれる特定名を一段手前へ戻します。

単純なサフィックス文字列検索では正しく判定できません。PSLの公式アルゴリズムまたは十分に保守されたライブラリーを使い、IDNはドメイン処理仕様に従って正規化してから照合します。

ブラウザーやアプリケーションでの利用

  1. CookieのDomain属性を制限する公開サフィックス全体へCookieを置き、別登録者へ送る攻撃を防ぎます。
  2. 同一サイトの境界を求める方式と登録可能ドメインを基に、Cookieなどのサイト関係を判定します。
  3. 保存領域・手続きを分離するブラウザーが安全性・プライバシー境界を作る補助データとして使います。
  4. 証明書ワイルドカードを補助判断する実装やCA方針が危険な上位ワイルドカードを扱う際の参考にします。

リストは更新される

登録機関制度や基盤サービスは追加・終了・移行します。アプリケーションへ古いPSLを固定すると、新しい境界を誤判定します。ライブラリー・ブラウザーの更新に含めるか、信頼できる配布元から更新し、変更時の互換性も試験します。

PSLは全Webサイト、全ドメイン登録、DNS記録の一覧ではありません。リストにないドメインが存在しないという意味にも、リストにあるサフィックスが現在新規登録可能という保証にもなりません。

Public Suffix Listは、TLDだけでは表せないドメイン登録・利用者分離の境界をブラウザーへ教えます。Cookieや同一サイトの安全性判断では、末尾二ラベルの自作規則を使わず、更新されたPSLと正式な照合手順を使います。

PSLの目的と利用:Public Suffix List「Learn More」/リスト構造とアルゴリズム:Public Suffix List

関連用語