This section provides guidance for the areas expected to be assessed by an SRP. The list is purposefully vague because the OCP Workgroup believes that high quality, timely assessments are best achieved by letting the SRPs focus on the architectural and implementation areas that are commonly known to have gaps or deficiencies in the scenario under review.
- Version identification
- Vulnerability management and publication
- Configuration management and protection
- Build repeatability and consistency
- Behavior and implementation align with design
- Tool chain security features
- HW security features
- Development standards
- Threat model
- Static analysis configuration and practices
- Fuzzing tools, configuration and coverage
- Management of third party dependencies
- Build configuration
- Secure boot design and specific configuration
- Update process design and specific configuration
- Recovery design and specific configuration
- Telemetry design and specific configuration
- Cryptographic design and specific configuration
- Attestation design and specific configuration
- Debugging design and specific configuration
- Debugging protection design
- Authorisation/Authentication design and specific configuration/management
- Security Certifications for DUT
- Security Certifications for third parties libraries
- Full memory map for volatile and non-volatile memory
- Life cycle management for memory including secure erasure and update
- Cryptographic test vector evidence
- Entropy source(s) analysis and evidence
- Certifications and methods linking to dependencies (e.g. ACME Crypto library v1.2 is certified on public register to FIPS 140-3)
- Fuzzing results
- Debugging implementation
- Logical and physical interfaces
- Services running on DUT
- All API's implemented on DUT
- Secure Boot
- Immutable Hardware Root of Trust (Integrity, revocation, anti-rollback, key manifests)
- Firmware secret sanitization
- Firmware test/debug functionality sanitization
- Secure updates
- Firmware development best practice
- Input validation
- Backdoors
- Typical development errors
- Use of deprecated or insecure functions
- Memory safe programming
- Dependencies
- Secure erasure
- Exploit mitigation
- Configuration hardening
- Secure boot must be attack resistant
- Attestation support for persistent storage
- Attestation enforcement for security configuration
- Cryptographic tamper detectable logs
- Securely implemented runtime attestation mechanism
- HW ROT support/enforce quoting attestation claims at boot
- HW ROT support/enforce quoting attestation claims at runtime
- Enforcement of measurements for firmware/software loaded into DUT
- Enforcement of measurements for security configuration loaded into DUT
- Support for attestation challenges
- Support only secure firmware update
- Attestation claims must use asymmetric cryptographic mechanisms
- Updates in progress must be validated prior to committing to persistent storage
- Attack and exploit resistant
- Secrets and storage must support secure erasure and reset
- HW ROT key store must support secure erasure
- Debug interfaces can only be re-enabled on entire secure erasure of DUT or with appropriate cryptographic challenge/response mechanism
- Cryptographic algorithms must be industry standards or appropriate technical justification
- Implemented Cryptography certification (e.g. FIPS 140-3)
- Implemented Cryptography configuration (CNSA)
- Unsecured persistent event/log storage sanitization
- Unique or replaceable symmetric keys per device
- Assets at rest must be appropriately cryptographically protected
- Assets in memory must be appropriately protected/isolated
- Keys and other critical security parameters are zeroed when no longer in use
- Secure support for re-provisioning of all cryptographic material
- Secure logging and telemetry
- Configurable logging to support security events
- Cryptographic tamper detectable logs
- Debugging mode must be disabled by default
- Debug and test code should not be present in production DUT
- Debug interfaces can only be re-enabled on entire secure erasure of DUT or with appropriate cryptographic challenge/response mechanism
- If debugging functionality can be re-enabled, it must not provide any sensitive information
- If enabled, debug should be disabled automatically on idle timeout or reboot
- If re-enabled, debug interfaces and functionality must not compromise DUT security posture, secrets or claims
- Cryptographically appropriate authentication required for management functions
- Management functions must operate under the principle of least privilege
- Cryptographically appropriate transport layer for management functions, e.g. TLS
- Third party software/firmware components including version specifics recorded in SBOM
- Configuration specifics for third party dependencies recorded in SBOM
- Third party dependencies up to date
- Third party dependencies version pinned and in change control
- Interfaces must enforce authentication and authorization specific to the interface
- Security sensitive operations restricted to trusted interfaces
- Ability to disable all functionality, API’s, services not required for deployment
- DV implemented TEE's must generally conform to standards evolving in the Confidential Computing Consortium.
- Trusted execution environment has physical and logical safeguards to provide isolation from other processing entities
- IO from the TEE follows industry standards such as IDE or TDISP. If a proprietary protocol is used, e.g. XGMI, NVLINK, it must provide similar authentication, integrity, and isolation guarantees
- HW ROT shall be both through design and implementation appropriately isolated and protected from application and control processes.
- The HW ROT shall measure and endorse boot and runtime code
- If the HW ROT supports bulk cryptographic engines, the HW ROT must support secure key transport to and from the bulk cryptographic engine
- The HW ROT shall be appropriately attack and tamper resistant
- The HW ROT shall implement cryptographically secure tamper resistant logs
- The HW ROT shall be appropriately cryptographically bound to DUT
- DUT shall implement TCG DICE
- DUT Identity must be non-repudiable
- DUT identity must include DUT version
- DUT version must be reproducible from SBOM
- Encrypted memory or storage uses industry standard crypto e.g., AES-XTS
- Encryption keys must be generated to appropriate length and entropy to comply with FIPS/CNSA standards
- Encryption keys must not be stored/cache in associated volatile or non-volatile storage
- Wrapped keys, typically used for storage or transport, must have a mechanism to detect modification or replay
- Encryption mechanisms are resistant to side channel attacks