Handling comment from reviewers - #18
Conversation
identitymonk
commented
Jul 28, 2026
- handling Is a trust-anchor-added or trust-anchor-issued event needed? #17
|
Second commit is about openid/sharedsignals#345 |
|
Las t commit handle comments from openid/sharedsignals#344 |
|
last commit is solving #22 |
|
Last commit solves #23 |
| name: Sergei Nikitin | ||
| - ins: J. O'Leary | ||
| name: John O'Leary | ||
| date: 2026 |
There was a problem hiding this comment.
Remove reference to this draft. It is not an official WIMSE document. Taking a dependency on a document that is not working group adopted, nor received much in terms of support is inappropriate at this point.
| date: 2026 |
| target: https://www.cisa.gov/resources-tools/resources/minimum-requirements-vulnerability-exploitability-exchange-vex | ||
| date: 2023 | ||
| WIMSE-CBC: | ||
| title: "Condition-Bounded Credentials for Workload and Agent Identity: Non-Exfiltratable Keys and Validity by Presence" |
There was a problem hiding this comment.
| title: "Condition-Bounded Credentials for Workload and Agent Identity: Non-Exfiltratable Keys and Validity by Presence" |
| date: 2023 | ||
| WIMSE-CBC: | ||
| title: "Condition-Bounded Credentials for Workload and Agent Identity: Non-Exfiltratable Keys and Validity by Presence" | ||
| target: https://datatracker.ietf.org/doc/draft-winmagic-wimse-condition-bounded-credentials/ |
There was a problem hiding this comment.
| target: https://datatracker.ietf.org/doc/draft-winmagic-wimse-condition-bounded-credentials/ |
| WIMSE-CBC: | ||
| title: "Condition-Bounded Credentials for Workload and Agent Identity: Non-Exfiltratable Keys and Validity by Presence" | ||
| target: https://datatracker.ietf.org/doc/draft-winmagic-wimse-condition-bounded-credentials/ | ||
| author: |
There was a problem hiding this comment.
| author: |
| title: "Condition-Bounded Credentials for Workload and Agent Identity: Non-Exfiltratable Keys and Validity by Presence" | ||
| target: https://datatracker.ietf.org/doc/draft-winmagic-wimse-condition-bounded-credentials/ | ||
| author: | ||
| - ins: T. Nguyen-Huu |
There was a problem hiding this comment.
| - ins: T. Nguyen-Huu |
| target: https://datatracker.ietf.org/doc/draft-winmagic-wimse-condition-bounded-credentials/ | ||
| author: | ||
| - ins: T. Nguyen-Huu | ||
| name: Thi Nguyen-Huu |
There was a problem hiding this comment.
| name: Thi Nguyen-Huu |
| author: | ||
| - ins: T. Nguyen-Huu | ||
| name: Thi Nguyen-Huu | ||
| - ins: S. Nikitin |
There was a problem hiding this comment.
| - ins: S. Nikitin |
| - ins: T. Nguyen-Huu | ||
| name: Thi Nguyen-Huu | ||
| - ins: S. Nikitin | ||
| name: Sergei Nikitin |
There was a problem hiding this comment.
| name: Sergei Nikitin |
| name: Thi Nguyen-Huu | ||
| - ins: S. Nikitin | ||
| name: Sergei Nikitin | ||
| - ins: J. O'Leary |
There was a problem hiding this comment.
| - ins: J. O'Leary |
| - ins: S. Nikitin | ||
| name: Sergei Nikitin | ||
| - ins: J. O'Leary | ||
| name: John O'Leary |
There was a problem hiding this comment.
| name: John O'Leary |
| name: Sergei Nikitin | ||
| - ins: J. O'Leary | ||
| name: John O'Leary | ||
| date: 2026 |
There was a problem hiding this comment.
| date: 2026 |
| - Issuer-side status signalling, where the trust domain authority communicates lifecycle changes to relying parties through an event channel. The events defined in this specification serve this purpose. | ||
| - Short credential lifetime, where the remaining validity period bounds the exposure window. In the WIMSE model, credentials are intentionally short-lived to force posture evaluation before re-issuance. | ||
| - Condition-liveness, where a locally observable condition (hardware release policy, TEE state, platform integrity measurement) gates each key operation. Failure of the condition prevents the next presentation or handshake step without requiring a remote signal. | ||
| - Condition-liveness, as realised by condition-bounded credentials {{WIMSE-CBC}}, where a locally observable condition (hardware release policy, TEE state, platform integrity measurement) gates each key operation. Failure of the condition prevents the next presentation or handshake step without requiring a remote signal. |
There was a problem hiding this comment.
This can be misread as an endorsement of a WIMSE spec that has not received working group review, support or adoption..
| - Condition-liveness, as realised by condition-bounded credentials {{WIMSE-CBC}}, where a locally observable condition (hardware release policy, TEE state, platform integrity measurement) gates each key operation. Failure of the condition prevents the next presentation or handshake step without requiring a remote signal. | |
| - Condition-liveness, where a locally observable condition (hardware release policy, TEE state, platform integrity measurement) gates each key operation. Failure of the condition prevents the next presentation or handshake step without requiring a remote signal. |
| - Condition-liveness, as realised by condition-bounded credentials {{WIMSE-CBC}}, where a locally observable condition (hardware release policy, TEE state, platform integrity measurement) gates each key operation. Failure of the condition prevents the next presentation or handshake step without requiring a remote signal. | ||
|
|
||
| These mechanisms are complementary, not mutually exclusive. Condition-bounded credentials reduce the local deprovisioning window but cannot observe externally originated changes: issuer policy withdrawal, trust anchor rotation, cross-domain incident response, or administrative decisions to terminate an established connection. WISE events address these cases. Deployments combining short-lived credentials with condition-liveness properties still benefit from issuer-side signalling for lifecycle changes that no local mechanism can detect. | ||
| These mechanisms are complementary, not mutually exclusive. Condition-bounded credentials {{WIMSE-CBC}} remove the local deprovisioning window for conditions the endpoint can evaluate itself, but cannot observe externally originated changes: issuer policy withdrawal, trust anchor rotation, cross-domain incident response, or administrative decisions to terminate an established connection. WISE events address these cases. Deployments combining short-lived credentials with condition-liveness properties still benefit from issuer-side signalling for lifecycle changes that no local mechanism can detect. |
There was a problem hiding this comment.
This can be misread as an endorsement of a WIMSE spec that has not received working group review, support or adoption.
| These mechanisms are complementary, not mutually exclusive. Condition-bounded credentials {{WIMSE-CBC}} remove the local deprovisioning window for conditions the endpoint can evaluate itself, but cannot observe externally originated changes: issuer policy withdrawal, trust anchor rotation, cross-domain incident response, or administrative decisions to terminate an established connection. WISE events address these cases. Deployments combining short-lived credentials with condition-liveness properties still benefit from issuer-side signalling for lifecycle changes that no local mechanism can detect. | |
| These mechanisms are complementary, not mutually exclusive. Condition-bounded credentials reduce the local deprovisioning window but cannot observe externally originated changes: issuer policy withdrawal, trust anchor rotation, cross-domain incident response, or administrative decisions to terminate an established connection. WISE events address these cases. Deployments combining short-lived credentials with condition-liveness properties still benefit from issuer-side signalling for lifecycle changes that no local mechanism can detect. |
| title: "Minimum Requirements for Vulnerability Exploitability eXchange (VEX)" | ||
| target: https://www.cisa.gov/resources-tools/resources/minimum-requirements-vulnerability-exploitability-exchange-vex | ||
| date: 2023 | ||
| WIMSE-CBC: |
There was a problem hiding this comment.
| WIMSE-CBC: |
|
|
||
| ## Correlating Related Events {#correlating-related-events} | ||
|
|
||
| A single underlying occurrence may cause a Transmitter to emit more than one SET — for example, a lifecycle change and its companion credential event, a runtime compromise and a resulting credential revocation, a posture failure and a resulting renewal failure, or a new federation and the trust anchors that accompany it. When a Transmitter emits multiple SETs that describe the same underlying occurrence, it SHOULD set the same value in the OPTIONAL `txn` (transaction identifier) claim {{RFC8417}} on each of them, so that a Receiver can recognise that the events share a cause. This applies regardless of event type. |
There was a problem hiding this comment.
I struggled parsing this on the first read - perhaps a rephrase may help?
| A single underlying occurrence may cause a Transmitter to emit more than one SET — for example, a lifecycle change and its companion credential event, a runtime compromise and a resulting credential revocation, a posture failure and a resulting renewal failure, or a new federation and the trust anchors that accompany it. When a Transmitter emits multiple SETs that describe the same underlying occurrence, it SHOULD set the same value in the OPTIONAL `txn` (transaction identifier) claim {{RFC8417}} on each of them, so that a Receiver can recognise that the events share a cause. This applies regardless of event type. | |
| A single underlying occurrence may cause a Transmitter to emit more than one SET. For example, when a workload is disabled, the Transmitter emits a `workload-disabled` event together with an accompanying `credential-revoked` event for each credential the disablement invalidates. | |
| A Transmitter SHOULD set the same value in the OPTIONAL `txn` (transaction identifier) claim {{RFC8417}} on all SETs arising from the same occurrence, whatever their event types, so that a Receiver can recognise that they share a cause. |
There was a problem hiding this comment.
yes, sorry it was supposed to be cleaned before I asked for your review. I had the same stance on this. It comes from a loose merging of the other PR proposal into this one
PieterKas
left a comment
There was a problem hiding this comment.
Overall looks good with one major recommendation (remove WIMSE-CBC dependency) and some minor ones (combine otwo of the events as status change) and some text changes.
| - `type` - The key type, using a value from the "JSON Web Key Types" registry (e.g., `EC`, `RSA`, `OKP`, `oct`). | ||
| - `name` - The algorithm, using an "Algorithm Name" from the "JSON Web Signature and Encryption Algorithms" registry (e.g., `RS256`, `ES256`, `EdDSA`). | ||
| - `use` - The public key use, using a value from the "JSON Web Key Use" registry (e.g., `sig`, `enc`). |
There was a problem hiding this comment.
Should these not follow names defined in RFC 7517 and RFC 7518?
Standard parameter names are: kty (Key Type), alg (Algorithm), use (Public Key Use) and optional crv (Curve for EC/OKP keys, e.g., P-256, Ed25519).
There was a problem hiding this comment.
Add the Refrences into Informative
| - `missing_provenance` - Required provenance was missing or could not be verified. | ||
| - `posture_degraded` - Posture evaluation indicated a degraded but non-failing state. | ||
| - `compliance_drift` - The workload drifted from a compliance requirement. | ||
| - **event_timestamp** - OPTIONAL. Time the degradation took effect. |
There was a problem hiding this comment.
The claim event_timestamp is duplicated across all event definitions.
I suggest we move this to section 2.2, as I think there are only subtle differences between how the event is described in each event, and I think these can be inferred from the event context.
PS: This change isn't only related to this line, but for simplicity sake I only add it here once.
There was a problem hiding this comment.
Agreed. Would be a global attribute and then the definition would be "Time the event took detected."
| - `compromise` - A key or CA is believed compromised. | ||
| - `policy_change` - Changed due to updated security policy. | ||
| - `expiry` - Proactive rotation before scheduled expiry. | ||
| - **effective_at** - OPTIONAL. When the new anchor becomes active. JSON number (NumericDate). |
There was a problem hiding this comment.
We are introducing the claim effective_at to several events in this MR (Trust Anchor, Federation, and Policy events). The claim is optional, which can lead to confusion as to what it means when it's missing.
My suggestion is to add to section 2.2, something like: "If effective_at is omitted, the change MUST be treated as effective immediately upon receipt (or from iat)."
There was a problem hiding this comment.
Ok and move it as a Global OPTIONAL attribute
… adopted by WIMSE WG
…nsure RFC 7518 is referenced correctly in the document