セキュアコンピューティング(SC)グループでは、データを暗号化したままで演算(秘匿計算)する技術についての研究を中心に取り組んでいます。
秘匿計算の一例として、ある企業が自社内にもつデータを解析して何らかの知見を得たい場合に、解析ノウハウがない・計算資源がない等の理由から、解析のための計算をクラウドサービスなどの第三者に依頼することが考えられます。その際、データそのものに企業利益につながるような内容や個人情報が含まれる場合、実際に計算を行う第三者や悪意のある攻撃者にデータ内容を知られる恐れがあります。秘匿計算では、依頼主がデータを暗号化してから第三者に依頼することで、第三者がデータを復号化することなく(つまり、中身を知ることなく)計算を行い、結果のみを依頼主が復号することができるため上述のリスクを回避することができます。
秘匿計算を可能とする従来の暗号化方式には速度面に問題があるため、暗号グループでは秘匿計算の高速化に取り組んでいます。秘匿計算のアルゴリズムを考える作業はパズルを解く感覚です。
本プロジェクトでは完全準同型暗号に対してコンピュータアーキテクチャ・暗号理論を考慮したソフトウェアの両面からの最適化を行うことで1000倍以上の高速化を目指しています。他拠点との連携により実用的に使用可能な秘匿計算によるオープンソースライブラリ構築を目標としています。
プロジェクトページはこちら
研究紹介
準同型暗号を利用したプライバシー保護深層学習
近年,クライアントのデータを利用して,クラウド上で機械学習モデルの訓練・推論処理を行うMLaaS(Machine Learning as a Service)が注目を集めています.一方このような計算を外部委託するクラウドコンピューティングでは,サーバ内での処理においてデータを一度復号する必要があり,金融情報や医用画像など機密データを扱う場合セキュリティ上の懸念が生じてしまいます.したがって,このような機微なデータのプライバシーを保護しつつ機械学習などを適用し利活用することが求められており,本研究では暗号化されたデータを復号せずに演算可能な準同型暗号を使用してセキュアに畳み込みニューラルネットワークの推論処理を実行することに焦点を当てています.
プライバシ保護問い合わせ応答システム
本研究では,準同型暗号と差分プライバシを組み合わせたプライバシ保護問い合わせ応答システムの構成に取り組んでいます.提案システムでは,準同型暗号を使用して暗号文データに対して差分プライバシを適用することで、クラウドサーバとデータ解析者の両者に対して,データ提供者が所有するデータを保護します.また,事前に,差分プライバシが保証された暗号文データを復号し,平文で表現される差分プライバシ適応済データを構築することで,データ解析者の問い合わせに対する応答速度を高速化します.
表探索による準同型暗号の関数計算
スマートグリッドのプライバシー保護異常検出システムを完全準同型暗号技術で実現します.準同型暗号技術で暗号化したままデータの解析や計算が可能ですが,処理速度が遅いため,ビッグデータの要求に適応できません.この問題に対して,計算量削減のために,準同型暗号のテーブル探索に置き換える事を提案します.計算したい関数の入力値と出力結果をテーブルに保存すると,テーブル探索して計算結果を得ます.
楕円曲線暗号と準同型暗号を用いたスマートグリッドにおけるプライバシを保護したデータ改ざん検知
準同型暗号は,ユーザに対して暗号化されたデータを復号することなく計算を行うことができるようにする暗号方式です.しかし,準同型暗号の欠点として,実行時間の観点で計算のオーバヘッドがあります.したがって,プライバシを保護しつつスマートメータが生成したデータへの攻撃検知を高速に行う手法が必要となります.異常を検知するアルゴリズムにより暗号化されたデータへの改ざんへの攻撃検知するための,楕円曲線暗号(Elliptic curve cryptography; ECC)に基づく準同型暗号を用いることで,より高速な計算が可能でデータのセキュリティを確保します.楕円曲線暗号により,3,072bitのRSA鍵と同等のセキュリティを256bitのECC鍵で達成し,暗号化されたデータに対して計算を行えます.したがって,楕円曲線暗号に基づく準同型暗号は,暗号化・復号アルゴリズムを実装するために必要とするメモリ空間がより小さく,暗号化と復号の実行時間を削減します.
DAMCREM (Dynamic Allocation Method of Computation Resource to Macro-Task)
クライアントサーバモデルにおける完全準同型アプリケーションの実行において,ジョブのレイテンシを削減することを目的としたDAMCREMと名付けた手法です.DAMCREMでは,いくつかの準同型演算をまとめて1つのマクロタスクとしてアプリケーションを構築します.このマクロタスクごとに,実行順序や割当スレッド数を動的に決定することで,レイテンシ短縮を目指します.具体的なアルゴリズムとしては,まず,右上の図のように,予め,準同型演算の種類に応じてマクロタスクを作成してアプリケーションを構築し,マクロタスクごとの割当スレッド数に対する実行時間を計測し,割当スレッド数の優先度や候補を作成しておきます.実行時には,右下の図のように,実行可能なマクロタスクの実行順序を決定し,次に実行するマクロタスクに割り当てるスレッド数を候補から選択し,マクロタスクを実行する,という流れです.従来の手法では,準同型演算に割り当てるスレッド数は固定であるため,クラウドサーバにかかる負荷によってはレイテンシが十分に短縮できない場合が存在しました.DAMCREMでは,クラウドサーバの負荷に応じて,1つのマクロタスクに割り当てるスレッド数を決定するため,様々な負荷においても,レイテンシを低く保つことが可能です.
再利用性を備えた暗号文上での大小比較演算
さらに,大小比較に要する演算回路の深さは従来手法の中で最小となることを示した.
計算回路上でのbootstrapping配置の最適化
Relinearize Problem
Ring-LWEベースの準同型暗号では,準同型乗算することで暗号長が長くなり,暗号長が長くなるほど,計算コストが線形増加する.これを回避するために,Relinearizationと呼ばれる暗号長を短くする処理がある.Relinearizationは準同型乗算と同程度の計算コスト(数百ms)を要する.したがって,Relinearizationを行うタイミングを最適化することで全体の処理時間を高速化ができる.この最適化問題はRelinearize Problemと呼ばれており,NP困難であることが知られている.本提案手法では,Relinearize Problemに対して,線形時間で近似解を求めることができ,さらに特定条件下では最適解を得ることができる.
Privacy-Preserving Data Classification
機械学習は様々な場面に応用できます.近年ではデータ量が増加しており,一つのデータに含まれているデータ数も増えているためデータを分類するのに掛かる時間が増加しています.その様な分類タスクをクラウドなどに委託する事によってクライアントでの負担を軽減できます.FHEを応用する事によってデータを秘匿したままクラウドサーバーにて分類を行えます.本研究では分類モデル,クライアントのデータおよび結果を秘匿したままクラウドにてデータの分類を行うことができる.
完全準同型暗号を用いた Apriori(頻出アイテムセットマイニング)
例えば製薬企業が、大量の種類の薬品群の中から副作用の頻繁におこる薬品を調査したいとき、計算委託はしたいが、薬品ごとの副作用の頻度は企業秘密のため情報流出は避けたいと考える。様々な制約の中で、いかに復号結果の整合性をたもったままプロトコルを構築できるかがポイント。
完全準同型暗号を用いた秘匿ゲノム検索
完全準同型暗号を用いたoutsourced private set intersection cardinality
Privacy-Preserving Recommendation for Location-Based Service
近年、人工知能などを用いてビックデータを分析することで価値のある情報を抽出する技術が注目されています。一方で、 セキュリティ要求が高い銀行や病院以外の領域では、セキュリティの重要性が世の中に未だ十分に認識されていません。現在google mapや食べログなどの位置情報を用いたサービスがユーザーの個人情報を大量に保有しています。膨大に蓄積されたデータが暗号化されずに平文の状態のまま保存や分析をされてしまうと、将来的に重大な社会問題を引き起こす危険性があると考えています。ですので、この研究内容は、暗号化技術を用いて、サービス側がユーザーの位置情報や検索内容の中身を知ることなく、ユーザーへの質の高い推薦を可能にするサービスの新たしい仕組みです。