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
KERIとOSSを使ったACDC発行の試行
Search
Takahiro Kanuma
March 27, 2025
0
69
KERIとOSSを使ったACDC発行の試行
DIF Japan Monthly Sync 2025/3にて発表した際の資料です。
Takahiro Kanuma
March 27, 2025
Tweet
Share
More Decks by Takahiro Kanuma
See All by Takahiro Kanuma
分散型アイデンティティの概要と潮流
tkanuma
0
29
分散型アイデンティティ2024
tkanuma
0
30
Web5の全体像
tkanuma
1
720
SSI/DID/VCについて
tkanuma
1
510
Hyperledger Ariesの全体像、現況、アプリ開発手法について
tkanuma
0
970
SSIの全体像とHyperledger Ariesを使ったシステム構築
tkanuma
0
1.8k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
GitHub's CSS Performance
jonrohan
1031
460k
BBQ
matthewcrist
89
9.8k
The Cost Of JavaScript in 2023
addyosmani
51
8.7k
Thoughts on Productivity
jonyablonski
69
4.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
The Language of Interfaces
destraynor
158
25k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
Transcript
KERIと OSSを使ったACDC発行の試行 GMOグローバルサイン・ホールディングス 神沼 2025/3/28
KERI 2
KERI 分類 3 OIDF OID4VC ISO mDL/mdoc Hyperledger Aries DIF
Decentralized Web Node ToIP KERI 参考: (拙著)2024年の分散型アイデンティティ領域の潮流の考察とKERIについて
KERI Autonomicモデル 4 出典: The Architecture of Identity Systems
KERI KEL (Key Event Log) 5
KERI 外部データのKELへのアンカリング 6 Key Event Transaction Event ダイジェスト Key Event
外部データ (e.g. ACDC発行) KEL
KERI Witness 7 • Witness = KEL(公開鍵)の置き場所 • Issuer, Holder,
Verifierによらず、Controllerが各々、複数箇所に配備する • セキュリティ目的 • 不正アクセス対策 -> AID乗取り(=KEL上書き)には全てのWitnessを破る必要 • ブロックチェーンでは一番長いチェーンが勝つ。 • KERIではWitnessのアクセス制御における攻防になる。 • ControllerによるDuplicity(二枚舌)防止 -> Inception EventにWitness情報をバインド • どこに置くかは、エコシステムのガバナンス次第 • GLEIF vLEIのガバナンスでは、Webサーバ5台 or (分散台帳 or Mix?)
アーキテクチャ/処理方式 8
アーキテクチャ/処理方式 全体像 9
KERI OOBI (Out-Of-Band Introduction) Protocol 10 • AriesにおけるOOBでのDID Document Exchangeと同じようなもの
• 相手のEndpointと公開鍵の取得 • 相手とOOB URL(Endpoint)を交換し、そこからKEL(公開鍵)を取得する • GLEIF Governance FWでは、ZoomやGoogle MeetなどVideo Callを指定。 • AID(識別子)へのバインドの検証も入ると思う。 • Challenge – Response • AID/KELのController(=秘密鍵の保持者)であることの認証 • Challengeも信頼できるOOBで渡すのが通例のよう。 • 仕様上指定はなくKERI上でP2P Messageでいいのではと思ったが、GitHubで質問したところ。 • ↑のKELのOOBルートが、なりすましのリスクがあり信頼できない場合に備えて? (例えば、OOBI URLがどこかでオープンになっていたりする場合?)
KERI IPEX(Issuance and Presentation Exchange) Protocol 11 Issuer Holder Holder
Verifier apply offer agree grant (issue or present) admit ※ apply, offer, agreeはoptional
KERI IPEX(Issuance and Presentation Exchange) Protocol 12 • OID4VCやAriesと比較して、 通信のための鍵と、VC(VP)署名の鍵を分けない。
• KERIでは、両方ともAIDで執り行う。 • 他の標準 • OID4VCでは、通信はTLS用の鍵。 • Ariesでは、通信はdid:peer
KERI ACDC(Authentic Chained Data Container) 13 • 標準の特徴 • マルチシグ機能
(エンタープライズ向き) • SD-JWT, MSOライクなSelective Disclosure機能 • 他のACDCとのDAG形式のチェーン機能 • ACDC内に別のACDCのダイジェストをプロパティとして持つ。
KERI CESR(Composable Event Stream Representation) 14 • バイナリデータを対象にした独自のSerialization方式 • (Base64,58,Hexではない、独自のバイナリエンコーディング方式を含む。)
• 対象データ= KERIではCryptographic Primitives • 識別子(AID), 公開鍵, 署名値, ハッシュ(Digest) • 自己フレーミング • バイナリ、テキスト両方で、型・サイズ・Primitive値を自己完結的に表現する。 • JOSEのようにメタデータ不要 • Grouping • 複数プリミティブを構造化(連結、階層化)できる。 • ラッパー(JSON, CBOR)の全体解析不要でストリーム処理できる。(JSON解析 -> messageとsignatureを比較のオーバ ーヘッドなし) • CESRだけでもSerializeされている =データを構造化して転送・保存しやすい形式に変換されている。 • 加えて、JSONとCBORの1つのプロパティ値として埋め込むことができる。
ユースケース ~GLEIF vLEI~ 15
GLEIF vLEI 6種のvLEI Credential 16 出典: vLEI Demystified Part 1:
Comprehensive Overview
GLEIF vLEI Trust Model: ACDCチェーンの検証 17
オープンソースとアプリ開発 18
オープンソースとアプリ開発 全体像と処理・実装方式 19
オープンソースとアプリ開発 所感 • Web5(DWN)と同様、基本的にアプリはフロントエンドのみ。 • Ariesと異なり、個人向けと企業向けアプリで形態が同じ。 • SDKが抽象度の高いAPIを提供するため、CESRなど細かい部分を把握していなくても、 OOBI/IPEXプロトコルを通して、アプリを開発することはできる。 •
現時点のオープンソースの成熟度としては、Ariesより劣る。 • Signify(SDK) APIの中で、戻り値がAny型であるのが結構ある。 (一度流して、ログから自分で型作ったり、Type Guard実装したりする手間) • 丁寧な開発ガイドはなく、テストコードを参考にする。 • Aries FWと異なり、以下をアプリ側で担う。 • プロトコル(OOBIとIPEX)の状態管理 • 他ピアとのメッセージ送受信に伴うイベントハンドリング (Aries FWではメッセージ受信のWebSocket/Polling機構、およびCallback登録機構を持つ) 20
デモ 21
デモ 環境 22
デモ 4つのフェーズ 1. アプリ初期化 1. AID/KELの生成 2. KERIA(Agent)との接続と権限委譲 3. KERIA(Agent)上にACDC
Registryの作成 4. vLEI Credential Schemaの取り込み (vLEI ServerとのOOBI確立) 2. OOBI Session確立 3. ACDC発行と受領 (ACDC = QVI vLEI Credential) 4. ACDC失効と削除 23
24
25
26
27
28
ありがとうございました。 ご質問・ご意見ございましたら。 29