横浜国立大学大学院環境情報研究院 教授 松本勉先生インタビュー「次世代IT社会に求められる新機能暗号とその性能評価」(第2回)


属性ベース暗号の暗号文サイズの最適化と、高セキュアの両立が実現したのですね。処理能力の向上と省エネ化は、いかがですか?

 新機能暗号はデータセンタなど、24時間365日稼働させる大規模サーバコンピュータへの実装も想定しています。そのため処理能力の高速化はもちろん、省エネ化も重要な要素です。ペアリングのソフトウェア実装に関する研究は、すでに多く行われていますが、ソフトウェアの実装、すなわち汎用の高性能CPUを回す計算方式では、省エネ化の実現に限界があります。そこで私たちは、最適なハードウェアの設計と、その実装性能の評価に取り組みました。

ペアリングとは、何ですか?

 ペアリングは、新機能暗号を実現するための汎用ツールのようなものです。楕円曲線を使いますが、楕円曲線暗号とは異なる楕円曲線の方程式を基にしています。このペアリングを用いることで、属性ベース暗号をはじめ、前回お話しした、暗号文のままデータ検索を行う「検索可能暗号」や「集約署名」などが実現できます。

「集約署名」は、たとえば多数のセンサから出力されるデータのディジタル署名を一つにまとめ、一度の検証で全て完了させる、といった方法でしたね。表にある「ディジタル署名」とは、そのデータの発信元を示す証明書のようなものでしょうか。

 そうです。たとえば道路情報や気象情報など、リアルタイムで情報提供をしているサービスでは、あちこちにセンサを設置して、センサから送信されたデータを絶えず収集・分析しています。
 このとき「地点Kのカメラが捉えた高速道路の状態」として送られてきたデータが、本当に地点Kのカメラから送信されたものか、異なるデータではないのか、それを確認するために必要となるのが、ディジタル署名です。厳密にはディジタル署名だけでは不十分ですが、重要な要素です。
 ディジタル署名には公開暗号技術が使われており、検証することで、正しい発信元から送信されたデータであると認識できます。たとえば1000個のデータにそれぞれディジタル署名が付けられている場合は、個別に1000回検証を行わなければなりません。しかしペアリング利用の新機能暗号を使えば、1000個の署名を1つに集約することができます。

素人には想像もつかない技術ですが、真にリアルタイムでデータを活用するためには、必須の技術であると感じます。

 ビッグデータの活用において、非常に重要な技術であると考えています。データの品質をどう定義するかは、本研究とは異なる課題ですが、データを活用する側は「正確な情報」が欲しいと望み、データを提供する側は「間違いなく○○の条件に適合するデータである」ことを証明して付加価値をつけたいと思うでしょう。
 さて、話をハードウェア実装に関する研究に戻します。
 ハードウェアの研究では、FPGA(field programmable gate array)を使いました。FPGAとは、論理回路をプログラミングによって自由に設計し、無制限に変更できるLSI(集積回路)です。これを使ってペアリング実装に最適な回路を見つけ出し、FPGAで構築し、性能評価を行いました。
 その結果、ペアリングの処理に必要な計算時間を0.2ms以下にまで短縮し、現時点での世界最速実装を達成できました。

表1は、ソフトウェアで実装した場合と、ハードウェア実装の比較ですね。

 はい。一般的なIntel core i7を搭載したPC上で、ソフトウェアとして実装した場合の結果です。80Wの消費電力で、計算時間は0.34msでした。
 IoTの端末として活用が広まっているRaspberry Piという安価な小型コンピュータでも、ソフトウェア実装でペアリングを動かすことはできます。しかし40msという長い計算時間が必要であり、その分エネルギーの消費量も増えてしまいます。
 一方、専用ハードウェア実装では、計算時間が短く、消費電力も少ないため、現在普及しているPCの80倍、Raspberry Piの500倍もの省エネを実現しました。