wolfSSL は、TPM 2.0 ポータブル ライブラリの拡張と改善を続けています。 wolfTPM は、ベアメタルおよび組み込みシステム用に設計した唯一の TPM 2.0 スタックです。 3 月末に、3 つの新しいサンプルプログラムを追加した wolfTPM バージョン 2.1.0 をリリースしました。その後さらに3つ追加しています。以下にその6つのサンプルプログラムを紹介します:
1. NVRAMの使用例
- TPM を安全なストレージとして使用
- TPM の NVRAM に非対称鍵または対称鍵を格納する方法を示すコード サンプルを用意
- このオープンソースのサンプルプログラムでは、中間者攻撃から保護するためにパラメーターの暗号化を使用
2. 対称鍵操作の使用例
- オープンソースのTPM鍵生成サンプルプログラムを拡張
- 以下の暗号化モードをサポート:
- AES CFB
- AES CTR
- AES CBC
- 以下の鍵サイズもサポート:
- 128
- 196(TPMベンダーに依存)
- 256
- 例えば、TPM対称鍵としてAES CFB 128bitを生成する場合には下記のコマンドを実行します。
./examples/keygen/keygen -sym=aescfb128
3. STM32CubexMX I2C HAL
- カスタマーリクエストのあったSTM32CubeMX用のHAL IO Callback を使うサンプルプログラムを追加しました。 SPI をサポートしていましたが、STM32CubeMX プロジェクトの I2C もサポートするようになりました。
4. Seal とUnseal機能のサンプルプログラム
- 秘密情報の封止機能は他のハードウエアセキュリティモジュールと比較してのTPM 2.0 のユニークな特徴の一つです。次の2つの使い方が可能です:
- TPM 鍵の中に秘密を封止
- PCR バンクに秘密を封止
- TPM 鍵の中に秘密を封止する方法を提供できます。
- 情報はTPMチップ中にだけ保管されるので機密情報の安全な保管庫として利用できます。
5. 拡張 GPIO サポートのサンプルプログラム
- これもカスタマーリクエストにより用意したもので、TPMのGPIOをユーザで制御できるよう設定可能にしました。GPIOへのアクセスはTPMの認証機能で保護されていますが、この拡張機能はGPIOへのアクセスなどのセキュリティイベントを通知する機能として構成できるので有用です。
6. 遠隔認証のサンプルプログラム
- 遠隔認証もまたTPMを利用する際に有効にできるユニークな機能です。この機能は特定のカスタマーの為の機能として使わることが多いですが、どのようなカスタマーにも共通して使える要素として抽出しサンプルプログラムとしてご紹介します。
- 認証情報の作成方法と有効化の方法のコーティング例を追加しました。このサンプルによって、遠隔認証の実現の為にシステム間で最初の信頼関係を確立する方法がご理解いただけると思います。
これまでにwolfTPMは20以上のサンプルプログラムを提供し、TPM2.0 の利用方法をご紹介してきました。これらのプログラムはオープンソース(GitHub repository of wolfTPM)で提供しています。GitHub repository of wolfTPM.
ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについては、support@wolfssl.comにお問い合わせください。