密钥生成介绍及算法规格
DevEco Studio支持Windows和macOS系统,分别提供相应的软件安装方式。通过HUKS(华为统一密钥服务)生成随机密钥时,需注意密钥别名中不可包含敏感信息,且现有密钥别名会被覆盖。HUKS生成的密钥具有高随机性和安全性,其全生命周期仅能在HUKS的安全存储区使用,业务只能通过HUKS接口操作密钥。密钥用途需与生成时一致,且一个密钥只能用于一类操作。从API 11开始,开发者可指定密
DevEco Studio支持Windows和macOS系统,下面将针对两种操作系统的软件安装方式分别进行介绍。


当业务需要使用HUKS生成随机密钥,并由HUKS进行安全保存时,可以调用HUKS的接口生成密钥。
注意
1.密钥别名中禁止包含个人数据等敏感信息。
2.使用现有密钥别名作为生成的密钥别名会把现有密钥覆盖。
-
随机生成:指HUKS在生成密钥时,利用密码学安全的伪随机数,提高密钥的随机性、不可预测性以及不可重现性,确保生成的密钥难以被推测。
-
安全保存:指通过HUKS生成的密钥,除了非对称密钥中的公钥外,密钥的全生命周期(从生成到销毁)均只能由HUKS在安全存储区使用,且生成的密钥文件不能被除HUKS以外的任何业务直接访问。即使是生成密钥的业务,后续也只能通过HUKS提供的接口执行密钥操作,从而获取操作结果。
-
密钥用途:一个密钥只能有一类用途,例如:无法通过同一个密钥进行加解密和签名验签。另外,生成密钥时指定的用途要与使用时的方式一致,否则会导致异常。
密钥存储安全等级
在API 11之前,生成或导入密钥时,默认存储等级为DE;从API 11开始,支持开发者指定存储安全等级,默认为CE,可取值如表所示。
| 名称 | 值 | 说明 |
|---|---|---|
| HUKS_AUTH_STORAGE_LEVEL_DE | 0 | 表示密钥仅在开机后可访问。 |
| HUKS_AUTH_STORAGE_LEVEL_CE | 1 | 表示密钥仅在首次解锁后可访问。 |
| HUKS_AUTH_STORAGE_LEVEL_ECE | 2 | 表示密钥仅在解锁状态时可访问。 |
支持的算法
以下为密钥生成支持的规格说明。
标准设备规格
| 算法 | 支持的密钥长度 | API级别 |
|---|---|---|
| AES | 128、192、256 | 8+ |
| RSA | 2048、3072、4096 | 8+ |
| HMAC | 8-1024(含),必须是8的倍数 | 8+ |
| ECC | 256、384、521 | 8+ |
| ED25519 | 256 | 8+ |
| X25519 | 256 | 8+ |
| DH | 2048 | 8+ |
| SM2 | 256 | 9+ |
| SM4 | 128 | 9+ |
说明
DH算法采用FFDHE知名安全素数群。
轻量级设备规格
| 算法 | 支持的密钥长度 | API级别 |
|---|---|---|
| AES | 128、192、256 | 8+ |
| DES | 64 | 12+ |
| 3DES | 128、192 | 12+ |
| RSA | 1024-2048(含),必须是8的倍数 | 12+ |
| HMAC | 8-1024(含),必须是8的倍数 | 12+ |
| CMAC | 128 算法仅支持3DES | 12+ |

更多推荐

所有评论(0)