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
(SCIS2021) Anonify: プライバシーを保護した 検証可能な状態遷移モジュール
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Osuke
January 21, 2021
Technology
470
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
(SCIS2021) Anonify: プライバシーを保護した 検証可能な状態遷移モジュール
Osuke
January 21, 2021
More Decks by Osuke
See All by Osuke
特許データを使ったマルチモーダルAIの検証事例@LLMProd#4
osuke
0
340
dbtを中心に据えた データ分析とプロダクト開発
osuke
1
1.2k
LayerX Privacy Tech事業部紹介 Tech編
osuke
2
270
Rustで実装された AWS Nitro Enclaves CLIを読む
osuke
1
440
Rustのパフォーマンスに関するTips
osuke
4
4.9k
ARM TrustZone入門 / ARM TrustZone intro
osuke
27
10k
Anonify
osuke
3
1.2k
Rustのasync/awaitとスケジューラの話 / rust-async-await
osuke
9
4.2k
Privacy on Blockchain
osuke
1
1.3k
Other Decks in Technology
See All in Technology
My broken English still works: speaking at global OSS events
naruoga
0
100
TypeScript入門 2026
recruitengineers
PRO
3
580
ホームラボ紹介
y_sera15
0
180
Sets in Go
ramalho
1
720
20分でわかるセキュアAPI
nwiizo
2
270
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
19k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
290
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
250
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
180
JavaScript 研修 (2026)
recruitengineers
PRO
2
550
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
6
1.3k
Bits AI を制するものは Datadog を制す / The player that controls Bits AI, controls Datadog
kaminashi
0
100
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
570
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
How to build a perfect <img>
jonoalderson
1
5.9k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
650
Google's AI Overviews - The New Search
badams
0
1.1k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
700
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
We Have a Design System, Now What?
morganepeng
55
8.3k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.5k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.8k
Transcript
1 ◎須藤欧佑, 恩田壮恭, 中村龍矢 株式会社LayerX
2 アジェンダ 1. 背景:状態遷移の秘匿性と透明性の両立 2. Anonifyプロトコルの概要 3. Anonifyのプロセス
3
4 データの秘匿性と透明性の両立 • データの秘匿性(プライバシー保護) ◦ パーソナルデータや業務データなど機密性の高いデータを処理するシステム自体 もそのようなデータに直接アクセスできないように秘匿化 • データの透明性(利活用) ◦
そのデータに基づいた計算処理がされ、かつ利用者にとって意図した処理がされ ていることを検証可能に • 具体事例: インターネット投票 ◦ 投票内容と投票者の紐付けが運営者含めできてはならない ◦ 集計までの一連のプロセスが正しく処理されたことを投票者が検証可能
5 Trusted Execution Environment (TEE) の活用 特定のアプリケーションが他のソフトウェア(システムソフトウェア含め)から隔離保護さ れた領域 (Enclave)で実行されることをハードウェアレベルで保証するCPUのセキュリティ 機能
特徴 • 一般の開発者がEnclaveの アプリケーションを実装可能 • 汎用CPU上で処理されるので高速 • Remote Attestationによる完全性 例 Intel SGX, OP-TEE (TrustZone), AMD SEV
6 Blockchainの活用 • 複数主体間で状態遷移命令を共有するストレージレイヤとして利用 • 状態遷移の自動検証・改ざん耐性・トランザクションの順序保証・ファイナリティ検 証
7
8 提案プロトコル:Anonify
9 Anonifyで満たすべきセキュリティプロパティ • Confidentiality ◦ 状態データは認証・認可されたユーザのみアクセスできる • Correct Execution ◦
ブロックチェーンに記録されたトランザクションに基づき、各ノードで事前に合意された ルールに沿って状態遷移が実行される • Consistency ◦ ブロックチェーンに記録されたトランザクション列に基づき、各TEEノードにおいて同じ状態 データが最終的に記録される • Liveness ◦ ユーザはシステムが稼働している任意のタイミングで命令を実行でき、実行が完了したこと を検証できる • Data Recoverability ◦ TEEノードに記録されている状態データが全て消失しても、ブロックチェーンから全ての状態 データを復元できる
10 Anonifyで満たすべきセキュリティプロパティ • Confidentiality ◦ 状態データは認証・認可されたユーザのみアクセスできる • ◦ • Consistency
◦ ブロックチェーンに記録されたトランザクション列に基づき、各TEEノードにおいて同じ状態 データが最終的に記録される • Liveness ◦ ユーザはシステムが稼働している任意のタイミングで命令を実行でき、実行が完了したこと を検証できる • Data Recoverability ◦ TEEノードに記録されている状態データが全て消失しても、ブロックチェーンから全ての状態 データを復元できる
11
12 Anonifyにおけるフェーズ • セットアップフェーズ ◦ 参加するTEEノードが正しいバイナリを実行していることをRemote Attestation により証明(Correct Execution) ◦
暗号化や署名に用いる一連の鍵をセットアップ • 状態遷移フェーズ ◦ 暗号化された状態遷移の命令がブロックチェーンに記録され、そのトランザク ション列に基づきTEEノードで状態遷移する • 鍵ローテーションフェーズ ◦ TEEノード間で共有しているグループ鍵(命令の暗号化に利用)をローテーショ ンするフェーズ
13 Anonifyにおけるフェーズ • セットアップフェーズ ◦ ◦ 暗号化や署名に用いる一連の鍵をセットアップ • 状態遷移フェーズ ◦
暗号化された状態遷移の命令がブロックチェーンに記録され、そのトランザク ション列に基づきTEEノードで状態遷移する • 鍵ローテーションフェーズ ◦ TEEノード間で共有しているグループ鍵(命令の暗号化に利用)をローテーション するフェーズ
14 Remote Attestationに基づくセットアップの概要 • Attestation Serviceの公開鍵をスマートコントラクトに事前に登録 • Quote:SGXが生成するMRENCLAVEを含む構造体 ◦ MRENCLAVE:Enclave内実行バイナリや実行環境に依存したハッシュ値
• オンチェーンで ◦ REPORTの署名を検証することでREPORTが改ざんされていないことを保証 ◦ MRENCLAVEが一致することの保証
15 Remote Attestationに基づくセットアップの概要 • QUOTEにEnclaveで生成した署名検証鍵・暗号鍵も含める • 状態遷移時は対応する署名鍵でトランザクションに署名し、オンチェーンで検証する ことでCorrect Executionを保証
16 Anonifyにおけるフェーズ • セットアップフェーズ ◦ 参加するTEEノードが正しいバイナリを実行していることをRemote Attestation により証明(Correct Execution) ◦
暗号化や署名に用いる一連の鍵をセットアップ • ◦ • 鍵ローテーションフェーズ ◦ TEEノード間で共有しているグループ鍵(命令の暗号化に利用)をローテーション するフェーズ
17 状態遷移フェーズ ※ Consistencyを満たすための イベント検証と順序保証は省略
18 送金アプリケーション実験結果 • ソースコード:https://github.com/LayerXcom/anonify • Rust SGX SDKを利用 • Microsoft
Azure で SGX が動作可能な VM 環境 Standard DC1s v2 (1 コア Intel XEON E-2288G 3.70 GHz CPU, 4GB RAM, Ubuntu 18.04.4 LTS) を用いて実施 • Ethereumのトークン規格であるERC20を 状態遷移ロジックとして実装し、 トランザクション生成に要する時間を測定
19 まとめ • 状態遷移を秘匿化しつつ、その検証可能性も保証するAnonifyの提案 ◦ TEEにより状態遷移を秘匿化 ◦ TEEのRemote Attestationにより完全性の保証 ◦
ブロックチェーンにより複数ノード間でトランザクションの順序保証・状態デー タの改ざん耐性・ファイナリティ検証を可能に
20
21 REPORTのデータ構造
22 グループ鍵のセットアップ
23 グループ鍵セキュリティプロパティ
24 TreeKEM
25 TEE4が新たにグループに参加するセットアップ