Phoenix injection is the mechanism that provides Post-Compromise Security (PCS) — the ability for PhoenixSig to recover from full state compromise automatically. It is the single most important architectural component and the one that distinguishes PhoenixSig from all other signature systems.
Post-Compromise Security means: if an attacker captures the complete device state at time t, there exists a future time t + Δ after which the attacker can no longer forge signatures, even if they retain the captured state.
This requires something that no deterministic evolution can provide alone: new entropy that the attacker cannot access or predict.
The VaultKey is a cryptographic secret stored inside a Trusted Execution Environment (TEE):
| Property | Requirement |
|---|---|
| Storage | Inside TEE only (Android Keystore, Secure Enclave, SGX enclave) |
| Exportability | Non-exportable. Cannot be read by any software outside the TEE. |
| Operations | Can be used for key derivation and HMAC operations inside the TEE boundary. |
| Refresh | Can be rotated with new entropy generated within the TEE. |
The VaultKey is not static. It is rotated during every Phoenix refresh, mixing in fresh TEE-generated entropy.
Every hash, KDF, PRF, and state evolution operation in PhoenixSig MUST include the current VaultKey as an input.
If any operation omits VaultKey, that operation’s output becomes predictable to an attacker who captured the state before a refresh. PCS breaks.
This rule applies to every cryptographic operation in PhoenixSig: state evolution, epoch key derivation, and context computation all incorporate the VaultKey. No operation may bypass it.
The refresh process runs entirely inside the TEE. The device generates fresh entropy via the hardware RNG, mixes it with the existing VaultKey to produce a new VaultKey, and securely erases the old one. The specific construction ensures that no external observer — including software running on the same device — can predict the new key material.
After refresh:
At time t0, the attacker obtains:
The attacker does not obtain the VaultKey (it’s inside the TEE and non-exportable).
PCS has explicit boundaries:
Phoenix refresh can be triggered by multiple conditions:
The refresh interval directly controls the maximum compromise window. Shorter intervals mean faster recovery but more TEE operations. Typical configurations range from 15 minutes (high-security) to 24 hours (low-power IoT).