ページの本文へ

Hitachi

企業情報研究開発

ITインフラをクラウドに移行する流れが進む中、企業が保有するさまざまなデータを安全に利活用する方法が模索されています。日立製作所では、データを"暗号化したまま"検索できる「検索可能暗号技術」を開発。この高速で安全な暗号技術を支える鍵は、数学理論を駆使して生み出された独自のアルゴリズムにありました。

(2012年10月19日 公開)

安全性と利便性の両立は難しい?−クラウド移行の壁

クラウドを活用する企業が増えてきましたね。

写真「佐藤 尚宜(さとう ひさよし)」

佐藤そうですね。日立でもHarmonious Cloudとしてさまざまなソリューションを提供しています。

クラウドを利用するには、いままで企業内で管理していたデータを外部の業者に預ける必要があります。ただ、企業が扱うデータには個人情報や開発中の新製品の情報など、社外に公開できない重要なデータが多い。「きちんと管理できるのか」「情報が漏えいしてしまうのではないか」という不安から、クラウドの利用をためらってしまう企業も多いようです。

吉野情報漏えいを防ぐためには、預けるデータを暗号化しておくという方法があります。暗号化したデータは意味不明な文字列ですから、万が一データが漏えいしたとしても、どのようなデータなのか内容まではわかりません。ただ、それだけではちょっと問題があるんです。

どのような問題があるのでしょうか。

写真「吉野 雅之(よしの まさゆき)」

吉野従来の暗号技術では、暗号化したデータに対して処理ができませんでした。そのため、暗号化したデータはそのまま保管しておくしかなかったのです。クラウドには、データを単に保管するだけでなく、何らかの処理もお願いしたい。しかし、データを暗号化してしまうとそれができなくなってしまう。クラウドを有効活用するためには、データを暗号化したままでも必要な処理ができる暗号技術が必要でした。

佐藤実は、日立では以前からデータを暗号化したまま処理をするための技術を研究していました。わたしたちは、秘匿情報処理技術と呼んでいます。この秘匿情報処理技術をクラウドにも応用できるのではないか、ということで、2010年ごろから研究を始めました。そして生まれたのが、今回開発した「検索可能暗号技術」になります。データを暗号化したまま検索ができる技術です。

図1 クラウドのセキュリティ面での課題
クラウドのセキュリティ面での課題を示した図

*
Harmonious Cloud は、株式会社日立製作所の登録商標です。

暗号文には「ランダム性」が欠かせない

検索可能暗号技術についてもう少し詳しく教えてください。

吉野従来の暗号技術と比較しながら説明します。一般的には、暗号化前のデータを平文、暗号化後のデータを暗号文と呼びます。従来の暗号技術でも、平文と暗号文が1対1に対応するようにデータを暗号化すれば、データを暗号化したままでも検索できます。ただ、「平文と暗号文が1対1に対応する」状態は、情報漏えいのリスクがあるんです。

写真「長沼 健(ながぬま けん)」

長沼例えば、性別のように2種類の値しか出てこないデータについては、暗号文も2種類しかありません。男性が多い職場のデータだから、この部分は「男性」という意味かもしれないな、というように、データが暗号化されていても内容が推測できてしまう可能性があります。

検索キーワードについても同様です。暗号文が変わらないので、あるキーワードについて何回検索されたのかがわかってしまう。よく出てくるから人気のキーワードなのかな、とか。検索回数が増えれば増えるほど、暗号文の内容を推測するための手掛かりを与えてしまうことになります。

吉野一方、検索可能暗号技術で暗号化した場合、ある平文に対して生成される暗号文は毎回異なります。同じ平文を暗号化しても、生成される暗号文は毎回バラバラ。暗号文の内容を推測しにくくしています。暗号文に「ランダム性」を持たせることで、データを安全に検索できるようにしているのです。

図2 暗号化前後のデータの違い
暗号化前後のデータの違いを示した図

生成される暗号文がバラバラなのに、どうして検索できるのですか。

