Skip to content

Commit 8d9a315

Browse files
committed
Modernize content integrity protection security section.
1 parent 4dc6700 commit 8d9a315

File tree

1 file changed

+13
-57
lines changed

1 file changed

+13
-57
lines changed

index.html

Lines changed: 13 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -6173,72 +6173,28 @@ <h3>Content Integrity Protection</h3>
61736173
<p>
61746174
[=Verifiable credentials=] often contain URLs to data that resides outside of
61756175
the [=verifiable credential=] itself. Linked content that exists outside a
6176-
[=verifiable credential=], such as images, JSON-LD Contexts, JSON Schemas,
6177-
and other machine-readable data, are often not protected against tampering
6178-
because the data resides outside of the protection of the
6176+
[=verifiable credential=], such as images, JSON-LD extension contexts,
6177+
JSON Schemas, and other machine-readable data, are not protected by default
6178+
against tampering because the data resides outside of the protection of the
61796179
<a href="#securing-mechanisms">securing mechanism</a> on the
6180-
[=verifiable credential=]. For example, the content retrievable by
6181-
dereferencing the following highlighted links is not integrity protected, but
6182-
probably ought to be:
6180+
[=verifiable credential=].
61836181
</p>
61846182

6185-
<pre class="example nohighlight"
6186-
title="Non-content-integrity protected links">
6187-
{
6188-
"@context": [
6189-
<span class="highlight">"https://www.w3.org/ns/credentials/v2"</span>,
6190-
<span class="highlight">"https://www.w3.org/ns/credentials/examples/v2"</span>
6191-
],
6192-
"id": "http://university.example/credentials/58473",
6193-
"type": ["VerifiableCredential", "ExampleAlumniCredential"],
6194-
"credentialSubject": {
6195-
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
6196-
"image": <span class="highlight">"https://university.example/images/58473"</span>,
6197-
"alumniOf": {
6198-
"id": "did:example:c276e12ec21ebfeb1f712ebc6f1",
6199-
"name": "Example University"
6200-
}
6201-
}
6202-
}
6203-
</pre>
6204-
62056183
<p>
6206-
While this specification does not recommend any specific content integrity
6207-
protection, document authors who want to ensure links to content are integrity
6208-
protected are advised to use URL schemes that enforce content integrity.
6209-
</p>
6210-
6211-
<pre class="example nohighlight" title="Content-integrity protection for links to external data">
6212-
{
6213-
"@context": [
6214-
"https://www.w3.org/ns/credentials/v2<span class="highlight">?hl=z3aq31uzgnZBuWNzUB</span>",
6215-
"https://www.w3.org/ns/credentials/examples/v2<span class="highlight">?hl=z8guWNzUBnZBu3aq31</span>"
6216-
],
6217-
"id": "http://university.example/credentials/58473",
6218-
"type": ["VerifiableCredential", "ExampleAlumniCredential"],
6219-
"credentialSubject": {
6220-
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
6221-
"image": <span class="highlight">"https://example.com/image"</span>,
6222-
"alumniOf": {
6223-
"id": "did:example:c276e12ec21ebfeb1f712ebc6f1",
6224-
"name": "Example University"
6225-
}
6226-
}
6227-
}
6228-
</pre>
6229-
6230-
<p class="note">
6231-
It is debatable whether the JSON-LD Contexts above need protection because
6232-
production implementations are expected to ship with static copies of important
6233-
JSON-LD Contexts.
6184+
This specification provides an optional mechanism, contained in Section
6185+
[[[#integrity-of-related-resources]]], that is capable of ensuring the content
6186+
integrity for external resources. While this mechanism need not be utilized
6187+
for external resources that do not affect the security of the
6188+
[=verifiable credential=], it is strongly suggested for external resources
6189+
that could result in a security issue if the external content changes.
62346190
</p>
62356191

62366192
<p>
6237-
While the example above is one way to achieve content integrity protection,
6238-
there are other solutions that might be better suited for certain applications.
62396193
Implementers are urged to understand how links to external machine-readable
62406194
content that are not content-integrity protected could result in successful
6241-
attacks against their applications.
6195+
attacks against their applications and utilize the content integrity protection
6196+
mechanism provided by this specification if a security issue could occur
6197+
if the external resource is changed.
62426198
</p>
62436199

62446200
</section>

0 commit comments

Comments
 (0)