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 Virtual Secure Platform
Search
nindanaoto
February 16, 2020
Research
3
1.7k
準同型暗号による バーチャルセキュアプラットフォーム の開発/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
280
TFHEのための多項式乗算入門
nindanaoto
2
840
Other Decks in Research
See All in Research
ソースコード問い合わせのための長コンテキストLLM向けRAG手法の提案
toskamiya
0
140
SSII2024 [OS1] 画像認識におけるモデル・データの共進化
ssii
PRO
0
380
20240710_熊本県議会・熊本市議会_都市交通勉強会
trafficbrain
0
560
出生抑制策と少子化
morimasao16
0
280
ランサーズエージェント_フリーランスエンジニアの年収・キャリアの実態調査2024
lancers_pr
0
310
SSII2024 [TS2] 深層学習に潜むバイアス
ssii
PRO
0
520
点群処理の基礎: 平面の検出と、その上下の点の取り出しについて
kentaitakura
0
330
SSII2024 [OS3] 基盤モデル(オープニング)
ssii
PRO
0
280
AIが非ヒト動物に与える有益・有害な影響の検討
takeshit_m
0
300
自動運転・AIシステムの問題を賢く探す・賢く直す / Smart Search & Repair Techniques for Automated Driving Systems and AI Systems
ishikawafyu
0
140
「人間にAIはどのように辿り着けばよいのか?ー 系統的汎化からの第一歩 ー」@第22回 Language and Robotics研究会
maguro27
0
410
Harnessing the Power of Vicinity-Informed Analysis for Classification under Covariate Shift
nanofi
3
230
Featured
See All Featured
Teambox: Starting and Learning
jrom
130
8.6k
The World Runs on Bad Software
bkeepers
PRO
63
11k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
Build The Right Thing And Hit Your Dates
maggiecrowley
28
2.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
Gamification - CAS2011
davidbonilla
78
4.9k
A Tale of Four Properties
chriscoyier
155
22k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
Unsuck your backbone
ammeep
666
57k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
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