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
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
2
260
Rustで実装された AWS Nitro Enclaves CLIを読む
osuke
0
430
Rustのパフォーマンスに関するTips
osuke
4
4.9k
ARM TrustZone入門 / ARM TrustZone intro
osuke
25
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
どこまでAIに任せるか 〜確率論と決定論の境界決定〜
shukob
0
500
_NIKKEI_Tech_Talk__勉強会は熱量では続かない___17回続いた輪読会の設計術.pdf
_awache
2
110
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
160
【公開用】AI_Dev_Ex2026_AI_登壇資料
matsuritechnologies
PRO
2
570
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
170
AIエージェントがあれば技術書なんてすぐ書けるでしょ→無理でした
watany
4
370
『モデル + ハーネス』で読み解く AIエージェント入門
oracle4engineer
PRO
2
180
探索・可視化・自動化を一本化 Amazon Quickでデータ活用スピードを上げる方法
koheiyoshikawa
0
190
AI Native なプロダクト組織の立ち上げ方 : 生産性 100 倍への挑戦
mikesorae
0
1.4k
設計レビューとAIハーネスで向き合う AIが生み出した新しいボトルネックの対処法 / Design Reviews and AI Harnesses Against New Bottlenecks Created by AI
nstock
5
480
2026年のソフトウェア開発を考える(2026/07版) / Agentic Software Engineering 2026-07 Findy Edition
twada
PRO
28
13k
データエンジニアリングとドメイン駆動設計
masuda220
PRO
14
2.6k
Featured
See All Featured
The SEO identity crisis: Don't let AI make you average
varn
0
520
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Crafting Experiences
bethany
1
230
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
180
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Being A Developer After 40
akosma
91
590k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
HDC tutorial
michielstock
2
750
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Optimizing for Happiness
mojombo
378
71k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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が新たにグループに参加するセットアップ