最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

樂(lè)鑫 SoC 支持使用外部 HSM 進(jìn)行安全簽名

2023-04-06 17:03 作者:樂(lè)鑫信息科技  | 我要投稿

樂(lè)鑫 ESP32 系列芯片均采用安全啟動(dòng)機(jī)制,確保只有可信任固件能夠在 flash 中運(yùn)行。然而,這種機(jī)制要求小心管理簽名密鑰,即簽名密鑰必須由簽名實(shí)體以安全的方式生成和存儲(chǔ)。

外部 (硬件安全模塊)是一種專門用于保護(hù)和管理密鑰的加密設(shè)備。它還可以提供專業(yè)的加密服務(wù),如明文加密、數(shù)字簽名等?,F(xiàn)在,許多云服務(wù)都提供使用基于云 HSM 的解決方案。

外部?HSM?簽名

Espsecure.py: 使用外部 HSM 進(jìn)行簽名


外部 HSM 提供了一個(gè)基于?PKCS #11?標(biāo)準(zhǔn)的加密接口,可實(shí)現(xiàn)對(duì)固件進(jìn)行簽名及其他功能。通過(guò) PKCS #11 接口還可以獲得遠(yuǎn)程的 HSM 云服務(wù)。

  • Espsecure.py 腳本(Esptool?工程的一部分)已經(jīng)集成了標(biāo)準(zhǔn) PKCS #11 接口,可與任何外部 HSM 設(shè)備兼容,對(duì)ESP32 固件進(jìn)行簽名。

  • 請(qǐng)注意,如上圖所示,要使用 HSM 模式,需要在 Espsecure.py 配置中提供供應(yīng)商特定的 PKCS #11 庫(kù)的路徑。

  • 初始支持使用 RSA-PSS 3072 或 ESDSA NISTP256 算法根據(jù)我們的 Secure Boot V2 機(jī)制生成已簽名的應(yīng)用程序。

Esptool 鏈接??:https://github.com/espressif/esptool

使用?YubiKey?進(jìn)行簽名

我們將使用?YubiKey?5 系列作為外部 HSM 演示如何簽名。

YubiKey 鏈接??:https://www.yubico.com/products/yubikey-5-overview/

安裝

有關(guān) YubiKey 主機(jī)工具和 PKCS #11 庫(kù)的詳細(xì)配置可在 下方鏈接?查看。

鏈接??:https://developers.yubico.com/yubico-piv-tool/

? ? ? ? ? ? ? ? ? ??#?安裝?esptool 4.5??HSM?依賴項(xiàng)

? ? ? ? ? ? ??? ? ?pip install esptool[hsm]==4.5.dev3

? ? ? ? ? ? ??? ? ?#?安裝工具和?PKCS#11?接口庫(kù)
? ? ? ? ? ? ??? ? ?sudo apt install yubico-piv-tool ykcs11

? ? ? ? ? ? ??? ? ?#??9c(數(shù)字簽名)域中生成?ECC P256?私鑰
? ? ? ? ? ? ??? ? ?yubico-piv-tool -a generate -s 9c -A ECCP256

注意:以下配置是在 Ubuntu 22.10 上進(jìn)行的。


HSM?配置文件

以下是我們要提供給 espsecure.py 的 HSM 配置文件。

? ? ? ? ? ? ??$ cat hsm_cfg.ini

? ? ? ? ? ? ??#?基于?YubiKey?的外部?HSM?配置文件
? ? ? ? ? ? ??[hsm_config]

? ? ? ? ? ? ??# PKCS11?共享對(duì)象/庫(kù)
? ? ? ? ? ? ??pkcs11_lib = /usr/lib/x86_64-linux-gnu/libykcs11.so

? ? ? ? ? ? ??# HSM?登錄憑證(YubiKey?默認(rèn)?PIN?碼)
? ? ? ? ? ? ??credentials = 123456

? ? ? ? ? ? ??#?要使用的域(YubiKey?默認(rèn)域)
? ? ? ? ? ? ??slot = 0

? ? ? ? ? ? ??#?用于存儲(chǔ)私鑰的對(duì)象的標(biāo)簽(默認(rèn))
? ? ? ? ? ? ??label = Private key for Digital Signature

? ? ? ? ? ? ??#?用于存儲(chǔ)相應(yīng)公鑰的對(duì)象的標(biāo)簽(默認(rèn))
? ? ? ? ? ? ??label_pubkey = Public key for Digital Signature?

請(qǐng)注意,libykcs11.so?路徑應(yīng)替換為您系統(tǒng)里的安裝路徑。


生成簽名

運(yùn)行以下命令,使用 hsm_cfg.ini 文件里的配置對(duì)固件進(jìn)行簽名。

? ? ? ? ? ? ??$ espsecure.py sign_data --version 2 --hsm --hsm-config hsm_cfg.ini --output signed.bin unsigned.bin?

? ? ? ? ? ? ??espsecure.py v4.5-dev
? ? ? ? ? ? ??Trying to establish a session with the HSM.
? ? ? ? ? ? ??Session creation successful with HSM slot 0.
? ? ? ? ? ? ??Trying to extract public key from the HSM.
? ? ? ? ? ? ??Got public key with label Public key for Digital Signature.
? ? ? ? ? ? ??Connection closed successfully
? ? ? ? ? ? ??Trying to establish a session with the HSM.
? ? ? ? ? ? ??Session creation successful with HSM slot 0.
? ? ? ? ? ? ??Got private key metadata with label Private key for Digital Signature.
? ? ? ? ? ? ??Signing payload using the HSM.
? ? ? ? ? ? ??Signature generation successful.
? ? ? ? ? ? ??Connection closed successfully
? ? ? ? ? ? ??Pre-calculated signatures found
? ? ? ? ? ? ??1 signing key(s) found.
? ? ? ? ? ? ??Signed 65536 bytes of data from unsigned.bin. Signature sector now has 1 signature blocks.

?

驗(yàn)證簽名

出于完整性考慮,我們可以使用外部 HSM 提供的公鑰來(lái)驗(yàn)證簽名。

? ? ? ? ? ? ??$ espsecure.py verify_signature --version 2 --hsm --hsm-config hsm_cfg.ini signed.bin?

? ? ? ? ? ? ??espsecure.py v4.5-dev
? ? ? ? ? ? ??Trying to establish a session with the HSM.
? ? ? ? ? ? ??Session creation successful with HSM slot 0.
? ? ? ? ? ? ??Trying to extract public key from the HSM.
? ? ? ? ? ? ??Got public key with label Public key for Digital Signature.
? ? ? ? ? ? ??Connection closed successfully
? ? ? ? ? ? ??Signature block 0 is valid (ECDSA).
? ? ? ? ? ? ??Signature block 0 verification successful using the supplied key (ECDSA).


文檔

更多關(guān)于使用 HSM 進(jìn)行安全簽名的說(shuō)明可參閱?Esptool 文檔

Esptool 文檔?鏈接??:

https://docs.espressif.com/projects/esptool/en/latest/esp32/espsecure/index.html#remote-signing-using-an-external-hsm

請(qǐng)注意,此功能將在 Esptool v4.5 release 版本中提供。目前,您可以在 Esptool dev 版本中調(diào)用 pip install esptool[hsm]==4.5.dev3 先行試用。



如您有任何問(wèn)題或反饋,歡迎隨時(shí)聯(lián)系我們。espressif.com/sales


樂(lè)鑫 SoC 支持使用外部 HSM 進(jìn)行安全簽名的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宜宾县| 介休市| 遂昌县| 红桥区| 荆门市| 乌兰县| 垣曲县| 安泽县| 奉化市| 澄城县| 三河市| 辽阳市| 溧水县| 界首市| 屏南县| 南陵县| 休宁县| 铜鼓县| 湖南省| 文水县| 万全县| 青铜峡市| 扬州市| 南陵县| 裕民县| 万荣县| 新河县| 黎城县| 盐池县| 息烽县| 庆云县| 徐水县| 昭通市| 襄垣县| 措美县| 定远县| 会理县| 桂平市| 浦北县| 聂拉木县| 西贡区|