パスワード変更用 Well-Known URL

W3C 作業草案,

この文書の詳細
このバージョン:
https://www.w3.org/TR/2024/WD-change-password-url-20240603/
最新公開バージョン:
https://www.w3.org/TR/change-password-url/
編集者草案:
https://w3c.github.io/webappsec-change-password-url/
以前のバージョン:
履歴:
https://www.w3.org/standards/history/change-password-url/
フィードバック:
public-webappsec@w3.org に、件名を「[change-password-url] … メッセージのトピック …」として送信してください(アーカイブ
GitHub
仕様内インライン
編集者:
(Apple Inc.)
(Apple Inc.)

概要

この仕様は、サイトが使用できる well-known URL を定義します。 これにより、パスワード変更フォームをツールから発見可能にします。この単純な 仕組みは、ユーザーがパスワードを変更する方法を見つけるのをソフトウェアが支援する手段を提供します。

この文書のステータス

この節は、公開時点におけるこの文書のステータスを説明します。 現在の W3C 公開物の一覧と、この技術レポートの最新リビジョンは、 https://www.w3.org/TR/ にある W3C 技術レポート インデックスで確認できます。

この文書は、Web Application Security Working Group により、Recommendation トラックを用いる作業草案として公開されました。この文書は W3C Recommendation になることを意図しています。

この仕様についての議論には、(アーカイブ済みの)公開メーリングリスト public-webappsec@w3.org手順を参照) が推奨されます。 電子メールを送信する際は、 件名に “change-password-url” というテキストを入れてください。 できれば次のようにしてください: “[change-password-url] …コメントの概要…

作業草案としての公開は、W3C およびそのメンバーによる承認を意味しません。これは草案文書であり、 いつでも他の文書により更新、置換、または 廃止される可能性があります。この文書を作業中のもの以外として引用することは不適切です。

この文書は、Web Application Security Working Group により作成されました。

この文書は、 W3C Patent Policy の下で活動するグループにより作成されました。 W3C は、このグループの成果物に関連して行われた 特許開示の公開リストを維持しています。 そのページには、特許を開示するための手順も含まれています。 個人が、Essential Claim(s) を含むと信じる特許について実際の知識を有する場合、その個人は W3C Patent Policy 第6節に従って情報を開示しなければなりません。

この文書は、2023年11月03日 W3C Process Document に準拠します。

1. 導入

この節は非規範的です。

クライアント側のパスワード管理ソフトウェアは、認証を必要とする Web サイトのセキュリティと使いやすさの両方を向上させるのに役立ちます。 クロスサイトでのパスワード再利用を減らすことでセキュリティを向上させ、 自動入力機能を提供することで使いやすさを高めます。

サイトには現在、ユーザーがパスワードを変更できる場所をプログラムにより告知する方法がありません。パスワード変更用の well-known URL を提案することで、 この仕様は、それをサポートするサイト上でユーザーがパスワードを変更するのをパスワードマネージャーが支援できるようにします。

2. 基盤

この仕様は Infra Standard に依存します。[INFRA]

この仕様は、 Fetch、 HTML、 HTTP、および URL 標準の用語を使用します。[FETCH] [HTML] [HTTP-SEMANTICS] [URL]

3. パスワード変更 URL

オリジンパスワード変更 URL とは、クライアントが origin 上でユーザーがパスワードを更新するためにどこへ行くべきかを 発見するために使用できるリソースを指す URL です。

origin が与えられた場合、クライアントは次の手順を実行して パスワード変更 URL を生成します:

  1. origin潜在的に信用できるオリジンでない場合、失敗を返します。

  2. 表明: originタプルオリジンです。

  3. url を、次のように値を設定した新しい URL とします:

    scheme

    originscheme

    host

    originhost

    port

    originport

    path

    « ".well-known", "change-password" »。

  4. url を返します。

オリジン "https://example.com/" のパスワード変更 URL は "https://example.com/.well-known/change-password" です。

サーバーは、originパスワード変更 URL への HTTP 要求を、302、303、または 307 の リダイレクトステータスLocation ヘッダーを持つ 応答を返すことで、ユーザーが実際にパスワードを変更できるページへリダイレクトするべきです。[FETCH] [HTTP-SEMANTICS] クライアントは、パスワード変更 URL を要求する際、そのようなリダイレクトを処理しなければなりません。

注記: 上記の段落は、サーバーが一時的なリダイレクトコードを使用するよう制限しています。 Issue 13 を参照してください。

必要な場合、サーバーは、 refresh 状態http-equiv pragma ディレクティブを含む HTML 文書で応答してもかまいません。[HTML] クライアントは、 パスワード変更 URL を要求する際、そのようなリダイレクトを処理するべきです。

