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
準同型暗号による バーチャルセキュアプラットフォーム の開発
Search
nindanaoto
February 08, 2020
Research
1
340
準同型暗号による バーチャルセキュアプラットフォーム の開発
Just Do it.
https://github.com/virtualsecureplatform/kvsp
nindanaoto
February 08, 2020
Tweet
Share
More Decks by nindanaoto
See All by nindanaoto
準同型暗号による バーチャルセキュアプラットフォーム の開発/Development of Virtual Secure Platform
nindanaoto
3
2k
TFHEのための多項式乗算入門
nindanaoto
2
1.1k
Other Decks in Research
See All in Research
2021年度-基盤研究B-研究計画調書
trycycle
PRO
0
330
Unsupervised Domain Adaptation Architecture Search with Self-Training for Land Cover Mapping
satai
3
190
Combinatorial Search with Generators
kei18
0
890
cvpaper.challenge 10年の軌跡 / cvpaper.challenge a decade-long journey
gatheluck
3
340
国際論文を出そう!ICRA / IROS / RA-L への論文投稿の心構えとノウハウ / RSJ2025 Luncheon Seminar
koide3
8
5.3k
MIRU2025 チュートリアル講演「ロボット基盤モデルの最前線」
haraduka
15
8.5k
「どう育てるか」より「どう働きたいか」〜スクラムマスターの最初の一歩〜
hirakawa51
0
920
Adaptive Experimental Design for Efficient Average Treatment Effect Estimation and Treatment Choice
masakat0
0
120
Large Language Model Agent: A Survey on Methodology, Applications and Challenges
shunk031
17
10k
大学見本市2025 JSTさきがけ事業セミナー「顔の見えないセンシング技術:多様なセンサにもとづく個人情報に配慮した人物状態推定」
miso2024
0
160
時系列データに対する解釈可能な 決定木クラスタリング
mickey_kubo
2
1k
AlphaEarth Foundations: An embedding field model for accurate and efficient global mapping from sparse label data
satai
3
310
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Invisible Side of Design
smashingmag
301
51k
Unsuck your backbone
ammeep
671
58k
How GitHub (no longer) Works
holman
315
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
850
For a Future-Friendly Web
brad_frost
180
9.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
Gamification - CAS2011
davidbonilla
81
5.5k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Transcript
準同型暗号による バーチャルセキュアプラットフォーム の開発 2020/02/08 カーネル/VM探検隊@関西 10回目 松岡 航太郎 松本 直樹 伴野 良太郎
アジェンダ 1. VSPの紹介 2. TFHEのための多項式乗算入門(松岡) 3. VSP専用プロセッサ設計と 実行エンジンについて(松本) 4. 魚類でもわかるLLVM&ISA設計(伴野)
通常のクラウドコンピューティング プログラムは平文で実行される
悪意ある第三者によって盗聴される恐れ (HWのバス信号を読むなど) 通常手法の問題点
本プロジェクトの提案手法 プログラムを含めすべて暗号化した状態で実行 →盗聴自体を無効化する
本プロジェクトの特徴 • プログラム・データすべてを暗号化 した状態で実行可能 • 数学的安全性の保障 • C言語による記述が可能
None
平文 暗号化済み
暗号化されたプログラムを どうやって実行するか?
コンピュータの頭脳:CPU
プログラムの実行までの流れ 実行バイナリ CPU 結果 コンパイラ によって生成 実行バイナリ を読み込み実行 結果を出力 101011100....
0100110100....
CPU内部の物理論理回路(一部) 1 1 1 1 0 0 1
ANDゲートについて a\b 0 1 0 0 0 1 0 1
CPU内部の物理論理回路(一部) 1 1 1 1 0 0 1
ソフトウェアエミュレーションによって回路を模倣 1 1 1 1 1 0 0
入力に 論理ゲートの処理を行う ↓ プログラムに対する CPUの動作を模倣できる
暗号化された入力に 論理ゲートの処理を行う ↓ 暗号化されたプログラムに対する CPUの動作を模倣できる
準同型暗号
ソフトウェアエミュレーションによって回路を模倣 1 1 1 1 1 0 0
準同型暗号で入力が暗号化された状態で 論理回路を模倣 ① ① ① ① ①
暗号化された入力に 論理ゲートの処理を行う ↓ 暗号化されたプログラムに対する CPUの動作を模倣できる
None
VSP; Virtual Secure Platform VSP = 盗聴を無意味にする仕組み
VSP; Virtual Secure Platform VSP = 盗聴を無意味にする仕組み
VSP; Virtual Secure Platform VSP = 盗聴を無意味にする仕組み 世界初
None
世界初
KVSP (Kyoto Virtual Secure Platform) • VSPを使うためのインタフェース。 • kvspをビルドすれば必要な全てのサブプ ロジェクトがビルドされる。
https://github.com/virtualsecureplatform/kvsp
KVSPデモ
None
CAHPv3 Diamond Iyokan LLVM TFHE
CAHPv3 Diamond Iyokan LLVM TFHE
TFHE; Torus Fully Homomorphic Encryption • 使用している準同型暗号 • CPU向けはフルスクラッチ(TFHE++) •
GPUは微修正版(cuFHE)
CAHPv3 Diamond Iyokan LLVM TFHE
CAHPv3 • CPUの上で動く独自命令セット • 16bitアーキテクチャ • 16/24bit可変長命令 • 実行バイナリサイズが小さい
CPU実装 VSP (Diamond) ARM Cortex M0+ • 独自開発のCPU • CAHPv3準拠
• 約 3,500 ゲート • IoT向けCPU • ARMv6-M準拠 • 約 12,000 ゲート
CAHPv3 Diamond Iyokan LLVM TFHE
Cコンパイラ実装 • LLVMをベースにCAHPv3に対応 • LLVMの最適化フェーズを利用 ◦ 実行バイナリの効率化 ◦ 実行バイナリサイズの低減
CAHPv3 Diamond Iyokan LLVM TFHE
Iyokan • 準同型暗号ゲートの並列実行基盤 • 回路情報を読み込み実行する • CPU(TFHEpp)/GPU(cuFHE)に対応 • 回路情報変換部(L1)・並列実行部 ※回路の合成はyosysを利用
VSPの現状性能 約6秒/クロック on V100 約2.5~5秒/クロック on c5.metal • 準同型暗号の演算自体が遅い •
ROM・RAMが約 20,000 ゲート • ROM・RAM 512Byteずつ
Fully Open Source! • 成果物は全てGitHubで公開中 • ライセンスはApache v2.0など https://github.com/virtualsecureplatform
謝辞 GPU 版の開発にあたって さくらインターネット株式会社様より 高火力コンピューティング をお貸しいただきました。