Armadilloフォーラム

SE050を有効にする方法が必要かどうかについて

fss-sh

2025年7月8日 18時01分

==========
製品型番:AGX4500-C00D0
Debian/ABOSバージョン:3.20.3-at.4
カーネルバージョン:5.10.228-0-at
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
コンテナからSE050を使用するためWebのマニュアル「https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-base-os-sec…」を参考にしました。
Webのマニュアルでは 購入後にSE050を有効にするため 12番を HIGHする必要があると記載がありましたが、下記のエラーが出力されました。

gpioset: error setting the GPIO line values: Resource busy

gpioset gpiochip0 12=1 はセキュアエレメント使用前に実行が必要でしょうか。

なお参考までにリブート後の gpioinfoの情報は以下でした。

armadillo:~/$ gpioinfo gpiochip0
gpiochip0 - 32 lines:
        line   0:      unnamed "FW_UPDATE_IND" output active-high [used]
        line   1:      unnamed     "PWROFF"   input   active-low [used]
        line   2:      unnamed       unused   input  active-high
        line   3:      unnamed  "interrupt"   input  active-high [used]
        line   4:      unnamed       unused   input  active-high
        line   5:      unnamed     "REBOOT"   input   active-low [used]
        line   6:      unnamed    "PWR_IND"  output  active-high [used]
        line   7:      unnamed  "STDWN_IND"  output  active-high [used]
        line   8:      unnamed "regulator-vext-3p3v" output active-high [used]
        line   9:      unnamed "regulator-usb1-vbus" output active-high [used]
        line  10:      unnamed      "reset"  output   active-low [used]
        line  11:      unnamed  "interrupt"   input  active-high [used]
        line  12:      unnamed  "se-enable"  output  active-high [used]
コメント

at_satoshi.ohta

2025年7月8日 18時10分

太田です。

Armadillo Base OS 3.18.5-at.7 (linux 5.10.205-r0) 以降では Armadillo-IoT ゲートウェイ G4/Armadillo-X2 の EdgeLock SE050 はデフォルトで自動的に有効化されますので、Armadillo Base OS を最新にした上でもう一度コンテナから SE050 にアクセスする方法をお試しいただけますでしょうか?

https://armadillo.atmark-techno.com/resources/software/armadillo-iot-g4…

また、セキュリティガイドの SE050 に関する内容は製品マニュアルに移行されました。
セキュリティガイドは今後アップデートされることはありませんので、最新の製品マニュアルをご参照ください。

https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

お手数ですが、どうぞよろしくお願いいたします。

at_satoshi.ohta

2025年7月9日 8時07分

太田です。

立て続けに申し訳ありません。
確認不足でしたが、

> Debian/ABOSバージョン:3.20.3-at.4

とのことですので、すでに Armadillo Base OS 3.18.5-at.7 よりもバージョンが高い ABOS をお使いとのことですね。
そのため、デフォルトで有効になっているはずです。

念の為、手元でも ABOSバージョン:3.20.3-at.4 をインストールして確認しましたが、

armadillo:~# cat /etc/sw-versions 
base_os 3.20.3-at.4
boot 2020.4-at24
armadillo:~# gpioset gpiochip0 12=1
gpioset: error setting the GPIO line values: Resource busy
armadillo:~# gpioinfo gpiochip0
gpiochip0 - 32 lines:
        line   0:      unnamed "FW_UPDATE_IND" output active-high [used]
        line   1:      unnamed     "PWROFF"   input   active-low [used]
        line   2:      unnamed       unused   input  active-high 
        line   3:      unnamed  "interrupt"   input  active-high [used]
        line   4:      unnamed       unused   input  active-high 
        line   5:      unnamed     "REBOOT"   input   active-low [used]
        line   6:      unnamed    "PWR_IND"  output  active-high [used]
        line   7:      unnamed  "STDWN_IND"  output  active-high [used]
        line   8:      unnamed "regulator-vext-3p3v" output active-high [used]
        line   9:      unnamed "regulator-usb1-vbus" output active-high [used]
        line  10:      unnamed      "reset"  output   active-low [used]
        line  11:      unnamed  "interrupt"   input  active-high [used]
        line  12:      unnamed  "se-enable"  output  active-high [used]

となることを確認しました。

その上で、

https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…

の手順に従い、コンテナ内で SE050 を使えるか確認した所、こちらでは問題なく使えるようです。
マニュアルと同様ですが、以下、手元で試してみた手順ですのでご参考にしていただければ幸いです。

armadillo:~# cat /etc/atmark/containers/plug-and-trust.conf 
set_image docker.io/alpine
export AT_SE_PARAM="$(device-info --se-param)"
add_args --env=AT_SE_PARAM
add_devices "${AT_SE_PARAM%:*}"
add_volumes /etc/apk:/etc/apk:ro
set_command sleep infinity
armadillo:~# abos-ctrl podman-rw pull docker.io/alpine
armadillo:~# podman_start plug-and-trust
Starting 'plug-and-trust'
513bfa5c58c0d0ab3deeca3079747560b55102a5c5bd650c31a95337eb8f296a
armadillo:~# podman exec -it plug-and-trust sh
/ # cd
~ #  apk add se05x-tools plug-and-trust-tools
fetch https://download.atmark-techno.com/alpine/v3.20/atmark/aarch64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/main/aarch64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/aarch64/APKINDEX.tar.gz
:(省略)
~ # export OPENSSL_CONF=/etc/plug-and-trust/openssl11_sss_se050.cnf
~ # export EX_SSS_BOOT_SSS_PORT="$AT_SE_PARAM"
~ # se05x_GetInfo
App   :INFO :PlugAndTrust_v04.02.00_20220524
App   :INFO :Running se05x_GetInfo
:(省略)
~ # se05x_getkey 0xF0000100 refkey.pem "$AT_SE_PARAM"
App   :INFO :Running se05x_getkey
App   :INFO :Using PortName='/dev/i2c-2:0x48' (CLI)
sss   :INFO :atr (Len=35)
      00 A0 00 00    03 96 04 03    E8 00 FE 02    0B 03 E8 08 
      01 00 00 00    00 64 00 00    0A 4A 43 4F    50 34 20 41 
      54 50 4F 
sss   :WARN :Communication channel is Plain.
sss   :WARN :!!!Not recommended for production use.!!!
~ # ls
refkey.pem
~ # echo "This is test" > message.txt
~ # openssl dgst -sha256 -sign refkey.pem -out sig.bin message.txt
ssse-flw: EmbSe_Init(): Entry
App   :INFO :Using PortName='/dev/i2c-2:0x48' (ENV: EX_SSS_BOOT_SSS_PORT=/dev/i2c-2:0x48)
sss   :INFO :atr (Len=35)
      00 A0 00 00    03 96 04 03    E8 00 FE 02    0B 03 E8 08 
      01 00 00 00    00 64 00 00    0A 4A 43 4F    50 34 20 41 
      54 50 4F 
sss   :WARN :Communication channel is Plain.
sss   :WARN :!!!Not recommended for production use.!!!
ssse-flw: Version: 1.0.5
ssse-flw: EmbSe_Init(): Exit
ssse-flw: Control Command EMBSE_LOG_LEVEL; requested log level = 4
~ # ls
message.txt  refkey.pem   sig.bin
~ # openssl dgst -sha256 -prverify refkey.pem -signature sig.bin message.txt
ssse-flw: EmbSe_Init(): Entry
App   :INFO :Using PortName='/dev/i2c-2:0x48' (ENV: EX_SSS_BOOT_SSS_PORT=/dev/i2c-2:0x48)
sss   :INFO :atr (Len=35)
      00 A0 00 00    03 96 04 03    E8 00 FE 02    0B 03 E8 08 
      01 00 00 00    00 64 00 00    0A 4A 43 4F    50 34 20 41 
      54 50 4F 
sss   :WARN :Communication channel is Plain.
sss   :WARN :!!!Not recommended for production use.!!!
ssse-flw: Version: 1.0.5
ssse-flw: EmbSe_Init(): Exit
ssse-flw: Control Command EMBSE_LOG_LEVEL; requested log level = 4
Verified OK

どうぞよろしくお願いいたします。