Thu, 29 Aug 2019 02:51:47 +0000
Paul A. Grassi
Justin P. Richer
Sarah K. Squire
James L. Fenton
Ellen M. Nadeau
Privacy Authors:
Naomi B. Lefkovitz
Jamie M. Danker
Usability Authors:
Yee-Yin Choong
Kristen K. Greene
Mary F. Theofanos
This publication is available free of charge from:
https://doi.org/10.6028/NIST.SP.800-63c
Paul A. Grassi Ellen M. Nadeau Applied Cybersecurity Division Information Technology Laboratory |
James L. Fenton Altmode Networks Los Altos, Calif. |
Justin P. Richer Sarah K. Squire Bespoke Engineering Billerica, Mass. |
|
Privacy Authors: Naomi B. Lefkovitz Applied Cybersecurity Division Information Technology Laboratory Jamie M. Danker National Protection and Programs Directorate Department of Homeland Security |
Usability Authors: Yee-Yin Choong Kristen K. Greene Information Access Division Information Technology Laboratory Mary F. Theofanos Office of Data and Informatics Material Measurement Laboratory |
翻訳者: Nov Matake YAuth.jp LLC |
This publication is available free of charge from:
https://doi.org/10.6028/NIST.SP.800-63c
June 2017
U.S. Department of Commerce
Wilbur L. Ross, Jr., Secretary
National Institute of Standards and Technology
Kent Rochford, Acting NIST Director and Under Secretary of Commerce for Standards and
Technology
This publication has been developed by NIST in accordance with its statutory responsibilities under the Federal Information Security Modernization Act (FISMA) of 2014, 44 U.S.C. § 3551 et seq., Public Law (P.L.) 113-283. NIST is responsible for developing information security standards and guidelines, including minimum requirements for federal information systems, but such standards and guidelines shall not apply to national security systems without the express approval of appropriate federal officials exercising policy authority over such systems. This guideline is consistent with the requirements of the Office of Management and Budget (OMB) Circular A-130.
Nothing in this publication should be taken to contradict the standards and guidelines made mandatory and binding on federal agencies by the Secretary of Commerce under statutory authority. Nor should these guidelines be interpreted as altering or superseding the existing authorities of the Secretary of Commerce, Director of the OMB, or any other federal official. This publication may be used by nongovernmental organizations on a voluntary basis and is not subject to copyright in the United States. Attribution would, however, be appreciated by NIST.
National Institute of Standards and Technology Special Publication 800-63C
Natl. Inst. Stand. Technol. Spec. Publ. 800-63C, 48 pages (June 2017)
CODEN: NSPUE2
This publication is available free of charge from:
https://doi.org/10.6028/NIST.SP.800-63c
Certain commercial entities, equipment, or materials may be identified in this document in order to describe an experimental procedure or concept adequately. Such identification is not intended to imply recommendation or endorsement by NIST, nor is it intended to imply that the entities, materials, or equipment are necessarily the best available for the purpose.
There may be references in this publication to other publications currently under development by NIST in accordance with its assigned statutory responsibilities. The information in this publication, including concepts and methodologies, may be used by federal agencies even before the completion of such companion publications. Thus, until each publication is completed, current requirements, guidelines, and procedures, where they exist, remain operative. For planning and transition purposes, federal agencies may wish to closely follow the development of these new publications by NIST.
Organizations are encouraged to review all draft publications during public comment periods and provide feedback to NIST. Many NIST cybersecurity publications, other than the ones noted above, are available at http://csrc.nist.gov/publications/.
Comments on this publication may be submitted to:
National Institute of Standards and Technology
Attn: Applied Cybersecurity Division, Information Technology Laboratory
100 Bureau Drive (Mail Stop 2000) Gaithersburg, MD 20899-2000
Email: dig-comments@nist.gov
All comments are subject to release under the Freedom of Information Act (FOIA).
The Information Technology Laboratory (ITL) at the National Institute of Standards and Technology (NIST) promotes the U.S. economy and public welfare by providing technical leadership for the Nation’s measurement and standards infrastructure. ITL develops tests, test methods, reference data, proof of concept implementations, and technical analyses to advance the development and productive use of information technology. ITL’s responsibilities include the development of management, administrative, technical, and physical standards and guidelines for the cost-effective security and privacy of other than national security-related information in federal information systems. The Special Publication 800-series reports on ITL’s research, guidelines, and outreach efforts in information system security, and its collaborative activities with industry, government, and academic organizations.
This document and its companion documents, SP 800-63, SP 800-63A, and SP 800-63B, provide technical and procedural guidelines to agencies for the implementation of federated identity systems and for assertions used by federations. This publication supersedes corresponding sections of SP 800-63-2.
These guidelines provide technical requirements for federal agencies implementing digital identity services and are not intended to constrain the development or use of standards outside of this purpose. This guideline focuses on the use of federated identity and the use of assertions to implement identity federations. Federation allows a given credential service provider to provide authentication and (optionally) subscriber attributes to a number of separately-administered relying parties. Similarly, relying parties may use more than one credential service provider.
assertions; authentication; credential service provider; digital authentication; electronic authentication; electronic credentials; federations.
The authors gretefully acknowledge Kaitlin Boeckl for her artistic graphics contributions to all vulumed in the SP 800-63 suite and the contributions of our many reviewers, including Joni Brennan from the Digital ID & Authentication Council of Canada (DIACC), Kat Megas and Ben Piccarreta from NIST, and Christine Abruzzi and Danna Gabel O’Rourke from Deloitte & Touche LLP.
The authors would also like to acknowledge the thought leadership and innovation of the original authors: Donna F. Dodson, Elaine M. Newton, Ray A. Perlner, W. Timothy Polk, Sarbari Gupta, and Emad A. Nabbus. Without their tireless efforts, we would not have had the incredible baseline from which to evolve 800-63 to the document it is today. In addition, special thanks to the Federal Privacy Council’s Digital Authentication Task Force for the contributions to the development of privacy requirements and considerations.
The terms “SHALL” and “SHALL NOT” indicate requirements to be followed strictly in order to conform to the publication and from which no deviation is permitted.
The terms “SHOULD” and “SHOULD NOT” indicate that among several possibilities one is recommended as particularly suitable, without mentioning or excluding others, or that a certain course of action is preferred but not necessarily required, or that (in the negative form) a certain possibility or course of action is discouraged but not prohibited.
The terms “MAY” and “NEED NOT” indicate a course of action permissible within the limits of the publication.
The terms “CAN” and “CANNOT” indicate a possibility and capability, whether material, physical or causal or, in the negative, the absence of that possibility or capability.
3. Definitions and Abbreviations
4. Federation Assurance Levels
9. Privacy Requirements and Considerations
This section is informative.
本リコメンデーションと付随ドキュメント SP 800-63, SP 800-63A, SP 800-63B では, Credential Service Provider (CSP) が Digital Authentication を実装する際の技術的ガイドラインを示す.
本ドキュメント SP 800-63C では, Federated Identity システムにおける Identity Provider (IdP) と Relying Party (RP) に対する要件を示す. Federation を利用すると, ある一つの IdP が, 独立して個別管理された複数の RP に対して, Assertion を通じて, Authentication と (オプションで) Subscriber の Attribute を提供することができる. 同様に RP が複数の IdP を利用することもできる.
This section is informative.
Federation は Network 接続されたシステム間で Authentication および Subscriber Attribute の情報を伝達可能にするプロセスです. Federation シナリオでは Verifier ないし CSP は Identity Provider / IdP と呼ばれ, RP は IdP が提供する情報を受け取り利用する主体となる.
Federated Identity システムは, 上記タスクを完遂するために Assertion を利用する. Assertion は, IdP から RP に当てた Subscriber に関する情報を含んだステートメントである. Federation 技術は, 一般的に RP と IdP が異なる主体であり, 異なる管理下にある場合に利用される. RP は Assertion に含まれる情報を利用して Subscriber を識別し, RP が管理下に置くリソースに Subscriber が Access する際の Authorization 決定を行う. Assertion は通常 Subscriber の識別子を含み, 過去の RP とのインタラクションと Subscriber を紐づけることを可能にする. Assertion はさらに Attribute Value や Attribute Reference を含み, RP での Authorization 決定の際に Subscriber についてのより詳しい特徴を伝えることもある. より大規模な Federation プロトコルにおいては, Attribute が Assertion の外でやり取りされることもある. こういった Attribute Value や Attribute Reference は, Attribute Based Access Control (ABAC) における Access 権限の決定に使われたり, トランザクションを促進 (e.g., 配送先住所) したりする.
Federated Identity シナリオでは, Subscriber は RP に対して直接 Authenticate するわけではない. その代わり, Federation プロトコルを定義し, 通常は RP からのリクエストに応じたレスポンスとして, IdP が Subscriber に紐づいた識別子に対する Assertion を生成する手段をもうける. IdP は (SP 800-63B, Section 7 に述べた Session 管理を使うかもしれないが) Subscriber を責任を持って Authenticate する. このプロセスにより, Subscriber は個々の RP に対して独立した Credential を所有・管理することなく, 複数の RP からサービスを受けることができる. また Single Sign On も可能となり, Subscriber はひとたび IdP に対して Authenticate すれば, それ以降複数の RP からサービスを受けることもできる.
Federation には, セキュリティーとプライバシーに関する繊細な要件があり, 注意深い考慮を必要とする, 比較的複雑なマルチパーティープロトコルが必要である. 特定の Federation 構造を評価する際は, 構成要素間のインタラクションに分解すると有益かもしれない. 一般的に, Subscriber と IdP の間の Authentication は SP 800-63B で述べた Authentication 方式に基づいて行われ, IdP と RP の間のインタラクションは SP 800-63A で述べた手順により確立された Attribute およびその他の Self-asserted Attribute を伝達するものとなる. したがって, 本ドキュメントで提示される多くの要件は, これら2つのドキュメントの該当する要件と何らかの関係を有す.
下表は, 本ドキュメントのどのセクションが Normative (規範) であり, どのセクションが Informative (参考) であるかを示している.
Section Name | Normative/Informative |
---|---|
1. Purpose | Informative |
2. Introduction | Informative |
3. Definitions and Abbreviations | Informative |
4. Federation Assurance Level (FAL) | Normative |
5. Federation | Normative |
6. Assertion | Normative |
7. Assertion Presentation | Normative |
8. Security | Informative |
9. Privacy Considerations | Informative |
10. Usability Considerations | Informative |
11. Examples | Informative |
12. References | Informative |
用語定義および略語については, 全て SP 800-63 Appendix A を参照のこと.
This section is normative.
本セクションでは, 許容可能な Federation Assurance Level, FAL を定義する. FAL はある Transaction において Assertion を構成および保護するための要件について述べたものである. これらのレベルは, ある Transaction において RP が要求することもあれば, RP と IdP との間の設定で必要とされることもある.
すべての Assertion は Section 4 に述べるように Federation プロトコルと共に用いなければならない (SHALL). すべての Assertion は Section 6 に詳説する要件に従わなければならない (SHALL). すべての Assertion は Section 7 に述べるいずれかの方法で提示されなければならない (SHALL). 多様な Federation 実装パターンがありうるが, FAL はよりセキュアな構築オプションを示す明確な推奨事項を提供することを意図している. FAL の表に無いさまざまな側面がありうるが, それらは本 Vol. の扱うところではない. 最適な FAL の詳しい選択方法については SP 800-63 Section 6.3 を参考のこと.
本表は各 FAL ごとに異なる要件を示す. 一連の各レベルは, より低いレベルのすべての要件を含み, 満たしている. プロキシを介した Federation は, プロキシされる Transaction の中で最も低いレベルとなるものとする (SHALL).
Table 4-1 Federation Assertion Levels
FAL | Requirement |
---|---|
1 | Bearer assertion, signed by IdP. |
2 | Bearer assertion, signed by IdP and encrypted to RP. |
3 | Holder of key assertion, signed by IdP and encrypted to RP. |
例えば, FAL1 は特に機能追加の無い OpenID Connect Basic Client プロファイルや Security Assertion Markup Language (SAML) Web SSO Artifact Binding プロファイルに相当する. FAL2 は, それに加え Assertion (e.g., the OpenID Connect ID Token ないしは SAML Assertion) に対する RP の公開鍵による暗号化を要求する. FAL3 では, FAL2 のすべての要件に加え, Subscriber が暗号論的に Assertion に紐づく鍵の所有証明を行う (e.g., Cryptographic Authenticator を利用) 必要がある. FAL3 で新たに登場した鍵は Subscriber が IdP に対して Authenticate する際に利用する鍵と同一でなくてもいい.
RP のリクエストやプロトコルの要件に関わらず, RP は Federation プロトコルにおいて提示される Assertion の性質を観察するだけで, 容易に利用している FAL を知ることができる. したがって RP は, 特定の Authentication Transaction において受け入れる FAL を決定し, 当該 Transaction が FAL 要件を満たすことを保証する責任がある.
RP が Section 7.2 にある Front-channel 提示手法 (e.g., OpenID Connect Implicit Client プロファイルや SAML Web SSO プロファイル) を用いている場合, Assertion に含まれる情報が意図した RP をのぞく Transaction 中のブラウザやその他の主体に漏洩することを防ぐため, FAL2 以上が必要となる (SHALL).
さらに IdP は, SP 800-53 に定義されている Moderate ないしは High 基準のセキュリティー制御やそれに相当する連邦政府標準 (e.g., FEDRAMP) や業界標準から, (制御強化を含む) 適切に適合したセキュリティー制御を採用しなければならない (SHALL).
どの FAL においても, IdP は Assertion を Approved Cryptography による署名および鍵で保護し, RP がその他の RP に対して IdP になりすますことができないよう保証しなければならない (SHALL). Assertion が Asymmetric Key を使った Digital Signature により保護されている場合, IdP は同じ Public Key と Private Key のペアを複数の RP に対する署名に利用することができる (MAY). IdP は, 自身の Public Key を, HTTPS で保護された周知の URL を通じてなど, 検証可能な形で公開することもできる (MAY). Assertion が Shared Key を用いた MAC によって保護されている場合, IdP は RP ごとに異なる Shared Key を使わねばならない (SHALL).
政府が運営する AAL2 での Authentication を行う IdP と AAL3 での Authentication を行うすべての IdP は, FIPS 140 Level 1 以上の手段で Assertion の署名および暗号化に使う鍵を保護しなければならない (SHALL).
Federate するという事実をもって情報を提供する許可を得たと解釈してはならない (SHALL NOT). Authentication を行うかどうかや Attribute を提供するかどうかは, ホワイトリストやブラックリスト, Authorized な主体によるランタイムでの決断などによって決定されることもある.
IdP は RP のホワイトリストを作成し, そこに含まれる RP に対しては Subscriber によるランタイムでの決断なしに IdP による Authentication 結果や Attribute を受け取れるようにすることもできる (MAY). IdP のホワイトリストに含まれるすべての RP は, SP 800-63 スイートの規定と要件に従わなければならない (SHALL). IdP は, Section 9.2 にあるように, Subscriber がホワイトリストを確認可能にするものとする (SHALL). IdP は RP のブラックリストを作成し, そこに含まれる RP に対しては Subscriber からの要求があっても IdP による Authentication 結果や Attribute を受け取れないようにすることもできる (MAY). ホワイトリストにおいてもブラックリストにおいても, 利用する Federation プロトコルごとに, RP はドメインや十分にユニークな識別子を用いて識別されることとなる. ホワイトリストにもブラックリストにも含まれない RP はグレーゾーンに配置し, そういった RP に対しては Authorized な主体によるランタイムでの決断に基づいた処理を行うこととする (SHALL). ここでいう Authorized な主体とは, 通常 Subscriber を指す. IdP はある RP に対する Subscriber の Authorization の決定を記憶してもよい (MAY). ただしその場合 IdP は Subscriber が記憶済 Access を将来無効化できるようにすること (SHALL).
RP は IdP のホワイトリストを作成し, そこに含まれる IdP に関しては Subscriber によるランタイムでの決断なしに Authentication 結果や Attribute を受け入れるようにしてもよい (MAY). RP のホワイトリストに含まれるすべての IdP は, SP 800-63 スイートの規定と要件に従わなければならない (SHALL). RP は IdP のブラックリストを作成し, そこに含まれる IdP に関しては Subscriber からの要求があっても Authentication 結果や Attribute を受け入れないようにすることもできる (MAY). ホワイトリストにおいてもブラックリストにおいても, 利用する Federation プロトコルごとに, IdP はドメインや十分にユニークな識別子を用いて識別されることとなる. ホワイトリストにもブラックリストにも含まれない IdP はグレーゾーンに配置し, そういった IdP に対しては Authorized な主体によるランタイムでの決断に基づいた処理を行うこととする (SHALL). ここでいう Authorized な主体とは, 通常 Subscriber を指す. RP はある IdP に対する Subscriber の Authorization の決定を記憶してもよい (MAY). ただしその場合 IdP は Subscriber が記憶済 Access を将来無効化できるようにすること (SHALL).
たとえ相互にホワイトリストに含まれていたとしても, Section 5.2 に記載する目的以外では, Subscriber に関する情報を IdP と RP の間でやりとりしてはならない (SHALL NOT).
Authorize なしでのセンシティブ情報の漏洩リスク (e.g., ショルダーサーフィング) を軽減するため, IdP はデフォルトではセンシティブ情報をマスクして Subscriber に提示すること (SHALL). IdP は一時的にそれらのマスクを外す手段を Subscriber に提供し, Subscriber が全体の値を閲覧できるようにすること (SHALL). IdP は Subscriber の苦情や問題 (e.g., Subscriber によって Attribute Value が不正確であることが発見される) の是正のための有効な手段を提供すること (SHALL). マスキングと是正についての詳細については, Section 10 のユーザビリティーの考察を参照のこと.
Subscriber がランタイムでの決断を行う場合, Subscriber は明示的な通知を受け取り, Subscriber の Attribute が RP に送信される前に肯定的な確認を行えなければならない (SHALL). 最低限 Section 9.2 に従って, 最も効果的な通知を行える立場にあり, 確認を得ることになる主体が, 通知を行うべきである (SHOULD). もし利用するプロトコルでオプショナルな Attribute が利用可能であれば, Subscriber はそれらの Attribute を RP に提供するか否かの選択肢を与えられなければならない (SHALL). IdP はなんらかの記憶メカニズムを採用し, 同一 RP に対して同一 Attribute を再送するようにしてもよい (MAY).
This section is normative.
Federation プロトコルでは, Figure 5-1 に示すように Subscriber, IdP, RP の3者の関係が構築される. 各プロトコルによってどのタイムングでどの主体の間でどんな情報がやりとりされるかは異なる. Subscriber は通常ブラウザーを介して IdP と RP の両方とコミュニケーションをとる. RP と IdP の間のコミュニケーション方法は2通りある.
Figure 5-1 Federation
Subscriber は IdP に対して Authenticate し, Authentication イベントの結果が RP に対して Network 経由で提示される. この Transaction において, IdP は SP 800-63B にあるように Credential の Verifier として振る舞う. IdP はこのプロセスにおいて Subject に関する Attribute ステートメントを作成することも可能である. Attribute と Authentication イベントの情報は, Section 6 にあるように Assertion を通じて RP に伝送される. さらなる Attribute が Authorized Credential で保護されたセカンダリープロトコルを通じてやりとりされることもある (MAY).
Authentication サービスを提供する IdP とそれを利用する RP は Federation の参加者として知られている. IdP の視点から見れば, Federation は自身がサービス提供をする RP から構成される. RP の視点から見れば, Federation は自身が利用する IdP から構成される. 本セクションでは, 今日使われている一般的 Identity Federation モデルに対する要件を概観する. 各モデルにおいて, Federation 参加者間の関係性が確立される.
手動の Registration モデルでは, IdP と RP が手動で相互運用する相手に関する設定情報を用意する. IdP は明示的ホワイトリストによって RP を設定し, そこに含まれる RP に関しては Authentication Transaction 中で Authentication や Attribute に関する情報を受け取れるようにしてもよい (MAY). RP がホワイトリストに含まれない場合は, IdP はユーザー情報を提供する前に Authorized な主体によるランタイムでの決断 (Section 4.2 参照) を要求とすることとする (SHALL).
Figure 5-2 Manual Registration
Figure 5-2 に示す通り, 手動の Registration は以下の3ステップからなる.
RP のシステム管理者が RP の Attribute を IdP のシステム管理者に共有し, IdP のシステム管理者はその Attribute を RP に関連づける.
IdP のシステム管理者が IdP の Attribute を RP のシステム管理者に共有し, RP のシステム管理者はその Attribute を IdP に関連づける.
その後 IdP と RP は標準的 Federation プロトコルを使ってコミュニケーションする.
IdP と RP は, 自身を自身のオーソリティーとしてもよいし (MAY), Section 5.1.3 のようにオーソリティー権限を外部の主体に移譲してもよい (MAY).
鍵情報の伝送を必要とするプロトコルでは, Rigistration プロセスにおいてセキュアな方法で Federated な関係性の運用に必要な鍵情報を交換すること (SHALL). これには Shared Secret も Public Key も含まれる. この関係性を示すために利用される鍵が Symmetric Key である場合は, Federation 参加者ペア毎にユニークでなければならない (SHALL).
Federation の関係性に対して, 期待され許容される IAL および AAL についてのパラメーターを確立すること (SHALL).
Federation の動的な Registration モデルでは, Transaction 実行時に Federation 参加者間でその関係性を取り決めるすることが可能である. このプロセスにおいて IdP と RP は, 手動 Registration (Section 5.1.1 参照) により手動でコネクションを確立することなく, 相互接続することができる. 動的 Registration をサポートする IdP は, 自身の設定情報 (動的 Registration のエンドポイント等) を取得可能にし, システム管理者の関与を最小化すること (SHALL).
Figure 5-3 Dynamic Registration
Figure 5-3 に示す通り, 動的な Registration は以下の4ステップからなる.
発見. RP は IdP の周知な場所に行き, IdP のメタデータを発見する.
確認. RP と RP はお互いの正当性を確認する. これには鍵情報やメタデータ, Software Statement, その他の方法などが利用できる.
RP Attribute の登録. RP は自身の Attribute を IdP に送り, IdP はその Attribute を当該 RP に関連づける.
Federastion プロトコル. IdP と RP は標準の Federation プロトコルを使ってコミュニケーションする.
鍵情報の伝送を必要とするプロトコルでは, Rigistration プロセスにおいてセキュアな方法で Federated な関係性の運用に必要な鍵情報を交換すること (SHALL). これには Shared Secret も Public Key も含まれる. この関係性を示すために利用される鍵が Symmetric Key である場合は, Federation 参加者ペア毎にユニークでなければならない (SHALL).
IdP はユーザー情報を提供する前に Authorized な主体 (Subscriber 等) によるランタイムでの決断 (Section 4.2 参照) を要求とすることとする (SHALL). 動的 Registration を行う RP を受け入れる IdP は, そういった RP が利用できる Attribute やその他の情報のタイプを制限してもよい (MAY). 動的 Registration を利用可能な RP は, Identity 情報を受け入れる IdP を制限してもよい (MAY).
動的 Registration モデルの参加者は, しばしばお互いのことを事前に知らないことがある. 可能であれば, Federation 参加者が動的に登録した RP の Attribute のいくつかを暗号論的に検証できるよう, Software Statement により補強すべきである (SHOULD). Software Statement は RP ソフトウェアに関する Attribute を列挙したものであり, オーソリティー (IdP 自身, Section 5.1.3 にある Federation Authority, その他の信頼できる主体) により暗号論的に署名されている. この暗号論的に検証可能なステートメントにより, Self-asserted Attribute のみに頼る必要がなくなり, Federation 参加者間のコネクションを確立ないし向上させることができる. (RFC 7591 Section 2.3 にあるプロトコルにおける Software Statement の実装に関する詳しい情報がある)
一部の Federation 参加主体は, Federation の決定および主体間の関係性構築に関して, Federation Authority と呼ばれるオーソリティーに従う. このモデルでは, Federation Authority は Federation に参加する各主体に対して一定レベルの審査を実施し, 所定のセキュリティーおよび完全性基準を遵守しているかを検証するのが一般的である. もし審査を行う場合, 審査レベルは Federation のユースケースやモデルごとにユニークとなる. Figure 5-4 にはこの審査についての描写がある.
Federation Authority は, IdP が特定の IAL, AAL, FAL で運営することを承認する. この情報は, Figure 5-4 右にあるように, Relying Party によって利用され, どの Identity Provider が当該 RP の要件に合うかの判断材料となる.
Federation Authority は, 自身が有効化する Federated な関係性に関して, 期待され受入可能な IAL, AAL, FAL に関するパラメーターを規定すること (SHALL). Federation Authority は, Federation 参加者を個別に審査し, 期待されるセキュリティー, Identity およびプライバシー基準に準拠しているかを判断すること (SHALL).
Figure 5-4 Federation Authority
IdP および RP の審査には, 最低限以下のような項目を確認すること (SHALL).
Federation Authority は, IdP の設定データを公開したり RP 向けに Software Statement を発行するなど, メンバー間の技術的接続および設定プロセスを支援してもよい (MAY).
オーソリティーに管理された Federation は, ほとんどの場合シンプルなメンバーシップモデルを形成する. このモデルでは, ある主体が Federation に参加しているか否かのみを扱う. より洗練された Federation においては, 複数のメンバーシップ階層が設けられ, ある主体が他の主体に比べてより入念に審査されたかどうかを知ることができるようになっていることもある (MAY). IdP はある Subscriber の情報を一定以上の階層の RP にのみ受け渡すようにしてもよいし (MAY), RP はある情報を一定以上の階層の IdP からのみ受け入れるようにしてもよい (MAY).
Proxied Federation では, IdP と RP の通信は2者間の直接通信を妨げる形で仲介される. これを実現する方法は複数あるが, 共通事項として以下のような項目が挙げられる.
Proxy を利用する場合, 当該 Proxy は一方で IdP として振る舞い, もう一方では RP として振る舞う. したがって, IdP と RP に求められる全ての Normative 要件が, 当該 Proxy にも課せられる (SHALL).
Figure 5-5 Federation Proxy
Proxied Federation モデルにはいくつかの利点がある. Federation Proxy においてインテグレーションのための共通インターフェースを提供することで, RP と IdP の技術的インテグレーションを単純化することができる. さらに, Proxy が RP と IdP を互いに効果的にブラインドことで, Subscriber のリストを相互に保護したい組織間でのビジネス上の機密性を実現することもできる. また, Proxy は Section 5.2 に述べるようにいくらかのプライバシーリスクを低減することもできる.
ブラインディング技術とその利用, 限界に関しては, Section 9.5 に詳しい.
Federation には, それ以外では Transaction に関与しない第三者である IdP からの, 個人の Attribute の転送がつきものである. さらに Federation では, 潜在的に IdP が Subscriber の活動に関する広い視野を持つ. したがって, Federation には特別なプライバシー要件がある.
RP と IdP の間の通信は, Subscriber が Transaction を実行している IdP に明らかになりうる. 複数の RP と通信することで, IdP は Subscriber Transaction のプロファイルを作成することができる. これは Federation なしではなしえない. このアグリゲーションにより, Subscriber のトラッキングや, Subscriber のプライバシー上の利益に必ずしも一致しないプロファイル情報の利用が可能となりうる.
IdP は, ある RP における Subscriber の活動情報をいかなる主体にも開示してはならず, Federated Authentication とそれに関連する不正防止, 法律や法的手続きへの従属, ユーザーからの当該情報の送信を求める特定の要求への応答以外の目的で, Subscriber の情報を利用してはならない (SHALL NOT). IdP は, Section 6.3 に述べる Pairwise Pseudonymous Identifier やプライバシーを強化する暗号化プロトコルといった技術的手段を利用して, Unlinkability を提供したり Subscriber に対する行動トラッキングやプロファイリングを妨げるべきである (SHOULD).
IdP は, 例えば毀損した Subscriber アカウントの情報などのSubscriber の活動情報を, セキュリティー目的で Federation 範囲内の他の RP に開示してもよい (MAY).
以下の要件は, 特に政府機関に適用される.
機関は, 自身の Senior Agency Official for Privacy (SAOP) と協議し, Privacy Act の要件が, IdP として機能する機関か RP として機能する機関, またはその両方に適用されるかどうか判断すべく分析を行うこととする (SHALL).
機関は, 適用可能な場合, System of Records Notice (SORN) のカバレッジを公表ないし割り出さなければならない (SHALL).
機関は, 自身の SAOP と協議し, E-Government Act の要件が, IdP として機能する機関か RP として機能する機関, またはその両方に適用されるか判断すべく分析を行うこととする (SHALL).
機関は, 適用可能な場合, Privacy Impact Assessment (PIA) のカバレッジを公表ないし割り出さなければならない (SHALL).
Federated な環境では, RP は自身の Session を IdP の Session とは別に管理する. RP の Session は RP が IdP からの Federation プロトコルを処理するタイミングで開始される. Federated ログイン時に, Subscriber が IdP にすでに Session を持っていることもあり (MAY), その Session が RP に対する Authentication プロセス中で利用されることもある (MAY). IdP は IdP での最新の Authentication イベントの時刻に関する情報を伝達せねばならず (SHALL), RP は自身のアクセスポリシー決定にこの情報を利用しても良い (MAY). 利用する Federation プロトコルの性能によっては, IdP は RP が IdP による Subscriber の Re-authenticate を Federation リクエスト中で要求できるようにすべきである (SHALL).
Federated システムはその特徴として分散しているため, Subscriber は IdP と RP の Session を互いに独立して終了させることができる. RP は, Federated ログインができたからといって, Subscriber が IdP においてアクティブな Session を持っていると仮定してはならない (SHALL NOT). IdP は IdP における Subscriber Session の終了がダウンストリーム RP の任意の Subscriber Session に伝搬すると仮定してはならない (SHALL NOT).
Session Management 要件に関する詳細は SP 800-63B Section 7 を参照のこと.
This section is normative.
Authentication 目的で利用される Assertion は, Federated Identity システム内で IdP から RP に伝搬される, Authenticated Subscriber に関するもしくは Authenticated Subscriber に紐づいた, Attribute Value や Attribute Reference のパッケージ化されたセットである. Assertion は Assertion Metadata, Subscriber に関する Attribute Value や Attribute Reference, RP が利用できるその他の情報 (制約や有効期限など) など, 多様な情報を含む. Assertion の第一の機能は RP に対してユーザーを Authenticate することであるが, Assertion 経由で伝搬される情報は RP により多様なユースケースで利用されうる. 例としては, Web サイトにおける Authorization やパーソナライゼーションなどが挙げられる. 本ガイドライン群は, 選択されたソリューションがここに含まれるすべての必須要件を満たす限り, RP のユースケースや Identity を Federate するためのプロトコルタイプやデータタイプに関しては制限しない.
Assertion は単一の Authentication イベントのみを表現することもあれば (MAY), Subscriber に関する Attribute Value や Attribute Reference を表現することもある (MAY).
すべての Assertion は, 以下にあげる Assertion Metadata を含むこととする (SHALL).
Assertion はさらに以下の情報を含んでもよい (MAY).
Assertion は Authentication イベントが Assert された際の AAL と Identity Proofed Attribute (ないしはその Reference) が Assert された際の IAL を明記すべきである (SHOULD). もし明記がない場合, RP は当該 Assertion に対していかなる IAL, AAL も割り当ててはならない (SHALL NOT).
RP は Subject 識別子をグローバルにユニークであるものとして扱わないこと (SHALL). 代わりに, Assertion 中の Subject 識別子は, 通常 Assertion Issuer 管理下のネームスペースに所属している. これにより RP は異なる IdP から提示された Subject を誤ってまとめてしまうことなく, 複数の IdP と対話することができる.
Assertion は追加の Attribute を含むこともある (MAY). Section 7 は Assertion に Attribute を含めて提示する際のプライバシー要件を含んでいる. RP は, Assertion と一緒に発行された Authorization Credential を利用して, 別 Transaction で IdP から追加の Identity Attribute を取得してもよい (MAY). こういった追加の Attribute 取得能力は, Assertion を処理することと同等に扱ってはならない (SHALL NOT).
詳細は利用する Federation プロトコルによって様々であるが, Assertion は RP における単一のログインイベントのみを表すように利用されるべきである (SHOULD). RP が Assertion を利用したのちは, RP は Session Management (SP 800-63B Section 7) 参照) を開始し, Assertion はそこに含まれる有効期限を超えて利用されてはならない (SHALL NOT). しかしながら RP における Session 有効期限は, Assertion 自体の有効期限よりも先に切れることもある (MAY). 詳細は Section 5.3 を参照のこと.
Assertion のライフタイムは発行時から有効期限までの間である. このライフタイムは, RP が Assertion を処理してから Subscriber に対してローカルのアプリケーション Session を払い出すまでに十分な長さである必要があるが, 必要以上に長くするべきではない. 長期間有効な Assertion は詐取やリプレイのリスクが高く, ライフタイムの短い Assertion の方がそういったリスクへの耐性を持つ. Assertion ライフタイムは RP 上の Session を制限するために利用してはならない (SHALL NOT). 詳細は Section 5.3 を参照のこと.
Assertion Binding は, Assertion と Subscriber の紐付けを行うのに, Assertion の Claimant が Assertion ないしは Assertion Reference を提示すれば十分か, Assertion が Subscriber に紐づいていることを示す追加の証明を RP が要求するか, という点に基づいて分類することができる.
Bearer Assertion は, いかなる主体でも, Bearer の Identity の証明として提示することができる. もし Attacker が, Subscriber を示す正当な Assertion ないし Assertion Reference を詐取・偽造でき, 当該 Assertion ないし Assertion Reference を RP に提示することができれば, Attacker は RP において Subscriber になりすますことができる.
Bearer Assertion や Bearer Assertion Reference を所有しているだけでは, Subscriber になりすますには必ずしも十分ではないことに注意すること. 例えば Assertion が Back-channel Federation モデル (Section 7.1 参照) において提示される場合, Transaction 中でさらなる統制 (RP の識別や Assertion インジェクション対策など) が行われており, RP が不正なアクティビティーから保護されていることもある (MAY).
Holder-of-Key Assertion は Subscriber に所持され Subscriber を表現する鍵への参照を含む. Holder-of-Key Assertion 中の鍵の参照は Subscriber を示すものであり, ブラウザー, IdP, RP など当該システム中のいかなる他の主体をも示すものではない. 鍵への参照は Assertion の Issuer によって Assert (ないしは署名) されていることに注意.
RP が Holder-of-Key Assertion を受け取ると, Subscriber は Assertion から参照された鍵を所有していることを直接 RP に証明する. Subscriber は IdP との間で鍵ベースの Authentication 方法を利用することもできるが, IdP 上の Primary Authentication と RP 上の Federated Authentication は独立したものとみなされ, 同じ鍵や関連した Session が利用されるとは想定されない.
Subscriber が RP に対して鍵所有証明を行うに際して, Claimant はさらに Assertion の正当な Subject であることをある程度の確からしさで証明することになる. Subscriber 向けに発行された Holder-of-Key Assertion に加え, そこから参照された鍵そのものを詐取する必要があるため, Attacker が詐取した Holder-of-Key Assertion を利用するのはより困難である.
Holder-of-Key Assertion には以下のすべての要件が適用される.
Biding メカニズム (Section 6.1 参照) や Federation モデル (Section 5.1 参照) とは独立して, Assertion は, Attacker が有効な Assertion を偽造したり, 詐取した Assertion を全く異なる RP に対して再利用するといった攻撃を防ぐための一連の保護策を施さなければならない (SHALL). 必要な保護策は考慮されるユースケースの詳細に依存しているが, ここでは推奨される保護策を列挙する.
Assertion は, 対象となる RP が一意に識別できる程度に, 十分ユニークでなければならない (SHALL). Assertion は Nonce, 発行日時, Assertion Identifier やそれらの組み合わせを含めたり, その他のテクニックによってこのユニーク性を達成することができる (MAY).
Assertion は IdP によって暗号論的に署名されること (SHALL). RP は, Issuer の鍵に基づいて各 Assertion の Digital Signature や MAC を確認すること (SHALL). 署名は, Assertion Identifier, Issuer, Audience, Subject および有効期限を含め, Assertion 全体をカバーすること (SHALL).
Assertion の署名は, Asymmetric Key を利用した Digital Signature か, RP と Issuer の間で共有される Symmetric Key を用いた MAC とすること (SHALL). 本目的のために IdP に利用される Shared Symmetric Key は, Assertion を送信する RP ごとに独立とし (SHALL), 通常は RP 登録時に確立される. Digital Signature の検証に用いる Public Key については, IdP がホストする HTTPS URL を通じてなど, セキュアな方法でランタイムに取得してもよい (MAY).
Assertion を暗号化する場合, IdP は RP の Public Key か Shared Symmetric Key を使って Assertion のコンテンツを暗号化すること (SHALL). 本目的のために IdP に利用される Shared Symmetric Key は, Assertion を送信する RP ごとに独立とし (SHALL), 通常は RP 登録時に確立される. 暗号化に用いる Public Key については, IdP がホストする HTTPS URL を通じてなど, セキュアな方法でランタイムに取得してもよい (MAY).
すべての Assertion の暗号化には Approved Cryptography を利用すること (SHALL).
Assertion がブラウザーなどの第三者を介してやりとりされる場合は, Assertion の暗号化を行うこと (SHALL). 例えば SAML Assertion は XML-Encryption により暗号化することができ, OpenID Connect ID Token は JSON Web Encryption (JWE) により暗号化することができる. IdP から直接 RP に渡される Assertion に関しては, 暗号化してもよい (MAY). 暗号化を行わない場合は Authenticated Protected Channel を介して送ること (SHALL).
NOTE: Assertion Encryption は FAL2 と FAL3 で要求される.
Assertion には Audience Restriction テクニックを用い, RP が自身が Assertion 発行対象となっているか否かを判断できるようにすること (SHALL). すべての RP は, Assertion の Audience に自身の識別子が含まれているかチェックし, ある RP に対して生成された Assertion が他の RP に対してインジェクトされたりリプレイされないようにすること (SHALL).
状況によっては, IdP 上の Subscriber アカウントに対する共通の識別子を通じて, 複数の RP 間で当該 Subscriber が簡単にリンクされないようにすることが望ましい.
IdP が RP に対して生成する Assertion において Pairwise Pseudonymous Subject Identifier を利用する場合, IdP は Section 6.3.2 に述べるように各 RP に異なる識別子を生成すること (SHALL).
RP に対して Attribute を添えて Pairwise Pseudonymous Identifier を利用する場合は, 複数の RP が結託し, Identity Attribute をもとにシステム間で相関づけることで, Subscriber を Re-identify (再識別) することが可能かもしれない. 例えば2つの独立した RP が異なる Pairwise Pseudonymous Identifier によって識別される同一の Subscriber を観察しているとすると, 当該 RP たちは, それぞれが受け取る Assertion 中に Pairwise Pseudonymous Identifier と共に含まれる, 名前, メールアドレス, 物理アドレス, その他の識別に用いられる Attribute を比較することにより, 当該 Subscriber が同一人物であることを知るかもしれない. そういった相関づけはプライバシーポリシーによって禁じられるべきであり (SHOULD), Pairwise Pseudonymous Identifier は Attribute の相関づけに必要な管理努力を増大させることでこういったポリシーの有効性を高めることができる.
Proxied Federation モデルでは, IdP は Proxy によって Subscriber が Access しようとしている RP を知ることができない可能性があり, 最初の IdP が最後の RP に対して Pairwise Pseudonymous Identifier を生成できないこともあるので注意すること. そのような状況では, Pairwise Pseudonymous Identifier は通常 IdP と Federation Proxy の間で確立される. Proxy は IdP として機能し, ダウンストリームの RP に対して Pairwise Pseudonymous Identifier を提供することができる. プロトコルによっては, Identity プロトコルを機能させるため, Federation Proxy は Pairwise Pseudonymous Identifier をアップストリーム IdP から送られてくる関連する識別子と紐づける必要がある. そのようなケースでは, Proxy は同一の Subscriber を示す各 RP ごとの Pairwise Pseudonymous Identifier を判定し, トラックすることができる. Proxy は, Pairwise Pseudonymous Identifier とその他の識別子間のマッピングを第三者に開示したり, そのマッピング情報を Federated Authentication とそれに関連する不正防止, 法律や法的手続きへの従属, ユーザーからの当該情報の送信を求める特定の要求への応答以外の目的で利用してはならない (SHALL NOT).
Pairwise Pseudonymous Identifier には, Subscriber に関するいかなる識別情報も含めないようにすること (SHALL). また Subscriber を識別する情報への Access を持つ主体によって推測されないようにすること (SHALL). Pairwise Pseudonymous Identifier は, ランダムに生成し IdP が Subscriber に紐づけるようにしてもよく (MAY), Subscriber に関するその他の情報から不可逆で推測不可能な方法 (e.g., シークレット鍵を利用した鍵付きハッシュ関数を利用) により導出してもよい (MAY). 通常この識別子は, 対となるエンドポイント間 (e.g., IdP-RP) のみが知っており, 当該エンドポイント間のみで利用されることとする (SHALL). ただし IdP は以下の場合, RP の要求にしたがって, 複数の RP に同一の識別子を生成してもよい (MAY).
RP は, Privacy Risk Assessment を実施し, 共通の識別子を要求する場合のプライバシーリスクについて考慮すること (SHALL). プライバシー上の考慮点についての詳細は Section 9.2 を参照のこと.
IdP は意図した RP のみが相関関係にあることを保証すること (SHALL). さもないと悪意ある RP が不正に一連の相関関係にある RP になりすまし, 当該 RP 群に対して発行された Pseudonymous Identifier を知ることができてしまうかもしれない.
This section is normative.
Assertion は IdP から RP に対して Back-Channel ないしは Front-Channel で提示される (MAY). それぞれのモデルにはトレードオフがあるが, どちらにおいても Assertion を正しく検証する必要がある. Section 5.1.4 にあるように, ある条件下では Federation を簡単にするため IdP と RP の間を Proxy した状態で Assertion をやりとりすることもある.
IdP は RP が明示的に要求した Attribute のみを送信することとする (SHALL). また RP は Privacy Risk Assesment を行い, どの Attribute を要求するか決定することとする (SHALL).
Back-Channel モデルでは, Subscriber は Assertion Reference を渡され, 一般的には Front-Channel を通じてそれを RP に提示することになる. Assertion Reference はそれ自身では Subscriber に関する情報は持たず, Attacker による偽造や改ざんに耐えねばならない (SHALL). RP がは Assertion を取得するため Assertion Reference を IdP に提示する. その際 RP は通常 RP 自信を IdP に対して Authenticate する.
Figure 7-1 Back Channel Presentation
Figure 7-1 のとおり, Back-Channel Presentation モデルは以下の3ステップからなる.
Assertion Rference は
このモデルでは, RP は第三者 (Subscriber 自身を含む) による傍受・改ざんの機会を最小化しつつ Assertion を IdP に直接要求する.
この方法では, 最初の Authentication Transaction 終了後も, ユーザーを IdP に送り返すことなく Back-Channel 通信を繰り返し行えるため, RP は IdP に Assertion 自体には含まれない追加の Subscriber に関する Attribute を問い合わせることもできる. この問い合わせは Section 6 にあるように Assertion と同時に発行された Authorization Credential を用いて行う.
Network Transaction がより多く必要となる一方, やりとりされる情報はそれを必要としている主体以外に渡されることはない. RP が IdP から直接 Assertion を受け取るため, 攻撃箇所は限定される. さらに Assertion を RP に直接インジェクトするのはより困難になる.
RP は, Cross-Site Scripting 対策やその他のテクニックを利用し, 偽造ないしキャプチャーされた Assertion Reference のインジェクションから自身を保護すること (SHALL).
RP は Assertion に含まれる要素について, 以下のような点を含めて確認すること.
IdP から Subscriber, Subscriber から RP へと Assertion Reference を送信する際には, Authenticated Protected Channel を利用すること (SHALL). RP から IdP に Assertion Reference を送信する際, IdP から RP に Assertion を送信する際も, Authenticated Protected Channel を利用すること (SHALL).
Assertion Reference を提示する際, IdP は Assertion Reference を提示している主体が Authentication を要求した主体と同一であることを検証すること (SHALL). IdP は, RP に対して Assertion Reference 提示時に自身を Authenticate するよう求めたり, その他の似たような方法により, これを実現することができる. (RP 識別手段となるプロトコルの一例としては RFC 7636 が参考になる)
Section 5.1.4 に述べる Federation Proxy では, IdP は Proxy に対して Assertion Reference と Assertion の Audience Restriction を行い, Proxy はダウンストリーム RP に対して新たに生成した Assertion Reference や Assertion の Audience Restriction を行うことに注意.
Front-Channel モデルでは, IdP は Authentication 成功後 Assertion を生成し Subscriber に渡す. Subscriber は渡された Assertion を利用し, 大抵は Subscriber のブラウザ内のメカニズムを通じて, RP に自身を Authenticate する.
Figure 7-2 Front Channel Presentation
Front-Channel モデルでは, Assertion は Subscriber によって閲覧されうる. これは Assertion に含まれるシステム情報などの漏洩につながる可能性もある. さらにこのモデルでは, RP が IdP に Assertion 提示後に追加の Attribute を問い合わせることがより困難になる.
Assertion は Subscriber のコントロール下に置かれることから, Subscriber はブラウザをリプレイして Assertion を複数の RP に送りつけるなどの手段によって, Assertion を本来意図されない主体に送りつけることもできる. Assertion が Audience Restriction により意図しない RP に拒否されたとしても, 意図しない RP への Assertion の提示は Subscriber に関する情報や Subscriber のオンラインアクティビティの漏洩につながりうる. 意図して複数の RP に提示できるよう設計された Assertion を生成することも可能だが, そのような手法は当該 Assertion に対する Audience Restriction を緩め, 当該 RP 間における Subscriber のプライバシーおよびセキュリティー侵害につながりうる. よってそのような複数 RP に対する利用は推奨しない. RP はそれぞれ個別の Assertion を取得するよう推奨される.
RP は, Cross-Site Scripting 対策やその他のテクニックを利用し, 偽造ないしキャプチャーされた Assertion のインジェクションから自身を保護すること (SHALL).
RP は Assertion に含まれる要素について, 以下のような点を含めて確認すること.
IdP から Subscriber, Subscriber から RP へと Assertion を送信する際には, Authenticated Protected Channel を利用すること (SHALL).
Section 5.1.4 に述べる Federation Proxy では, IdP は Proxy に対して Assertion の Audience Restriction を行い, Proxy はダウンストリーム RP に対して新たに生成した Assertion の Audience Restriction を行うことに注意.
IdP と RP の間の通信は, Authenticated Protected Channel を利用して保護すること (SHALL). Subscriber と IdP および RP それぞれとの間の通信 (通常はブラウザーを介して行われる) も Authenticated Protected Channel Channel を介して行うこと (SHALL).
IdP は, RP がセキュリティポリシーを適用する際に有用な情報に Access できる可能性もある. こういった情報としては, Device Identity, 位置情報, システムヘルスチェック情報, 設定管理情報等があげられる. IdP がこういった情報を取得できる場合, Subscriber のプライバシーを侵害しない範囲内で, そういった情報を RP に渡すことも可能であろう. 詳細は Section 9.2 を参照のこと.
ユーザーに関する追加の Attribute は, Assertion とは別に, RP から IdP への Authorized なリクエストを通じてやり取りされてもよい (MAY). こういった Attribute への Access に対する Authorization は, Assertion と一緒に発行することもできる (MAY). ユーザーに関する情報をこのように分離することで, ユーザーのプライバシー保護に役立ち, Authentication Assertion 自体に必須な情報に添える識別可能な Attribute を限定することも可能になる.
RP は, Section 9.3 にあるように, 可能な限り完全な Attribute Value ではなく Attribute Reference を要求し (SHALL), IdP は Attribute Reference をサポートすること (SHALL).
This section is informative.
Federated Authentication プロセスには, IdP として振る舞う CSP を含め, 複数の構成要素間の連携がつきものなので, Attacker が Federated Identity Transaction を毀損するチャンスは増加する. 本セクションでは Federation に対する Attack とその対策についてまとめる.
非 Federated な Authentication においては, Attacker のモチベーションは得てして RP が提供するリソースやサービスへの Access (またはより高度は Access) を取得することである. また, Attacker は Subscriber になりすまそうとすることもある. 悪意ある, もしくは侵害された IdP, RP, ユーザーエージェント (e.g., ブラウザー), 一般的に Federation Transactin の外側にいる主体が, 潜在的な Attacker となる. 攻撃を成功させるため, Attacker は Assertion や Assertion Reference を傍受したり改ざんすることも考えられる. さらに, 2者以上の主体が直接 Assertion データの Integrity (完全性) や Confidentiality (機密性) を毀損し, Federation プロトコルを台無しにしようとするかもしれない. こういったタイプの脅威を考慮すると, 自身の権限を超えた権限を取得しようとするあらゆる Authorized な主体は, Attacker とみなされる.
場合によっては, RP が認識できるように, Subscriber に秘匿情報を発行することもある. この情報を知っているかどうかで, Subscriber と Subscriber になりすまそうとする Attacker を見分けられる. Holder-of-Key Assertion のケースでは, このシークレットは Federation プロトコル開始前に IdP との間で確立されうる.
Table 8-1 Federation Threats
Federation Threats/Attacks | Description | Examples |
---|---|---|
Assertion 偽造 / 改ざん | Attacker が偽の Assertion を生成する. | 侵害を受けた IdP が適切に Authenticate されていない Claimant の Identity を Assert する. |
Attacker が既存の Assertion を改ざんする. | 侵害を受けた Proxy が Authentication Assertion の AAL を変更する. | |
Assertion 漏洩 | Assertion が第三者に閲覧可能になる. | Network モニタリングにより Subscriber の Address of Record が部外者に暴露される. |
IdP による Assertion 否認 | IdP が後になって Transaction に署名していないと主張する. | ユーザーが RP で不正なクレジットカード Transaction に関与し, IdP は彼らをログインさせていないと主張する. |
Subscriber による Assertion 否認 | Subscriber が Transaction を実行していないと主張する. | ユーザー同意 (e.g., 契約) の不履行. |
Assertion リダイレクト | Assertion が意図しないコンテキストで利用される. | 侵害を受けたユーザーエージェントが Assertino を Attacker に渡し, Attacker がどこか別の場所でそれを利用する. |
Assertion 再利用 | Assertion が同じ RP に複数回利用される. | 傍受された Assertion が, Attacker 自身の Session を Authenticate するために利用される. |
Assertion 置換 | Attacker が意図されていない Subscriber の為に Assertion を利用する. | IdP と RP の間での Session Hijacking Attack. |
上記の脅威を緩和するのに役立つメカニズムを Table 8-2 に示す.
Table 8-2 Mitigating Federation Threats
Federation Threat/Attack | Threat Mitigation Mechanisms | Normative Reference(s) |
---|---|---|
Assertion 偽造 / 改ざん | IdP が Assertion に暗号論的に署名を施し, RP がそれを検証する. | 4.1, 6 |
Assertion を Authenticated Protected Channel 経由で IdP を Authenticate した状態で送信する. | 7.1, 7.2 | |
推測不能でランダムな識別子を Assertion に含める. | 6.2.1 | |
Assertion 漏洩 | Assertion を Authenticated Protected Channel 経由で RP を Authenticate した状態で送信する. | 7.1, 7.2 |
Assertion を特定 RP に対して暗号化する. (双方向の Authenticated Protected Channel で実現可能) | 6.2.3 | |
IdP による Assertion 否認 | IdP が否認防止 (non-repudiation) 可能な鍵で Assertion に暗号論的に署名を施し, RP がそれを検証する. | 6.2.2 |
Subscriber による Assertion 否認 | Holder-of-Key Assertion を発行する. 提示された鍵所有証明 (Proof of Posession) が Subscriber の関与を立証する. | 6.1.2 |
Assertion リダイレクト | 署名対象のコンテンツ内に, Assertion 発行先の RP (“audience”) の Identity を含める. RP は自身が意図された受信者であることを検証する. | 6, 7.1, 7.2 |
Assertion 再利用 | Assertion の有効期限を短くし, 署名対象のコンテンツ内に発行日時を含める. RP はその正当性を検証する. | 6, 7.1, 7.2 |
RP は任意の設定可能な時間内において消費した Assertion をトラックし, 渡された Assertion が1回以上利用されていないことを保証する. | 6.2.1 | |
Assertion 置換 | Assertion に Assertion リクエストの参照や RP のリクエストに暗号論的に紐づけられたその他の nonce が含まれることを保証する. | 6 |
Assertion を, Back-Channel モデルなどのように, リクエストと同じ Authenticated Protected Channel で送信する. | 7.1 |
This section is informative.
Federation は RP と Subscriber に多くのメリットをもたらすが, Subscriber が IdP を信頼するよう要求する. さらに Federated モデルにおいて Subscriber の信頼を確立するには, Subscriber のデータが適切に収集時の目的に制限および限定して利用されていることが重要である. 提案された用途がこれらの許可された用途の範囲内に入るかどうかについて疑問がある場合は, SAOP に相談すること. Sections 5, 5.1.4, および 6.3 は, Subscriber に対するトラッキングやプロファイリングの機会増大によるプライバシーリスクを最小化するための多くの技術的要件をカバーしている. 例えば複数の RP に対して Authenticate するために同じ IdP を利用している Subscriber がいるとすると, 当該 Subscriber は IdP に対して Federation しなかった場合には発生しなかった Subscriber Transaction のプロファイルを構築することを可能にする. このようなデータは, Subscriber の予期ないし希望しない用途に対して脆弱であり, Subscriber が Federated サービスを利用するのを妨げる可能性もある.
また Section 5.2 は Unlinkability を提供し Subscriber の行動をトラッキングしたりプロファイリングすることを抑制する技術的対策の利用を推奨している. IdP のポリシーおよび手続きは適切な利用制限や目的特定の原則の遵守徹底に重要であるが, Section 5.1.4 で述べた Proxied Federation や Section 6.3 で述べた Pairwise Pseudonymous Identifier のような技術的対策は, 運用要件を超えて Subscriber をトラックしたりプロファイリングすることを困難にし, IdP ポリシーの有効性を向上する.
Federation において Subscriber の信頼を確立するには, Subscriber が自身の情報がどのように処理されるかについて信頼できる仮定を 立てられる必要がある. 例えば, どの情報が送信されるのか, その Transaction においてどの Attribute が必須でありどれがオプションであるかを理解でき, RP にオプションの Attribute を送信するか否かの決定権があることが, Subscriber にとって有用であろう. したがって Section 7 では, Subscriber に関する Attribute が RP に送信される前に Subscriber に肯定的確認を得るよう求めている. Section 6.3.2 にように, 一連の RP 群がおなじ Pairwise Pseudonymous Identifier を共有すべきかどうかを決定する際には, IdP は Subscriber がそのような RP のグルーピングを理解できること, およびそのような理解を助ける通知を行う役目について配慮すること. 効果的な通知には, ユーザーエクスペリエンスのデザイン標準および研究, および情報処理により発生する可能性のあるプライバシーリスクの評価を考慮することになろう. Subscriber が情報の処理について持つ仮定の信頼性や, Federation に関与するその他の主体の役割など, 考慮すべき要素は数多い. しかしながら, 複雑で法律に固執したプライバシーポリシーや, 相当数の Subscriber が読んだり理解したりしないような利用規約へのリンクは, 決して効果的な通知でなはい.
Section 7 はどの主体が通知を行うかは指定していない. 場合によっては Federation に関わる主体が Subscriber に通知し同意を得るための直接的な接続関係にないこともある. 通知を行うべく選択されうる主体は複数存在するが, Subscriber が通知に注意を払い情報に基づいた選択ができることを中心においた要因に基づいて決定されている限り, 事前に契約やトラストフレームワークのポリシーによりどの主体が通知と同意取得を行うかを決定しておくことは許容される.
IdP が Section 4.2 に述べたように RP のホワイトリストを利用している場合, 当該リストの RP はいずれも Authentication Transaction 中で Subscriber に提示されない. IdP はランタイムにおいて Subscriber に通知を行わないため, ホワイトリストに掲載された RP を Subscriber から確認可能にし, どの RP がどの Subscriber Attribute に Access できるか確認できるようにする. IdP は Subscriber が関与する Authentication Transaction 外では Subscriber の Authentication 情報や Attribute をホワイトリスト上の RP と共有できないため (Section 5.2 参照), RP がリスト上に存在することがそのまま Subscriber の情報が共有されることを意味するわけではない. しかしながら Subscriber が IdP を使ってホワイトリスト上の任意の RP にログインすれば, 表明された Attribute は Authentication Transaction 中で共有されることとなろう.
Subscriber のランタイムでの決定が将来の Transaction を促進するために IdP に保存されている場合は, IdP は Subscriber にランタイムの決定によりすでに許可された RP を閲覧したり許可を無効化できるようにする必要がある. このリストにはどの Attribute が許可されているかという情報を含む.
Federation は RP に晒されるデータの最小化を可能にし, 結果として Subscriber のプライバシーは強化される. IdP は自身のユースケースのために RP の要求を超えて追加の Attribute を収集するかもしれないが, RP が明示的に要求した Attribute のみが IdP によって送信される. 場合によっては, RP は完全な Attribute Value を要求しないかもしれない. 例えば, RP は Subscriber が13歳以上かどうかを知る必要があるが, 完全な生年月日を知る必要はないこともある. 潜在的にセンシティブな PII の収集を最小化するため, RP は Attribute Reference (e.g., Subscriber が13歳か否かという, Y/N や Pass/Fail で答えられる質問) を要求することができる. こうすることで RP による潜在的にセンシティブかつ不要な PII の収集を最小化できる. さらに Section 7.3 は RP に可能であれば完全な Attribute Value ではなく Attribute Reference を要求するよう求めている. この RP 要件を指示するため, IdP には Attribute Reference をサポートすることが求められる.
Section 5.2 は, 機関に対して SAOP に相談してプライバシーコンプライアンス要件を決定するよう要件を定めている. プライバシーリスクの評価と対応策を施し, 機関に当該 Federation が Privacy Act of 1974 や E-Government Act of 2002 の求める PIA の実施を必要とするかといったコンプライアンス遵守に関するアドバイスを行うため, 機関の SAOP が Digital Authentication システムの開発初期段階で関わることは非常に重要である. 例えば, 当該機関が Federation における IdP を提供している場合, Credential は IdP と Federate する RP に代わって IdP に管理されることになるため, Privacy Act 要件が課せられることとなり, 新規もしくは既存の Privacy Act の記録システムによるカバレッジが必要となる. しかしながら, 機関が第三者の IdP を利用する RP の場合, RP から渡されたどのデータが RP として機関に管理されるかによっては (その場合, 機関はそのようなデータをカバーする, より広範かつプログラム的 SORN を持つことになるかもしれない), Digital Authentication には Privacy Act 要件は課されないかもしれない.
SAOP は同様に PIA が必要かどうかの決定において機関を援助できる. この考慮点は, Federated Credential の利用のためだけに, Privacy Act SORN や PIA が要件となるというふうに読むべきではない. 多くの場合, Digital Authentication プロセス全体を網羅する, ないしは Digital Authentication プロセスを機関がオンライン Access を確立するプログラムや利点に関して議論するより大きなプログラム的 PIA の一部に含む, PIA および SORN を草稿することが最も理にかなっている.
Digital Authentication の構成要素は多岐に渡るため, SAOP が個々の要素に気づいており理解していることは重要である. 例えば, Data Use Agreement, Computer Matching Agreement など, Federated IdP ないし RP サービスを提供ないし利用する機関に適用可能なその他のプライバシー上の副作用がありうる. SAOP は機関にどのような追加要件が適用されるかを決定する手助けをすることができる. さらに Digital Authentication の個々の要素を綿密に理解することにより, SAOP はコンプライアンスプロセスやその他の手段を通じてプライバシーリスクを徹底的に評価し, 緩和することができる.
典型的にはインテクレーションを単純化することを主目的する Proxy など, Proxy 構造によっては追加の Subscriber のプライバシー保護を提供しないものもあるが, Blinding 技術を用いて多様なレベルのプライバシーを Subscriber に提供するものもある. プライバシーポリシーにおいて, Subscriber Attribute と Authentication Transaction データ (e.g., 末端の IdP および RP の識別子) の IdP, RP, および Federation Proxy による適切な利用について記述してもよい. Bliding などの技術的手段はデータ取得を困難にし, そういったポリシーの有効性を高めることができる. Blindng レベルが上がるほど, 技術的および運用上の実装複雑性は上昇する. Proxy は Transaction をいずれかの側の適切な主体にマッピングし, Transaction 内のすべての関係者の鍵を管理する必要がある.
Bliding 技術を使っても, Blind された主体は, 提供された Attribute データやメタデータなどから, タイムスタンプや Attribute Bundle のサイズ, Attribute への署名者情報などを解析するなどして, 依然保護された Subscriber 情報を推測することができる. IdP は追加のプライバシー強化アプローチを検討し, Federation に参加している主体の識別可能情報の開示リスクを低減してもよい.
以下の表は Proxied Federation で利用される Bliding 実装の範囲を示したものである. なお, この表は説明を目的としたものであり, 網羅的でも技術に特化したものでもない.
Table 9-1 Federation Proxies
Proxy Type | RP knows IdP | IdP knows RP | Proxy can track subscriptions between RP and IdP | Proxy can see attributes of Subscriber |
---|---|---|---|---|
Non-Blinding Proxy with Attributes | Yes | Yes | Yes | Yes |
Non-Blinding Proxy | Yes | Yes | Yes | N/A |
Double Blind Proxy with Attributes | No | No | Yes | Yes |
Double Blind Proxy | No | No | Yes | N/A |
Triple Blind Proxy with or without Attributes | No | No | No | No |
This section is informative.
ISO/IEC 9241-11 はユーザビリティーを “特定のユーザーが特定の利用コンテキストにおいて, 有効, 効率的かつ満足できる程度に特定の目的を達成するためにプロダクトを利用できる程度” と定義している. この定義は, 有効性, 効率性, 満足度を達成するために必要な主要因として, ユーザーと目標, 利用コンテキストに着目している. ユーザビリティーを達成するには, これらのキー要素を考慮した全体的アプローチが必要である.
ユーザビリティーの観点からは, Federated Identity システムの最大の潜在的メリットの一つとして, 複数の Authentictor を管理することに関連するユーザーの疲労という問題への取り組みがあげられる. 歴史的にこれはユーザーネームとパスワードの問題であったが, ユーザーが Authenticator を管理する必要性が向上するにつれ, それが物理的なものでもデジタルなものでも, ユーザビリティーの課題が立ちはだかるようになった.
多くの他の Authentication へのアプローチが, 広範囲に研究され, かつ確立されたユーザビリティーガイドラインを持っているが, Federated Identity はより新しく, 従って研究結果の深さと決定性が不足している. 進行中のユーサビリティー研究が成熟するにつれ, Federated Identity システムに関するユーザビリティーガイドラインはより強力な支援データを持つこととなろう. 例えば, 技術的 Attribute の名前と値をユーザーフレンドリーな言語に翻訳するガイダンスを指示するには, さらなるデータが必要である.
800-63A と 800-63B のユーサビリティーセクションで述べたように, いかなる Authentication 手法においても全体のユーザーエクスペリエンスは不可欠である. Federation は多くのユーザーにとってまだ慣れないインタラクションパラダイムであるため, これは Federated Identity システムにおいては特に当てはまる. ユーザーの過去の Authentication 経験は, ユーザーの期待に影響を及ぼしうる.
Federated Identity システムにおける全体のユーザーエクスペリエンスは, 可能な限りスムーズかつ容易であるべきである. これは以下のユーザビリティー標準 (ISO 25060 シリーズの標準など) やユーザーインタラクションデザインのための確立されたベストプラクティスによって達成できる.
ASSUMPTIONS
本セクションでは, “User” とは “Claimant” ないし “Subscriber” を意味し, “Entity” とは Federated システムに関与する主体を意味する.
ガイドラインおよび考慮事項はユーザー視点で記述する.
アクセシビリティーはユーザビリティーとは異なり, 本 Vol. の扱うところではない. Section 508 は情報技術の障壁を排除するために制定され, 連邦政府機関に対して, 電子的かつ情報技術を活用し障害者が公開コンテンツにアクセス可能になるよう求めている. アクセシビリティーガイドラインについては Section 508 の法と標準を参照のこと.
Federated Identity システムは以下を満たすべきである.
本セクションでは Federated Identity システムに対する特別なユーザビリティー上の考慮点を扱う. 本セクションは, Federated Identity システムに関連する全てのユーザビリティー要素を網羅的にカバーすることを意図するものではない. ここでは, ユーザビリティーに関する文献におけるより大きくより普及したテーマである, ユーザーの Identity に対する捉え方, ユーザーの選択, 信頼, Federated Identity 空間の認識に焦点を当てる. 場合によっては実装例が提供されることもあるが, 特定のソリューションを規定することはない. 言及される実装は, 特定のユーザビリティー上のニーズに対応する革新的な技術的アプローチを推奨するための例である. さらなる例については, システム設計とコーディング, 仕様, API, 最新のベストプラクティス (OpenID や OAuth など) の標準を参照のこと. 各実装は多くの要因に対して敏感であり, ワンサイズフィットオーフなソリューションは存在しない.
ユーザーが Federated Identity システムに慣れ親しんでいたとしても, (特にプライバシーと情報共有の点で) Federated Identity に対する異なるアプローチも存在し, そこではユーザーのデータ処理方法に対する信頼性の高い期待を確立する必要がある. ユーザーと実装者は異なる Identity の概念を持つ. ユーザーはログインして自身のプライベートな空間への Access を得るものとして Identity を捉えるが, 実装者は Authenticator と Assertion, Assurance Level, サービス提供に必要な一式の Identity Attribute という視点で Identity を捉える. このように, ユーザーと実装者では Identity の捉え方が異なるため, ユーザーが Federated Identity システムに適用される Identity の概念を正確に理解できるよう手助けすることが不可欠である. 優れた Identity モデルは, ユーザーが Federated システムの利点とリスクを理解し, こういったシステムを選択および信頼するよう促すための基礎となる.
Identity の特性の多くは, Federation 内, および Federation 間の両方で, ユーザーがどのように Identity を管理するかに影響を及ぼす. サイバースペースの外でコンテキストに基づいて複数の Identity を管理するのと同じように, ユーザーは自身の Identity を Federated な環境で管理するすべを学ぶ必要がある. したがって, Identity とコンテキストがどのように扱われるのかは, ユーザーに対して明確でなければならない. そのため, 以下の点が考慮されるべきである.
ユーザーによる Federation Identity システムの選択には, 多くの要素が影響を及ぼしうる. どのような技術においても, ユーザーはある要素を他より重視しうる. ある技術を選択する決断の前に, ユーザーはしばしば知覚されるメリットとリスクをはかりにかける. ユーザーがよく理解した上で決断できるように, IdP と RP が十分な情報を提供するのは, 非常に重要である. 信頼と信頼階層 (Tiers of Trust) というコンセプトは, Federated Identity システムの基本原理であり, ユーザーによる選択を促進する可能性がある. 最後に, ユーザーエクスペリエンスが向上すると, Federation に対するユーザーの需要が増加し, RP による Federation の選択も増加する可能性がある.
本サブセクションは, 主にユーザーの信頼とユーザーによるメリットとリスクの知覚に焦点を当てる.
ユーザーによる採用を促進するため, IdP と RP はユーザーとの信頼を確立おこび構築し, ユーザーに採用によるメリットとリスクを理解させる必要がある. 考慮点としては以下のようなものが挙げられる.
リスクに対するユーザーの懸念は, Federated Identity システムの選択意欲に悪影響を与えうる. ユーザーは, 信頼, プライバシー, セキュリティー, Single-point-of-failure といった点において, 懸念を抱く可能性がある. 例えば, ひとつの IdP が一時的または永続的に利用不可となった場合, ユーザーは複数のアカウントへの Access を失うおそれがある. さらに, ユーザーは新しい Authentication プロセスを学ぶことに懸念を抱いたり混乱する可能性もある. Federated Identity システムの選択を促進するには, 知覚されるメリットが知覚されるリスクを上回らねばならない.
ユーザーは何かを信じたりと知覚することによって, 特定の結果を期待し, 特定の方法で行動する傾向にある. そのように信じたり知覚したり何らかの傾向を示したりすることは, 社会科学においてメンタルモデルと呼ばれる. 例えば, ファーストフードレスランやカフェテリア, よりフォーマルなレストランなど, 人々は施設によって行動や期待を異にするような, 食事に関するメンタルモデルを持っている. したがって, それぞれの施設に精通していなくても, それぞれでどのように振る舞うのが適切かを理解することができる.
Federation におけるよくできた完全なメンタルモデルをユーザーが構築できるよう支援することで, ユーザーはある特定の実装を超えて一般化を行うことができる. Federated Identity システムがユーザー視点でデザインされていなければ, ユーザーは間違ったもしくは不完全なメンタルモデルを形成し, 彼らによるシステムの選択意思に影響を及ぼすかもしれない. 考慮点としては以下のようなものが挙げられる.
This section is informative.
以下では3種類の Assertion テクノロジー, SAML Assertion, Kerberos Ticket, OpenID Connect Token, について述べる. このリストには, すべてのありうる Assertion テクノロジーは含まれないが, Federated Identity システムで一般的に利用されているものを代表している.
SAML は, Authentication および Attribute 情報を生成し, 信頼関係のある Entity 間で Internet 越しにやりとりする XML ベースのフレームワークである. 本執筆時点で最新の SAML 仕様は, 2005/03/15 発行の SAML v2.0 である.
SAML の構成要素を以下に示す.
上記の3要素により, “Web Browser SSO” といった特定のユースケースに対応した SAML プロファイルが定義される.
SAML Assertion は XML Schema にエンコードされ, 3つのタイプのステートメントを伝搬する.
Authorization Statement は本ドキュメントの扱うところではなく, ここでは議論しない.
Kerberos Network Authentication Service [RFC 4120] は, ローカルの共有ネットワーク上のクライアント・サーバーアプリケーションに対して, Symmetric-Key 暗号を利用した強固な Authentication を提供するべくデザインされた. Kerberos の拡張では, プロトコルの特定のステップにおいて Public Key 暗号を利用することもできる. Kerberos は Subscriber と RP の間の Session データの Confidentiality (機密性) および Integrity (完全性) 保護もサポートする. Kerberos は Assertion を利用するものの, 共有ネットワーク上での利用のためにデザインされたものなので, 真に Federation プロトコルとは言えない.
Kerberos は, 信頼できない共有ローカルネットワーク上でひとつ以上の IdP を利用した Subscriber の Authentication をサポートしている. IdP が Subscriber に対して暗号化したランダムな Session キーを復号できることを示すことによって, Subscriber は暗黙的に IdP に対して Authenticate する. (Kerboros 派生のもののなかには, Subscriber が明示的に IdP に対して Authenticate することを求めるものもあるが, 普遍的ではない) 暗号化された Session キーに加え, IdP は Kerberos Ticket と呼ばれるもうひとつの暗号化オブジェクトを生成する. この Ticket には同じ Session キー, Session キーが発行された Subscriber の Identity, Session キーの有効期限が含まれている. このチケットは, 明示的なセットアップフェーズ中に IdP と RP の間で共有される事前に確立された鍵によって, Confidentiality (機密性) および Integrity (完全性) が保護されている.
Session キーを使って Authenticate するため, Subscriber は, Subscriber が Kerberos Ticket に埋め込まれた Session キーを保有していることを証明する暗号化データとともに, Ticket を RP に送る. Session キーは, 新しい Ticket を生成したり, Subscriber と RP の間の通信を暗号化したり Authenticate するために使われる.
このプロセスを開始するため, Subscriber は Authentication Server (AS) に Authentication リクエストを送る. AS は, Subscriber の長期間有効な Credential を用いて, Subscriber に対して Session キーを暗号化する. この長期間有効な Credential は, AS と Subscriber 間の共有秘密鍵でもよいし, Kerberos 派生の PKINIT のように Public Key Certificate でもよい. Subscriber と IdP の間の共有秘密鍵に基づいた Kerberos 派生のほとんどは, この鍵をユーザーが生成したパスワードから導出する. 従ってそれらは, Flexible Authentication Secure Tunneling (FAST) [RFC 6113] や似たようなトンネリングおよび防護メカニズムを利用していない限り, 受動的な盗聴者によるオフライン辞書 Attack に対して脆弱である.
Session キーを Subscriber に伝送するのに加えて, AS は Ticket Granting Server (TGS) と共有した鍵を使った Ticket を発行する. この Ticket は, Ticket Granting Ticket (TGT) と呼ばれる. これは Verifier が TGT 内の Session キーを利用して, 明示的に Verifier を Authenticate するかわりに Ticket を発行することに由来する. TGS は TGT 内の Session キーを利用して Subscriber に対する新規 Session キーを暗号化し, RP と共有している鍵を使って新規 Session キーに対応する Ticket を生成する. Subscriber は Session キーを復号し, Ticket と新規 Session キーを同時に使って RP に対して Authenticate する.
Keriberos Authentication がパスワードに基づいている場合, このプロトコルは最初のユーザーと KDC とのやりとりをキャプチャーする登頂者によるオフライン辞書 Attack に対して脆弱であることが知られている. 十分な長さのパスワードはえてしてユーザーにとってはわずらわしいものであるが, より長く複雑なパスワードを利用すればこの脆弱性は緩和される. ただしパスワードベースの Kerberos Authentication が FAST (または類似の) トンネル中で利用されている場合, 辞書 Attack を実行するには追加で Man-in-the-Middle Attack が必要である.
OpenID Connect [OIDC] は, OAuth 2.0 Authorizatino Framework および JSON Object Signing and Encryption (JOSE) 暗号システムに基づいた, インターネット規模の Federated Identity および Authentication プロトコルである.
OpenID Connect は OAuth 2.0 Authorizatino Framework の上に構築され, RP による Subscriber の Identity および Authentication 情報への Access を, Subscriber が Authorize することを可能にする. OpenID Connect および OAuth 2.0 における RP は Client とも呼ばれる.
OpenID Connect の Transaction が成功すると, IdP は ID Tokne という JSON Web Token (JWT) フォーマットの署名付き Assertion を発行する. Client は ID Token をパースし, Subsriber および IdP 上でのプライマリーな Authentication イベントについての情報を得る. この Token は, 最低限 Subscriber および Authentication イベントに関する以下の情報を含む.
iss
- Assertion を発行した IdP を識別する HTTPS URL.sub
- IdP 固有の Subject 識別子であり, Subscriber を示す.aud
- IdP 固有の Audience 識別子であり, IdP における当該 OAuth 2.0 Client の Client 識別子に等しい.exp
- ID Token の有効期限を示すタイムスタンプ. Client はこの時刻をすぎてこの Token を受け入れてはならない (SHALL NOT).iat
- ID Token の発行日時を示すタイムスタンプ. Client はこの時刻より前にこの Token を受け入れてはならない (SHALL NOT).ID Token に加え, IdP は Client に OAuth 2.0 Access Token を発行する. この Token は IdP の UserInfo Endpoint に Access する際に利用できる. このエンドポイントは Subject の Attribute 一式を示す JSON オブジェクトを返し, そこには名前, Email アドレス, 物理アドレス, 電話番号, その他のプロフィール情報が含まれるが, それだけに限らない. ID Token 内の情報が Authentication イベントを反映したものである一方で, UserInfo Endpoint から返される情報は一般的によりステーブルかつより汎用的である. UserInfo Endpoint でのその他の Attribute に Access は, 特別に定義された OAuth 2.0 Scope である openid
, profile
, email
, phone
, および address
により制御される. さらに offline_access
という追加の Scope が Refresh Token の発行を制御するために使われる. Refresh Token を使うと, RP は Subscriber が不在の時にでも UserInfo Endpoint に Access することができる. したがって, UserInfo Endpoint への Access は, Subscriber がそこにいることの証明として, RP での Session を Authenticate するには不十分である.
This section is informative.
[FEDRAMP] General Services Administration, Federal Risk and Authorization Management Program, available at: https://www.fedramp.gov/.
[M-03-22] OMB Memorandum M-03-22, OMB Guidance for Implementing the Privacy Provisions of the E-Government Act of 2002, September 26, 2003, available at: https://georgewbush-whitehouse.archives.gov/omb/memoranda/m03-22.html.
[NISTIR 8112] NIST Internal Report 8112 (Draft), Attribute Metadata, available at: https://pages.nist.gov/NISTIR-8112/NISTIR-8112.html.
[Section 508] Section 508 Law and Related Laws and Policies (January 30, 2017), available at: https://www.section508.gov/content/learn/laws-and-policies.
[BCP 195] Sheffer, Y., Holz, R., and P. Saint-Andre, Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS), BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 2015, https://doi.org/10.17487/RFC7525.
[ISO 9241-11] International Standards Organization, ISO/IEC 9241-11 Ergonomic requirements for office work with visual display terminals (VDTs) — Part 11: Guidance on usability, 1998, available at: https://www.iso.org/standard/16883.html.
[OIDC] Sakimura, N., Bradley, B., Jones, M., de Medeiros, B., and C. Mortimore, OpenID Connect Core 1.0 incorporating errata set 1, November, 2014. Available at: https://openid.net/specs/openid-connect-core-1_0.html.
[RFC 4120] IETF, The Kerberos Network Authentication Service (V5), RFC 4120, DOI 10.17487/RFC4120, July 2005, https://doi.org/10.17487/RFC4120.
[RFC 6113] IETF, A Generalized Framework for Kerberos Pre-Authentication, RFC 6113, DOI 10.17487/RFC6113, April 2011, https://doi.org/10.17487/RFC6113.
[RFC 7591] IETF, OAuth 2.0 Dynamic Client Registration Protocol, RFC 7591, DOI 10.17487/RFC7591, July 2015, https://doi.org/10.17487/RFC7591.
[RFC 7636] IETF, Proof Key For Code Exchange, RFC 7636, DOI 10.17487/RFC7636, September 2015, https://doi.org/10.17487/RFC7636.
[SAML] OASIS, Security Assertion Markup Language (SAML) V2.0 Technical Overview, March 2008, available at: http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-tech-overview-2.0.html.
NIST 800 Series Special Publications are available at: http://csrc.nist.gov/publications/nistpubs/index.html. The following publications may be of particular interest to those implementing systems of applications requiring digital authentication.
[SP 800-53] NIST Special Publication 800-53 Revision 4, Recommended Security and Privacy Controls for Federal Information Systems and Organizations, April 2013 (updated January 22, 2015), http://dx.doi.org/10.6028/NIST.SP.800-53r4.
[SP 800-63-3] NIST Special Publication 800-63-3, Digital Identity Guidelines, June 2017, https://doi.org/10.6028/NIST.SP.800-63-3.
[SP 800-63A] NIST Special Publication 800-63A, Digital Identity Guidelines: Enrollment and Identity Proofing Requirements, June 2017, https://doi.org/10.6028/NIST.SP.800-63a.
[SP 800-63B] NIST Special Publication 800-63B, Digital Identity Guidelines: Authentication and Lifecycle Management, June 2017, https://doi.org/10.6028/NIST.SP.800-63b.
[FIPS 140-2] Federal Information Processing Standard Publication 140-2, Security Requirements for Cryptographic Modules, May 25, 2001 (with Change Notices through December 3, 2002), https://doi.org/10.6028/NIST.FIPS.140-2.