+5 Subscriber-Controlled Wallets
---+5.1 Issuing Attribute Bundles to the Subscriber-Controlled Wallet
------+5.1.1 Invalidating Attribute Bundles for the Subscriber-Controlled Wallet
---+5.2 Federation Transaction
---+5.3 Trust Agreements
------+5.3.1 CSPs and RPs
------+5.3.2 CSPs and Subscriber-Controlled Wallets
------+5.3.3 RPs and Subscriber-Controlled Wallets
------+5.3.4 FAL3 for Subscriber-Controlled Wallets
---+5.4 Wallet Activation
------+5.4.1 Key Storage
---+5.5 Discovery and Registration
---+5.6 Authentication and Attribute Disclosure
---+5.7 Assertion Requests
---+5.8 Assertion Contents
---+5.9 Assertion Presentation
---+5.10 Assertion Validation
---+5.11 RP Subscriber Accounts
|
5 Subscriber-Controlled Wallets
This section is normative. A subscriber-controlled wallet is an IdP for which the CSP makes the attributes of the subscriber account available through the issuance of attribute bundles, as described in Sec. 5.1. The subscriber activates the wallet using an activation factor or authenticator, as described in Sec. 5.4. Usually, the subscriber-controlled wallet runs on a device that is controlled by the subscriber and represents only a single subscriber. However, wallets can also be hosted on remote systems in a deployment pattern that is sometimes known as a cloud wallet.
1. Apžvalga
| Pavadinimas |
Standartas |
|
5.1 Issuing Attribute Bundles to the Subscriber-Controlled Wallet
|
When the CSP issues attribute bundles to the subscriber-controlled wallet, the process SHALL include the following steps:
The subscriber proves their identity to the CSP’s issuance functionality using the CSP’s identity proofing process or by authenticating to the subscriber account.
The subscriber activates the wallet using an activation factor, which might entail authenticating to a hosted wallet service.
The wallet generates or chooses a signing key and corresponding verification key. The wallet proves possession of its signing key to the CSP.
The CSP creates one or more attribute bundles that include subscriber attributes and the wallet’s verification key (or a reference to that key).
The wallet stores the attribute bundle for later presentation to RPs.
The subscriber-controlled wallet MAY generate and use a different signing key and verification key for each issuance request with the CSP. The CSP SHALL create a unique attribute bundle for each requesting wallet and SHOULD create a unique attribute bundle for each request from an individual wallet. Many subscriber-controlled wallets can carry attribute bundles from multiple CSPs simultaneously. The simultaneous presentation of attribute bundles from multiple CSPs in a single assertion is possible with some technologies. When this occurs, the assertion of multiple attribute bundles SHALL conform to the assertion requirements in this guideline.
|
|
5.2 Federation Transaction
|
A federation transaction with a subscriber-controlled wallet establishes the subscriber’s device as an IdP for the subscriber account and creates an authenticated session for the subscriber at the RP. The process is shown in Fig. 13. Fig. 13. Federation with a subscriber-controlled wallet 
A federation transaction with a subscriber-controlled wallet takes place over several steps:
The CSP identity-proofs the subscriber and creates a subscriber account.
The CSP issues attribute bundles from the subscriber account to the wallet in a process that includes the subscriber verifying an authenticator in their subscriber account or completing an abbreviated proofing process (e.g., using a biometric captured at proofing to verify identity).
The wallet receives a signed attribute bundle from the CSP that allows the wallet to act as an IdP.
The RP requests a federated authentication transaction from the wallet, usually through subscriber action.
The subscriber activates the wallet through an activation factor. In the case of a hosted wallet, this is an authentication to the wallet service.
The wallet creates an assertion based on the RP request, subscriber actions, and attribute bundles that are available to the wallet.
The wallet presents the assertion to the RP.
The RP validates the assertion and creates an authenticated session for the subscriber. This process includes validating the attribute bundle from the CSP.
|
|
5.3 Trust Agreements
|
Due to the architectures and design of subscriber-controlled wallets, the trust agreements that support federated transactions are less direct than with general-purpose IdPs. To maintain privacy outcomes and prevent the tracking of user transactions, CSPs and RPs do not typically have direct communication with each other. The following requirements apply to all subscriber-controlled wallet scenarios:
The release of subscriber attributes SHALL be managed using a runtime decision managed by the wallet, as described in Sec. 4.6.1.3.
The authorized party SHALL be the subscriber.
The following terms SHALL be disclosed to the subscriber during the runtime decision:
The set of subscriber attributes, derived attributes, and attribute bundles that the RP will request (a subset of the attributes made available)
The purpose of each attribute requested by the RP
The xALs required by the RP MAY also be disclosed to the subscriber at runtime. All of the information that is disclosed to the subscriber needs to be conveyed in a manner that is understandable and actionable, as discussed in Sec. 8.
|
|
5.4 Wallet Activation
|
The subscriber-controlled wallet SHALL require the presentation of an activation factor from the subscriber for the following actions that result in the creation of a signed artifact from the wallet’s signing keys:
Providing proof of possession of the wallet’s signing key to the CSP during the issuance process
Signing the assertion for presentation to the RP
The subscriber-controlled wallet SHOULD require the presentation of an activation factor before any other operations that result in the creation of a signed artifact from the wallet’s signing keys. For example, using the wallet as an authenticator at AAL2 or above requires the presentation of an activation factor as per Sec. 3.2.10 of [SP800-63B]. The wallet MAY request the reissuance of previously issued attribute bundles from the same CSP without requiring subscriber involvement. For subscriber-controlled wallets that run on a device that the subscriber controls, the submission of the activation factor SHALL be a separate operation from the unlocking of the host device (e.g., smartphone), although the same activation factor used to unlock the host device MAY be used in the activation operation. Organizations MAY relax this requirement for subscriber-controlled wallets managed by or on behalf of the CSP (e.g., via mobile device management) and that are constrained to have short, organization-determined inactivity timeouts and device activation factors that meet the above requirements. Additional discussion of activation factors for authenticators is found in Sec. 3.2.10 of [SP800-63B]. For subscriber-controlled wallets that are hosted on a remote service, activation of the wallet is performed using an authenticator that is registered to the wallet service. This authenticator MAY be separate from those bound to the subscriber account at the CSP.
|
|
5.5 Discovery and Registration
|
To perform a federation transaction with a subscriber-controlled wallet, the RP SHALL first determine the attribute bundle verification key of the CSP through a secure process as stated by the trust agreement. In some systems, this is accomplished by retrieving the CSP’s attribute bundle verification keys from a URL that is known to be controlled by the CSP. In other systems, the RP is configured manually with the verification keys of the CSP before being deployed. In systems governed by multi-lateral trust agreements, this process can be facilitated by a third-party discovery and registration service, such as one provided by a federation authority. The signed attribute bundle includes the CSP that issued the bundle and one or more verification keys that are associated with the subscriber-controlled wallet. Since the RP trusts the CSP’s process of issuing attribute bundles to subscriber-controlled wallets, the RP can trust the presentation of those bundles that are made using proof of one of the subscriber-controlled wallet’s signing keys. In many cases, the process of the RP registering with the subscriber-controlled wallet is expected to be a dynamic process in which the RP exchanges its keys and metadata with the IdP during the federation transaction. The nature of a subscriber-controlled wallet makes it difficult for any specific RP to pre-register with an instance of the wallet, but this can be facilitated through the use of a trusted third party that is stipulated in the trust agreement. Parties that seek to federate MAY use a trusted third party to facilitate the discovery and registration processes if that trusted third party is identified in the trust agreement. For example, consider an ecosystem has a centralized service for managing discovery and registration. When an RP joins the ecosystem, it registers itself with the trusted service, downloads the CSP’s verification keys, and receives an identifier to use with wallets. When the CSP issues attribute bundles to the subscriber-controlled wallet, the subscriber-controlled wallet is informed where it can find the list of valid RP identifiers within the ecosystem. When the RP connects to the wallet, the wallet can verify the RP’s identifier without the RP having to register itself directly with the wallet. Likewise, the RP can trust the wallet’s verification keys by verifying the CSP’s signature over the wallet’s verification keys or identifier.
|
|
5.6 Authentication and Attribute Disclosure
|
The decision of whether a federation transaction proceeds and, therefore, an assertion is issued and attributes are released to the RP SHALL be determined by the subscriber acting in the role of the authorized party. The decision MAY be augmented by the use of allowlists and blocklists to allow the wallet to help the subscriber make a decision based on configured policies and trust agreements. The subscriber-controlled wallet MAY remember the subscriber’s decision to allow for future actions at the same RP without separate authorization from the subscriber. The use of a stored authorization decision does not supersede the requirement for wallet activation, as discussed in Sec. 5.4. The subscriber-controlled wallet MAY provide a mechanism to remember a disclosure decision by the authorized party (i.e., the subscriber) to apply to future requests from the same RP. If such a mechanism is provided, the subscriber-controlled wallet SHALL disclose to the authorized party that the storage mechanism is in use and SHALL allow the authorized party to revoke such remembered access at a future time. The subscriber-controlled wallet SHOULD provide a means to selectively disclose a subset of the attributes in the attribute bundle from the CSP. The CSP SHALL provide secure and effective means of redress of subscriber complaints or problems (e.g., subscriber identifies an inaccurate attribute value, the need to invalidate attribute bundles that were previously issued to a subscriber-controlled wallet). See Sec. 3.5.3 for additional requirements and considerations for redress mechanisms.
|
|
5.7 Assertion Requests
|
When federation transactions are initiated by the RP, the RP’s request for an assertion SHALL contain:
An identifier for the RP
A cryptographic nonce
The set of identity attributes, derived attributes, and attribute bundles requested by the RP and their purpose of use at the RP
When federation transactions are initiated by the IdP (at FAL1), these requirements do not apply. Federation transactions are always initiated by the RP at FAL2 or higher.
|
|
5.8 Assertion Contents
|
Assertions from a subscriber-controlled wallet SHALL contain:
A signed attribute bundle from the CSP.
Audience identifier: An identifier for the party that is intended to consume the assertion (i.e., the RP).
Issuance time: A timestamp that indicates when the wallet issued the assertion.
Validity time window: A period of time outside of which the assertion SHALL NOT be accepted as valid by the RP for the purposes of authenticating the subscriber and starting an authenticated session at the RP. This is usually communicated by means of an expiration timestamp for the assertion in addition to the issuance timestamp.
Assertion identifier: A value that uniquely identifies this assertion and is used to prevent attackers from replaying prior assertions. For example, this can be a unique nonce generated by the wallet and included in the assertion.
Signature: A digital signature that uses asymmetric cryptography and covers the entire assertion.
Assertions MAY contain:
Subject identifier: An identifier for the party to which the assertion applies (i.e., the subscriber)
Issuer identifier: An identifier for the issuer of the assertion (i.e., the subscriber-controlled wallet)
The following aspects of the federation transaction SHALL be provided through information contained in the assertion contents or the applicable trust agreement:
The IAL of the subscriber account being represented in the assertion, an indication of the issuance processes, or an indication that no IAL is asserted
The nature of the activation method used to activate the wallet.
The wallet’s intended FAL of the federation process that is represented by the assertion
If a subscriber-controlled wallet is hosted as a remote service, the AAL of the subscriber’s current session at the hosted wallet service SHALL be provided through information contained in the assertion contents or the applicable trust agreement. In this case, the assertion SHOULD contain additional information about the authentication method used at the IdP, if available (e.g., whether the authenticator used is phishing-resistant). Some technologies that can carry this information include Vectors of Trust [RFC8485] or authentication class references in [OIDC] and [SAML]. At FAL2 and above, the assertion SHALL include:
Nonce: A cryptographic nonce from the RP’s federation request
At FAL3, the assertion SHALL include one of the following:
The public key, key identifier, or other identifier for a holder-of-key assertion. This MAY be the same key that the subscriber-controlled wallet uses to sign the assertion.
An indicator that the verification of a bound authenticator is required to process this assertion.
Assertions SHALL NOT contain subscriber authentication secrets (e.g., passwords). The signed attribute bundle from the CSP SHALL contain:
Keys: A verification key or key identifier for the key used by the subscriber-controlled wallet to sign assertions
Issuer identifier: An identifier for the issuer of the attribute bundle (i.e., the CSP)
Issuance time: A timestamp that indicates when the CSP issued the attribute bundle
IAL: Indicator of the IAL of the subscriber account being represented in the attribute bundle or an indication that no IAL is asserted
Signature: A digital signature that uses asymmetric cryptography and covers the entire attribute bundle
Attribute values and derived attribute values: Information about the subscriber
If the RP subscriber account does not use an ephemeral provisioning process (see Sec. 4.6.5) or an account resolution process (see Sec. 3.8.2), the subscriber SHALL be identified in the assertion using a federated identifier (see Sec. 3.4). The issuer identifier SHALL be of the CSP that issued the signed attribute bundle, and the subject identifier SHALL be contained in the signed attribute bundle and processed in the namespace of the CSP that issued the attribute bundle. The signed attribute bundle from the CSP SHOULD contain a validity time window, which is defined as a period of time outside of which the attribute bundle SHALL NOT be accepted as valid by the RP for the purposes of authenticating the subscriber and starting an authenticated session at the RP. This is usually communicated by means of an expiration timestamp for the attribute bundle in addition to the issuance timestamp. The signed attribute bundle from the CSP MAY contain additional information about the subscriber account, such as the set of controls used to determine the IAL. Additional identity attributes and derived attribute values MAY be included in the attribute bundle. These attributes SHALL be made available to the RP using a selective disclosure method if such a method is made available by the underlying attribute bundle. In selective disclosure, a subset of attributes is revealed rather than the entire set. This may be driven by a minimum set required to complete a transaction as defined by the RP or through selection by the subscriber at runtime. Identity attributes that are in the assertion but outside of a signed attribute bundle SHALL be considered self-asserted. The RP MAY validate these additional attributes using its own validation process.
|
|
5.9 Assertion Presentation
|
Assertions SHALL be presented to the RP through an authenticated protected channel. The presentation SHALL include the cryptographic nonce from the RP’s request, if present (this is required at FAL2 and above). The RP SHALL verify the nonce in accordance with the federation protocol. If the presentation mechanism passes the assertion through a component other than the wallet or RP, personal information in the assertion SHOULD be encrypted by the wallet using the RP’s encryption key, as discussed in Sec. 3.13.3. To enhance privacy, the presentation mechanism SHOULD provide features to enable unlinkability of the subscriber and their information at different RPs. The RP SHALL protect itself against the injection of manufactured or captured assertions by using XSS and CSRF protection, rejecting assertions outside of the correct stage of a federation transaction, or other accepted techniques discussed in Sec. 3.11.1. When possible, subscriber-controlled wallets that run on a subscriber-controlled device SHOULD use platform APIs instead of HTTP redirects when delivering an assertion to the RP.
|
|
5.10 Assertion Validation
|
The RP SHALL validate the signature on all signed attribute bundles in the assertion using the verification key from the CSP that issued the signed attribute bundle. The RP SHALL validate the signature of the assertion using the verification key of the subscriber-controlled wallet contained in the signed attribute bundle. The RP SHALL validate the assertion by checking that all the following are true:
Bundle verification: Ensure that the bundle was issued to the wallet that is presenting the assertion to the RP.
Issuer verification: If a specific wallet was requested by the RP, ensure that the assertion was issued by the requested wallet.
Time validation: Ensure that the validity time window is within acceptable limits of the current timestamp.
Audience restriction: Ensure that this RP is the intended recipient of the assertion.
Nonce: Ensure that the cryptographic nonce included in the RP’s request is also included in the presentation.
Transaction terms: Ensure that the IAL, AAL, and FAL represented by the assertion are allowable under the applicable trust agreement and are suitable for the RP’s needs.
Assertion identifier: Ensure that the assertion has not been replayed within its validity time window at this RP by validating a transaction specific assertion identifier, such as a wallet-provided nonce.
Additionally, if a mechanism for invalidating attribute bundles is provided by the CSP, the RP SHOULD use this mechanism to determine whether the attribute bundle has been invalidated by the CSP since its issuance, as discussed in Sec. 5.1.1. This validation mechanism is particularly suited for attribute bundles with long or indeterminate lifetimes, since proactive invalidation by the CSP could occur long before expiration of the attribute bundle.
|
|
5.11 RP Subscriber Accounts
|
Due to expected architectures and trust agreements for subscriber-controlled wallets, it is likely that RP subscriber accounts will be managed with a just-in-time or ephemeral provisioning model (see Sec. 4.6.3). In each of these cases, the RP creates the RP subscriber account and associates it with the federated identifier (if available) after the successful validation of the assertion from the wallet. A pre-provisioning model could also be used, such as when the RP has an established account linking process (see Sec. 3.8.1) that would allow linking of a wallet-based identity to an existing account using a known unique attribute or set of attributes. For many RPs that use wallet-based attribute bundles, the RP will use an account resolution process to link the information in the attribute bundle to a set of functionality at the RP, as discussed in Sec. 3.8.2. If the RP subscriber account is not ephemeral and a federated identifier is present, the RP SHOULD associate the federated identifier presented by the subscriber-controlled wallet with the RP subscriber account and use the federated identifier for future federated transactions with the same subscriber. If a federated identifier is not present (e.g., in the case of mDL), the RP will need to request the necessary attributes to resolve the subscriber to the RP subscriber account for each federated transaction. This attribute set SHALL be the minumum necessary to achieve accurate resolution. Linking to multiple federated identifiers SHALL be managed as discussed in Sec. 3.8.1. The RP SHALL disclose its practices for managing subscriber information as part of the trust agreement. The RP SHALL provide effective means of redress to the subscriber for correcting information in the RP subscriber account. See Sec. 3.5.3 for additional requirements and considerations for redress mechanisms.
|
1.1 Nuorodos
1.2 Nustatyti reikalavimai
1.3 Susiję teisės aktai
2. Nustatyti reikalavimai
Reikalavimai
| Šaltinis |
Reikalavimas |
3. Susiję teisės aktai
Teisės aktai
| Šaltinis |
Reguliavimas |
- NIST -
EN: Publications of the National Institute of Standards and Technology (NIST), U.S. Department of Commerce, https://www.nist.gov/, from their electronic versions (OSCAL; SP 800-63-4 from its HTML version, https://pages.nist.gov/800-63-4/). Works of NIST employees are not subject to copyright protection in the United States (17 U.S.C. § 105); the OSCAL content is dedicated to the public domain worldwide (CC0 1.0); outside the United States NIST grants the right to reprint its technical series publications in all formats (NIST copyright statement). Republished courtesy of the National Institute of Standards and Technology; each document names its citation. Divided into sections and converted into the GRCA format, the wording unchanged. Only the versions published by NIST are authoritative.
DE: Veröffentlichungen des National Institute of Standards and Technology (NIST), U.S. Department of Commerce, https://www.nist.gov/, aus ihren elektronischen Fassungen (OSCAL; SP 800-63-4 aus ihrer HTML-Fassung, https://pages.nist.gov/800-63-4/). Werke von NIST-Beschäftigten sind in den USA urheberrechtlich nicht geschützt (17 U.S.C. § 105); die OSCAL-Inhalte sind weltweit gemeinfrei gestellt (CC0 1.0); außerhalb der USA räumt das NIST das Recht ein, seine Technical-Series-Publikationen in allen Formaten neu zu veröffentlichen (Copyright-Hinweis des NIST). „Republished courtesy of the National Institute of Standards and Technology“; jedes Dokument nennt seine Zitierangabe. In Abschnitte aufgeteilt und in das GRCA-Format umgewandelt, der Wortlaut unverändert. Maßgeblich sind allein die vom NIST veröffentlichten Fassungen.
|