• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 密钥证明介绍及算法规格
2
3
4HUKS为密钥提供合法性证明能力,主要应用于非对称密钥的公钥的证明。
5
6
7基于PKI证书链技术,HUKS可以为存储在HUKS中的非对称密钥对的公钥签发证书,证明其公钥的合法性。业务可以通过系统提供的根CA证书,逐级验证HUKS签发的密钥证明证书,来确保证书中的公钥以及对应的私钥,确实来自合法的硬件设备,且存储管理在HUKS中。同时,输出的密钥证书中包含密钥属主信息,格式如下:
8| 密钥属主 | 格式 | 说明 |
9| -------- | -------- | -------- |
10| HAP应用| {appId:"xxx", bundleName:"xxx"} | bundleName为应用包名 |
11| 系统服务| {processName:"xxx", APL:"system_basic \| system_core"} | APL为系统服务等级 |
12
13>**说明:**
14> 1. 当调用方为系统服务且APL等级为normal时,暂不支持密钥证明,此种情况下,processName与APL字段将置空。
15> 2. 密钥证明功能在模拟器场景不支持。
16
17
18密钥证明过程如下:
19
20
211. 业务将指定密钥别名和需要证明的密钥属性的标签传入HUKS。
22
232. 调用HUKS为应用生成一个依次由根CA证书、设备CA证书、设备证书、密钥证书组成的X.509证书链。
24
253. 将证书链传输至受信任的服务器,并在服务器上解析和验证证书链的有效性和单个证书是否吊销。
26
27<!--RP1-->
28当前提供了两种密钥证明方式。
29- 匿名密钥证明:不会泄露设备信息,没有权限管理。面向所有应用开放。为了保护用户设备信息,三方应用开发者只能使用匿名密钥证明。
30- 非匿名密钥证明:可以看到调用方设备信息,有权限管控,需申请[ohos.permission.ATTEST_KEY](../AccessToken/permissions-for-system-apps.md#ohospermissionattest_key)权限。
31<!--RP1End-->
32
33## 支持的算法
34
35以下为密钥证明支持的规格说明。
36<!--Del-->
37面向OpenHarmony的厂商适配密钥管理服务规格分为必选规格和可选规格。必选规格为所有厂商均支持的算法规格。而对于可选规格,厂商将基于实际情况决定是否实现,如需使用,请查阅具体厂商提供的说明,确保规格支持再使用。
38
39**建议开发者使用必选规格开发应用,可保证全平台兼容。**
40<!--DelEnd-->
41
42<!--Del-->
43**匿名密钥证明:**
44<!--DelEnd-->
45
46| 算法 | 备注 | API级别 | <!--DelCol4-->是否必选规格 |
47| -------- | -------- | -------- | -------- |
48| RSA | 支持Padding为PSS与PKCS1_V1_5的密钥 | 11+ | 是 |
49| ECC | - | 11+ | 是 |
50| SM2 | - | 11+ | 是 |
51
52<!--Del-->
53**非匿名密钥证明:**
54
55| 算法 | 备注 | API级别 | 是否必选规格 |
56| -------- | -------- | -------- | -------- |
57| RSA | 支持Padding为PSS与PKCS1_V1_5的密钥 | 8+ | 是 |
58| ECC | - | 8+ | 是 |
59| X25519 | - | 8+ | 是 |
60| SM2 | - | 8+ | 是 |
61<!--DelEnd-->
62