密鑰導(dǎo)入介紹及算法規(guī)格
如果業(yè)務(wù)在HUKS外部生成密鑰(比如應(yīng)用間協(xié)商生成、服務(wù)器端生成),業(yè)務(wù)可以將密鑰導(dǎo)入到HUKS中由HUKS進(jìn)行管理。密鑰一旦導(dǎo)入到HUKS中,在密鑰的生命周期內(nèi),其明文僅在安全環(huán)境中進(jìn)行訪問操作,不會(huì)傳遞出安全環(huán)境,保證任何人都無法獲取到密鑰的明文。
密鑰導(dǎo)入的方式包含明文導(dǎo)入和加密導(dǎo)入兩種方式。
明文導(dǎo)入
該方式直接將密鑰明文導(dǎo)入HUKS,在導(dǎo)入過程中密鑰明文會(huì)暴露在非安全環(huán)境中,一般適用于輕量級(jí)設(shè)備或低安業(yè)務(wù)。
- 推薦使用該方式導(dǎo)入的密鑰類型:非對(duì)稱密鑰的公鑰
- 不推薦使用該方式導(dǎo)入的密鑰類型:對(duì)稱密鑰、非對(duì)稱密鑰對(duì)
- 開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
加密導(dǎo)入
該方式支持業(yè)務(wù)與HUKS建立端到端的加密傳輸通道,將密鑰安全加密導(dǎo)入到HUKS中,確保導(dǎo)入傳入過程中密鑰不被泄露,適用于高安敏感業(yè)務(wù)。相較于明文導(dǎo)入,加密導(dǎo)入步驟更多,密鑰材料更復(fù)雜。
- 推薦使用該方式導(dǎo)入的密鑰類型:對(duì)稱密鑰、非對(duì)稱密鑰對(duì)
下圖為加密導(dǎo)入密鑰開發(fā)時(shí)序圖。
根據(jù)開發(fā)流程,在導(dǎo)入加密密鑰過程中,需要依次調(diào)用HUKS的生成密鑰、導(dǎo)出公鑰、導(dǎo)入加密密鑰、刪除密鑰接口。
導(dǎo)出密鑰接口返回的[公鑰明文材料]是按照X.509格式封裝,導(dǎo)入加密密鑰接口中的密鑰材料需滿足LengthData-Data的格式封裝。
加密導(dǎo)入密鑰材料格式
內(nèi)容 | 長度 |
---|---|
業(yè)務(wù)公鑰長度LCaller_Pk | 4字節(jié) |
業(yè)務(wù)公鑰Caller_Pk | LCaller_Pk字節(jié) |
Shared_Key加密參數(shù)AAD2長度LAAD2 | 4字節(jié) |
Shared_Key加密參數(shù)AAD2 | LAAD2字節(jié) |
Shared_Key加密參數(shù)Nonce2長度LNonce2 | 4字節(jié) |
Shared_Key加密參數(shù)Nonce2 | LNonce2字節(jié) |
Shared_Key加密參數(shù)AEAD2長度LAEAD2 | 4字節(jié) |
Shared_Key加密參數(shù)AEAD2 | LAEAD2字節(jié) |
Caller_Kek密文長度LCaller_Kek_enc | 4字節(jié) |
Caller_Kek密文Caller_Kek_enc | LCaller_Kek_enc字節(jié) |
Caller_Kek加密參數(shù)AAD3長度LAAD3 | 4字節(jié) |
Caller_Kek加密參數(shù)AAD3 | LAAD3字節(jié) |
Caller_Kek加密參數(shù)Nonce3長度LNonce3 | 4字節(jié) |
Caller_Kek加密參數(shù)Nonce3 | LNonce3字節(jié) |
Caller_Kek加密參數(shù)AEAD3長度LAEAD3 | 4字節(jié) |
Caller_Kek加密參數(shù)AEAD3 | LAEAD3字節(jié) |
密鑰明文材料長度的長度LTo_Import_Key_size | 4字節(jié) |
密鑰明文材料長度To_Import_Key_size | LTo_Import_Key_size字節(jié) |
To_Import_Key密文長度LTo_Import_Key_enc | 4字節(jié) |
To_Import_Key密文To_Import_Key_enc | LTo_Import_Key_enc字節(jié)HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
支持的算法
以下為密鑰導(dǎo)入支持的規(guī)格說明。
面向OpenHarmony的廠商適配密鑰管理服務(wù)規(guī)格分為必選規(guī)格和可選規(guī)格。必選規(guī)格為所有廠商均支持的算法規(guī)格。而對(duì)于可選規(guī)格,廠商將基于實(shí)際情況決定是否實(shí)現(xiàn),如需使用,請(qǐng)查閱具體廠商提供的說明,確保規(guī)格支持再使用。
建議開發(fā)者使用必選規(guī)格開發(fā)應(yīng)用,可保證全平臺(tái)兼容。
算法 | 支持的密鑰長度 | API級(jí)別 | 是否必選規(guī)格 |
---|---|---|---|
AES | 128、192、256 | 8+ | 是 |
RSA | 512、768、1024 | 8+ | 否 |
RSA | 2048、3072、4096 | 8+ | 是 |
HMAC | 8-1024(含),必須是8的倍數(shù) | 8+ | 是 |
ECC | 224 | 8+ | 否 |
ECC | 256、384、521 | 8+ | 是 |
ED25519 | 256 | 8+ | 是 |
X25519 | 256 | 8+ | 是 |
DSA | 512-1024(含),8的倍數(shù) | 8+ | 否 |
DH | 2048 | 8+ | 是 |
DH | 3072、4096 | 8+ | 否 |
SM2 | 256 | 9+ | 是 |
SM4 | 128 | 9+ | 是 |
審核編輯 黃宇
-
密鑰
+關(guān)注
關(guān)注
1文章
136瀏覽量
19723 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2302瀏覽量
42689
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論