PSA RoT为设备上的其他代码提供基本的加密服务。PSA加密服务的实现必须具备以下基本的安全特性:
1. 隔离:在适当的时候,提供在PSA RoT密码服务中,管理密钥和其他机密数据真实值的能力
2. 访问控制:在安全的分区粒度上管理对密钥和其他机密信息的访问
3. 策略:提供对PSA加密服务管理的密钥使用策略进行控制的能力,这样它们就只能用于特定的目的
隔离允许设备代码被设计成密钥和其他机密不会暴露给非可信软件的模式。
访问控制确保一个分区既不能访问另一个分区的值,也不能使用属于另一个分区的密钥和其他机密信息执行操作,从而允许将代码设计为一个安全分区(服务)使用的密钥不能被其他分区访问。
最后,策略允许在设备上运行的代码设计人员限制某个特定分区拥有的各个密钥和机密数据如何被该分区使用,从而防止有意或无意的误用。
规则 |
描述 | 备注 |
PSA RoT加密服务必须能够代表其他非可信代码管理密钥和其他机密信息,这样,非可信代码就不能直接访问这些密钥和机密的值。 | 允许在适当的地方设计代码,使非可信代码不需要直接访问密钥和机密信息。 |
|
PSA加密服务必须能够管理存储在隔离区域或屏蔽位置的持久密钥和机密信息。 | 例如, ARoT或NS级的根密钥。 |
|
所有密钥和机密由PSA RoT加密服务必须始终分配一个独有安全分区。 | 除非明确授权,否则安全分区不能访问或使用其他分区拥有的机密信息。 | 这包括来自隔离区域或屏蔽位置的任何密钥或秘密信息,例如预备的根密钥。 |
一个独有分区必须能够将其拥有的密钥或秘密的使用委托给另一个分区。 | 允许一个(更可信的)分区生成或派生密钥或秘密信息,并由另一个(不太可信的)分区使用。 允许在PSA RoT加密服务的基础上构建通用的、针对应用程序的安全密钥管理服务。 | 按照具体策略进行。 |
所有的密钥和机密信息由 PSA RoT加密服务必须始终被分配一个唯一的使用策略。 | 使用PSA加密服务的代码设计者必须能够限制密钥和机密信息的使用方式。 |
|
必须始终支持下列最低限度的策略: 1. 用法:加密、签名、密钥派生 2. 输出:无输出,明确的输出,输出打包 3.委托:用于委托给其他分区使用的密钥用法和导出策略 |
| 使用和导出策略应该通过特定密钥来允许或限制使用特定算法。 注意,通过特定实现完成的特定算法和支持的特定属性可能多种多样。 |
所需的密码算法和密钥大小将根据用例、市场和地理区域的不同而有所不同。
作为一般建议,在应用、认证简介或法规没有特定要求的情况下,符合psa的设备应设计为符合NIST(美国国家标准与技术研究院)的建议,或根据目标区域的当地等效标准: https://csrc.nist.gov/Projects/Cryptographic-Standards-and-Guidelines