diff --git a/index.html b/index.html index 9469825..9147ed6 100644 --- a/index.html +++ b/index.html @@ -1,7 +1,7 @@
-The following example provides a minimum conformant -[=controllable identifier document=] containing a minimum conformant +[=controlled identifier document=] containing a minimum conformant [=verification method=] as required by the algorithm in this section:
-+{ "id": "https://controller.example/123", "verificationMethod": [{ @@ -2614,23 +2614,23 @@-Retrieve Verification Method
}+
[=Verification method identifiers=] are expressed as strings that are URLs, or -via the `id` property, whose value is a URL. It is possible for a [=controllable identifier +via the `id` property, whose value is a URL. It is possible for a [=controlled identifier document=] to express a [=verification method=], through a [=verification -relationship=], that exists in a place that is external to the [=controllable identifier +relationship=], that exists in a place that is external to the [=controlled identifier document=]. As described in Section [[[#integrity-protection-of-controllers]]], -specifying a [=verification method=] that is external to a [=controllable identifier +specifying a [=verification method=] that is external to a [=controlled identifier document=] is a valid use of this specification. It is vital that this -[=verification method=] is retrieved from the external [=controllable identifier document=]. +[=verification method=] is retrieved from the external [=controlled identifier document=].
When retrieving any [=verification method=] the algorithm above is used to ensure that the [=verification method=] is retrieved from the correct -[=controllable identifier document=]. The algorithm also ensures that this [=controllable identifier +[=controlled identifier document=]. The algorithm also ensures that this [=controlled identifier document=] refers to the [=verification method=] (via a [=verification -relationship=]) and that the [=verification method=] refers to the [=controllable identifier +relationship=]) and that the [=verification method=] refers to the [=controlled identifier document=] (via the [=verification method=]'s `controller` property). Failure to use this algorithm, or an equivalent one that performs these checks, can lead to security compromises where an attacker poisons a cache by claiming control of a @@ -2648,7 +2648,7 @@
Retrieve Verification Method
In the example above, the algorithm described in this section will use the `https://external.example/xyz#key-789` URL value as the [=verification method identifier=]. The algorithm will then confirm that the [=verification method=] -exists in the external [=controllable identifier document=] and that the appropriate +exists in the external [=controlled identifier document=] and that the appropriate relationships exist as described earlier in this section. @@ -2697,22 +2697,22 @@Processing Errors
-When an application is processing a [=controllable identifier document=], if an `@context` +When an application is processing a [=controlled identifier document=], if an `@context` property is not provided in the document or the terms used in the document are not mapped by existing values in the `@context` property, implementations MUST inject or append an `@context` property with a value of @@ -2866,7 +2866,7 @@
+{ "id": "https://controller.example/101", "verificationMethod": [{ @@ -2972,10 +2972,10 @@Proving Control and Binding
Binding an entity in the digital world or the physical world to an identifier, to -a [=controllable identifier document=], or to cryptographic material requires the use of +a [=controlled identifier document=], or to cryptographic material requires the use of security protocols contemplated by this specification. The following sections describe some possible scenarios and how an entity therein might prove control -over an identifier or a [=controllable identifier document=] for the purposes of authentication or +over an identifier or a [=controlled identifier document=] for the purposes of authentication or authorization.
@@ -2983,9 +2983,9 @@Proving Control and Binding
Proving Control of an Identifier and/or Controller Document
-Proving control over an identifier and/or a [=controllable identifier document=] is useful +Proving control over an identifier and/or a [=controlled identifier document=] is useful when accessing remote systems. Cryptographic digital signatures enable certain -security protocols related to [=controllable identifier documents=] +security protocols related to [=controlled identifier documents=] to be cryptographically verifiable. For these purposes, this specification defines useful [=verification relationships=] in and [[[#capability-invocation]]]. The @@ -2999,10 +2999,10 @@
Proving Control of an Identifier and/or Controller Document
Binding to Physical Identity
-An identifier or [=controllable identifier document=] do not inherently carry any +An identifier or [=controlled identifier document=] do not inherently carry any personal data and it is strongly advised that non-public entities do not publish personal data in -[=controllable identifier documents=]. +[=controlled identifier documents=].
@@ -3141,7 +3141,7 @@
Verification Method Rotation
Rotation is a management process that enables the secret cryptographic material associated with an existing [=verification method=] to be deactivated or destroyed once a new [=verification method=] has been added to the -[=controllable identifier document=]. Going forward, any new [=proofs=] that a +[=controlled identifier document=]. Going forward, any new [=proofs=] that a [=controller=] would have generated using the old secret cryptographic material can now instead be generated using the new cryptographic material and can be verified using the new [=verification method=]. @@ -3175,7 +3175,7 @@Verification Method Rotation
Compromise of the secrets associated with a [=verification method=] allows the attacker to use them according to the [=verification relationship=] -expressed by [=controller=] in the [=controllable identifier document=], for example, for +expressed by [=controller=] in the [=controlled identifier document=], for example, for authentication. The attacker's use of the secrets might be indistinguishable from the legitimate [=controller=]'s use starting from the time the [=verification method=] was registered, to the time it was @@ -3250,7 +3250,7 @@
However, in order for such semantics to be safe, the second condition — an -ability to know what the state of the [=controllable identifier document=] was at the time +ability to know what the state of the [=controlled identifier document=] was at the time the assertion was made — is expected to apply. Without that guarantee, someone could discover a revoked key and use it to make cryptographically verifiable statements with a simulated date in the past. @@ -3361,17 +3361,17 @@
Encryption algorithms have been known to fail due to advances in cryptography and computing power. Implementers are advised to assume that any encrypted data -placed in a [=controllable identifier document=] might eventually be made available in clear text +placed in a [=controlled identifier document=] might eventually be made available in clear text to the same audience to which the encrypted data is available. This is -particularly pertinent if the [=controllable identifier document=] is public. +particularly pertinent if the [=controlled identifier document=] is public.
-Encrypting all or parts of a [=controllable identifier document=] is not an appropriate +Encrypting all or parts of a [=controlled identifier document=] is not an appropriate means to protect data in the long term. Similarly, placing encrypted data in -a [=controllable identifier document=] is not an appropriate means to protect personal data. +a [=controlled identifier document=] is not an appropriate means to protect personal data.
-Given the caveats above, if encrypted data is included in a [=controllable identifier document=], +Given the caveats above, if encrypted data is included in a [=controlled identifier document=], implementers are advised to not associate any correlatable information that could be used to infer a relationship between the encrypted data and an associated party. Examples of correlatable information include @@ -3385,19 +3385,19 @@
-[=Controllable identifier documents=] that include links to external machine-readable +[=Controlled identifier documents=] that include links to external machine-readable content such as images, web pages, or schemas are vulnerable to tampering. It is strongly advised that external links are integrity protected using mechanisms to secure related resources such as those described in the [[[?VC-DATA-MODEL-2.0]]] specification. External links are to be avoided if they cannot be integrity -protected and the [=controllable identifier document=]'s integrity is dependent on the +protected and the [=controlled identifier document=]'s integrity is dependent on the external link.
-One example of an external link where the integrity of the [=controllable identifier +One example of an external link where the integrity of the [=controlled identifier document=] itself could be affected is the JSON-LD Context [[JSON-LD11]], when present. To protect against compromise, -[=controllable identifier document=] consumers using JSON-LD are advised to cache +[=controlled identifier document=] consumers using JSON-LD are advised to cache local static copies of JSON-LD contexts and/or verify the integrity of external contexts against a cryptographic hash that is known to be associated with a safe version of the external JSON-LD Context. @@ -3409,8 +3409,8 @@
As described in Section [[[#controllers]]], this specification includes a -mechanism by which to delegate change control of a [=controllable identifier document=] to -an entity that is described in an external [=controllable identifier document=] through the +mechanism by which to delegate change control of a [=controlled identifier document=] to +an entity that is described in an external [=controlled identifier document=] through the use of the `controller` property.
@@ -3421,7 +3421,7 @@-If a [=controllable identifier document=] publishes a [=service=] intended for authentication +If a [=controlled identifier document=] publishes a [=service=] intended for authentication or authorization of the [=subject=] (see Section [[[#services]]]), it is the responsibility of the [=service=] provider, [=subject=], and/or requesting party to comply with the requirements of the authentication and/or authorization @@ -3500,16 +3500,16 @@
-Since [=controllable identifier documents=] are designed to be administered directly by +Since [=controlled identifier documents=] are designed to be administered directly by the [=controller=], it is critically important to apply the principles of Privacy by Design [[PRIVACY-BY-DESIGN]] to all aspects of the -[=controllable identifier document=]. All seven of these principles have been applied +[=controlled identifier document=]. All seven of these principles have been applied throughout the development of this specification. The design used in this specification does not assume that there is a registrar, hosting company, nor other intermediate service provider to recommend or apply additional privacy safeguards. Privacy in this specification is preventive, not remedial, and is an embedded default. The following sections cover privacy considerations that -implementers might find useful when building systems that utilize [=controllable identifier +implementers might find useful when building systems that utilize [=controlled identifier documents=].
@@ -3517,13 +3517,13 @@-If a [=controllable identifier document=] is about a specific individual and is -public-facing, it is critical that [=controllable identifier documents=] contain +If a [=controlled identifier document=] is about a specific individual and is +public-facing, it is critical that [=controlled identifier documents=] contain no personal biometric or biographical data. While it is true that personal data might include pseudonymous information, such as a public cryptographic key or an IP address, publishing that sort of information does not create the same immediate privacy dangers as publishing an individual's full name, profile photo, or social media -account in a [=controllable identifier document=]. A better alternative is to transmit +account in a [=controlled identifier document=]. A better alternative is to transmit such personal data through other means such as verifiable credentials [[?VC-DATA-MODEL-2.0]] or other data formats sent over private and secure communication channels. @@ -3553,7 +3553,7 @@
The anti-correlation protections of [=pairwise identifiers=] are easily defeated -if the data in the corresponding [=controllable identifier documents=] can be correlated. For -example, using identical [=verification methods=] in multiple [=controllable identifier +if the data in the corresponding [=controlled identifier documents=] can be correlated. For +example, using identical [=verification methods=] in multiple [=controlled identifier documents=] can provide as much correlation information as using the same -identifier. Therefore, the [=controllable identifier document=] for a [=pairwise identifier=] +identifier. Therefore, the [=controlled identifier document=] for a [=pairwise identifier=] also needs to use pairwise unique information, such as ensuring that [=verification methods=] are unique to the pairwise relationship.
@@ -3592,7 +3592,7 @@-It is dangerous to add properties to the [=controllable identifier document=] that can be +It is dangerous to add properties to the [=controlled identifier document=] that can be used to indicate, explicitly or through inference, what type or nature of thing the [=subject=] is, particularly if the [=subject=] is a person.
@@ -3601,19 +3601,19 @@-Including type information in a [=controllable identifier document=] can result +Including type information in a [=controlled identifier document=] can result in personal privacy harms even for [=subjects=] that are non-person entities, such as IoT devices. The aggregation of such information around a [=controller=] could serve as a form of digital fingerprint and this is best avoided.
-To minimize these risks, all properties in a [=controllable identifier document=] ought to +To minimize these risks, all properties in a [=controlled identifier document=] ought to be for expressing [=verification methods=] and verification relationships related to using the identifier.
@@ -3623,22 +3623,22 @@-The ability for a [=controller=] to optionally express at least one [=service=] in the [=controllable identifier document=] increases their control and agency. -Each additional endpoint in the [=controllable identifier document=] adds privacy risk either +The ability for a [=controller=] to optionally express at least one [=service=] in the [=controlled identifier document=] increases their control and agency. +Each additional endpoint in the [=controlled identifier document=] adds privacy risk either due to correlation, such as across endpoint descriptions, or because the [=services=] are not protected by an authorization mechanism, or both.
-[=Controllable identifier documents=] are often public and, since they are standardized, will +[=Controlled identifier documents=] are often public and, since they are standardized, will be stored and indexed efficiently. This -risk is increased if [=controllable identifier documents=] are published to immutable -[=verifiable data registries=]. Access to a history of the [=controllable identifier +risk is increased if [=controlled identifier documents=] are published to immutable +[=verifiable data registries=]. Access to a history of the [=controlled identifier documents=] referenced by a URL enables a form of traffic analysis made more efficient through the use of standards.
The degree of additional privacy risk caused by including multiple [=services=] in -one [=controllable identifier document=] can be difficult to estimate. Privacy harms are +one [=controlled identifier document=] can be difficult to estimate. Privacy harms are typically unintended consequences. URLs can refer to documents, [=services=], schemas, and other things that might be associated with individual people, households, clubs, and employers — and correlation of their [=services=] @@ -3706,7 +3706,7 @@
This specification registers the `application/cid` media type specifically for -identifying documents conforming to the [=controllable identifier document=] +identifying documents conforming to the [=controlled identifier document=] format.