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
Cross-Media Information Spaces and Architectures
signer
PRO
0
230
SkySense : A Multi-Modal Remote Sensing Foundation Model Towards Universal Interpretation for Earth Observation Imagery
satai
3
250
Transparency to sustain open science infrastructure - Printemps Couperin
mlarrieu
1
190
NLP2025参加報告会 LT資料
hargon24
1
320
RHO-1: Not All Tokens Are What You Need
sansan_randd
1
120
チャッドローン:LLMによる画像認識を用いた自律型ドローンシステムの開発と実験 / ec75-morisaki
yumulab
1
480
20250605_新交通システム推進議連_熊本都市圏「車1割削減、渋滞半減、公共交通2倍」から考える地方都市交通政策
trafficbrain
0
510
【緊急警告】日本の未来設計図 ~沈没か、再生か。国民と断行するラストチャンス~
yuutakasan
0
140
公立高校入試等に対する受入保留アルゴリズム(DA)導入の提言
shunyanoda
0
5.9k
電通総研の生成AI・エージェントの取り組みエンジニアリング業務向けAI活用事例紹介
isidaitc
1
660
学生向けアンケート<データサイエンティストについて>
datascientistsociety
PRO
0
3.5k
EOGS: Gaussian Splatting for Efficient Satellite Image Photogrammetry
satai
4
290
Featured
See All Featured
The Language of Interfaces
destraynor
158
25k
A Tale of Four Properties
chriscoyier
160
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Code Review Best Practice
trishagee
69
18k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
What's in a price? How to price your products and services
michaelherold
246
12k
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 版の開発にあたって さくらインターネット株式会社様より 高火力コンピューティング をお貸しいただきました。