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
Osuke
January 21, 2021
Technology
460
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
1
260
Rustで実装された AWS Nitro Enclaves CLIを読む
osuke
0
430
Rustのパフォーマンスに関するTips
osuke
4
4.8k
ARM TrustZone入門 / ARM TrustZone intro
osuke
24
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
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
SoccerMaster: A Vision Foundation Model for Soccer Understanding
kzykmyzw
0
140
End-to-Endで考える信頼性 —LINEアプリにおけるクライアント開発×SRE連携の実践
maruloop
4
4.5k
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
280
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
310
マルチアカウント環境でSecurity Hubの運用、その後どうなった? / SRE NEXT 2026 miniLT会
genda
0
100
そのドキュメント、自動化しませんか?
yuksew
1
290
[2026-07-15] AI Ready なはずだったアーキテクチャと、見えてきた課題・次に目指す状態
wxyzzz
9
4k
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
280
Alphaモジュール使っていいのかい!?いけないのかい!?どっちなんだいっ!?
watany
1
270
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
12
8.6k
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
200
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
390
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Producing Creativity
orderedlist
PRO
348
40k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Facilitating Awesome Meetings
lara
57
7k
Building Applications with DynamoDB
mza
96
7.1k
Thoughts on Productivity
jonyablonski
76
5.2k
First, design no harm
axbom
PRO
2
1.2k
New Earth Scene 8
popppiees
3
2.4k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
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が新たにグループに参加するセットアップ