• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 密钥生成介绍及算法规格
2
3当业务需要使用HUKS生成随机密钥,并由HUKS进行安全保存时,可以调用HUKS的接口生成密钥。
4> **注意:**
5> 密钥别名中禁止包含个人数据等敏感信息。
6
7- 随机生成:指HUKS在生成密钥时,利用密码学安全的伪随机数,提高密钥的随机性、不可预测性以及不可重现性,确保生成的密钥难以被推测。
8
9- 安全保存:指通过HUKS生成的密钥,除了非对称密钥中的公钥外,密钥的全生命周期(从生成到销毁)均只能由HUKS在安全存储区使用,且生成的密钥文件不能被除HUKS以外的任何业务直接访问。即使是生成密钥的业务,后续也只能通过HUKS提供的接口执行密钥操作,从而获取操作结果。
10- 密钥用途:一个密钥只能有一类用途,例如:无法通过同一个密钥进行加解密和签名验签。另外,生成密钥时指定的用途要与使用时的方式一致,否则会导致异常。
11
12## 支持的算法
13
14以下为密钥生成支持的规格说明。
15<!--Del-->
16面向OpenHarmony的厂商适配密钥管理服务规格分为必选规格和可选规格。必选规格为所有厂商均支持的算法规格。而对于可选规格,厂商将基于实际情况决定是否实现,如需使用,请查阅具体厂商提供的说明,确保规格支持再使用。
17
18**建议开发者使用必选规格开发应用,可保证全平台兼容。**
19<!--DelEnd-->
20**标准设备规格**
21| 算法 | 支持的密钥长度 | API级别 | <!--DelCol4-->是否必选规格 |
22| -------- | -------- | -------- | -------- |
23| AES | 128、192、256 | 8+ | 是 |
24| <!--DelRow-->RSA | 512、768、1024 | 8+ | 否 |
25| RSA | 2048、3072、4096 | 8+ | 是 |
26| RSA | 1024-2048(含),必须是8的倍数 | 18+ | 是 |
27| HMAC | 8-1024(含),必须是8的倍数 | 8+ | 是 |
28| <!--DelRow-->ECC | 224 | 8+ | 否 |
29| ECC | 256、384、521 | 8+ | 是 |
30| ED25519 | 256 | 8+ | 是 |
31| X25519 | 256 | 8+ | 是 |
32| <!--DelRow-->DSA | 512-1024(含),8的倍数 | 8+ | 否 |
33| DH | 2048 | 8+ | 是 |
34| <!--DelRow-->DH | 3072、4096 | 8+ | 否 |
35| SM2 | 256 | 9+ | 是 |
36| SM4 | 128 | 9+ | 是 |
37| DES | 64 | 18+ | 是 |
38| 3DES | 128、192 | 18+ | 是 |
39
40> **说明:**
41> DH算法采用FFDHE知名安全素数群。
42> DES和3DES算法仅提供给特定场景使用,其他场景下不推荐使用。
43
44**轻量级设备规格**
45
46<!--Del-->
47轻量级设备所列规格,OEM厂商将基于实际情况决定是否实现,如需使用,请查阅具体厂商提供的说明,确保规格支持再使用。
48<!--DelEnd-->
49
50| 算法 | 支持的密钥长度 | API级别 |
51| -------- | -------- | -------- |
52| AES | 128、192、256 | 8+ |
53| DES | 64 | 12+ |
54| 3DES | 128、192 | 12+ |
55| RSA | 1024-2048(含),必须是8的倍数 | 12+ |
56| HMAC | 8-1024(含),必须是8的倍数 | 12+ |
57| CMAC | 128 算法仅支持3DES | 12+ |