吉野そこがこの技術のポイントです。仕組みを簡単に説明しますと、データや検索キーワードを暗号化するときに、暗号文にそれぞれ検索用のタグを付けるようにしました。このタグは、暗号文の生成時に使われた乱数を加工したものです。検索時には、図3に示すように、「データの暗号文」と「検索キーワードの暗号文」から乱数で生成された部分のデータを取り出して、検索用に付けたタグのデータと比較します。比較の結果、二つのデータが一致すれば、検索でヒットするという仕組みです。

長沼暗号文の生成時に乱数を使うのは、生成される暗号文を毎回バラバラにするためです。ただ、乱数で生成された部分は、ノイズのようなものなので、データを照合するときには邪魔になります。乱数で生成された部分をなんとかうまく処理したい。そこで、わたしたちが目を付けたのが準同型関数です。

図3 検索可能暗号技術の仕組み
検索可能暗号技術の仕組みを示した図

画像を拡大する

処理の決め手となった準同型関数

準同型関数…初めて聞きました。

写真「吉野 雅之(よしの まさゆき)」

吉野一般の人にはなじみがない言葉かもしれませんね。準同型関数にもいろいろな種類がありますが、いちばんシンプルなものだと、xyという二つの値について、ƒ(x)+ƒ(y)=ƒ(x+y)という性質を持つ関数ƒを準同型関数と呼びます。

先ほど、暗号文に付けた検索用のタグは「暗号文の生成時に使われた乱数」を加工したものだという説明をしました。実は、この加工処理に準同型関数を使っています。データの暗号化に使われた乱数がx、検索キーワードの暗号化に使われた乱数がyだった場合、ƒ(x)とƒ(y)を求めたわけです。

また、検索時にはデータの暗号文と検索キーワードの暗号文から、「乱数で生成された部分のデータ」を取り出すという説明をしました。ただ、このデータはx+yのように合計値の状態で取り出しているため、そのままでは「検索用に付けたタグのデータ」と比較できません。「乱数で生成された部分のデータ」を、準同型関数を使用してƒ(x+y)という形式にすることで、比較できるようにしています。

一つ一つの処理に意味があるのですね。

長沼はい。一見、適当に処理しているように見えるかもしれませんが。ちょっとでも変えると、理論的におかしくなってしまうんです。

吉野最初はわたしだけで処理方法を考えましたが、なかなかうまくいかなくて。作っては壊し、作っては壊し…試行錯誤の連続でした。最終的にはチームのみんなで考えて、ようやく作り上げることができました。

佐藤処理のスピードにもこだわりました。対象となるデータが膨大なので、処理に時間が掛かってしまうと実用性に乏しい。そこで、高速な暗号モジュールを使って、処理時間を可能な限り短くするようにしました。このデモ機には暗号化データを1万件格納していますが、一瞬で検索結果が返ってきます(写真1参照)。

普段、わたしたちは公開鍵暗号技術を研究していますが、検索可能暗号技術に使われている暗号モジュールは、ほとんどが共通鍵暗号技術のものです。クラシカルな技術ではありますが、とにかく高速性にこだわって設計されています。

吉野先ほど説明した準同型関数も、ほかの暗号モジュールと同様に高速な計算が可能です。わたしたちの専門である数学の知識を生かせた部分ではないかなと思います。暗号モジュールに準同型関数を使うのは、めったにないことなんです。

写真1 検索デモの様子
検索デモの様子

暗号の安全性はゲームで確認

ほかに大変だったことはありますか。

佐藤暗号の安全性の確認にも結構時間が掛かりました。開発した暗号技術には、安全性の保証として数学的な証明を付けることになっています。その検討を含めると、開発には1年弱ぐらい掛かりました。

写真「長沼 健(ながぬま けん)」

長沼暗号の安全性を確認するには、「ある条件の下で暗号文を解読できる確率」を数式などで定式化して、解読できる確率が極めて低いことを証明します。

