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
Combining Deep Learning and Street View Imagery to Map Smallholder Crop Types
satai
3
110
日本語新聞記事を用いた大規模言語モデルの暗記定量化 / LLMC2025
upura
0
260
SegEarth-OV: Towards Training-Free Open-Vocabulary Segmentation for Remote Sensing Images
satai
3
330
Adaptive Experimental Design for Efficient Average Treatment Effect Estimation and Treatment Choice
masakat0
0
130
snlp2025_prevent_llm_spikes
takase
0
380
Learning to (Learn at Test Time): RNNs with Expressive Hidden States
kurita
1
280
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
810
ip71_contraflow_reconfiguration
stkmsd
0
110
SNLP2025:Can Language Models Reason about Individualistic Human Values and Preferences?
yukizenimoto
0
190
20250605_新交通システム推進議連_熊本都市圏「車1割削減、渋滞半減、公共交通2倍」から考える地方都市交通政策
trafficbrain
0
880
2021年度-基盤研究B-研究計画調書
trycycle
PRO
0
370
機械学習と数理最適化の融合 (MOAI) による革新
mickey_kubo
1
400
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Why Our Code Smells
bkeepers
PRO
340
57k
4 Signs Your Business is Dying
shpigford
185
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
YesSQL, Process and Tooling at Scale
rocio
173
15k
Documentation Writing (for coders)
carmenintech
75
5.1k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
Speed Design
sergeychernyshev
32
1.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
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 版の開発にあたって さくらインターネット株式会社様より 高火力コンピューティング をお貸しいただきました。