Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
準同型暗号による バーチャルセキュアプラットフォーム の開発/Development of V...
Search
nindanaoto
February 16, 2020
Research
3
2k
準同型暗号による バーチャルセキュアプラットフォーム の開発/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
340
TFHEのための多項式乗算入門
nindanaoto
2
1.2k
Other Decks in Research
See All in Research
MIRU2025 チュートリアル講演「ロボット基盤モデルの最前線」
haraduka
15
11k
製造業主導型経済からサービス経済化における中間層形成メカニズムのパラダイムシフト
yamotty
0
280
Combining Deep Learning and Street View Imagery to Map Smallholder Crop Types
satai
3
280
第二言語習得研究における 明示的・暗示的知識の再検討:この分類は何に役に立つか,何に役に立たないか
tam07pb915
0
400
投資戦略202508
pw
0
580
LLM-Assisted Semantic Guidance for Sparsely Annotated Remote Sensing Object Detection
satai
3
150
競合や要望に流されない─B2B SaaSでミニマム要件を決めるリアルな取り組み / Don't be swayed by competitors or requests - A real effort to determine minimum requirements for B2B SaaS
kaminashi
0
330
Tiaccoon: Unified Access Control with Multiple Transports in Container Networks
hiroyaonoe
0
100
SkySense V2: A Unified Foundation Model for Multi-modal Remote Sensing
satai
3
170
EarthDial: Turning Multi-sensory Earth Observations to Interactive Dialogues
satai
3
420
その推薦システムの評価指標、ユーザーの感覚とズレてるかも
kuri8ive
1
280
大規模言語モデルにおけるData-Centric AIと合成データの活用 / Data-Centric AI and Synthetic Data in Large Language Models
tsurubee
1
450
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
KATA
mclloyd
PRO
33
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Context Engineering - Making Every Token Count
addyosmani
9
530
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
A designer walks into a library…
pauljervisheath
210
24k
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