• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 密钥派生介绍及算法规格
2
3<!--Kit: Universal Keystore Kit-->
4<!--Subsystem: Security-->
5<!--Owner: @wutiantian-gitee-->
6<!--Designer: @HighLowWorld-->
7<!--Tester: @wxy1234564846-->
8<!--Adviser: @zengyawen-->
9
10在密码学中,密钥派生函数(Key derivation function,KDF)使用伪随机函数从诸如主密码或密码的秘密值中派生出一个或多个密钥。
11
12> **说明:**
13> * 在HUKS中只能通过HUKS托管的密钥进行密钥派生。
14> * <!--RP2-->轻量级设备<!--RP2End-->不支持密钥派生功能。
15> * 使用现有密钥别名作为派生结果密钥别名会把现有密钥覆盖。
16
17## 支持的算法
18
19以下为密钥派生支持的规格说明。
20<!--Del-->
21面向OpenHarmony的厂商适配密钥管理服务规格分为必选规格和可选规格。必选规格为所有厂商均支持的算法规格。而对于可选规格,厂商将基于实际情况决定是否实现,如需使用,请查阅具体厂商提供的说明,确保规格支持再使用。
22
23**建议开发者使用必选规格开发应用,可保证全平台兼容。**
24<!--DelEnd-->
25
26派生密钥是业务基于三段式得到密钥会话结果,业务可决定派生密钥是否由HUKS管理(即密钥不出[TEE](huks-concepts.md))亦或是业务独立管理。
27
28> **说明:**
29> PBKDF2/HKDF仅支持HUKS托管密钥的派生,不支持直接基于非HUKS托管的密钥进行派生,如:用户的口令,密钥托管参考[密钥导入](huks-key-import-overview.md)。
30
31| 算法/摘要 | 派生密钥的算法/长度 | 派生结果密钥可用算法/长度 | API级别 | <!--DelCol5-->是否必选规格 |
32| -------- | -------- | -------- | -------- | -------- |
33| HKDF/SHA256 | AES/192-256 | AES/128/192/256<br/>HMAC/8-1024<br/>SM4/128 | 8+ | 是 |
34| HKDF/SHA384 | AES/256 | AES/128/192/256<br/>HMAC/8-1024<br/>SM4/128 | 8+ | 是 |
35| HKDF/SHA512 | AES/256 | AES/128/192/256<br/>HMAC/8-1024<br/>SM4/128 | 8+ | 是 |
36| PBKDF2/SHA256 | AES/192-256 | AES/128/192/256<br/>HMAC/8-1024<br/>SM4/128 | 8+ | 是 |
37| PBKDF2/SHA384 | AES/256 | AES/128/192/256<br/>HMAC/8-1024<br/>SM4/128 | 8+ | 是 |
38| PBKDF2/SHA512 | AES/256 | AES/128/192/256<br/>HMAC/8-1024<br/>SM4/128 | 8+ | 是 |
39<!--RP1--><!--RP1End-->