Secure Computing Group

セキュアコンピューティング(SC)グループでは、データを暗号化したままで演算(秘匿計算)する技術についての研究を中心に取り組んでいます。

秘匿計算の一例として、ある企業が自社内にもつデータを解析して何らかの知見を得たい場合に、解析ノウハウがない・計算資源がない等の理由から、解析のための計算をクラウドサービスなどの第三者に依頼することが考えられます。その際、データそのものに企業利益につながるような内容や個人情報が含まれる場合、実際に計算を行う第三者や悪意のある攻撃者にデータ内容を知られる恐れがあります。秘匿計算では、依頼主がデータを暗号化してから第三者に依頼することで、第三者がデータを復号化することなく(つまり、中身を知ることなく)計算を行い、結果のみを依頼主が復号することができるため上述のリスクを回避することができます。

秘匿計算を可能とする従来の暗号化方式には速度面に問題があるため、暗号グループでは秘匿計算の高速化に取り組んでいます。秘匿計算のアルゴリズムを考える作業はパズルを解く感覚です。

本プロジェクトでは完全準同型暗号に対してコンピュータアーキテクチャ・暗号理論を考慮したソフトウェアの両面からの最適化を行うことで1000倍以上の高速化を目指しています。他拠点との連携により実用的に使用可能な秘匿計算によるオープンソースライブラリ構築を目標としています。
プロジェクトページはこちら

研究紹介

完全準同型暗号を用いた Apriori(頻出アイテムセットマイニング)

SecureAprioriあるアイテムリストの中から、頻出して出現するアイテムを暗号化したまま計算する研究。
例えば製薬企業が、大量の種類の薬品群の中から副作用の頻繁におこる薬品を調査したいとき、計算委託はしたいが、薬品ごとの副作用の頻度は企業秘密のため情報流出は避けたいと考える。様々な制約の中で、いかに復号結果の整合性をたもったままプロトコルを構築できるかがポイント。


完全準同型暗号を用いた秘匿ゲノム検索

SecureGenomeDNA配列検索は生物学的・医学的知見取得のために、有効である。しかしながら、DNA配列は個人の特徴を反映するだけでなく、個人の識別子(ID)ともなりうる。そのような背景から複数拠点にまたがって存在するDNA配列を活用するためには、暗号化したままのDNA配列検索が望まれる。暗号化したままの検索でどのようにアルゴリズムを構築するかがポイント。


完全準同型暗号を用いたoutsourced private set intersection cardinality

secretComp

2つの異なる機関が所有するパーソナルデータ集合の共通部分集合の要素数を、クラウド上で暗号化したまま求める研究である。例えば、研究者が病院と航空会社の所有するデータベースを用いて、ある病気の感染地域を特定する際に必要なデータベースの結合処理に応用できる。この処理の過程で、データベースのデータの情報を、クラウドから隠したまま計算処理が可能なプロトコルを構築する。


計算回路上でのbootstrapping配置の最適化

secretComp

完全準同型暗号の一種であるleveled完全準同型暗号では、一定回数の暗号文同士の演算を行うたびにbootstrappingと呼ばれる時間のかかる処理が必要になります。ここで、事前に計算したい演算が回路の形で表現されているとき、回路上のどのタイミングでbootstrappingを実行するかを適切に選択すると、計算全体でみてbootstrappingの必要回数を減らすことが可能です。複数の制約条件の中で適切な配置を探す必要があります。


メニーコア・共有マシンにおけるスケーラブルなメモリアロケータ

secretComp

マルチコアシステム上で多数のスレッドが同時に実行される場合(e.g. 完全準同型暗号の演算処理),メモリアロケーションが処理時間のボトルネックになり,スケーラビリティが低下する場合がある.これはマルチスレッドでシステムコールが同時に呼ばれ,ロック競合が発生することに起因する.そこで,そのロック競合の回数を削減し,高速化を実現する.具体的には,システムコールの頻度を下げ,極力ユーザ領域でメモリを管理する方針をとる.