Hi Jamie,
>As I understand it, one of the uses of the secure flash is to store
crypto keys, so the dependency from Crypto to the secure flash needs to
be kept.
The crypto keys you mentioned in your previous reply are the crypto keys
used to encrypt the communication channel between host MCU with the secure
Flash? Or
the secrets such as (public/private)key pairs used in TLS protocol?
If the former,I think these keys may be stored in NVM memories such as
OTP or internal flash of MCU,and these keys can be loaded and imported
as transient keys in RAM with a key handle during such as secure boot,
then we can call PSA Crypto service with these key handles, in this case,
the dependency from Crypto to secure flash doesn't exist.
Best Regards,
Poppy Wu
吴偏偏
Macronix Microelectronics (Suzhou) Co.,Ltd
旺宏微电子(苏州)有限公司
No. 55, Su Hong Xi Road ,SIP, Suzhou, PRC, 215021
苏州工业园区苏虹西路55号
Tel: 86-512-62580888 EXT: 3147
Fax: 86-512-62585399 ZIP: 215021
http://www.mxic.com.cn
Poppy Wu/CHINA/MXIC
2020/12/16 14:20
|
To
| Edward Yang <EdwardYang@mxic.com.cn>
|
cc
|
|
Subject
| Re: [TF-M] Discuss how to support secure
Flash in TF-MLink |
|
Hi Jamie,
Thank you for your reply.
You are right,the secure Flash can be used to store sensitive information
like TLS private keys,in this application, during TLS handshake,Crypto
service depends on secure Flash driver to get these private keys,so the
dependency from Crypto to the secure flash needs to be kept.
And you mentioned implementation of crypto functions varies
depending on the platform(some platforms have hardware crypto module while
the others have to depend on software crypto library), platfrom without
HW crypto module could use AES encrypt/decrypt functions from a software
crypto library (e.g. Mbed TLS). As I understand, currently tfm Crypto service
also uses Mbed TLS as the backend software crypto library
by default. I am wondering if secure
Flash driver could call this Mbed TLS library APIs (such as
mbedtls_aes_encrypt())
directly?
Best Regards,
Poppy Wu
吴偏偏
Macronix Microelectronics (Suzhou) Co.,Ltd
旺宏微电子(苏州)有限公司
No. 55, Su Hong Xi Road ,SIP, Suzhou, PRC, 215021
苏州工业园区苏虹西路55号
Tel: 86-512-62580888 EXT: 3147
Fax: 86-512-62585399 ZIP: 215021
http://www.mxic.com.cn
Jamie Fox via TF-M <tf-m@lists.trustedfirmware.org>
Sent by: "TF-M" <tf-m-bounces@lists.trustedfirmware.org>
2020/12/16 03:02
Please respond to
Jamie Fox <Jamie.Fox@arm.com> |
|
To
| Edward Yang <EdwardYang@mxic.com.cn>
|
cc
| nd <nd@arm.com>, "tf-m@lists.trustedfirmware.org"
<tf-m@lists.trustedfirmware.org>
|
Subject
| Re: [TF-M] Discuss how to support secure
Flash in TF-M |
|
Hi,
The trouble with calling the PSA Crypto functions from your secure flash
driver is that it will create a circular dependency between the ITS service
and the Crypto service. Crypto uses ITS to store its keys, but then the
secure flash driver calls the Crypto service again to encrypt the data.
These circular dependencies between partitions are forbidden in TF-M.
As I understand it, one of the uses of the secure flash is to store crypto
keys, so the dependency from Crypto to the secure flash needs to be kept.
That means the dependency on the Crypto service in the secure flash driver
needs to be avoided. I think ideally the best way to do this would be to
use hardware crypto functions available in the platform instead of PSA
Crypto APIs inside the flash driver, but if no crypto hardware is available
then you could use AES encrypt/decrypt functions from a software crypto
library (e.g. Mbed TLS).
Hope that helps.
Kind regards,
Jamie
From: TF-M <tf-m-bounces@lists.trustedfirmware.org> On Behalf
Of Edward Yang via TF-M
Sent: 15 December 2020 10:08
To: tf-m@lists.trustedfirmware.org
Subject: [TF-M] Discuss how to support secure Flash in TF-M
Dear all,
I would like to discuss how to add secure Flash support in TF-M.
Firstly, I want to describe
the motivation of adding secure Flash support in TF-M.
Currently ARM TF-M provides
protected storage service(PS service for short) to implement security protection
on external normal storage, however this type external normal storage is
still vulnerable to unauthorized physical modifications/erasing and cloning.Macronix
and other Flash memory suppliers have developed secure Flash products to
enhance the security in external flash devices. Secure Flash enables mutual
authentication between itself and host MCU/SoC and only permits the authorised
host to perform access, besides, the communication channel between host
MCU/SoC and secure Flash is protected by encryption, authentication, data
scrambling, and frame sequencing with monotonic counters as shown below,
so the secure Flash provides dependable defense against unauthorised access,
man-in-the-middle, replay, sniffing and other security threats.
If we port TF-M to a platform
which uses secure Flash as external flash,then secure Flash driver should
be added to TF-M.However,compared with nomal external flash driver,secure
Flash driver needs extra crypto functions(such as calling AES crypto functions
to encrypt/decrypt data), if the secure Flash driver is placed in platform
folder in TF-M code structure as a backend of ITS service, I don't know
whether secure Flash driver is allowed to call Crypto service(such as psa_aead_encrypt(),
psa_aead_decrypt() )directly.If not, are there any other solutions to perform
crypto operations in secure Flash driver?
Best Regards,
Poppy Wu
Macronix Microelectronics (Suzhou) Co.,Ltd
Tel: 86-512-62580888 EXT: 3147
Fax: 86-512-62585399 ZIP: 215021
http://www.mxic.com.cn
CONFIDENTIALITY NOTE:
This e-mail and any attachments may contain
confidential information and/or personal data, which is protected by applicable
laws. Please be reminded that duplication, disclosure, distribution, or
use of this e-mail (and/or its attachments) or any part thereof is prohibited.
If you receive this e-mail in error, please notify us immediately and delete
this mail as well as its attachment(s) from your system. In addition, please
be informed that collection, processing, and/or use of personal data is
prohibited unless expressly permitted by personal data protection laws.
Thank you for your attention and cooperation.
Macronix International Co., Ltd.
=====================================================================--
TF-M mailing list
TF-M@lists.trustedfirmware.org
https://lists.trustedfirmware.org/mailman/listinfo/tf-m
CONFIDENTIALITY NOTE:
This e-mail and any attachments may contain confidential information and/or personal data, which is protected by applicable laws. Please be reminded that duplication, disclosure, distribution, or use of this e-mail (and/or its attachments) or any part thereof is prohibited. If you receive this e-mail in error, please notify us immediately and delete this mail as well as it attachments from your system. In addition, please be informed that collection, processing, and/or use of personal data is prohibited unless expressly permitted by personal data protection laws. Thank you for your attention and cooperation.
Macronix International Co., Ltd.
=====================================================================