「ある条件」というのは、ユーザの利用シーンや、暗号文を解読しようとする攻撃者に与える情報の範囲などによって変わります。攻撃者にとってかなり有利な条件、例えば、狙っているデータの暗号文は入手できないけれど、それ以外の暗号文はすべて入手できるという条件を設定することも。ユーザの立場というよりは、攻撃者の立場に立って考えます。データを狙う悪者の思考をなぞるんです(笑)。

佐藤この手法は、暗号の安全性の証明でよく使われます。攻撃者がプレーヤーの、一種のゲームみたいな考え方ですね。先ほど長沼が説明した攻撃者に有利な条件の下、二つの暗号文を攻撃者に提示して、どちらが狙っているデータの暗号文かを当てさせるゲームです。

何を守るべきかによって条件が変わるので、ゲームのストーリー自体は1から考えることになります。検索可能暗号技術は、クラウドに適用することが前提だったこともあって、ゲームの設定がクラウドのセキュリティをきちんと表現しているかについても検討しました。

クラウドへの適用も進んでいるそうですね。

佐藤ええ。BLAST(Basic Local Alignment Search Tool)という、ゲノム解析では標準的なアルゴリズムに検索可能暗号技術を組み込むことで、クラウド上でゲノム解析を行う仕組みを実現しました。

検索可能暗号技術は、検索対象のデータに「同じ値がたくさんある場合」に、特に力を発揮する技術です。ゲノムデータには値が4種類しかなく、保管や解析には非常に高いセキュリティが求められることから、わたしたちの技術が生かせるのではと考えました。

BLASTへの組み込みに当たり、ゲノム解析の特徴である「類似検索」もサポートしました。検索可能暗号技術では、もともと「完全一致検索」しかできませんでしたが、「類似検索」をサポートすることで検索の幅が広がり、より便利になりました。

図4 クラウドを利用したゲノム解析のイメージ
クラウドを利用したゲノム解析のイメージを示した図

画像を拡大する

キラッと光る技術で世界に羽ばたく

ゲノム解析以外の分野にも応用できそうですね。

長沼はい。検索可能暗号技術は、クラウドを含めたデータのアウトソーシングサービス全般に適用できる技術だと思います。企業がデータ管理をアウトソーシングしていく流れは今後も続きそうなので、わたしたちの技術が役立つシーンも増えそうです。

佐藤暗号化したまま検索できるという特長は、データのバックアップにも生かせそうだと思っています。単に暗号化するだけでもよいのですが、データを検索可能暗号技術で暗号化してバックアップしておくと、必要な部分だけを検索してリストアできる。そういった便利な使い方もできそうです。

ユーザの利便性を追求していく、ということでしょうか。

写真「佐藤 尚宜(さとう ひさよし)」

佐藤そうですね。秘匿情報処理技術という観点で言えば、暗号化されたデータに対してできる処理をもう少し増やしていこうと思っています。「検索」以外にも、「比較」とか「並べ替え」とか。

あまりやり過ぎると攻撃者に情報を与え過ぎてしまうことになるので、セキュリティをどこまで保てるか、バランスを見極めつつ最適な方法を考えていきたいです。

長沼そうやって生まれた研究の成果は、どんどん外に発信していきたいですね。世界中の研究者に影響を与える、そんな仕事ができればと思っています。

吉野わたしは、研究成果を基にした新しいビジネスの立ち上げにも関心があります。ITの世界ではスピードも大事なので、まずは小さなビジネスを始めて、少しずつ大きくしていくということにも挑戦してみたい。

佐藤わたしたちのチームでは、システム技術ではなく要素技術を研究しています。暗号というのも、研究分野としては小さい方です。だからこそ、今後も周りをあっと言わせる面白い技術を生み出していきたい。小さくてもキラッと光る技術なら、きっと日立のビジネスにもつながると思うんです。

特記事項

  • 2012年10月19日 公開
  • 所属、役職は公開当時のものです。
  • 本技術は、総務省委託研究の平成22年度「大規模仮想化サーバ環境における情報セキュリティ対策技術の研究開発」における研究成果です。
  • 本技術に関連する日本特許は、登録されています(特許第5412414号)。
  • ページの先頭へ

類似キーワードコンテンツ

  • ページの先頭へ