全景安全支持
安全应用程序
安全应用程序是在信任区中执行的一组安全功能。它包括各种证书管理和加密操作。
安全应用程序功能
安全应用程序的详细功能如下
名称 |
描述 |
|---|---|
SECURE_APP_FUNCTION_INIT_MODULE |
初始化安全模块 |
SECURE_APP_FUNCTION_RELEASE_MODULE |
释放安全模块 |
SECURE_APP_FUNCTION_GET_DAC |
获取由PAI签署的证书 |
SECURE_APP_FUNCTION_GET_PAI_CERT |
获取由PAA签署的证书 |
SECURE_APP_FUNCTION_SIGN_WITH_DACKEY |
使用私钥签署DAC |
启用安全应用支持
Matter 平台代码的默认配置未启用安全应用程序。用户可以通过在 ./subsys/matter/CMakePresets.json 中选择的预设中将 ENABLE_CG_SECURE_DAC_VENDOR 设置为 ON 来启用它。
准备 Secure APP
要在 Matter 平台上启用信任区,需要提供一个 Secure APP 。以下说明了如何编译安全应用程序。
打开命令提示符并导航到 matter 目录。
$ cd ./subsys/matter
转到 Secure APP 的编译目录。
$ cd thirdparty/cg/app_s_cg/proj/gcc
开始构建
$ make
编译成功后,应用程序的 bin 文件会生成在 ./subsys/matter/thirdparty/cg/app_s_cg/proj/gcc/build/bin 目录下,文件名为 app_s_MP_sdk_0.0.0.0_xxxx.bin。
准备 Non-Secure APP
进入 Non-Secure APP 的编译目录
$ cd ./subsys/matter/samples
开始 build
$ ./build.py rtl8777g lighting --preset secure
编译成功后,应用程序 bin 文件 matter-cli-ftd_bank0_MP_dev_xxxx.bin 将生成在 ./subsys/matter/samples/build/bank0/bin 目录中。
用户数据
用户数据是在制造过程中设置的一组安全参数。它包括各种认证、固件版本、加密密钥。
用户数据的内容
用户数据的详细组件及其大小如下。
用户数据的格式
用户数据保存为 bin 文件(userdata_MP_0.0.0.0_xxxx.bin),可以下载到从定义地址开始的区域。它由加密密钥加密。
启用用户数据支持
Matter 平台代码的默认配置不启用用户数据。用户可以通过在 ./subsys/matter/CMakePresets.json 中选择的预设中将 ENABLE_CG_SECURE_DAC_VENDOR 设置为 ON 来启用它。
用户数据生成
本节介绍了使用工具从 DAC 软件包生成用户数据。
支持的平台
平台 |
架构 |
|---|---|
Windows |
☒ x64 |
Linux |
☒ x64 |
使用方法
在使用前,必须先配好 RealtekTeeGenBinTool.cfg
batchSize:要处理的最大 DAC 文件夹数量
privateKeyPath:私钥 PEM 文件的绝对路径
dacFolderPath:包含 PAI 证书和 DAC 文件夹的工作文件夹的绝对路径
headerPrependToolPath:prepend_header 的绝对路径
headerPrependToolArgs:prepend_header 的参数
md5ToolPath:md5 工具的绝对路径
DAC 文件夹结构示例如下
└── DAC-1316-1A25-A0001_enc
├── DAC-1316-1A25-A0001-00000279
├── DAC-1316-1A25-Cert-A0001-00000279.der
├── DAC-1316-1A25-Cert-A0001-00000279.pem
├── DAC-1316-1A25-Key-A0001-00000279.pem.enc
└── DAC-1316-1A25-PrivateKey-A0001-00000279.der.enc
├── DAC-1316-1A25-A0001-00000280
├── DAC-1316-1A25-Cert-A0001-00000280.der
├── DAC-1316-1A25-Cert-A0001-00000280.pem
├── DAC-1316-1A25-Key-A0001-00000280.pem.enc
└── DAC-1316-1A25-PrivateKey-A0001-00000280.der.enc
├── DAC-1316-1A25-A0001-00000281
├── DAC-1316-1A25-Cert-A0001-00000281.der
├── DAC-1316-1A25-Cert-A0001-00000281.pem
├── DAC-1316-1A25-Key-A0001-00000281.pem.enc
└── DAC-1316-1A25-PrivateKey-A0001-00000281.der.enc
├── Pankore-Test-PAA-novid-Cert.der
├── Pankore-Test-PAA-novid-Cert.pem
├── Test-PAI-1316-1A25-Cert.der
└── Test-PAI-1316-1A25-Cert.pem
然后通过以下命令,生成 bin
$ RealtekTeeGenBinTool ./RealtekTeeGenBinTool.cfg
成功生成后,用户数据 bin 文件会以 userdata_MP_0.0.0.0_xxxx.bin 命名,
保存在 ./subsys/matter/thirdparty/cg/realtekteegentool/bin/DAC-1316-1A25-A0001_enc/output 目录下。