Software Digital Signature

Each software or firmware image subject to installation or update control shall be verified using an approved digital signature and an approved trust anchor before installation or activation. The trust anchor may be represented by a certificate or by a directly provisioned verification key, depending on the approved trust architecture. Successful verification establishes that the image was signed by an authorized signing identity and has not been modified since signing; it does not establish that the signed code is non-malicious, vulnerability-free, or operationally safe. Signature verification confirms the integrity and approved origin of the software but does not, by itself, prevent installation of an older validly signed version; update authorization and rollback protections must be enforced separately. The verification mechanism must be implemented such that it cannot be bypassed through operational commands, configuration changes, or software updates, and must reject any component whose signature is absent or invalid, or whose signing certificate or trust anchor is not recognized and approved by the mission. Digital signature enforcement complements but is distinct from the boot-time chain of trust established through secure boot; it applies to software installation and update events throughout the operational lifecycle, not only at system startup.

Sources

  • CCSDS 352.0-B-2 — CCSDS Cryptographic Algorithms
  • CCSDS 357.0-B-1 — CCSDS Authentication Credentials
  • CCSDS 357.1-O-1 — Intergovernmental Certification Authority
ID: CM0021
Tier: I
Onboard SV CM 
Created: 2022/10/19
Last Modified: 2026/08/06

Pre-Operations Government

Requirements should mandate digital signature verification as a non-bypassable flight software installation control, with requirements specifying the approved cryptographic algorithms and strengths, signing authority, trusted verification credentials, and trust-management model. Requirements should address the full certificate lifecycle, including issuance, storage, revocation, and succession, and should require that the mission's approved trust store be documented, version-controlled, and subject to government review and approval. Contract language should prohibit any design in which signature verification can be disabled, overridden, or bypassed through any command, interface, or operational mode, and should require that this property be demonstrated through adversarial testing prior to system acceptance. Signing key and certificate management processes should be treated as sensitive security infrastructure, with contractors required to document key custodianship, access controls, and procedures for responding to suspected key compromise. Evaluation criteria should assess offerors’ proposed signing architecture, trust-management approach, and demonstrated experience implementing non-bypassable software verification controls in space or similarly constrained embedded systems.

Pre-Operations Developer/Supplier

The digital signature architecture must be defined during the system security design phase, with decisions covering the certificate authority model, whether mission-operated, third-party, or a hybrid trust hierarchy, documented and approved before the signing infrastructure is built. The signature verification implementation must be integrated into the software installation and update pathway at the lowest feasible architectural layer, so that no higher-level software component can initiate execution of an unsigned or invalidly signed image without the verification check occurring first. Signing keys must be protected using hardware security mechanisms, such as hardware security modules (HSMs) or equivalent tamper-resistant devices, to prevent unauthorized access to the key material that anchors the entire trust chain. The approved trust store, containing the certificates against which signatures are verified, must itself be integrity-protected and updateable only through a separately authenticated and authorized process, preventing an adversary from adding a rogue certificate authority to circumvent verification. Adversarial testing prior to delivery should include attempts to install unsigned software, software signed by an untrusted certificate, and software with a valid signature applied to a subsequently modified binary, confirming that each case is correctly detected and rejected.