IoT設計のセキュリティキー:RISC-V と ARM、そしてデバイスキーの話

IoT機器を設計するとき、最初に出てくる話題の一つが「CPUをARMにするか、それともRISC-Vにするか」です。
もちろん重要な選択ですが、実際に製品を作ってみると IoTの安全性を決めるのはCPUよりも“鍵の扱い方”だったりします。

デバイスがネットワークにつながる以上、「その機器は本物か」「クローンではないか」「改ざんされていないか」を判断できなければなりません。
この記事では、ARMとRISC-Vの違いをざっくり整理しつつ、IoTで避けて通れない デバイスキー設計の話をまとめます。


ARMとRISC-V、何が違うのか

IoT機器でよく使われるCPUアーキテクチャは、ほぼこの2つです。

  • ARM
  • RISC-V

それぞれ方向性が少し違います。ARMは成熟したエコシステムと実績、RISC-Vはオープン性と自由度が魅力です。

ARM

ARMは組み込みの世界では定番です。STM32やNXPなど、多くのMCUがARMベースです。
特徴をざっくり言うと、次のようになります。

  • ライセンス制のISA
  • ツールやSDKが豊富
  • 商用製品の実績が圧倒的に多い

IoT設計で重要になるのが TrustZone です。TrustZoneはCPU内部を「セキュア領域」と「通常領域」に分ける仕組みで、
鍵やセキュア処理を隔離できます。最近のIoT設計では、このTrustZoneを使った PSAセキュリティ設計 がよく使われています。

RISC-V

RISC-VはオープンなISAです。最大の特徴は ライセンス料が不要 という点です。
さらに、命令セットを拡張できる・ベンダー依存が少ない、といったメリットがあります。

最近はGoogleやWestern Digitalなども採用を進めており、IoT向けSoCでもRISC-V採用例が増えてきました。

セキュリティ機能(TrustZone vs PMP)

ARMではTrustZoneが標準的ですが、RISC-Vでは PMP(Physical Memory Protection) が基本になります。
PMPはメモリアクセス制御の仕組みで、read / write / execute の権限を領域ごとに設定できます。

近年はRISC-V側でも、TEE構築のための取り組み(例:Keystone)や、Root of Trustのオープン実装(例:OpenTitan)などが進んでいます。
一方で、どこまでが標準で、どこからがベンダー依存かはSoCごとに差が出やすいので、採用時は仕様確認が重要です。

どちらを選ぶべきか

まとめると、だいたいこんな感じです。

項目 ARM RISC-V
成熟度 高い 成長中
コスト ライセンスあり 無料
エコシステム 非常に豊富 発展中
自由度 低め 高い
ARMとRISC-Vのざっくり比較(IoT視点)

量産製品なら ARMが無難。独自設計やコスト重視なら RISC-Vも魅力的
そんな位置づけです。


IoTで重要なのは「デバイスキー」

CPUの話をしましたが、実際のIoTセキュリティで重要になるのは デバイスキー です。
これは簡単に言うと 機器ごとに持つ秘密鍵 のことです。

IoT機器はネットワークに接続するため、「この機器は正しいデバイスか」を判断できなければなりません。
そのために使われるのが公開鍵暗号(PKI)の仕組みです。

IoT認証の基本構造(PKI)

基本的な仕組みはシンプルです。
デバイスは 秘密鍵 を持ち、サーバは 公開鍵(またはCA証明書)を持ちます。
デバイスが秘密鍵で署名し、サーバが公開鍵で検証します。

IoTで主流の認証方式:mTLS

現在のIoTシステムでは mTLS(相互TLS) が主流です。
AWS IoTなどでもこの方式が一般的です。流れは次の通りです。

  1. TLS接続を開始
  2. デバイス証明書を提示
  3. サーバ側が証明書を検証
  4. 認証成功後、暗号化通信を継続

デバイスキーはいつ作るのか(プロビジョニング)

ここが実はIoT設計でかなり重要なポイントです。方法は大きく2つあります。

1) デバイス内生成(おすすめ)

デバイスが初回起動時に鍵ペアを生成する方法です。秘密鍵はデバイスの外に出ません。
セキュリティとしては これが一番安全 です。

2) 製造ライン注入(インジェクション)

工場で鍵を書き込む方法です。量産ではよく使われますが、鍵管理のために HSM を置いたり、
製造ラインのアクセス制御や監査ログなど「工場側のセキュリティ」が重要になります。

鍵はどこに保存するのか

秘密鍵は、安全な場所に保存する必要があります。よく使われるのは次のような方法です。

  • Secure Element(鍵管理専用チップ)
  • TPM(産業機器・PC系でよく採用)
  • MCUのOTP / eFuse(一度書き込むと変更できない領域)
  • TEE(TrustZone等の隔離領域)

逆に言うと、普通のFlashにそのまま保存するのは危険です。物理解析やサイドチャネルなど、
“ソフトウェアだけでは守りきれない攻撃”が現実にあります。


最近のIoTセキュリティの流れ(Supply Chain Security)

最近はさらに Supply Chain Security が重要になっています。
製造から運用まで、全体で信頼性を担保する流れが強くなってきました。

たとえば、次のような技術キーワードが登場しています。

  • DICE:TPMがなくてもデバイスIDを組み立てる考え方
  • IEEE 802.1AR:デバイス証明書(DevID)の標準
  • FDO:大量デバイスの自動オンボーディングを支える仕組み
  • SBOM:ソフトウェア構成の透明化(脆弱性対応と運用の前提)

IoT機器は「作って終わり」ではなく、長期間運用されるものが多いので、
このあたりの視点があるかどうかで、後々の運用コストも大きく変わってきます。


最後に:Root of Trustの話

IoT機器の設計では、どうしても「ARMにするかRISC-Vにするか」という話になりがちです。
もちろんそれも大事です。

ただ実際のところ、IoTの信頼性を決めるのはCPUそのものではありません
本当に効いてくるのは、信頼の起点(Root of Trust)をどう作るか、という設計です。

たとえば、次の要素がセットで回っているかどうか。

  • Secure Boot:改ざんされたファームが動かない仕組み
  • Device Identity:デバイス固有の身分証明
  • Key Protection:秘密鍵が外に出ない保護
  • Provisioning:鍵を安全に発行・登録する流れ
  • Supply Chain Security:製造〜運用までの信頼性

これらがしっかり設計されていれば、ARMでもRISC-Vでも、堅牢なIoTシステムは作れます。
逆に言えば、鍵の扱いを間違えると、どんなCPUでも簡単に破られます。

IoTセキュリティは難しく見えるかもしれませんが、
「信頼の出発点をどこに置くか」という視点で考えると整理しやすくなります。
その出発点こそが Root of Trust です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA