製品

PRODUCTS

wolfPUF SRAMベースのデバイス固有鍵生成

wolfPUFは、wolfCryptに実装されたソフトウェアベースのSRAM物理的複製困難関数(PUF)です。SRAMの電源投入時の状態から安定したデバイス固有の256ビット暗号鍵を生成します。鍵をフラッシュメモリやeFuseに保存する代わりに、必要に応じて誤り訂正を使用して再構成します。デバイス上に残るのは、鍵の再構成に必要な非機密データのみです。wolfPUFは、セキュアエレメント、TPM、ベンダー固有のPUFハードウェアを必要としません。

ネットワークに接続する機器のほとんどは、ファームウェアの署名、TLSセッションの認証、保存データの暗号化のいずれかのために秘密鍵を保持しています。その鍵を攻撃者の手から守ることが難しく、しかもこれは小型の機器に限った問題ではありません。オンチップまたは外付けのフラッシュに保存すれば、JTAG、露出したデバッグポート、フラッシュバスへのアクセス手段のいずれかを持つ者に読み出されてしまいます。eFuseに焼き込んでも、ダイを開封すれば復元される可能性が残ります。セキュアエレメントやTPMを使えばこの問題は解決しますが、コスト、基板面積、そして認定すべき調達先がもう1つ増えます。そして規模の大小を問わず、それらを搭載せずに出荷される設計は数多くあります。詳細については、ブログをご覧ください。

* このページの内容に関するご質問および詳細については info@wolfssl.jp までお問い合わせください。

ダウンロード

オープンソース(GPLv3)の最新版をダウンロードしていただけます。

READMEを見る

特徴

  • ソフトウェア実装によりベンダー固有のPUFペリフェラルが不要
  • デバイス固有の256ビット暗号鍵
  • 秘密鍵をフラッシュメモリやeFuseに保存する必要なし
  • セキュアエレメント、TPM、専用PUFハードウェアが不要
  • 既存のSRAMを使用する、ハードウェアに依存しない設計
  • 設定可能なBCH誤り訂正による安定した鍵の再構成
  • HKDF-SHA256による用途別の複数鍵生成

機能

  • 初回のみのエンロールメントと、起動ごとの鍵再構成
  • 設定可能なBCH誤り訂正プロファイル
  • 呼び出し側で定義したラベルを使用するHKDF-SHA256鍵導出
  • SHA-256によるデバイスID生成
  • 1つのSRAMフィンガープリントから、用途ごとに独立した鍵を生成
  • エンロールメント時の公開ヘルパーデータ生成
  • 保存されたヘルパーデータを使用した鍵の再構成
  • オプションのコンパクトなヘルパーデータ形式
  • エンロールメントおよび鍵再構成前のSRAM健全性テスト
  • 無効または縮退したSRAM読み取り値の排除
  • 鍵およびPUFコンテキストの安全なゼロ化
  • 予約可能な未初期化SRAMを備えたMCU向けに設計
  • Cortex-Mターゲット向けベアメタル実装例
  • STM32H5搭載ST NUCLEO-H563ZIでテスト済み
  • 近日対応予定:Xilinx Zynq-7000
  • ホスト環境での開発およびCIテスト向けの合成SRAMモード
  • Autotools、CMake、user_settings.hによる設定