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
330
準同型暗号による バーチャルセキュアプラットフォーム の開発
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
1.9k
TFHEのための多項式乗算入門
nindanaoto
2
1.1k
Other Decks in Research
See All in Research
集合間Bregmanダイバージェンスと置換不変NNによるその学習
wasyro
0
110
「エージェントって何?」から「実際の開発現場で役立つ考え方やベストプラクティス」まで
mickey_kubo
0
120
SSII2025 [SS1] レンズレスカメラ
ssii
PRO
2
980
最適化と機械学習による問題解決
mickey_kubo
0
140
Mathematics in the Age of AI and the 4 Generation University
hachama
0
160
2025年度 生成AIの使い方/接し方
hkefka385
1
710
Looking for Escorts in Sydney?
lunsophia
1
120
在庫管理のための機械学習と最適化の融合
mickey_kubo
3
1.1k
SSII2025 [TS2] リモートセンシング画像処理の最前線
ssii
PRO
7
2.9k
近似動的計画入門
mickey_kubo
4
980
Submeter-level land cover mapping of Japan
satai
3
130
研究テーマのデザインと研究遂行の方法論
hisashiishihara
5
1.4k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Building Applications with DynamoDB
mza
95
6.5k
How to Ace a Technical Interview
jacobian
278
23k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
6
300
How to train your dragon (web standard)
notwaldorf
95
6.1k
Thoughts on Productivity
jonyablonski
69
4.7k
Navigating Team Friction
lara
187
15k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
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 版の開発にあたって さくらインターネット株式会社様より 高火力コンピューティング をお貸しいただきました。