見えるセキュリティ

Cookie属性

COOKIE ATTRIBUTES

この概念とは?

Cookie属性とは、Browserに保存されるCookieについて、どのような条件で利用・送信するかを指定するための設定です。属性を使うことで、Browser上のスクリプトからCookieの値へ直接アクセスできるかを制御したり、安全な通信でのみ送信したり、cross-siteの状況や特定のDomain・Pathに対してCookieを送る範囲を指定したりできます。この教材では、代表的なHttpOnly、Secure、SameSite、Domain、Pathに絞って扱います。CookieにはExpiresやMax-Ageなど、ほかの属性もあります。

この教材で扱う基本形では、ServerがSet-CookieでCookieと属性を指定し、Browserがその属性に従ってCookieを扱います。Cookie属性はCookieそのものを暗号化する仕組みではなく、Browserは属性に従って、non-HTTP APIへCookieを公開するか、HTTPリクエストへCookieを含めるかなどを判断します。

THEME
secure-dev
KIND
mechanism
REVIEW
self-reviewed ·
STEP 01 / 03DERIVE · MOVE · TRANSFORM

1. BrowserがCookieを保存する

ServerはBrowserへ2つのCookieを設定します。ひとつはHttpOnlyを付けていないCookie、もうひとつはHttpOnlyを付けたSession Cookieです。BrowserはそれぞれのCookieと属性を保存します。

技術的な詳細を見る

BrowserはCookieの値だけでなく、そのCookieに設定された属性や適用範囲も管理します。このLensではHttpOnlyによる違いへ集中するため、DomainやPathなど他の条件は満たしているものとして扱います。

STEP 1 / 3: BrowserがCookieを保存する

現在のSTEP 1STEP 2STEP 3

この概念の要点

  • 要点

    ServerはSet-Cookieで属性を指定し、Browserが適用する

    この教材で扱う基本形では、ServerがSet-CookieでCookieと属性を指定します。その後、Browserが保存した属性を確認し、Cookieをスクリプトへ公開するか、HTTPリクエストへ含めるかなどを判断します。

  • 要点

    HttpOnlyはCookieを暗号化する属性ではない

    HttpOnlyが付いたCookieはBrowser内には保存されたままですが、non-HTTP APIからの取得対象から除外されます。一方で、他の送信条件を満たせばHTTPリクエストには付加されます。

理解確認

HttpOnlyが付いたCookieについて、最も適切な説明はどれですか?

参考資料

RELATED CONCEPTS