Secure Computing (SC)

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

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

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

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

研究紹介


準同型暗号を利用したプライバシー保護深層学習

近年,クライアントのデータを利用して,クラウド上で機械学習モデルの訓練・推論処理を行うMLaaS(Machine Learning as a Service)が注目を集めています.一方このような計算を外部委託するクラウドコンピューティングでは,サーバ内での処理においてデータを一度復号する必要があり,金融情報や医用画像など機密データを扱う場合セキュリティ上の懸念が生じてしまいます.したがって,このような機微なデータのプライバシーを保護しつつ機械学習などを適用し利活用することが求められており,本研究では暗号化されたデータを復号せずに演算可能な準同型暗号を使用してセキュアに畳み込みニューラルネットワークの推論処理を実行することに焦点を当てています.


準同型暗号と隔離実行環境の活用

本研究では,クラウドコンピューティングにおいて準同型暗号(homomorphic encryption)と隔離実行環境(trusted execution environment)を組み合わせることに注目しています.準同型暗号は,暗号文に対し復号することなく演算を行うことを実現する暗号技術ですが,計算コストが高い点や実行可能な演算が限定されている点が実用上の問題点となっています.対する隔離実行環境は,OSから独立した環境でデータやコードを保護しつつプロセス実行を可能にするハードウェア技術ですが,スケーラビリティが低い点やサイドチャネル攻撃に対し脆弱な点などが実用上の問題点となっています.そこで,近年両技術を組み合わせることで互いの利点を残しつつ限界を補うことを目的とした研究が行われています.既存の組み合わせ方としては,1)隔離実行環境内で準同型暗号文上の処理を行うもの,2)隔離実行環境内では鍵の生成・管理のみを行い,隔離実行環境外(rich execution environment)で準同型暗号文上の処理を行うもの,3)隔離実行環境外では準同型暗号文上の処理を行いつつ,隔離実行環境内では平文で処理を行うものの三つがあります.本研究では既存の組み合わせ方に関してパフォーマンスとデータ保護のトレードオフの調査や新たな組み合わせ方を模索することに焦点を当てています.


隔離実行環境上の準同型暗号の秘密鍵に対する安全性検証

近年,クラウドコンピューティングへの関心の高まりから,クラウドサーバ上で機械学習や深層学習を行うケースが増えています.クラウドコンピューティングでは,利用者は機密データをクラウドサーバへ送信する場合があります.この時,クラウドサーバが外部からの攻撃を受けた場合やクラウドサーバ管理者に悪意がある場合に,機密データが漏洩する危険性があります.

クラウドコンピューティング上での機密情報漏洩への対策の一つである準同型暗号は,データを暗号化したまま安全に計算できる一方で,計算コストが高い点や実行可能な演算が限定される点が問題点となっています.そこで,実行時間短縮を目的に,メモリの一部を暗号化することでデータを隔離及び保護するIntel SGXといった隔離実行環境を組み合わせ,準同型暗号では計算コストが高い処理を,隔離実行環境(エンクレーブ)内で暗号文を復号した上で処理を実行する手法が提案されています.しかし,Intel SGXは,実行時間の計測といった物理的情報から機密データを推測する攻撃であるサイドチャネル攻撃への脆弱性が指摘されています.そのため,隔離実行環境内の平文が漏洩する恐れがあります.

本研究では,Intel SGX を対象に,隔離実行環境内にある準同型暗号の秘密鍵をサイドチャネル攻撃によって漏洩させることを試みて,どの程度のデータがどの程度の時間で漏洩するのかを検証しています.そして,SGX と準同型暗号を組み合わせたアプリケーションについて,安全性を保証できる要件を明らかにすることを目指しています.


準同型暗号と隔離実行環境の組み合わせによるBERT文章分類

