Difference between revisions of "Subject Identifier"
(→Other Definitions) |
(→Other Definitions) |
||
Line 21: | Line 21: | ||
** From OpenID Connect Core Spec 1.0<blockquote> </blockquote> | ** From OpenID Connect Core Spec 1.0<blockquote> </blockquote> | ||
** From OpenID Connect for Identity Assurance 1.0 (also uses sub from OIDC)<blockquote> Mark said they had one, but I couldn't find it.</blockquote> | ** From OpenID Connect for Identity Assurance 1.0 (also uses sub from OIDC)<blockquote> Mark said they had one, but I couldn't find it.</blockquote> | ||
+ | |||
+ | ===The Special case of DIDs=== | ||
+ | Frankly, no one seems to agree what a DID actually is. Note in particular that the current effort is to eliminate the type on the DID so that it would not even be possible to determine if the subject of the DID qualified for GDPR protections! | ||
+ | * [https://w3c.github.io/did-core/#authentication-and-verifiable-claims: From Verified Claims (yeah- that's weird) The process of binding a DID to something in the real world, such as a person or a company, for example with credentials with the same subject as that DID, is out of scope for this specification. | ||
+ | I copied the following from the current rant at: https://github.com/w3c/did-core/pull/460 | ||
+ | * A DID is a URI as defined by RFC 3986. | ||
+ | * The first line of RFC 3986 is: "A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource." | ||
+ | * Therefore a DID identifies an abstract or physical resource. | ||
+ | * In this specification, the resource identified by a DID is called a DID subject. | ||
+ | |||
+ | You can make all kinds of arguments about whether a particular DID produced by a particular DID method is anonymous, pseudonymous, or verinymous. But regardless, it still identifies the DID subject. That's what identifiers do. | ||
+ | |||
+ | Furthermore, if a DID identifies a natural person in any way that can ever be associated with that person—no matter how anonymous or pseudonymous it starts out or what mechanism is used to make that association (including proof of control)—then that DID is personal data under GDPR. (not sure how this is ever determined.) | ||
==References== | ==References== |
Revision as of 22:46, 16 November 2020
Contents
Full Title or Meme
A Subject Identifier is an abstract definition of an Identifier that only identifies an entity that has private data or access to private resources on the web.
Context
- This is a superset of the topic Subject ID which looks at a digital Identifier associated with some real-world Entity that has established an interchange on the internet by means of a User Agent.
- Some uses of Subject Identifier are to create alternative Identifiers or to link an old Identifier into a new one, or to act as a Also Known As. (aka) identifier.
- There is a draft RFC on Subject IDs for use in Security Event Tokens Subject Identifiers for Security Event Tokens.
Problems
- While the Subject ID (sub) is often taken to be a persistent Identifier for a real-world entity, there are several examples of its use as and Ephemeral ID.
Solutions
- Users are often asked to use their email address or cell phone number as a local user name since the email address and phone number with country code (+1 in North America) are known to be a URI and hence unique in that context. Reuse of email and phone numbers could be an issue. Note that these Identifiers are also subject to change at the user's discretion and can be diverted by a determined attacker.
- This wiki uses Subject ID primarily as identifying the subject of a claim about a real-world entity. It is subject to revocation by the user or the claim issuer at any time.
Other Definitions
- From JWT[1]
The "sub" (subject) claim identifies the principal that is the subject of the JWT. The Claims in a JWT are normally statements about the subject. The subject value MUST either be scoped to be locally unique in the context of the issuer or be globally unique. The processing of this claim is generally application specific. The "sub" value is a case-sensitive string containing a StringOrURI value. Use of this claim is OPTIONAL.
- From Security Event Token (This is tentatively the same list for GNAP)
A Subject Identifier Type is a light-weight schema that describes a set of claims that identifies a subject. Every Subject Identifier Type MUST have a unique name registered in the IANA "Security Event Subject Identifier Types" registry established by Section 6.1 of Security Event Token. A Subject Identifier Type MAY describe more claims than are strictly necessary to identify a subject, and MAY describe conditions under which those claims are required, optional, or prohibited.
- From OpenID Connect
- From OpenID Connect Core Spec 1.0
- From OpenID Connect for Identity Assurance 1.0 (also uses sub from OIDC)
Mark said they had one, but I couldn't find it.
- From OpenID Connect Core Spec 1.0
The Special case of DIDs
Frankly, no one seems to agree what a DID actually is. Note in particular that the current effort is to eliminate the type on the DID so that it would not even be possible to determine if the subject of the DID qualified for GDPR protections!
- [https://w3c.github.io/did-core/#authentication-and-verifiable-claims: From Verified Claims (yeah- that's weird) The process of binding a DID to something in the real world, such as a person or a company, for example with credentials with the same subject as that DID, is out of scope for this specification.
I copied the following from the current rant at: https://github.com/w3c/did-core/pull/460
- A DID is a URI as defined by RFC 3986.
- The first line of RFC 3986 is: "A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource."
- Therefore a DID identifies an abstract or physical resource.
- In this specification, the resource identified by a DID is called a DID subject.
You can make all kinds of arguments about whether a particular DID produced by a particular DID method is anonymous, pseudonymous, or verinymous. But regardless, it still identifies the DID subject. That's what identifiers do.
Furthermore, if a DID identifies a natural person in any way that can ever be associated with that person—no matter how anonymous or pseudonymous it starts out or what mechanism is used to make that association (including proof of control)—then that DID is personal data under GDPR. (not sure how this is ever determined.)
References
- Synonyms for a Subject ID include User Name, display name, gamertag, nom de guerre, Pseudonym, URI or (on Facebook) Name subject to arbitrary termination.
- Anonym is not used in the context of identity as it does not provide one. It may be used as the condition (Anonymous) of a user prior to accepting (1) a cookie, (2) a fixed IP address, (3) an HTTPS connection or (4) a request for an Identifier.