米Lattice Semiconductorは8月12日(米国時間)、「Lattice Sentry solution stack」ならびに「Lattice SupplyGuard Service」を発表。同日より提供を開始した。これに関する説明会がオンラインで8月20日に行われたので、その内容をご紹介したい。

元々同社は2019年5月に、RoT(Root of Trust)を搭載したMachXO3Dを発表している。ただこれはあくまでもハードウェア的にRoTやSecure Storage/Secure Boot/etc…のセキュリティ機能を実装しただけで、これを利用するためのソフトウェアスタックの提供が遅れていた。今回発表されたLattice Sentryは、まさにこのMachXO3D向けのSecurity Software Stackである(Photo01)。

  • Lattice

    Photo01:IPとしてI/Fの監視機能などを提供。さらにSecurity要件に応じた様々なソリューションをAPIの形で提供する。ツールとしてはLattice Diamond+Lattice Propelで、ここにLattice Propel SDKを組み合わせる形となる

Lattice Sentryの特徴は、きわめて迅速なことである。電源オン後ただちに攻撃を検出可能で、また検出そのものもリアルタイムで可能であり、その意味ではセキュリティ専用ハードウェアと同等以上の性能を実現できる。

  • Lattice

    Photo02:攻撃とか改竄とかの検出はすべてハードウェアIPの形で実装されているので、きわめて高速に実施が可能とされる

興味深いのは、あまりFPGAを必要としないユーザー向けに、RISC-Vコアを組み合わせて、Secure RISC-V MCUとして使う事も可能な点だろうか(Photo03)。

  • Lattice

    Photo03:MachXO3Dの最大構成は9400LUTとなるが、RISC-V+Lattice Sentryで6790LUTほど消費するので、1700LUTほど残るそうで、この範囲でカスタムロジックを組み込むことになる

もちろん若干LUTも残るので、ここにユーザーロジックを組み合わせる事も可能である。こうした使い方の場合、主に同社のシステム設計環境「Lattice Propel」だけで開発が可能となる(カスタムロジック部はLattice Diamondが必要になるだろうが)形だ。

Lattice Sentryの主要な特徴をまとめたのがこちらである(Photo04)。TPMやSecure MCUに比べると保護範囲も広く、しかも高速に対応できる点がLattice Sentryのメリットであるとする。

  • Lattice

    Photo04:改竄検出とか、2 BankのFlash Memoryを用意して、BackupのBankからの再起動とかはMCUでも可能であるが、アクセス制御の範囲とかバスモニタリングまで可能なのはSentryだけ、とする

ちなみに現状、Lattice Sentryが対応するのはMachXO3Dのみであり、先日発表された「Certus-NX」などは現状未対応である。これはハードウェアとしてRoTを含むセキュリティ機能を実装しているのがMachXO3Dのみという理由であるが、将来は28nm FD-SOIで製造されるNexusプラットフォームにもこうしたSecureなFPGAが追加される予定であり、その際にはSentryの対象になるという話であった。

ところでSecure MCUでもTPMでも話は同じなのだが、それをどうやって量産するか? という問題が出てくる。いわゆるプロビジョニングである。2019年5月の発表時にも、製造から廃棄まで対応「可能」としつつ、具体的にこれをサポートするための手段は提供されなかった。

これに対する回答が、2つ目の発表であるSupplyGuardである。具体的には、Latticeからプロビジョニング済のMachXO3Dを製造委託業者に提供すると共に、このプロビジョニングに使ったキーを顧客に提供し、顧客はそのキーを使って最終デザインのBitstreamを暗号化することで、Secureな製品が出来上がるという事になる。非セキュアな製造委託先を利用できるために、全体のコストも低く抑えられるというのが同社の説明である。

ちなみにこのプロビジョニングサービスも、現時点ではMachXO3Dのみが対象であるが、こちらも将来NexusシリーズなどでセキュアFPGAが投入されたら、当然対象にする予定との事であった。

  • Lattice

    Photo05:もちろん、ここで仮に製造委託先が悪意を持って何かしらをした結果、「インストールしても動かない最終製品が出来上がる」可能性はあるのだろうが、「セキュリティを破られた最終製品が出荷される」可能性は防げることになる