暗号キーを生成するIPをeMemoryが提供、IoT時代に不可欠
半導体チップに暗号キーを埋め込み、簡単にアクセスできないようにするIPを台湾のeMemoryが開発、日本や欧州のセキュリティを重視する企業にアプローチしている。顧客企業を絞り日本、欧州とそれぞれ3〜4社と話し合ってきたが、日本企業は相変わらず対応が遅く、欧州の顧客1社とは共同開発に入ったという。
図1 暗号キーを乱数発生器と許容内のプロセスばらつきを利用して生成するeMemoryのIP PUFはPhysical Unclonable Functionの略で、物理的にクローンできない機能を意味する 出典:eMemory
半導体チップのセキュリティを重視する企業は、それほど多くないため数社に絞り、顧客が自分で暗号キーを生成する手助けを行う。eMemoryはあくまでもIPを提供し、顧客のチップに組み込む支援を行うか、あるいは暗号キーと乱数発生器を集積したチップそのものを提供するか、いずれかのビジネスになる。このIPはアンチフューズ方式の不揮発性メモリの一種のOTP(One Time Programmable)メモリであり、暗号キーを生成するのはあくまでも顧客である。
なぜ、暗号キーが必要か。スマートホームをはじめとして、さまざまなデバイスがインターネットにつながる時代になれば、つながった状態からデータが盗まれる危険性が高まる。Wi-FiやモバイルネットワークRAN(Radio Access Network)を通じてインターネットと常時つながった状態ではサイバー攻撃されやすい。しかし、IoTデバイスの価格はセキュリティを守るためだけで上げられないため、できるだけ低コストでセキュアな環境を作り出したい。この一つの解が暗号キー生成用のIPだ。
IDとパスワードなどの認証によって、コンピュータに侵入し、欲しいデータを盗むとしても、そのデータに暗号がかけられていれば、すぐには解読できない。解読するためには時間がかかる。IoT時代にはセキュリティを保つことはマストである。
この不揮発性メモリIPのNeoFuse IPは暗号キーを半導体チップに埋め込むために使う訳だが、二つの方法を使う。一つは乱数発生器回路を組み込むことで、もう一つはチップが持つ許容範囲内のプロセスばらつきを利用する方法だ。この二つの方法を使って暗号キーを作れば、乱数コードが例え解読されても、プロセスばらつきまで解読できない。プロセスばらつきを利用する方法は、正常品として動作するチップに32ビット分のメモリに、0か1かの電圧をかけ、わずかなプロセスのばらつきによって0でも1でもなるようにしておく。このためチップによって0になるものも1になるものも出てくる。このため人為的に数字を調整できない。
eMemoryの技術のメリットは、ランダム性が自然に決まり人為的な要素が入り込まないため、機密性が保たれやすい。しかも、アンチフューズ型でプログラムするため、温度や電圧が多少ばらついても、書きこんだ情報が反転することはない。浮遊ゲート方式だと、温度や電圧、過電圧などの影響を受けやすかった。
このIPをチップに集積する場合、すでに0.15µmプロセスから28nmプロセスまで対応できており、16/14nm FinFETプロセスも開発されてきた。10nmプロセスへの適用検討も始まっている。eMemoryのIP技術は営業活動で日本を回っているが、動きがいまだに遅いのが気になるとしている。