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 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
350
TFHEのための多項式乗算入門
nindanaoto
2
1.2k
Other Decks in Research
See All in Research
[Devfest Incheon 2025] 모두를 위한 친절한 언어모델(LLM) 학습 가이드
beomi
2
1.4k
J-RAGBench: 日本語RAGにおける Generator評価ベンチマークの構築
koki_itai
0
1.1k
スキマバイトサービスにおける現場起点でのデザインアプローチ
yoshioshingyouji
0
270
大規模言語モデルにおけるData-Centric AIと合成データの活用 / Data-Centric AI and Synthetic Data in Large Language Models
tsurubee
1
470
Satellites Reveal Mobility: A Commuting Origin-destination Flow Generator for Global Cities
satai
3
330
Sat2City:3D City Generation from A Single Satellite Image with Cascaded Latent Diffusion
satai
4
470
生成AIとうまく付き合うためのプロンプトエンジニアリング
yuri_ohashi
0
110
「リアル×スキマ時間」を活用したUXリサーチ 〜新規事業を前に進めるためのUXリサーチプロセスの設計〜
techtekt
PRO
0
230
メタバース空間で対話相⼿に向かって⾃律移動するAIアバター『ノア』の開発 / EC2025-Oyamada
yumulab
0
100
A History of Approximate Nearest Neighbor Search from an Applications Perspective
matsui_528
1
130
データサイエンティストの業務変化
datascientistsociety
PRO
0
120
ドメイン知識がない領域での自然言語処理の始め方
hargon24
1
230
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
0
1.9M
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
We Are The Robots
honzajavorek
0
130
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Designing for Timeless Needs
cassininazir
0
110
Marketing to machines
jonoalderson
1
4.5k
The Language of Interfaces
destraynor
162
26k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
270
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Into the Great Unknown - MozCon
thekraken
40
2.2k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
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