Introduction
Simple, Fast, Secure.
BI-SGXは、クラウド上での秘密計算を実現する上で、最も実用的なソリューションの1つです。BI-SGXを使用すれば、Intel SGXの処理速度の速さと高いセキュリティの恩恵に簡単に預かる事が出来ます。
BI-SGXでは、Qliphothという独自の明快かつセキュアな言語を提供しています。よって、BI-SGXを使用すれば、あの忌々しいSGXSDKにはもはや煩わされる必要は無くなるのです。
秘密計算技術として、現時点で最も有名である完全準同型暗号と比べた場合、BI-SGXは遥かに高速に秘密計算処理を実行する事が可能となります。
BI-SGXは、主にバイオインフォマティクスに寄り添った秘密計算機能を提供しています。とは言うものの、BI-SGXをより汎用的な演算に適用する事も非常に容易です。
Qliphoth - 明快でセキュアな全く新しい言語
もしあなたがSGXデベロッパであるならば、恐らくSGXSDKには辟易しているのでは無いでしょうか?異常に複雑なSGXAPI、冗長としか思えない独自の方、EDL、明文化されていない制約、ソースコードの肥大化…。ご存知の通り、SGXSDKはもはや非人道的な代物です。
レガシコード(SGXに対応させていない普通のコード)をSGX対応に改修した場合のコード肥大化について、このような調査結果をご存知でしょうか?SgxElideという画期的なシステムの論文では、412行のレガシコードをSGXに対応したコードに改修した所、3523行にまで肥大化した、と報告されています。
ご覧の通り、重ねての言及にはなりますが、SGXSDKは極めて非人道的です。この非人道的なSGXSDKの魔の手から開発者を守る為、BI-SGXは全く新しいインタプリタ言語である「Qliphoth」を提供します。
使いやすい文法と設計
Qliphothの文法は、PythonやRubyのように非常に明快です。同時に、Qliphothは数学関数、乱数生成器、GWAS関数など、様々な組み込み関数を提供しています。Qliphothを使えば、SGXに関係するあらゆる些末な処理は一切記述する必要がありません。つまり、例えばEnclaveの初期化、リモート・アテステーション、EDLの記述、EPCに収まるサイズへの大容量データの分割といった処理は、一切不要になるのです。Enclaveの中で実行させたい処理を書く、こんな当たり前な日常をQliphothはSGX開発においても実現させます。
アウトプットプライバシの保護
ある動作がプロトコルには従っているものの、出力結果がプライバシを侵害してしまうような場合、それを「アウトプットプライバシを侵害している」と言います。別の言い方としては、セミオネストであるとも言及できます。Qliphothは、このアウトプットプライバシを忠実に保護するように設計されています。
アウトプットプライバシを侵害する例として、平均の計算を挙げます。与えられた平均計算用の関数を用いて、単一の整数の平均を取った場合、当然その整数そのものを抜き出せてしまいます。この処理は、プロトコル(平均計算関数の使用)には従っていますが、結果としては機密を侵害する非常にまずい結果を得てしまっています。
Qliphothは、このようなセミオネストな処理を文法仕様のレベルで実現不可能としています。それ故に、Qliphothはクラウド上での秘密計算にぴったりな、セキュアな言語となっているのです。
何で「Qliphoth」なの?
「Qliphoth」は、ヘブライ語で「殻」を意味する単語です。Enclaveの防護性能及びEnclave自体を殻に見立てて、この命名をしました。
サイドチャネル攻撃対策
SGXベースのシステムの大きな欠点の1つとして、サイドチャネル攻撃への脆弱性が挙げられます。しかし、BI-SGXはSGXシステムに対するサイドチャネル攻撃の中でも飛び抜けて強力である、制御チャネル攻撃(Controlled-Channel Attacks)に対しても耐性を有しています。
QliphothのスクリプトコードはEnclaveによって完全に保護されており、かつBI-SGXのインタプリタ本体は、字句解析器が抽出したトークンの粒度でのみスクリプトコードを扱います。よって、攻撃者は制御チャネル攻撃をBI-SGXに対して実行したとしても、以下の図が示す通り、秘密情報を推測する事は出来ません。
パブリッククラウドにも対応
勿論、BI-SGXはSGXに対応しているパブリッククラウドにもデプロイ可能です。2020/5/18時点では、Microsoft Azure、IBM Cloud、Alibaba Cloud等がSGXに対応したインスタンスを提供しています。これらのパブリッククラウド上でBI-SGXを駆動させる事で、より大規模な秘密計算インフラを実現する事が出来るでしょう。
SGXに対応しているパブリッククラウドについては、こちらのページが大変参考になります。
パッケージ画像
表彰・成果
2019年度未踏IT人材発掘・育成事業
BI-SGXプロジェクトは、IPA主催の2019年度未踏IT人材発掘・育成事業に採択されました。詳細はこちら。
2019年度未踏IT人材発掘・育成事業 スーパークリエータ認定
BI-SGXプロジェクトが評価され、2019年度未踏IT人材発掘・育成事業のスーパークリエータに認定されました。詳細はこちら。
第58回バイオ情報学研究会 優秀プレゼンテーション賞
所属していた研究室の指導教員の意向により、BV-SGXという名称での発表でしたが、第58回バイオ情報学研究会において優秀プレゼンテーション賞を受賞しました。詳細はこちら。