Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify proof mechanism and algorithm selection #584

Merged
merged 9 commits into from
Dec 23, 2024
7 changes: 7 additions & 0 deletions ob_v3p0/cert/displayer.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,11 @@ the same characteristics as in Test 1. The candidate platform must verify these
1. Demonstrate through video that the platform allows viewers of badges to do the following:
- Trigger verification of the badge and retrieve results verifying that the badge credential is not expired, and not revoked

#### Supported Proof Mechanisms

Open Badges Verifiers must support the following supported proof mechanisms for
Linked Data Proof format:

- [[[VC-DI-EDDSA]]] suite with the `eddsa-rdfc-2022` algorithm.

`;
9 changes: 0 additions & 9 deletions ob_v3p0/cert/host.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,6 @@ An Open Badges **Host** is an application that can aggregate and publicly host O

### Tests {#tests-host}

1. Import each of the provided artifacts (see table below), verify the badge, and submit the status to the conformance test system.

| Required OpenBadgeCredential Format | Use this resource for certification |
| --- | --- |
| Baked OpenBadgeCredential (PNG) format | [https://someurl/OB30-conformance.png](https://someurl/OB30-conformance.png) |
| Baked OpenBadgeCredential (SVG) format | [https://someurl/OB30-conformance.svg](https://someurl/OB30-conformance.svg) |
| OpenBadgeCredential JSON Resource URL | [https://someurl/OB30-conformance.jws](https://someurl/OB30-conformance.jws) |

1. Export the imported badge in the previous test and submit the exported badge to the conformance test system. The conformance test system will ensure that the exported badge is a valid badge and that no information is lost in the import/export operation.
1. Complete tests of [[[#service-consumer-read]]].
1. Complete tests of [[[#service-provider-read]]].
1. Complete tests of, at least, required endpoints of [[[#service-provider-write]]].
Expand Down
9 changes: 8 additions & 1 deletion ob_v3p0/cert/issuer.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ var issuer = `

## Open Badges 3.0 Issuer Service Conformance {#issuer-conformance}

A Open Badges **Issuer** is an application that allows for the creation of OpenBadgeCredentials and the subsequent delivery of OpenBadgeCredentials to recipients that conform to the Open Badges Specification. The candidate platform must issue a valid baked badge and demonstrate how the badge is retrieved by the recipient. The candidate platform may also meet Service Consumer (Write) requirements and can send an AchievementCredential or a Profile to a product that conforms to Service Provider (Write) requirements.
A Open Badges **Issuer** is an application that allows for the creation of OpenBadgeCredentials and the subsequent delivery of OpenBadgeCredentials to recipients that conform to the Open Badges Specification. The candidate platform must issue a valid badge and demonstrate how the badge is retrieved by the recipient. The candidate platform may also meet Service Consumer (Write) requirements and can send an AchievementCredential or a Profile to a product that conforms to Service Provider (Write) requirements.

<div class="note">
Open Badges Issuers that only create OpenBadgeCredentials and not meet Service Consumer (Write) requirements are also known for conform to the <b>Issuer Only</b> service conformance.
Expand All @@ -15,6 +15,13 @@ Open Badges Issuers that only create OpenBadgeCredentials and not meet Service C