近年,自然言語処理を対象とした深層学習の一つであるBERTによる文章分類が,スパム検出やニュース分類で活用されています.しかし,サーバ内で扱われる文章データやモデルは暗号化されておらず,サーバ上での文章データや学習モデル自体(具体的には,モデルの構成とモデル内の重み)の機密漏洩が問題となっています. この機密漏洩の対策として,準同型暗号と隔離実行環境が挙げられます.準同型暗号はデータを暗号化したまま,復号することなく計算することができる技術ですが,計算時間が長い点,加算と乗算しか扱えない点,乗算回数に制限がある点が問題となります.隔離実行環境は,OSから独立した環境にデータやプログラムを格納し,機密性と完全性を保護したままプロセスが実行できるハードウェア技術ですが,サイドチャネル攻撃によって機密性が損なわれる危険性があります. そこで,本研究では,準同型暗号と隔離実行環境を組み合わせ,BERTをクラウド上で動作させる場合の,入力データとモデルの漏洩を防ぐことを目的としています.具体的には,BERTの推論処理を隔離実行環境内で準同型暗号を用いて実行し,準同型暗号では実行できない部分を復号し,平文で実行します.


プライバシ保護問い合わせ応答システム

本研究では,準同型暗号と差分プライバシを組み合わせたプライバシ保護問い合わせ応答システムの構成に取り組んでいます.提案システムでは,準同型暗号を使用して暗号文データに対して差分プライバシを適用することで、クラウドサーバとデータ解析者の両者に対して,データ提供者が所有するデータを保護します.また,事前に,差分プライバシが保証された暗号文データを復号し,平文で表現される差分プライバシ適応済データを構築することで,データ解析者の問い合わせに対する応答速度を高速化します.


表探索による準同型暗号の関数計算

スマートグリッドのプライバシー保護異常検出システムを完全準同型暗号技術で実現します.準同型暗号技術で暗号化したままデータの解析や計算が可能ですが,処理速度が遅いため,ビッグデータの要求に適応できません.この問題に対して,計算量削減のために,準同型暗号のテーブル探索に置き換える事を提案します.計算したい関数の入力値と出力結果をテーブルに保存すると,テーブル探索して計算結果を得ます.


準同型暗号へのin-storage computingの適用

準同型暗号の問題である実行速度の遅さに対して,ハードウェアアクセラレータによる高速化が提案されています.しかし,暗号文や公開鍵のデータサイズが大きく,かつアクセラレータに搭載されているメモリ容量はあまり多くありません.そのため,ホストから(もしくはホストを介して)アクセラレータへデータを転送する必要がありますが,データ転送にかかる時間がボトルネックとなります.そこで,プロセッサを搭載したストレージ(computational storage device; CSD)上で計算を行う in-storage computing を活用することによる高速化を目指しています.


楕円曲線暗号と準同型暗号を用いたスマートグリッドにおけるプライバシを保護したデータ改ざん検知

準同型暗号は,ユーザに対して暗号化されたデータを復号することなく計算を行うことができるようにする暗号方式です.しかし,準同型暗号の欠点として,実行時間の観点で計算のオーバヘッドがあります.したがって,プライバシを保護しつつスマートメータが生成したデータへの攻撃検知を高速に行う手法が必要となります.異常を検知するアルゴリズムにより暗号化されたデータへの改ざんへの攻撃検知するための,楕円曲線暗号(Elliptic curve cryptography; ECC)に基づく準同型暗号を用いることで,より高速な計算が可能でデータのセキュリティを確保します.楕円曲線暗号により,3,072bitのRSA鍵と同等のセキュリティを256bitのECC鍵で達成し,暗号化されたデータに対して計算を行えます.したがって,楕円曲線暗号に基づく準同型暗号は,暗号化・復号アルゴリズムを実装するために必要とするメモリ空間がより小さく,暗号化と復号の実行時間を削減します.


DAMCREM (Dynamic Allocation Method of Computation Resource to Macro-Task)

