Quarantine mode and anti-rollback are PhoenixSig’s defensive mechanisms against state manipulation attacks. Together, they ensure that the system cannot be tricked into reusing old states or signing with potentially compromised keys.
The device enters quarantine automatically when:
While quarantined, the device:
quarantine_flag = true in the device stateThis prevents an attacker who has temporarily compromised the device from using the signing capability during the vulnerability window.
The device exits quarantine only after a successful Phoenix refresh:
This ensures that even if the device was compromised before entering quarantine, the new state is unknown to the attacker.
A rollback attack restores the device to a previous state. If successful, the attacker can:
PhoenixSig maintains strictly monotonic counters at multiple levels:
| Counter | Scope | Enforcement |
|---|---|---|
| Epoch counter | Global — increments with each epoch transition | Software + optional TEE |
| Operation counter | Per-epoch — increments with each signing operation | Software |
| TEE counter | Hardware-backed monotonic counter (if available) | Hardware (tamper-resistant) |
Before any signing operation, the system checks:
if (proposed_epoch < stored_epoch) REJECT
if (proposed_epoch == stored_epoch && proposed_counter <= stored_counter) REJECT
if (TEE_counter_available && proposed_tee_counter <= stored_tee_counter) REJECT
Any attempt to use a state with epoch or counter values that don’t advance is rejected immediately. The system will not sign, and it may enter quarantine as a precaution.
When available, TEE-backed monotonic counters provide the strongest anti-rollback guarantee:
Without hardware counters, anti-rollback relies on software enforcement, which protects against remote attacks but not physical hardware tampering.