米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 Sentryの特徴は、きわめて迅速なことである。電源オン後ただちに攻撃を検出可能で、また検出そのものもリアルタイムで可能であり、その意味ではセキュリティ専用ハードウェアと同等以上の性能を実現できる。
興味深いのは、あまりFPGAを必要としないユーザー向けに、RISC-Vコアを組み合わせて、Secure RISC-V MCUとして使う事も可能な点だろうか(Photo03)。
もちろん若干LUTも残るので、ここにユーザーロジックを組み合わせる事も可能である。こうした使い方の場合、主に同社のシステム設計環境「Lattice Propel」だけで開発が可能となる(カスタムロジック部はLattice Diamondが必要になるだろうが)形だ。
Lattice Sentryの主要な特徴をまとめたのがこちらである(Photo04)。TPMやSecure MCUに比べると保護範囲も広く、しかも高速に対応できる点がLattice 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が投入されたら、当然対象にする予定との事であった。