クライアントサーバモデルにおける完全準同型アプリケーションの実行において,ジョブのレイテンシを削減することを目的としたDAMCREMと名付けた手法です.DAMCREMでは,いくつかの準同型演算をまとめて1つのマクロタスクとしてアプリケーションを構築します.このマクロタスクごとに,実行順序や割当スレッド数を動的に決定することで,レイテンシ短縮を目指します.具体的なアルゴリズムとしては,まず,右上の図のように,予め,準同型演算の種類に応じてマクロタスクを作成してアプリケーションを構築し,マクロタスクごとの割当スレッド数に対する実行時間を計測し,割当スレッド数の優先度や候補を作成しておきます.実行時には,右下の図のように,実行可能なマクロタスクの実行順序を決定し,次に実行するマクロタスクに割り当てるスレッド数を候補から選択し,マクロタスクを実行する,という流れです.従来の手法では,準同型演算に割り当てるスレッド数は固定であるため,クラウドサーバにかかる負荷によってはレイテンシが十分に短縮できない場合が存在しました.DAMCREMでは,クラウドサーバの負荷に応じて,1つのマクロタスクに割り当てるスレッド数を決定するため,様々な負荷においても,レイテンシを低く保つことが可能です.


再利用性を備えた暗号文上での大小比較演算

準同型暗号にて暗号化された2整数の大小比較結果をもとに何らかの演算を行うためには,各整数をビット単位で暗号化する必要がある.しかし,ビット単位の暗号化では大小比較後に算術演算回路で表される演算を準同型評価する必要があり効率が悪い.(例えば,ビット毎の暗号文を使用して整数の加乗算を行うためには,加乗算器を準同型評価しなければならない.)本研究では,比較後演算において多項式上での任意演算(加算・乗算)をビット単位暗号化をすることなく実行できることを示した.
さらに,大小比較に要する演算回路の深さは従来手法の中で最小となることを示した.


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

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

Relinearize Problem

Ring-LWEベースの準同型暗号では,準同型乗算することで暗号長が長くなり,暗号長が長くなるほど,計算コストが線形増加する.これを回避するために,Relinearizationと呼ばれる暗号長を短くする処理がある.Relinearizationは準同型乗算と同程度の計算コスト(数百ms)を要する.したがって,Relinearizationを行うタイミングを最適化することで全体の処理時間を高速化ができる.この最適化問題はRelinearize Problemと呼ばれており,NP困難であることが知られている.本提案手法では,Relinearize Problemに対して,線形時間で近似解を求めることができ,さらに特定条件下では最適解を得ることができる.


Privacy-Preserving Data Classification

機械学習は様々な場面に応用できます.近年ではデータ量が増加しており,一つのデータに含まれているデータ数も増えているためデータを分類するのに掛かる時間が増加しています.その様な分類タスクをクラウドなどに委託する事によってクライアントでの負担を軽減できます.FHEを応用する事によってデータを秘匿したままクラウドサーバーにて分類を行えます.本研究では分類モデル,クライアントのデータおよび結果を秘匿したままクラウドにてデータの分類を行うことができる.


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

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


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

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

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

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

Privacy-Preserving Recommendation for Location-Based Service

近年、人工知能などを用いてビックデータを分析することで価値のある情報を抽出する技術が注目されています。一方で、 セキュリティ要求が高い銀行や病院以外の領域では、セキュリティの重要性が世の中に未だ十分に認識されていません。現在google mapや食べログなどの位置情報を用いたサービスがユーザーの個人情報を大量に保有しています。膨大に蓄積されたデータが暗号化されずに平文の状態のまま保存や分析をされてしまうと、将来的に重大な社会問題を引き起こす危険性があると考えています。ですので、この研究内容は、暗号化技術を用いて、サービス側がユーザーの位置情報や検索内容の中身を知ることなく、ユーザーへの質の高い推薦を可能にするサービスの新たしい仕組みです。


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

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