Consent to Create Binding: Difference between revisions

From IDESG Wiki
Jump to navigation Jump to search
Line 57: Line 57:
#Binding Statement (aka [[Consent Receipt]] or [https://tcwiki.azurewebsites.net/index.php?title=Entity_Statement Entity Statement])<blockquote>Response to the REQUEST - this is the name, version or identity for message returned by the issuer after the process has been completed. It is then made available to any legitimate request. It is signed by a well-known key belonging the the issuer.</blockquote>
#Binding Statement (aka [[Consent Receipt]] or [https://tcwiki.azurewebsites.net/index.php?title=Entity_Statement Entity Statement])<blockquote>Response to the REQUEST - this is the name, version or identity for message returned by the issuer after the process has been completed. It is then made available to any legitimate request. It is signed by a well-known key belonging the the issuer.</blockquote>
#Issuer (of this receipt aka Organization)<blockquote>MANDITORY This the entity that the subject is forming a binding with. It may be a brand name rather that a legal name.</blockquote>
#Issuer (of this receipt aka Organization)<blockquote>MANDITORY This the entity that the subject is forming a binding with. It may be a brand name rather that a legal name.</blockquote>
#Role of Issuer<blockquote>MANDITORY - this is the role(s) that the issue takes. (eg CSP, Identity Provider, Data Controller)</blockquote>
#Role of Issuer<blockquote>MANDITORY - this is the role(s) that the issue takes. (eg CSP, Identifier Provider, Data Controller)</blockquote>
#Legal Name<blockquote>OPTIONAL - this may be included if the Issuer is not a legal entity. It is required that a legal entity be responsible for the receipt.</blockquote>
#Legal Name<blockquote>OPTIONAL - this may be included if the Issuer is not a legal entity. It is required that a legal entity be responsible for the receipt.</blockquote>
#Subject<blockquote>MANDITORY - this is the identifier supplied by the user. Any certificate or authorization will be bound to this identifer.</blockquote>
#Subject<blockquote>MANDITORY - this is the identifier supplied by the user. This receipt is bound to this identifier.</blockquote>
#Claims<blockquote>OPTIONAL - this will be either the categories of claims granted, or the claims themselves.</blockquote>
#Claims<blockquote>OPTIONAL - this will be either the categories of claims granted, or the claims themselves.</blockquote>
#Issue Date<blockquote>MANDITORY - Linux epoch date is default</blockquote>
#Issue Date<blockquote>MANDITORY - Linux epoch date is default</blockquote>

Revision as of 20:22, 20 October 2019

Full Title

The definition of a message to carry consent from a subject to a Credential Service Provider.

Goals

  • The high level goal is the establishment and maintenance of a relationship (binding) between the subject and one organization.
  • The immediate goal is for the subject to receive a consent receipt and authorization in response to this message which meets the security requirements of the intended purpose.
  • Ensure solid binding to a secured user's key by requiring user to have private components of the key well secured before this message is created.
  • For healthcare the intended purpose is to bind the subject to the identity proofing document (IAL2) and validate the user agent as being in compliance with any health care regulation or code of conduct (AAL2).

Status

This page is a work in process towards a work item proposal.

Context

In an environment where a subject is requesting the establishment of a binding between it's private key and a Provider of any identifier services, the implicit assumption has been that the action of the subject on the website is sufficient. In today's world of gathering a subject's most private information some better means of capturing subject consent is urgently needed.

Note that the first use case for this message was in the Health Care Profile.

Existing Methods

  1. While it is true that methods exist for individual subjects to acquire a certificate for signing emails and receiving encrypted email, the adoption of that method outside of th enterprise is essentially failed and will not be considered as a paradigm for this effort.
  2. The most common request today is for an SSL or EV certificate from a Certificate Authority (CA) which works reasonably well for what it is intended to do. While it is possible to set up a CA of your own, we will address the more common case of a CA that has been approved by the major browser vendors. Before the process begins the user selects a Distinguished Name for the site based on the rules established by the CA/B forum.
  3. A CSR is an encoded file that provides you with a standardized way to send the Certificate Authority your public key as well as some information that identifies your company and domain name. When you generate a CSR, most server software asks for the following information: common name (e.g., www.example.com), organization name and location (country, state/province, city/town), key type (typically RSA), and key size (2048-bit minimum).

NIST levels of Assurance

External Definitions used here

  • Credential Service Provider (NIST) = A trusted entity that issues or registers subscriber authenticators and issues electronic credentials to subscribers. A CSP may be an independent third party or issue credentials for its own use. While the CSP is expected to assure the identity of the subject, this page assumes that the identity proofing occurs in a separate service. In these respects the CSP is simply viewed as a function with the physical realization and co-location of services being entirely up to the implementation.

Problems

  • Exploits against highly sensitive or valuable content on the web. (aka ex-filtration of valuable content hosted on a web server.)

Use Cases

Solution

This particular use case relates to the interchange between the subject and a trust authority. A similar interchange would be used between the subject and a relying party.

Consent to Create Binding Request

The following is the current understanding of what needs to be included in a Consent for Binding Request.

  1. Identifier of the message

    Protocol dependent - may have message identifier, version number, unique sequence number, nonce or state.

  2. Issuer (aka Organization or Audience)

    MANDITORY - URI OF the CSP (Audience of the request). This would be the entity that supplies a public key when encryption is required.

  3. Subject (aka Grantor)

    MANDITORY - this is the identifier from the user that will be the subject of the binding. It serves nearly the same purpose as the the DN of the X.509 certificate. Whether this subject identifier is to be bound to a real world entity (like a human being) is to be determined by the purposes to which the resulting entity statement will be put.

  4. Subject Role

    MANDITORY - this is the relationship between the subject and the owner of the information (e.g. patient). Typically will be self or guradian.

  5. Subject Attributes (aka Claims about Contact and other information)

    OPTIONAL - although a contact email or mobile number might be a requirement during registration for notices.

  6. Consents (aka Grants)

    MANDITORY - applies to above subject information. This is purely opt-in. No reference denotes no consent. Note that the attributes granted may be part of this message or may be included by reference with an Authorization Code for access.

  7. Device Statement

    MANDITORY for AAL2 and higher certifications. It is used by the CSP to verify the level of protection provided to the Private key of the certificate.

  8. Identity Proof

    MANDITORY - although this request might pass responsibility for proofing to the CSP if it is willing and able to provide proofing for the subject. The content of the proof might need to meet specific requirements in IAL2 and higher assurance credentials. This is an array so that more than one proofing document may be included. Note that the legal jurisdiction or address of the subject identifier may be part of this structure. Note that a request for proof that the user is not a robot (CAPTCHA or equal) would fall into this category. "None" would be an acceptable value for the element.

  9. Purpose of Use (aka reason)

    MANDATORY for any level of assurance greater than level one in any of the 3 categories of assurance.

  10. ACR

    OPTIONAL - this is only useful in the case where the Purpose is not adequate to establish the required levels of assurance of the resulting Entity Statement.

  11. Issue Date

    MANDITORY - Linux epoch date is default

  12. Expiration Date

    OPTIONAL - Linux epoch date is default

  13. Subject Public Key

    MANDITORY - must be included directly or by reference.

  14. Signature

    MANDITORY - using the above key.

  15. Encryption

    MANDITORY??? - using the Issuer's (Audience's) key.

Consent Receipt with Binding

The Binding can consist of any sort of authorization or certificate that shows that binding of the user to the resources has been created or reconfirmed.

  1. Binding Statement (aka Consent Receipt or Entity Statement)

    Response to the REQUEST - this is the name, version or identity for message returned by the issuer after the process has been completed. It is then made available to any legitimate request. It is signed by a well-known key belonging the the issuer.

  2. Issuer (of this receipt aka Organization)

    MANDITORY This the entity that the subject is forming a binding with. It may be a brand name rather that a legal name.

  3. Role of Issuer

    MANDITORY - this is the role(s) that the issue takes. (eg CSP, Identifier Provider, Data Controller)

  4. Legal Name

    OPTIONAL - this may be included if the Issuer is not a legal entity. It is required that a legal entity be responsible for the receipt.

  5. Subject

    MANDITORY - this is the identifier supplied by the user. This receipt is bound to this identifier.

  6. Claims

    OPTIONAL - this will be either the categories of claims granted, or the claims themselves.

  7. Issue Date

    MANDITORY - Linux epoch date is default

  8. Expiration Date

    OPTIONAL - Linux epoch date is default

  9. Issuer's Public Key

    MANDITORY - must be included directly or by reference.

  10. Signature

    MANDITORY - using the above key.

  11. Encryption

    MANDITORY??? - using the Subject's key.

References