-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Issue Description
The current OP-TEE signature verification test (boot_005) may not be providing complete validation of secure world implementation on i.MX93 systems. While the test currently passes by recognizing EdgeLock Enclave (ELE) as an alternative to OP-TEE, we need to ensure this is the correct architectural assumption.
Current Behavior
The test currently:
- ✅ PASSES by detecting ELE as an alternative to OP-TEE
- Reports: "i.MX93 EdgeLock Enclave provides secure world functionality (alternative to OP-TEE)"
- Assumes ELE replaces OP-TEE functionality completely
Concerns
- Incomplete Analysis: We may be making assumptions about ELE replacing OP-TEE without full verification
- TEE Infrastructure Present: The test detects TEE device nodes (
/dev/tee*) but OP-TEE not fully initialized - Mixed Architecture: i.MX93 might support both ELE and OP-TEE in different configurations
- Security Gap: If OP-TEE should be present and isn't, we're not flagging a potential security issue
Investigation Required
1. Architecture Verification
- Confirm if i.MX93 systems should have OP-TEE in addition to ELE
- Verify if ELE completely replaces OP-TEE functionality or complements it
- Check Foundries.io LMP documentation for intended secure world architecture
2. Current System Analysis
- Investigate what TEE devices are present:
ls -la /dev/tee* - Check for OP-TEE kernel modules:
lsmod | grep -i optee - Analyze dmesg for any OP-TEE initialization messages
- Verify ELE secure world capabilities vs OP-TEE requirements
3. Test Enhancement
- Add more comprehensive OP-TEE detection
- Implement proper ELE vs OP-TEE capability mapping
- Add warnings if expected components are missing
- Provide clear guidance on secure world architecture
Technical Details
Current Test Logic
// TEE infrastructure present but OP-TEE not fully initialized
else if !optee_devices.stdout.contains("no_tee_devices") || !optee_modules.stdout.contains("no_optee_modules") {
Ok((TestStatus::Warning, "TEE infrastructure present but OP-TEE not fully initialized - may use alternative secure world".to_string(), Some(details.join("\n"))))
}
// i.MX93 systems may use ELE instead of OP-TEE for secure world
else if !ele_secure_world.stdout.is_empty() && ele_secure_world.stdout.contains("fsl-ele-mu") {
Ok((TestStatus::Passed, "i.MX93 EdgeLock Enclave provides secure world functionality (alternative to OP-TEE)".to_string(), Some(details.join("\n"))))
}System Information
- Target: i.MX93 EdgeLock Enclave system
- OS: Linux-microPlatform Dynamic Devices Headless 4.0.20
- Current Test Result: ✅ PASSED (but may be false positive)
Expected Outcomes
- Clear Architecture Documentation: Understand the intended secure world architecture for i.MX93 + LMP
- Accurate Testing: Ensure tests validate the actual security implementation, not just detect components
- Proper Warnings: Flag missing components that should be present
- Security Assurance: Confirm secure world functionality is properly implemented and verified
Priority
Medium-High - While the system appears to have secure world functionality through ELE, we need to ensure we're not missing critical OP-TEE components that should be present for complete security compliance.
Related
- Boot security test suite (boot_005, boot_006)
- EdgeLock Enclave implementation
- Secure world architecture validation
- Security compliance verification
Next Steps
- Research i.MX93 + LMP secure world architecture documentation
- Analyze current system configuration in detail
- Consult with Foundries.io documentation/support if needed
- Update test logic based on findings
- Add comprehensive documentation for secure world expectations
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels