Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
(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
480
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
360
dbtを中心に据えた データ分析とプロダクト開発
osuke
1
1.2k
LayerX Privacy Tech事業部紹介 Tech編
osuke
2
280
Rustで実装された AWS Nitro Enclaves CLIを読む
osuke
1
460
Rustのパフォーマンスに関するTips
osuke
4
5.2k
ARM TrustZone入門 / ARM TrustZone intro
osuke
33
11k
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
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
150
Jetson Orin Nanoとk3sとローカルLLMで音声文字起こしシステム作ってみた
y_sera15
0
120
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
440
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
180
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
280
SREでアラート疲れを 解決しよう!
kairim0
1
230
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
120
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
5.9k
Deep Data Security 機能解説
oracle4engineer
PRO
2
800
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
100
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
560
大型犬好きによるPugの紹介
yamanoku
1
150
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
400
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Become a Pro
speakerdeck
PRO
31
6.3k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Thoughts on Productivity
jonyablonski
76
5.4k
Leo the Paperboy
mayatellez
10
2.4k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
How to Talk to Developers About Accessibility
jct
2
570
Marketing to machines
jonoalderson
1
5.9k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
520
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が新たにグループに参加するセットアップ