Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
準同型暗号による バーチャルセキュアプラットフォーム の開発/Development of V...
Search
nindanaoto
February 16, 2020
Research
3
1.8k
準同型暗号による バーチャルセキュアプラットフォーム の開発/Development of Virtual Secure Platform
Run your encrypted C code AS IS!
https://github.com/virtualsecureplatform/kvsp
nindanaoto
February 16, 2020
Tweet
Share
More Decks by nindanaoto
See All by nindanaoto
準同型暗号による バーチャルセキュアプラットフォーム の開発
nindanaoto
1
300
TFHEのための多項式乗算入門
nindanaoto
2
910
Other Decks in Research
See All in Research
授業評価アンケートのテキストマイニング
langstat
1
360
ミニ四駆AI用制御装置の事例紹介
aks3g
0
160
秘伝:脆弱性診断をうまく活用してセキュリティを確保するには
okdt
PRO
3
740
20240820: Minimum Bayes Risk Decoding for High-Quality Text Generation Beyond High-Probability Text
de9uch1
0
120
研究の進め方 ランダムネスとの付き合い方について
joisino
PRO
55
19k
言語と数理の交差点:テキストの埋め込みと構造のモデル化 (IBIS 2024 チュートリアル)
yukiar
3
720
20240918 交通くまもとーく 未来の鉄道網編(こねくま)
trafficbrain
0
230
論文読み会 SNLP2024 Instruction-tuned Language Models are Better Knowledge Learners. In: ACL 2024
s_mizuki_nlp
1
350
ダイナミックプライシング とその実例
skmr2348
3
400
大規模言語モデルを用いた日本語視覚言語モデルの評価方法とベースラインモデルの提案 【MIRU 2024】
kentosasaki
2
520
さんかくのテスト.pdf
sankaku0724
0
340
Weekly AI Agents News! 9月号 論文のアーカイブ
masatoto
1
120
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
A designer walks into a library…
pauljervisheath
203
24k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
GraphQLとの向き合い方2022年版
quramy
43
13k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
For a Future-Friendly Web
brad_frost
175
9.4k
Producing Creativity
orderedlist
PRO
341
39k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
A Tale of Four Properties
chriscoyier
156
23k
Building an army of robots
kneath
302
43k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Transcript
準同型暗号による バーチャルセキュアプラットフォーム の開発 松岡 航太郎 伴野 良太郎 松本 直樹 京都大学工学部 B3
通常のクラウドコンピューティング プログラムは平文で実行される
悪意ある第三者によって盗聴される恐れ (ハードウェアのバス信号を読むなど) 通常手法の問題点
提案手法:Virtual Secure Platform(VSP) プログラムを含めすべて暗号化した状態で実行 盗聴自体を無効化する
VSPの特徴 • プログラム・データすべてを暗号化 した状態で実行可能 • 数学的安全性の保証 • C言語による記述が可能 本プロジェクトが世界で初めて実現
None
未踏ロゴ反転デモ
平文 暗号化済み ROMダンプ
平 文 暗 号 化 済 み
暗号化されたプログラムを どのように実行するか?
通常のプログラム実行 実行バイナリ CPU 結果 コンパイラ によって生成 実行バイナリ を読み込み実行 結果を出力 101011100....
0100110100.... 画像出典:https://www.rockpapershotgun.com/2019/08/12/best-gaming-cpu-2019-2/
CPU内部の論理回路(一部) プ ロ グ ラ ム 結 果
暗号化されたプログラムを実行するには? 暗 号 化 さ れ た 結 果 暗
号 化 さ れ た プ ロ グ ラ ム ? ? ? ?
暗号化されたままで等価な処理を行う技術 準同型暗号
準同型暗号 暗号化された0と1に対して平文時と等価な処理を行う
暗号化されたプログラムを実行するには? 暗 号 化 さ れ た 結 果 暗
号 化 さ れ た プ ロ グ ラ ム ? ? ? ?
暗号化されたプログラムを実行するには? 暗 号 化 さ れ た 結 果 暗
号 化 さ れ た プ ロ グ ラ ム
None
物理的論理ゲート 準同型暗号 課題:準同型暗号の遅さ
課題に対する解決策 準同型暗号・CPU設計・コンパイラを 全ての面から最適化 本プロジェクトが世界で初めて実現
KVSP (Kyoto Virtual Secure Platform) • VSPのリファレンス実装 • KVSPをビルドすれば必要な全ての サブプロジェクトがビルドされる
kvsp github
VSP; Virtual Secure Platform
KVSPデモ
KVSPデモ
KVSPデモ
KVSPデモ
KVSPデモ
KVSPデモ
KVSPデモ
KVSPデモ
TFHE; Torus Fully Homomorphic Encryption • 使用している準同型暗号 • 既存実装を高速化 https://tfhe.github.io/tfhe/
KVSPデモ
CAHPv3 / cahp-diamond • VSPに使用している 独自命令セット/独自CPU設計 • ゲート数を削減し高速化
VSPの現状性能 • 約5.5秒/クロック on V100 • 約1.5秒/クロック on V100 x
8 • ROM・RAM:512バイトずつ コンピュータ黎明期の性能に相当
KVSPデモ
Fully Open Source! • 成果物は全てGitHubで公開中 • ライセンスはApache-2.0など https://github.com/virtualsecureplatform kvsp github
今後の展望 • 論文発表 • ハードウェアアクセラレータ • Multi Keyへの拡張
VSPの未来 • VSPは黎明期のコンピュータ • プログラム秘匿は無二の価値 • 演算器集積による性能向上 • 数十年後の普及
謝辞 GPU 版の開発にあたって さくらインターネット株式会社様より 高火力コンピューティング をお貸しいただきました。
ご清聴ありがとうございました VSPは • プログラム・データすべてを 暗号化した状態で実行可能 • 数学的安全性の保障 • C言語による記述が可能
計算量的安全性 • 古典的コンピュータ 154bit • 量子コンピュータ 95bit
None
CAHPv3 Diamond Iyokan LLVM TFHE
TFHE; Torus Fully Homomorphic Encryption • 使用している準同型暗号 • CPU向けはフルスクラッチ(TFHEpp) •
GPUは修正版(cuFHE)
CAHPv3 • CPUの上で動く独自命令セット • 16bitアーキテクチャ • 16/24bit可変長命令 • 実行バイナリサイズが小さい
CPU実装 VSP (Diamond) ARM Cortex M0+ • 独自開発のCPU • CAHPv3準拠
• 約 4,000 ゲート • IoT向けCPU • ARMv6-M準拠 • 約 12,000 ゲート
Cコンパイラ実装 • LLVMをベースにCAHPv3に対応 • LLVMの最適化フェーズを利用 ◦ 実行バイナリの効率化 ◦ 実行バイナリサイズの低減
Iyokan • 準同型暗号ゲートの並列実行基盤 • 回路情報を読み込み実行する • CPU(TFHEpp)/GPU(cuFHE)に対応 • 回路情報変換部(L1)・並列実行部 ※回路の合成はyosysを利用
None
None