Nordic NRF5340でセキュアブートロードを実現

この度、wolfBootでNordic nRF5340デュアルコアSoCのサポートを開始します。これにより、IoTアプリケーションにエンタープライズグレードのセキュリティをもたらします。
このチップは堅牢なセキュリティ機能と性能の高さを兼ね備えており、これからのIoTシステムの展開に非常に理想的な製品です。

主な特徴

  • デュアルコアアーキテクチャ
    • アプリケーションコア
      • Cortex-M33 (128 MHz, TrustZone搭載)
      • 1MBフラッシュ、512KB RAM
    • ネットワークコア
      • Cortex-M33 (64MHz)
      • 256KBフラッシュ、64KB RAM
  • wolfBootの署名オプション
    • RSA(2048/3072/4096)
    • ECC(256/384/521)
    • ED25519/ED448
    • PQC:ML-DSA/LMS/XMSS
    • ハイブリッドPQCスキーム
  • ハードウェアベースのRoot of Trust

実装の詳細

私たちのリファレンス実装では、安全なアップデートストレージ用の外部QSPIフラッシュを備えたNordic nRF5340-DK開発キットを使用しています。
また、制約のあるネットワーク上の帯域幅使用を最適化するために、デルタ(差分)アップデートを有効にしました。DELTA_UPDATES=1で簡単にこの機能を有効にできます。

通信セットアップ

DKボードには、デバッグ用に2つの仮想COMポートがあります。

  • アプリケーションコア:UART0=P0.20
  • ネットワークコア:UART0=P1.01

アプリケーションコアは、IPCと共有メモリを通じてネットワークコアのアップデートを管理し、両コア間のシームレスな連携を確保します。

はじめに

詳細なビルド手順とアップデートからの出力例については、こちらのドキュメントをご覧ください。

重要な注意点

ネットワークコアのアップデートは --id 2 で署名され、アプリケーションコアのアップデートパーティションに配置する必要があります。

UICRキーストレージ領域を使用したハードウェアベースのRoot of Trustは、近日中にリリース予定です。

テストツール

GitHubリポジトリにて、テストスクリプトを提供しています。

build_flash.shスクリプトは以下のプロセスを自動化します。

  • 内部および外部フラッシュイメージの作成
  • 各イメージをバージョン2で署名
  • 外部フラッシュへのアップデートの配置
  • アップデートのトリガー
    wolfBoot_update_trigger()の呼び出しに相当)

ご質問がございましたら、ぜひ info@wolfssl.jp までお問い合わせください。

原文:https://www.wolfssl.com/secure-boot-support-for-nordic-nrf5340-firmware-update-for-dual-core-systems