Version 7 vs 38
Version 7 vs 38
Content Changes
Content Changes
TF-M has been under active development since it was launched in Q1'18. It is being designed to include
1. //**Secure boot**// ensuring integrity of runtime images and responsible for firmware upgrade.
2. Runtime firmware consisting of
//** TF-M Core**// responsible for secure isolation, execution and communication aspects. and a set of Secure Services
providing services to the Non-Secure and Secure Applications. The secures services currently planned to be supported are
//**Secure Storage, Cryptography, Audit Logs, Attestation, Provisioning and Platform Services**//
Roadmap below shows when the services are getting supported and then enhanced.
Currently Supported Features
- [[ http://git.trustedfirmware.org/trusted-firmware-m.git/tree/bl2/ext/mcuboot | Secure Boot]]
- [[ http://git.trustedfirmware.org/trusted-firmware-m.git/tree/docs/user_guides/services/tfm_sst_integration_guide.md | Secure Storage]]
- [[ http://git.trustedfirmware.org/trusted-firmware-m.git/tree/docs/user_guides/services/tfm_audit_integration_guide.md | Audit Logs]]
- [[ http://git.trustedfirmware.org/trusted-firmware-m.git/log/?h=feature-ipc | TF-M Core - Inter Process Communication (IPC)]]
- [[ http://git.trustedfirmware.org/trusted-firmware-m.git/tree/interface/include/psa_crypto.h | Crypto Secure Service APIs and PSK-TLS
Support]]
Q4'18 (Oct-Dec'18)
- [TF-M Core] Secure Interrupt Handling
- [TF-M Core] Scheduler Design
- [Attestation] API and Initial Attestation Service with [[ https://tools.ietf.org/html/draft-mandyam-eat-00 | EAT ]] Support
- [Crypto] Define APIs for Hardware Crypto Accelerator
- [Platform] Reset Service
- [Platform] Secure Time
- Option for Secure Services to use IPC for communication
- Open Continuous Integration (CI) System
Q1'19 (Jan-Mar'19)
- [TF-M Core] Secure Partition Manager- Full Isolation Support
- [TF-M Core] Secure Interrupt Handling Enhancements
- [TF-M Core] Scheduler - Initial Implementation
- [Secure Boot] Multiple Image Update, Rollback Protection
- [Secure Storage] Key Diversification
- [Crypto] TLS with Key exchange
- Secure Debug Investigation
- [Platform] NV Count, Timer
- [Provisioning] Initial Investigation/API Prototype
Q2'19 (Apr-Jun'19)
- [TF-M Core] Scheduler Enhancements
- [Secure Boot] Key Revocation
- [Secure Storage] Lifecycle Management
- [Crypto] RNG, KDF - Initial Investigation
- [Audit Logs] Secure Storage, Crypto Binding
- [Platform] GPIO, Debug, NONCE
TF-M has been under active development since it was launched in Q1'18. It is being designed to include
1. //**Secure boot**// ensuring integrity of runtime images and responsible for firmware upgrade.
2. Runtime firmware consisting of
//** TF-M Core**// responsible for secure isolation, execution and communication aspects. and a set of Secure Services
providing services to the Non-Secure and Secure Applications. The secures services currently supported are
//**Secure Storage, Cryptography, Firmware Update, Attestation and Platform Services**//
If you are interested in collaborating on any of the roadmap features or other features, please mail TF-M [[ https://lists.trustedfirmware.org/mailman3/lists/tf-m.lists.trustedfirmware.org/ | mailing list ]]
Supported Features
- PSA Firmware Framework v1.0, 1.1 Extension including IPC and SFN modes.
- PSA Level1, 2 and 3 Isolation.
- Secure Boot (mcuboot upstream) including generic fault injection mitigations
- PSA Protected Storage, Internal Trusted Storage v1.0 and Encrypted ITS
- PSA Cryptov1.0 (uses Mbed TLS v3.4.0)
- PSA Initial Attestation Service v1.0
- PSA Firmware Update v1.0
- PSA ADAC Specification Implementation
- Base Config
- kconfig based configuration
- Profile Small, Medium, ARoT-less Medium, Large
- Secure Partition Interrupt Handling, Pre-emption of SPE execution
- Platform Reset Service
- Dual CPU
- Open Continuous Integration (CI) System
- Boot and Runtime Crypto Hardware Integration
- Fault Injection Handling library to mitigate against physical attacks
- Threat Model
- Arm v8.1-M Privileged Execute Never (PXN) attribute and Thread reentrancy disabled (TRD)
- FPU, MVE Support
- CC-312 PSA Cryptoprocessor Driver Interface
CQ4'23
- TF-M v1.9 release
- Mbed TLS 3.5.0, mcuboot 2.0.0 Integration
- Design, prototype: Supporting multiple clients
i.e. TF-M supporting multiple on core and off core clients on Hetrogeneous (e.g. Cortex-A + Cortex-M platforms)
- Demonstrating TLS in Non-Secure using PSA Crypto APIs in TF-M
- Build System Enhancements - Separate Secure, Non-Secure Builds
- Mailbox interrupt handling
Future:
- Long Term Stable (LTS) support
- Implement support for multiple clients
- Remote Test Infrastructure
- MISRA testing
- TF-M Performance - Further Benchmarking and Optimization
- Scheduler - Multiple Secure Context Implementation
- Arm v8.1-M Architecture Enablement - PAC/BTI
- PSA FWU Service Enhancements
- PSA ADAC Spec - Enhancements and Testing
- Arm v8.1-M Unprevileged Debug
- [Secure Storage] Extended PSA APIs, Key Diversification Enhancements
- [Audit Logs] Secure Storage, Policy Manager
- PSA FF Lifecycle API
- Fuzz Testing
TF-M has been under active development since it was launched in Q1'18. It is being designed to include
1. //**Secure boot**// ensuring integrity of runtime images and responsible for firmware upgrade.
2. Runtime firmware consisting of
//** TF-M Core**// responsible for secure isolation, execution and communication aspects. and a set of Secure Services
providing services to the Non-Secure and Secure Applications. The secures services currently planned to be supported are
//**Secure Storage, Cryptography, Audit Logs, AttestationFirmware Update, ProvisioningAttestation and Platform Services**//
Roadmap below shows when the services are getting supported and then enhanced.
Currently If you are interested in collaborating on any of the roadmap features or other features, please mail TF-M [[ https://lists.trustedfirmware.org/mailman3/lists/tf-m.lists.trustedfirmware.org/ | mailing list ]]
Supported Features
- [[ http://git.trustedf- PSA Firmware.org/trusted-firmware-m.git/tree/bl2/ext/mcuboot | Secure Boot]] Framework v1.0, 1.1 Extension including IPC and SFN modes.
- [[ http://git.trustedfirmware.org/trusted-firmware-m.git/tree/docs/user_guides/services/tfm_sst_integration_guide.md | Secure Storage]]PSA Level1, 2 and 3 Isolation.
- [[ http://git.trustedfirmware.org/trusted-firmware-m.git/tree/docs/user_guides/services/tfm_audit_integration_guide.md | Audit Logs]]Secure Boot (mcuboot upstream) including generic fault injection mitigations
- PSA Protected Storage, Internal Trusted Storage v1.0 and Encrypted ITS
- [[ http://git.trustedfirmware.org/trusted-firmware-m.git/log/?h=feature-ipc | TF-M Core - Inter Process Communication (IPC)]]- PSA Cryptov1.0 (uses Mbed TLS v3.4.0)
- [[ http://git.trustedfirmware.org/trusted-firmware-m.git/tree/interface/include/psa_crypto.h | Crypto Secure Service APIs and PSK-TLS
Support]]PSA Initial Attestation Service v1.0
Q4'18 (Oct-Dec'18) - PSA Firmware Update v1.0
- [TF-M Core] Secure Interrupt Handling - PSA ADAC Specification Implementation
- [TF-M Core] Scheduler Design- Base Config
- [Attestation] API and Initial Attestation Service with [[ https://tools.ietf.org/html/draft-mandyam-eat-00 | EAT ]] Support - kconfig based configuration
- [Crypto] Define APIs for Hardware Crypto Accelerator- Profile Small, Medium, ARoT-less Medium, Large
- [Platform] Reset Service- Secure Partition Interrupt Handling, Pre-emption of SPE execution
- [- Platform] Secure Time Reset Service
- Option for Secure Services to use IPC for communication - Dual CPU
- Open Continuous Integration (CI) System
Q1'19 (Jan-Mar'19)
- [TF-M Core] Secure Partition Manager- Full Isol- Boot and Runtime Crypto Hardware Integration Support
- [TF-M Core] Secure Interrupt Handling Enhancements- Fault Injection Handling library to mitigate against physical attacks
- Threat Model
- [TF-M Core] Scheduler - Initial Implementation- Arm v8.1-M Privileged Execute Never (PXN) attribute and Thread reentrancy disabled (TRD)
- [Secure Boot] Multiple Image Update- FPU, Rollback ProtectionMVE Support
- [Secure Storage] Key D- CC-312 PSA Cryptoprocessor Driversification Interface
CQ4'23
- [Crypto]- TF-M v1.9 release
- Mbed TLS with Key exchange3.5.0, mcuboot 2.0.0 Integration
- Design, prototype: Supporting multiple clients
- Secure Debug Investigation i.e. TF-M supporting multiple on core and off core clients on Hetrogeneous (e.g. Cortex-A + Cortex-M platforms)
- [Platform] NV Count- Demonstrating TLS in Non-Secure using PSA Crypto APIs in TF-M
- Build System Enhancements - Separate Secure, TimerNon-Secure Builds
- [Provisioning] Initial Investigation/API Prototype
Q2'19 (Apr-Jun'19)- Mailbox interrupt handling
Future:
- [TF-M Core] Scheduler Enhancem- Long Term Stable (LTS) support
- Implement support for multiple clients
- [Secure Boot] Key Revocation- Remote Test Infrastructure
- MISRA testing
- TF-M Performance - Further Benchmarking and Optimization
- Scheduler - Multiple Secure Context Implementation
- Arm v8.1-M Architecture Enablement - PAC/BTI
- [Secure Storage] Lifecycle Management- PSA FWU Service Enhancements
- PSA ADAC Spec - Enhancements and Testing
- [Crypto] RNG, KDF - Initial Investigation- Arm v8.1-M Unprevileged Debug
- [Secure Storage] Extended PSA APIs, Key Diversification Enhancements
- [Audit Logs] Secure Storage, Crypto BindingPolicy Manager
- [Platform] GPIO, Debug, NONCE- PSA FF Lifecycle API
- Fuzz Testing