Howto

Armadillo-IoT G4 に搭載される EdgeLock SE050 を有効にする

Howto で出来ること

Armadillo に搭載される EdgeLock SE050 にアクセスするために Deep Power-down モードを解除する。

Howto の概要

  • Sysfs を利用して GPIO を制御して EdgeLock SE050 の Deep Power-down モードを解除する

EdgeLock SE050

NXP Semiconductors 製 EdgeLock SE050 (以下「SE050」という) は IoT アプリケーション向けのセキュアエレメントです。様々なアルゴリズムに対応した暗号エンジン、セキュアストレージを搭載します。内部処理は秘密鍵を露出させることなくセキュアに暗号処理を行うことができます。外部インターフェースは I2C を採用して GlobalPlatform が規定する Secure Channel Protocol 03 に準拠し、バスレベル暗号化 (AES)、ホストとカードの相互認証 (CMAC ベース) を行うことも可能です。また、SE050 はターンキーソリューションとして利用を開始してすぐにクラウドサービスなど PKI を基にしたサービスに接続することができます。チップ固有の X.509証明書などが事前にプロビジョニングされた状態で出荷されます。

SE050 を有効にする

Armadillo は消費電力の削減のため SE050 を Deep Power-down モードに設定してパワーゲーティングしている。Deep Power-down モードを解除して SE050 を利用するためには、i.MX 8M Plus に接続されている SE050 の ENA ピンをアサートする必要があります。

SE050 ena pin

Product SE050 PIN name SoC PAD name initial SoC port status
Armadillo-IoT G4 ENA GPIO1_IO12 GPIO input

Armadillo-IoT G4 の例として、sysfs を利用して GPIO1_IO12 を出力ポートに変更して high にする。

[armadillo ~]# echo 12 > /sys/class/gpio/export
[armadillo ~]# echo "out" > /sys/class/gpio/gpio12/direction
[armadillo ~]# echo 1 > /sys/class/gpio/gpio12/value

SE050 の動作を確認する

以下のコマンドで I2C 接続が有効であるかどうかを確認できます。

[armadillo ~]# i2cdetect -y 2

コンソール出力

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --