ニュース

LSIの個体差から「指紋」を生成し「IoT暗号」実現、三菱電機が新技術

2015年度から自社製品に適用

米田健氏

 三菱電機株式会社と立命館大学は5日、IoT時代に向けたセキュリティ技術を開発したと発表した。製造段階で生じるLSI(大規模集積回路)の個体差を利用した、「IoT暗号」ともいえる技術で、2015年度以降の三菱電機製品に適用する予定。

 1兆個を超えるとも言われるIoT時代のネットワーク端末。さまざまな分野で利便性に向上が見込まれる一方、機器に不正プログラムが混入する恐れが指摘されている。電力プラント停止による停電、社会インフラの故障、防犯システムの無力化、交通機関の事故といった可能性もあり、その影響は計り知れない。

 開発した技術は、IoTデバイスを含むすべての機器に実装されるLSIの特徴を生かして、不正なプログラムを受け付けないようにする技術。LSI自体にこうした技術を組み込むことで、膨大なIoTデバイスのセキュリティも無理なく実現できる可能性がある。

 同技術の概要について、同社 情報技術総合研究所 情報セキュリティ技術部長の米田健氏は「LSIは内部の回路で定められた計算を行うため、同じ回路が入ったLSIに同じ入力の計算をさせると同じ計算結果が出る。しかし、計算結果に至る過程が個体ごとに異なる。今回、この個体差をLSIの指紋に見立て、LSIごとに固有IDを作り出すことに成功した」と語る。

 個体ごとに異なる計算結果に至る過程とは、回路の素子がもつ遅延により個体差が生じる、出力途中の電圧上昇回数「グリッチ」のことだ。同じ機能のLSIに同じ信号を入力すると、計算結果は同じでも、途中で発生する電圧上昇が異なる。電圧上昇回数が偶数なら0を割り当て、奇数なら1を割り当てるビット変換を、入力を変えて繰り返すことで「10110101101」といった個体ごとに異なる秘密の情報となる。

同じ回路が搭載されたLSIに生じる個体差
固有IDの生成方法。グリッチをビット変換し、たとえば10110101101といった固有IDを生成する

 この個体差は製造上必ず生じる。また、ビット数を32ビット程度にすれば、1兆個のLSIでも秘密の情報が重複することはなく、「実際は1万ビット程度まで複雑にできるため、IoTデバイスが今後急増しても十分対応できる」(米田氏)という。

 こうして生成した固有IDを公開鍵暗号方式の「秘密鍵」として利用し、「公開鍵」でプログラムを暗号化。特定のLSIあてに暗号化されたプログラムのみを受け取るようにすることで、不正なプログラムの実行を防げる。手紙でいうところの「親展」に似た考え方だ。

 特長はもう1つある。通常、組み込み機器においてプログラムやデータの保護を実現する場合、一般的には、機器に内蔵するメモリに暗号処理したID情報を格納するが、機器の電源を切ってもID情報がメモリ上に残留するため、チップを開封して内部を調べることでIDの解析が可能になるという課題があった。

 一方、新技術の場合、秘密の情報は回路が動作した瞬間だけしか現れないため、チップを開封して内部を調べても、不正な解析が困難だという。この一瞬だけ現れる情報を抜き出し、「秘密鍵」に利用できるようにしたのが、この技術の白眉といえる。

回路が動作する瞬間のみ秘密の情報が現れる

 三菱電機は立命館大学とともに試作LSIを開発し、安定した指紋の生成を確認した。また、固有IDの生成、秘匿と認証に必要な回路を一部共有化することで、それぞれを個別に実装した時と比べて、回路の大きさを約1/3に削減。この仕組みはモジュール化してLSIに組み込めるため、実装が容易で、一般的なLSIの設計フローに十分適用できるという。

立命館大学と試作LSIを開発

 三菱電機は2015年度以降を目標に、同社製品に適用する予定だ。

川島 弘之