1. (Optional) Complete tests of, at least, required endpoints of [[[#service-consumer-write]]].

#### Supported Proof Mechanisms

Open Badges Issuers opting for a Linked Data Proof format as the signature of
the badge must use one of the following supported proof mechanisms:

- [[[VC-DI-EDDSA]]] suite with the `eddsa-rdfc-2022` algorithm.

### Service Consumer (Write) Conformance {#service-consumer-write}

A product that conforms to Service Consumer (Write) requirements can send an OpenBadgeCredential or a Profile to a product that conforms to Service Provider (Write) requirements.
Expand Down
15 changes: 13 additions & 2 deletions ob_v3p0/cert/ob-cert-v3p0.html
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@
specNature: "normative", // spec nature is "normative" or "informative"
specType: "cert", // spec type is "main", "cert", "impl", "errata" or other agreed upon string
specVersion: "3.0",
docVersion: "1.0",
docVersion: "1.1",
specStatus: "Final Release",
specDate: "May 27, 2024",
specDate: "Dec 23, 2024",
contributors: _contributors,
localBiblio: _localBiblio,
iprs: _iprs,
Expand Down Expand Up @@ -94,6 +94,17 @@ <h1>Revision History</h1>
<td>1.0</td>
<td>May 27, 2024</td>
<td>Open Badges 3.0 Final Release</td>
</tr>
<tr>
<td>Final</td>
<td>1.1</td>
<td>Dec 23, 2024</td>
<td>
<ul>
<li>Added supported proof mechanisms for Issuer.</li>
<li>Added supported proof mechanisms for Displayer.</li>
<li>Removed invalid Host tests.</li>
</ul>
</td>
</tr>
</tbody>
Expand Down
50 changes: 11 additions & 39 deletions ob_v3p0/errata/errata.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,5 @@
## Errata for Open Badges 3.0 Specification

### Data Model

- Multiplicity column for the property `@context` in [AchievementCredential](https://www.imsglobal.org/spec/ob/v3p0#achievementcredential) should be `[2..*]`.

- Multiplicity column for the property `@context` in [AchievementCredentialv1p1](https://www.imsglobal.org/spec/ob/v3p0#achievementcredentialv1p1) should be `[2..*]`.

### Typography

- The description of the field `type` in the entity `GeoCoordinates` should be `MUST be the IRI 'GeoCoordinates'.`.

- The description of the field `type` in the entity `IdentifierEntry` should be `MUST be the IRI 'IdentifierEntry'.`.

- Appearances of `JsonSchemaValidator2019` in description fields inside JSON Schemas should be `1EdTechJsonSchemaValidator2019`.

- Description column for the property `termsOfUse` in [AchievementCredential](https://www.imsglobal.org/spec/ob/v3p0#achievementcredential) should be:

> The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential.

- Description column for the property `termsOfUse` in [EndorsementCredential](https://www.imsglobal.org/spec/ob/v3p0#endorsementcredential) should be:

> The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential.

- Description column for the property `termsOfUse` in [VerifiableCredential](https://www.imsglobal.org/spec/ob/v3p0#verifiablecredential) should be:

> The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential.

- Description column for the property `termsOfUse` in [AchievementCredentialv1p1](https://www.imsglobal.org/spec/ob/v3p0#achievementcredentialv1p1) should be:

> The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential.

- Description column for the property `termsOfUse` in [EndrosementCredentialv1p1](https://www.imsglobal.org/spec/ob/v3p0#endorsementcredentialv1p1) should be:

> The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential.

- Description column for the property `termsOfUse` in [VerifiableCredentialv1p1](https://www.imsglobal.org/spec/ob/v3p0#verifiablecredentialv1p1) should be:

> The value of the termsOfUse property tells the verifier what actions it is required to perform (an obligation), not allowed to perform (a prohibition), or allowed to perform (a permission) if it is to accept the verifiable credential.


### Context file

The context file for Open Badges 3.0 follows a versioning as a result of https://github.com/1EdTech/openbadges-specification/issues/497. All changes to this file that may lead to invalid signatures and errors (breaking changes) must lead to a new version of the file.
Expand Down Expand Up @@ -100,3 +61,14 @@ Previous versions of the context file will remain accessible, in order to keep b
- Fixed `type` attribute of `Image`.
- Fixed `@id` attribute of `Alignment`. Now points to `https://schema.org/AlignmentObject`.
- Added `awardedDate` attribute to `VerifiableCredential`.

### Proofs (Signatures)

The section about Linked Data Proof Format previously defined a format and
algorithm to use in Open Badges. Concretely, it stated:

> In order to opt for this format you MUST use the [[[VC-DI-EDDSA]]] suite.

This statement may not follow the security requirements of the future as
the securing mechanisms evolve over time. Therefore, the especific list of
allowed proof format have been extracted out the [[[OB-CERT-30]]].
12 changes: 12 additions & 0 deletions ob_v3p0/errata/ob_err_v3p0.html
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,18 @@ <h1>Revision History</h1>
Added typography errors
</td>
</tr>
<tr>
<td>Version 3.0 Final</td>
<td>1.2</td>
<td>Dec 23, 2024</td>
<td>
<ul>
<li>Consolidated with version 1.2 of the specification.</li>
<li>Clarified proof mechanism and algorithm selection.</li>
</ul>

</td>
</tr>
</tbody>
</table>
</section>
Expand Down
17 changes: 14 additions & 3 deletions ob_v3p0/impl/ob_impl_v3p0.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@
specNature: 'informative', // spec nature is "normative" or "informative"
specType: 'impl', // spec type is "main", "cert", "impl", "errata" or other agreed upon string
specVersion: '3.0',
docVersion: '1.10',
specStatus: 'Candidate Final Public',
specDate: 'October 1st, 2024',
docVersion: '1.0',
specStatus: 'Final Release',
specDate: 'Dec 23, 2024',
contributors: _contributors,
localBiblio: _localBiblio,
iprs: _iprs,
Expand Down Expand Up @@ -243,6 +243,17 @@ <h1>Revision History</h1>
</ul>
</td>
</tr>
<tr>
<td>Version 3.0 IMS Candidate Final</td>
<td>Final Release</td>
<td>1.0</td>
<td>December 23, 2024</td>
<td>
<ul>
<li>Clarified proof mechanism and algorithm selection.</li>
</ul>
</td>
</tr>
</tbody>
</table>
</section>
Expand Down
Loading