Pocket CTF Reference · Device home

Consent in the Wrong Order

Three individually sealed records produce the court's final consent state. Determine whether the verifier authenticates their history or only each record in isolation.

Objective

By completing this module, you will be able to:

Before you begin

Complete the earlier panes and keep their evidence notes available. Open Consent in the Wrong Order, download the JSON records, and review JSON and JSON Lines.

Concepts

A state machine applies actions from a defined starting state. The same set of valid actions can produce different final states when applied in a different order. A signature or seal on each record may protect its contents, while leaving sequence numbers, predecessor links, freshness, or the ordered collection unprotected. A verifier that trusts client-supplied order can replay authentic records into a false history.

A synthetic lamp starts off. Applying authentic ON then OFF records ends off; reversing the same records ends on. Authenticity of each record does not establish order.

Consider two authentic records for a synthetic desk lamp: set ON and set OFF. Starting from OFF, ON then OFF ends OFF; OFF then ON ends ON. Both sequences contain the same records, but their final states differ. Authenticate sequence numbers, predecessor relationships, or the ordered collection as appropriate, and verify freshness before applying transitions. This lamp example is unrelated to the station's accepted record order.

Suggested tools

Tool practice

Rehearse the worked tool exercise before using challenge data.

Copy records into a table without altering their IDs or seals. Add columns for step, prior state, action, resulting state, and whether that transition is allowed. Trace the baseline on paper first; sorting IDs alphabetically is not the same as interpreting sequence numbers.

Investigation

Observe

Inventory the three actions and their sequence numbers. Establish the authentic recorded order and trace the final state it should produce. Note what each seal protects and what relationship is not represented in the records.

Form a hypothesis

Will the verifier accept the same complete record set in another protocol-valid order? Can such an order produce a final state that contradicts the authentic sequence without modifying any individual record?

Test carefully

Model candidate orders on paper before submitting them. Use every known record exactly once, preserve each ID, and avoid random requests. Compare the authentic order's result with a different accepted order, then record both the replay order and authentic order in the case ledger.

Progressive hints

Hint 1

Write the starting state and apply records in sequence-number order first.

Hint 2

The verifier receives record IDs in the order supplied by the client. Ask whether it compares that order with the records' sequence numbers.

Hint 3

Use the transition rules to reject impossible orders on paper. For each remaining order, compare its final state with the recorded baseline.

Troubleshooting and reset

If the verifier rejects a candidate as an invalid record set, confirm that all three known IDs appear exactly once. If it reports an invalid protocol state, trace the transition table and identify the first action that cannot follow its prior state. Filing all six seals unlocks the disposition choices; unresolved supporting findings remain available before or after choosing an ending.

Witness seal filing and recovery

Record this pane's critical finding in the active session before filing its witness seal. Supporting findings are optional. An unearned seal is rejected without consuming a failed-flag attempt. To recover an earned seal, revisit this pane or repeat the accepted finding in the same session; neither adds progress twice. All six critical findings and their six filed seals unlock release, seal, and return. Supporting findings strengthen the ending and remain available after it.