サーバーは、RFC8615 §1.1 Appropriate Use of Well-Known URIs に従い、実際のパスワード変更ページを パスワード変更 URL に配置してはなりません。 クライアントは、パスワード変更 URL を要求する際、 ok status 応答を処理しなければなりません。

注記: 実装は、パスワード変更 URL を表示する際に ToUnicode を使用したい場合があります。[IDNA]

[RESPONSE-CODE-RELIABILITY]オリジンの応答ステータスコードの信頼性をテストするを使用する。

4. IANA に関する 考慮事項

4.1. change-password well-known URI

この文書は、“.well-known” URI change-password を定義します。 この登録は、[WELL-KNOWN] で定義されるテンプレートを用いて、 IANA への登録のために、審査、承認、および登録を求めて IESG に提出されます。内容は次のとおりです:

URI suffix

change-password

Change controller

W3C

Specification document(s)

この文書が該当する仕様です。(§ 3 パスワード変更 URLを参照)

Related information:

なし。

謝辞

Anne van Kesteren、 Cl1608Ho、 Dan Bernstein、 David Singer、 Dean Jackson、 Florian Rivoal、 John Wilander、 Maciej Stachowiak、 Mark Nottingham、 Mike West、および Ricky Mondello に、この提案に対するフィードバックを感謝します。そのすべての機能は彼らのものであり、そのすべてのバグは私のものです。

適合性

文書の 慣例

適合性要件は、記述的な表明と RFC 2119 用語の組み合わせにより表現されます。 この文書の規範部分におけるキーワード “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” は、RFC 2119 で説明されているように解釈されます。 ただし、読みやすさのため、 これらの語はこの仕様ではすべて大文字で表示されるとは限りません。

この仕様のすべてのテキストは規範的です。 ただし、非規範的であると明示された節、例、および注記を除きます。[RFC2119]

この仕様の例は、「たとえば」という語で導入されるか、 または規範的テキストから切り離して class="example" により示されます。 次のようになります:

これは情報提供用の例の一例です。

情報提供用の注記は “Note” という語で始まり、 規範的テキストから切り離して class="note" により示されます。 次のようになります:

注記、これは情報提供用の注記です。

適合 アルゴリズム

アルゴリズムの一部として命令形で表現される要件 (たとえば "strip any leading space characters" や "return false and abort these steps") は、そのアルゴリズムを導入する際に使用されるキーワード ("must", "should", "may" など) の意味で解釈されます。

アルゴリズムまたは特定の手順として表現される適合性要件は、 最終結果が等価である限り、 任意の方法で実装できます。 特に、この仕様で定義されるアルゴリズムは 理解しやすいことを意図しており、 パフォーマンスが高いことを意図していません。 実装者は最適化することが推奨されます。

索引

この仕様により定義される用語

参照により定義される用語

参考文献

規範的参考文献

[FETCH]
Anne van Kesteren. Fetch Standard. Living Standard. URL: https://fetch.spec.whatwg.org/
[HTML]
Anne van Kesteren; et al. HTML Standard. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[HTTP-SEMANTICS]
R. Fielding, Ed.; M. Nottingham, Ed.; J. Reschke, Ed.. HTTP Semantics. June 2022. Internet Standard. URL: https://httpwg.org/specs/rfc9110.html
[INFRA]
Anne van Kesteren; Domenic Denicola. Infra Standard. Living Standard. URL: https://infra.spec.whatwg.org/
[RESPONSE-CODE-RELIABILITY]
Ricky Mondello; Theresa O'Connor. Detecting the reliability of HTTP status codes. CG-DRAFT. URL: https://wicg.github.io/change-password-url/response-code-reliability.html
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119
[RFC7231]
R. Fielding, Ed.; J. Reschke, Ed.. Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content. June 2014. Proposed Standard. URL: https://httpwg.org/specs/rfc7231.html
[SECURE-CONTEXTS]
Mike West. Secure Contexts. 10 November 2023. CR. URL: https://www.w3.org/TR/secure-contexts/
[URL]
Anne van Kesteren. URL Standard. Living Standard. URL: https://url.spec.whatwg.org/
[WELL-KNOWN]
M. Nottingham. Well-Known Uniform Resource Identifiers (URIs). May 2019. Proposed Standard. URL: https://www.rfc-editor.org/rfc/rfc8615

参考参考文献

[IDNA]
Mark Davis; Michel Suignard. Unicode IDNA Compatibility Processing. 5 September 2023. Unicode Technical Standard #46. URL: https://www.unicode.org/reports/tr46/tr46-31.html

課題索引

[RESPONSE-CODE-RELIABILITY]オリジンの応答ステータスコードの信頼性をテストするを使用する。