SlideShare a Scribd company logo
1 of 22
Download to read offline
Microsoftの
DID/VC実装概要
2020/11/19 #didcon vol. 28
富士榮尚寛 / @phr_eidentity
今日のお話
Microsoftが「Verifiable Credentials as a Service」とい
うことで新サービスを開発していることはアナウン
スされているものの、実態がなかなか見えてこない
ので触ってみた
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 2
これまでのMSからのアナウンス
¡ 2017 : uPortと組みます@Consensus 2017
¡ 2019 : ION(アイオン)作ってます
¡ 2019 : DID Preview update, private previewはじめます
¡ 2020 : 米国の退役軍人のシナリオで実証実験やってます
@Ignite
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 3
実は私も色々やってました。(98%くらいは趣味)
¡ 2018年のConsumer Identity World APAC
¡ uPortとAzure Active Directory B2Cを組み合わせたサプライ
チェーンでのKYCデモ作成
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 4
Demo – verify iden.ty by submi3ng drivers' license
1. Register iden-ty documents into wallet
2. Use wallet to verify user and enable access
Register
Drivers license
via NFC
HR App
for Students
Record registration
event to Blockchain
Submit Drivers license in Wallet
Verify registration
Automatic enabling access
to corporate applications
ということで
MSのVCaaSの
話をします。
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 6
通称PICS: Portable Identity Card Service
¡ Azure Active Directoryのコンポーネ
ントの一部として提供されるっぽ
い(要Azure AD Premium P1)
¡ MSがホストするIssuerサービス+α
¡ +αの部分は
¡ Discovery(Universal ResolverのFork)
¡ Presentation Exchange
¡ IssuerのフロントはSDK提供
¡ HolderはMS Authenticator
¡ VerifierはSDK提供
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 7
今日の#didconのチケット取得
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 8
チケットをVCとして発行 VCを提示してZoomリンク取得
ブラウザ版Wallet by @ookimaki_tech
全体像
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 9
分散台帳(ION)
Issuer(VC発行機関)
Front
(SDK)
Backend
(PICS)
鍵管理
(KeyVault)
構成管理
(Blob)
属性提供元
(認証基盤等)
Holder(利用者)
Verifier(VC利用・検証機関)
Verifier
(SDK)
Presentation
Exchange
(PICS)
DID登録
1. VC発行要求
2. 認証等
4. VC発行
3. ID情報
Authenticator
DID確認
1. VC提供要求
2. VC変換要求
3. VC送信
Discoveryサービス
構成要素の解説
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 10
コンポーネント 役割・解説
Issuer Frontend(SDK) VC発行要求を発行する
verifiablecredentials-verification-sdk-typescriptを利用して構築するFrontend Webアプリケーション
Issuer Backend(PICS) VCの発行を行う
PICSのVC発行機能(issueエンドポイント)
構成管理(Azure Storage) VCに関する構成情報(Claim取得方法、VCの属性とのマッピング、ロゴ画像などに関する情報)を格納する
鍵管理(Azure Key Vault) IssuerならびにVerifierのDIDに関連する鍵(署名鍵、リカバリ鍵、更新鍵)を格納する
属性提供元 VCに含めるID情報の提供元
以下の3つから選択することが可能
・id_tokens: OpenID Connectに対応したIdentity Provider
・presentations: 他のVC
・selfissued: 自己申告
Authenticator 発行されたVCを保存するHolderのIdentity Wallet
本レポート執筆時点でAndroid版のMicrosoft Authenticator(ベータ版)のみが公式にリリースされているが、SDKの利用等に
よりカスタムWalletの開発を行うことが可能
Presentation Exchange DIFのPresentation Exchangeの仕様に従いVerifierからの要求に従いHolderが保持しているVCを変換する。今後、Selective
Disclosure等に利用されることが想定される。
PICSのVC変換機能(exchangeエンドポイント)
Verifier(SDK) Holderから提示されたVCを検証する
verifiablecredentials-verification-sdk-typescriptを利用して構築するWebアプリケーション
Discoveryサービス DIDからDID Documentを取得する
各種コンポーネントはDID Document内に記載される情報を使って各種処理を行う(例:DID Document内に記載される公開鍵
情報を利用した署名検証)
分散台帳(ION) DIDの発行、DID Documentの保管を行う
VCを発行してみる
¡ Issuerの設定
¡ 組織名と鍵の設定(Azure Key Vault)を入れてあげるとIssuerの定義がされる
¡ Issuer DID/DID Documentが発行される※現状はBitcoin Blockchain上には書き込まれない模様
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 11
VCを発行してみる
¡ Credentialの発行
¡ Credentialの名前、サブスクリプション、マニフェスト(Rules、Display)の指定(後述)
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 12
VCを発行してみる
¡ Credentialの発行
¡ マニフェストについて(https://identity.foundation/credential-manifest/)
¡ MSの実装ではRulesとDisplayの2つに分かれていてBlobにjsonをアップロードする
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 13
{
"attestations": {
"idTokens": [
{
"mapping": {
"firstName": { "claim": "given_name" },
"lastName": { "claim": "family_name" }
},
"configuration": "https://nfpoc.b2clogin.com/nfpoc.onmicrosoft.com/v2.0/.well-
known/openid-configuration?p=B2C_1_didcon",
"client_id": "52075da0-6f99-44e7-b294-339e70fa1608",
"redirect_uri": "vcclient://openid"
}
]
},
"validityInterval": 2592000,
"vc": {
"type": ["https://schema.org/didconTicket"]
}
}
{
"default": {
"locale": "en-US",
"card": {
"title": "#didcon Ticket",
"issuedBy": "#idcon",
"backgroundColor": "#A97B41",
"textColor": "#000000",
"logo": {
"uri": "https://didpreviewstorage.blob.core.windows.net/pic/idcon.jpg",
"description": "#idcon"
},
"description": "Use this ticket to join the idcon vol.28, #didcon!"
〜中略〜
},
"claims": {
"vc.credentialSubject.firstName": {
"type": "String",
"label": "First name”
},
〜後略〜
Rulesファイル : VCの発行に関するルールを記載 Displayファイル : VC(カード)の見た目に関する記載
どこからVCに載せるClaimをとってくるか
(IdToken、他のVC、自己申告)
IdTokenの場合は取得元のOPの情報
VCのタイプ(スキーマ)の指定
VCの有効期限の指定
言語指定(動かない)
タイトル、背景色、テキスト色など
ロゴ画像のURL
表示するClaimとVCの属性のマッピング
VCを発行してみる
¡ Issuer frontの実装
¡ 要するに発行リクエストを受け付けて、バックエンドへ渡してVCを発行してもらうためのWeb I/F
¡ SDK(verifiablecredentials-verification-sdk-typescript)を使って実装
¡ サンプルあり(https://github.com/Azure-Samples/active-directory-verifiable-credentials)
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 14
const requestBuilder = new RequestorBuilder({
presentationDefinition: {
input_descriptors: [
{
schema: {
uri: credentialType,
},
issuance: [
{
manifest: credential
}
]
}
]
}
}, crypto).allowIssuance();
Rulesに指定したVCのタイプ(スキーマ)
例)https://schema.org/didconTicket
RulesとDisplayをベースにPICSが生成する
マニフェストのURIを指定
マニフェストのURIを開くとRules/Display
で指定した内容が確認可能
# 処理 処理内容
1 VC発行リクエスト(SIOPリクエス
ト)の発行
UserAgentでIssuer Frontendへアクセス、QRコードの表示やopenid://vcス
キーマ経由でSIOPリクエストをAuthenticatorに読み込ませる
2 構成情報の読み込み IssuerのDID Document、カードの構成情報(コントラクト)、ユーザ認証
に利用するOpenID Providerの構成情報を読み込む
3 ユーザ認証と属性情報の取得 OpenID Connectのプロトコルに従い、ユーザ認証と属性情報の取得を行う
4 SIOPレスポンスを送信し、VCの取
得
Issuer BackendへSIOPレスポンスを送信し、VCを取得する
処理の流れ
¡ 以下のステップで処理が実行される
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 15
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 16
DiscoveryでIssuerの
DID Documentを取得
マニフェストから発行
するVCの情報を取得
Claimを取得するため
のOPの情報を取得
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 17
ここは普通にOIDC
Id_tokenをPICSに投げ
込んでVCを取得
VCを提示〜検証する
¡ Verifierの設定
¡ SDK(verifiablecredentials-verification-sdk-typescript)を使って実装
¡ サンプルあり(https://github.com/Azure-Samples/active-directory-verifiable-credentials)
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 18
const requestBuilder = new RequestorBuilder({
clientName: client.client_name,
clientId: clientId,
redirectUri: clientId,
logoUri: client.logo_uri,
tosUri: client.tos_uri,
client_purpose: client.client_purpose,
presentationDefinition: {
input_descriptors: [{
schema: {
uri: [credentialType],
}
}]
}
受け取りたいVCのタイプ(スキーマ)
例)https://schema.org/didconTicket
const validator = new ValidatorBuilder(crypto)
.useTrustedIssuersForVerifiableCredentials({
[credentialType]: issuerDid})
.useAudienceUrl(clientId)
.build();
const validationResponse = await
validator.validate(req.body.id_token);
受け取りたいVCのタイプとIssuerの
DIDを指定してValidation
Presentation Exchangeの仕様に一部準拠。
受け取りたいVCの条件設定はもう少し細か
くできるようになる見込み
処理の流れ
¡ 以下のステップで処理が実行される
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 19
# 処理 処理内容
1 VC発行リクエスト(SIOPリクエス
ト)の発行
UserAgentでVerifierへアクセス、QRコードの表示やopenid://vcスキーマ経
由でSIOPリクエストをAuthenticatorに読み込ませる
2 リクエスト元のVerifierの情報を取得 VerifierのDID Documentを取得する
3 Presentation Exchangeを要求 VCをPresentation Exchangeエンドポイントへ送信し、Verifierへの提示用の
VCを取得する
4 SIOPレスポンスとしてVCを送信 VerifierへVCを含むSIOPレスポンスを送信する
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 20
関連する標準・仕様(策定中のものが殆ど・・・)
仕様 策定団体 備考
Decentralized Identifiers W3C https://www.w3.org/TR/did-core/
DIF https://identity.foundation/sidetree/spec/#long-form-did-uris
Sidetree仕様内のLong formed DIDを利用
Verifiable Credentials Data
Model
W3C https://www.w3.org/TR/vc-data-model/
SyntaxとしてはJSON+contextを利用
Presentation Exchange DIF https://identity.foundation/presentation-exchange/
DID SIOP DIF https://identity.foundation/did-siop/
Sidetree DIF https://identity.foundation/sidetree/spec/
Discovery DIF Universal ResolverのION Driverの実装(Microsoft自身が提供するDiscovery
サービスの実態はUniversal Resolver+ION Driver)
https://github.com/decentralized-identity/universal-resolver
Credential Manifest DIF https://identity.foundation/credential-manifest/
Well Known DID Configuration DIF https://identity.foundation/.well-known/resources/did-configuration/
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 21
思うこと
COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 22
¡ 典型的な卵・鶏なので、意識的にVC発行元、使える場所を増やしていかない
と普及しない
¡ クローズな世界で使っていると分散台帳を使う意味が出ないので、標準化と
幅広い適用がとっても大事
¡ まだまだ仕様が柔らかい状態なので、フィードバックするなら今。

More Related Content

What's hot

今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified IDNaohiro Fujie
 
次世代KYCと自己主権型アイデンティティの動向
次世代KYCと自己主権型アイデンティティの動向次世代KYCと自己主権型アイデンティティの動向
次世代KYCと自己主権型アイデンティティの動向Naohiro Fujie
 
FIDO2 ~ パスワードのいらない世界へ
FIDO2 ~ パスワードのいらない世界へFIDO2 ~ パスワードのいらない世界へ
FIDO2 ~ パスワードのいらない世界へFIDO Alliance
 
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID  - OpenID Summit 2020次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID  - OpenID Summit 2020
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020OpenID Foundation Japan
 
これからの KYC と Identity on Blockchain の動向
これからの KYC と Identity on Blockchain の動向これからの KYC と Identity on Blockchain の動向
これからの KYC と Identity on Blockchain の動向Naohiro Fujie
 
ブロックチェーンを活用した自己主権型IDとは
ブロックチェーンを活用した自己主権型IDとはブロックチェーンを活用した自己主権型IDとは
ブロックチェーンを活用した自己主権型IDとはTIS Blockchain Promotion Office
 
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景Tatsuo Kudo
 
OpenID for Verifiable Credentials @ IIW 36
OpenID for Verifiable Credentials @ IIW 36OpenID for Verifiable Credentials @ IIW 36
OpenID for Verifiable Credentials @ IIW 36Torsten Lodderstedt
 
パスワードのいらない世界へ  FIDO認証の最新状況
パスワードのいらない世界へ  FIDO認証の最新状況パスワードのいらない世界へ  FIDO認証の最新状況
パスワードのいらない世界へ  FIDO認証の最新状況FIDO Alliance
 
Fido認証概要説明
Fido認証概要説明Fido認証概要説明
Fido認証概要説明FIDO Alliance
 
Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるAzure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるNaohiro Fujie
 
Azure ADとIdentity管理
Azure ADとIdentity管理Azure ADとIdentity管理
Azure ADとIdentity管理Naohiro Fujie
 
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~Tatsuo Kudo
 
異種ブロックチェーン統合ツールHyperledger Cactiご紹介
異種ブロックチェーン統合ツールHyperledger Cactiご紹介異種ブロックチェーン統合ツールHyperledger Cactiご紹介
異種ブロックチェーン統合ツールHyperledger Cactiご紹介Hyperleger Tokyo Meetup
 
B2C企業向けクラウドID基盤「 SELMID 」のご紹介 - OpenID Summit 2020
B2C企業向けクラウドID基盤「 SELMID 」のご紹介 - OpenID Summit 2020B2C企業向けクラウドID基盤「 SELMID 」のご紹介 - OpenID Summit 2020
B2C企業向けクラウドID基盤「 SELMID 」のご紹介 - OpenID Summit 2020OpenID Foundation Japan
 
Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤
Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤
Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤Naohiro Fujie
 
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用Masaru Kurahayashi
 
20231109_OpenID_TechNight_OpenID_Federation.pdf
20231109_OpenID_TechNight_OpenID_Federation.pdf20231109_OpenID_TechNight_OpenID_Federation.pdf
20231109_OpenID_TechNight_OpenID_Federation.pdfOpenID Foundation Japan
 

What's hot (20)

今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
 
次世代KYCと自己主権型アイデンティティの動向
次世代KYCと自己主権型アイデンティティの動向次世代KYCと自己主権型アイデンティティの動向
次世代KYCと自己主権型アイデンティティの動向
 
FIDO2 ~ パスワードのいらない世界へ
FIDO2 ~ パスワードのいらない世界へFIDO2 ~ パスワードのいらない世界へ
FIDO2 ~ パスワードのいらない世界へ
 
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID  - OpenID Summit 2020次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID  - OpenID Summit 2020
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
 
Hyperledger Aries 101
Hyperledger Aries 101Hyperledger Aries 101
Hyperledger Aries 101
 
これからの KYC と Identity on Blockchain の動向
これからの KYC と Identity on Blockchain の動向これからの KYC と Identity on Blockchain の動向
これからの KYC と Identity on Blockchain の動向
 
ブロックチェーンを活用した自己主権型IDとは
ブロックチェーンを活用した自己主権型IDとはブロックチェーンを活用した自己主権型IDとは
ブロックチェーンを活用した自己主権型IDとは
 
「DID ・デジタル通貨の社会実装」 Digital Platformer 株式会社
「DID ・デジタル通貨の社会実装」 Digital Platformer 株式会社 「DID ・デジタル通貨の社会実装」 Digital Platformer 株式会社
「DID ・デジタル通貨の社会実装」 Digital Platformer 株式会社
 
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
 
OpenID for Verifiable Credentials @ IIW 36
OpenID for Verifiable Credentials @ IIW 36OpenID for Verifiable Credentials @ IIW 36
OpenID for Verifiable Credentials @ IIW 36
 
パスワードのいらない世界へ  FIDO認証の最新状況
パスワードのいらない世界へ  FIDO認証の最新状況パスワードのいらない世界へ  FIDO認証の最新状況
パスワードのいらない世界へ  FIDO認証の最新状況
 
Fido認証概要説明
Fido認証概要説明Fido認証概要説明
Fido認証概要説明
 
Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみるAzure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみる
 
Azure ADとIdentity管理
Azure ADとIdentity管理Azure ADとIdentity管理
Azure ADとIdentity管理
 
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
 
異種ブロックチェーン統合ツールHyperledger Cactiご紹介
異種ブロックチェーン統合ツールHyperledger Cactiご紹介異種ブロックチェーン統合ツールHyperledger Cactiご紹介
異種ブロックチェーン統合ツールHyperledger Cactiご紹介
 
B2C企業向けクラウドID基盤「 SELMID 」のご紹介 - OpenID Summit 2020
B2C企業向けクラウドID基盤「 SELMID 」のご紹介 - OpenID Summit 2020B2C企業向けクラウドID基盤「 SELMID 」のご紹介 - OpenID Summit 2020
B2C企業向けクラウドID基盤「 SELMID 」のご紹介 - OpenID Summit 2020
 
Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤
Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤
Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤
 
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
 
20231109_OpenID_TechNight_OpenID_Federation.pdf
20231109_OpenID_TechNight_OpenID_Federation.pdf20231109_OpenID_TechNight_OpenID_Federation.pdf
20231109_OpenID_TechNight_OpenID_Federation.pdf
 

Similar to MicrosoftのDID/VC実装概要

202209_kintoneCafeNagoya_deepkintone.pdf
202209_kintoneCafeNagoya_deepkintone.pdf202209_kintoneCafeNagoya_deepkintone.pdf
202209_kintoneCafeNagoya_deepkintone.pdfAkihiro ITO
 
IDaaSにSign in with Appleをつないでみた
IDaaSにSign in with AppleをつないでみたIDaaSにSign in with Appleをつないでみた
IDaaSにSign in with AppleをつないでみたNaohiro Fujie
 
チャットボット開発を取り巻く環境と Cogbot コミュニティ
チャットボット開発を取り巻く環境と Cogbot コミュニティチャットボット開発を取り巻く環境と Cogbot コミュニティ
チャットボット開発を取り巻く環境と Cogbot コミュニティAtsushi Yokohama (BEACHSIDE)
 
20220713_JP_Stripes#100-3
20220713_JP_Stripes#100-320220713_JP_Stripes#100-3
20220713_JP_Stripes#100-3Akihiro ITO
 
次世代KYCのあるべき姿 - OpenID BizDay #14
次世代KYCのあるべき姿 - OpenID BizDay #14次世代KYCのあるべき姿 - OpenID BizDay #14
次世代KYCのあるべき姿 - OpenID BizDay #14OpenID Foundation Japan
 
リアルFacebookガジェットを作った(ロングバージョン)
リアルFacebookガジェットを作った(ロングバージョン)リアルFacebookガジェットを作った(ロングバージョン)
リアルFacebookガジェットを作った(ロングバージョン)Mariko Goda
 
リアルFacebookガジェットを作った
リアルFacebookガジェットを作ったリアルFacebookガジェットを作った
リアルFacebookガジェットを作ったMariko Goda
 
新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向FIDO Alliance
 
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --Jun Kurihara
 
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】WESEEKWESEEK
 
ソーシャルゲーム市場とアドビFlash戦略
ソーシャルゲーム市場とアドビFlash戦略ソーシャルゲーム市場とアドビFlash戦略
ソーシャルゲーム市場とアドビFlash戦略Andy Hall
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014Takashi Yahata
 
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)blockchainexe
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携Naohiro Fujie
 
Office365のIdentity管理
Office365のIdentity管理Office365のIdentity管理
Office365のIdentity管理Naohiro Fujie
 
情報処理技術者試験で学ぶ SAML
情報処理技術者試験で学ぶ SAML情報処理技術者試験で学ぶ SAML
情報処理技術者試験で学ぶ SAMLhigher_tomorrow
 
Azure ADの外部コラボレーションとBYOID
Azure ADの外部コラボレーションとBYOIDAzure ADの外部コラボレーションとBYOID
Azure ADの外部コラボレーションとBYOIDNaohiro Fujie
 

Similar to MicrosoftのDID/VC実装概要 (20)

202209_kintoneCafeNagoya_deepkintone.pdf
202209_kintoneCafeNagoya_deepkintone.pdf202209_kintoneCafeNagoya_deepkintone.pdf
202209_kintoneCafeNagoya_deepkintone.pdf
 
IDaaSにSign in with Appleをつないでみた
IDaaSにSign in with AppleをつないでみたIDaaSにSign in with Appleをつないでみた
IDaaSにSign in with Appleをつないでみた
 
チャットボット開発を取り巻く環境と Cogbot コミュニティ
チャットボット開発を取り巻く環境と Cogbot コミュニティチャットボット開発を取り巻く環境と Cogbot コミュニティ
チャットボット開発を取り巻く環境と Cogbot コミュニティ
 
20220713_JP_Stripes#100-3
20220713_JP_Stripes#100-320220713_JP_Stripes#100-3
20220713_JP_Stripes#100-3
 
次世代KYCのあるべき姿 - OpenID BizDay #14
次世代KYCのあるべき姿 - OpenID BizDay #14次世代KYCのあるべき姿 - OpenID BizDay #14
次世代KYCのあるべき姿 - OpenID BizDay #14
 
リアルFacebookガジェットを作った(ロングバージョン)
リアルFacebookガジェットを作った(ロングバージョン)リアルFacebookガジェットを作った(ロングバージョン)
リアルFacebookガジェットを作った(ロングバージョン)
 
リアルFacebookガジェットを作った
リアルFacebookガジェットを作ったリアルFacebookガジェットを作った
リアルFacebookガジェットを作った
 
新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向新しい認証技術FIDOの最新動向
新しい認証技術FIDOの最新動向
 
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
Modern Authentication -- FIDO2 Web Authentication (WebAuthn) を学ぶ --
 
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】
Stripeを使った簡単なサブスク型課金サービスの作り方【WESEEK Tech Conf #15】
 
ソーシャルゲーム市場とアドビFlash戦略
ソーシャルゲーム市場とアドビFlash戦略ソーシャルゲーム市場とアドビFlash戦略
ソーシャルゲーム市場とアドビFlash戦略
 
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
 
CSS2020 Client Policies on keycloak
CSS2020 Client Policies on keycloak CSS2020 Client Policies on keycloak
CSS2020 Client Policies on keycloak
 
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)
Web3時代のデジタルアイデンティティ (高橋健太 |株式会社日立製作所 研究開発グループ)
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携
 
Office365のIdentity管理
Office365のIdentity管理Office365のIdentity管理
Office365のIdentity管理
 
情報処理技術者試験で学ぶ SAML
情報処理技術者試験で学ぶ SAML情報処理技術者試験で学ぶ SAML
情報処理技術者試験で学ぶ SAML
 
Azure ADの外部コラボレーションとBYOID
Azure ADの外部コラボレーションとBYOIDAzure ADの外部コラボレーションとBYOID
Azure ADの外部コラボレーションとBYOID
 
Introduction of Bridging IMS and Internet Identity
Introduction of Bridging IMS and Internet IdentityIntroduction of Bridging IMS and Internet Identity
Introduction of Bridging IMS and Internet Identity
 
Cocos2d-xによる最新ゲーム開発
Cocos2d-xによる最新ゲーム開発Cocos2d-xによる最新ゲーム開発
Cocos2d-xによる最新ゲーム開発
 

More from Naohiro Fujie

LINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルーLINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルーNaohiro Fujie
 
ざっくり解説 LINE ログイン
ざっくり解説 LINE ログインざっくり解説 LINE ログイン
ざっくり解説 LINE ログインNaohiro Fujie
 
Azure AD x LINE x Auth0
Azure AD x LINE x Auth0Azure AD x LINE x Auth0
Azure AD x LINE x Auth0Naohiro Fujie
 
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向Naohiro Fujie
 
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
LIFFとの連携でさらに強力に。こんなに使えるLINEログインLIFFとの連携でさらに強力に。こんなに使えるLINEログイン
LIFFとの連携でさらに強力に。こんなに使えるLINEログインNaohiro Fujie
 
祝!公式サポート Auth0 + LINE Login
祝!公式サポート Auth0 + LINE Login祝!公式サポート Auth0 + LINE Login
祝!公式サポート Auth0 + LINE LoginNaohiro Fujie
 
教育機関におけるBYOIDとKYC
教育機関におけるBYOIDとKYC教育機関におけるBYOIDとKYC
教育機関におけるBYOIDとKYCNaohiro Fujie
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門Naohiro Fujie
 
組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方Naohiro Fujie
 
コンシューマIDのエンタープライズ領域での活用
コンシューマIDのエンタープライズ領域での活用コンシューマIDのエンタープライズ領域での活用
コンシューマIDのエンタープライズ領域での活用Naohiro Fujie
 
大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用Naohiro Fujie
 
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤Naohiro Fujie
 
認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用
認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用
認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用Naohiro Fujie
 
大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用Naohiro Fujie
 
アイデンティティ API とデータ統合プラットフォームの活用
アイデンティティ API とデータ統合プラットフォームの活用アイデンティティ API とデータ統合プラットフォームの活用
アイデンティティ API とデータ統合プラットフォームの活用Naohiro Fujie
 
Office365のID基盤活用とセキュリティ上の注意点
Office365のID基盤活用とセキュリティ上の注意点Office365のID基盤活用とセキュリティ上の注意点
Office365のID基盤活用とセキュリティ上の注意点Naohiro Fujie
 
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護Naohiro Fujie
 
ID管理/認証システム導入の理想と現実
ID管理/認証システム導入の理想と現実ID管理/認証システム導入の理想と現実
ID管理/認証システム導入の理想と現実Naohiro Fujie
 
オンライン・アイデンティティの自己コントロールと活用
オンライン・アイデンティティの自己コントロールと活用オンライン・アイデンティティの自己コントロールと活用
オンライン・アイデンティティの自己コントロールと活用Naohiro Fujie
 

More from Naohiro Fujie (20)

LINE Login総復習
LINE Login総復習LINE Login総復習
LINE Login総復習
 
LINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルーLINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルー
 
ざっくり解説 LINE ログイン
ざっくり解説 LINE ログインざっくり解説 LINE ログイン
ざっくり解説 LINE ログイン
 
Azure AD x LINE x Auth0
Azure AD x LINE x Auth0Azure AD x LINE x Auth0
Azure AD x LINE x Auth0
 
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
 
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
LIFFとの連携でさらに強力に。こんなに使えるLINEログインLIFFとの連携でさらに強力に。こんなに使えるLINEログイン
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
 
祝!公式サポート Auth0 + LINE Login
祝!公式サポート Auth0 + LINE Login祝!公式サポート Auth0 + LINE Login
祝!公式サポート Auth0 + LINE Login
 
教育機関におけるBYOIDとKYC
教育機関におけるBYOIDとKYC教育機関におけるBYOIDとKYC
教育機関におけるBYOIDとKYC
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
 
組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方
 
コンシューマIDのエンタープライズ領域での活用
コンシューマIDのエンタープライズ領域での活用コンシューマIDのエンタープライズ領域での活用
コンシューマIDのエンタープライズ領域での活用
 
大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用
 
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
 
認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用
認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用
認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用
 
大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用
 
アイデンティティ API とデータ統合プラットフォームの活用
アイデンティティ API とデータ統合プラットフォームの活用アイデンティティ API とデータ統合プラットフォームの活用
アイデンティティ API とデータ統合プラットフォームの活用
 
Office365のID基盤活用とセキュリティ上の注意点
Office365のID基盤活用とセキュリティ上の注意点Office365のID基盤活用とセキュリティ上の注意点
Office365のID基盤活用とセキュリティ上の注意点
 
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護
 
ID管理/認証システム導入の理想と現実
ID管理/認証システム導入の理想と現実ID管理/認証システム導入の理想と現実
ID管理/認証システム導入の理想と現実
 
オンライン・アイデンティティの自己コントロールと活用
オンライン・アイデンティティの自己コントロールと活用オンライン・アイデンティティの自己コントロールと活用
オンライン・アイデンティティの自己コントロールと活用
 

Recently uploaded

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 

Recently uploaded (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 

MicrosoftのDID/VC実装概要

  • 1. Microsoftの DID/VC実装概要 2020/11/19 #didcon vol. 28 富士榮尚寛 / @phr_eidentity
  • 2. 今日のお話 Microsoftが「Verifiable Credentials as a Service」とい うことで新サービスを開発していることはアナウン スされているものの、実態がなかなか見えてこない ので触ってみた COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 2
  • 3. これまでのMSからのアナウンス ¡ 2017 : uPortと組みます@Consensus 2017 ¡ 2019 : ION(アイオン)作ってます ¡ 2019 : DID Preview update, private previewはじめます ¡ 2020 : 米国の退役軍人のシナリオで実証実験やってます @Ignite COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 3
  • 4. 実は私も色々やってました。(98%くらいは趣味) ¡ 2018年のConsumer Identity World APAC ¡ uPortとAzure Active Directory B2Cを組み合わせたサプライ チェーンでのKYCデモ作成 COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 4
  • 5. Demo – verify iden.ty by submi3ng drivers' license 1. Register iden-ty documents into wallet 2. Use wallet to verify user and enable access Register Drivers license via NFC HR App for Students Record registration event to Blockchain Submit Drivers license in Wallet Verify registration Automatic enabling access to corporate applications
  • 7. 通称PICS: Portable Identity Card Service ¡ Azure Active Directoryのコンポーネ ントの一部として提供されるっぽ い(要Azure AD Premium P1) ¡ MSがホストするIssuerサービス+α ¡ +αの部分は ¡ Discovery(Universal ResolverのFork) ¡ Presentation Exchange ¡ IssuerのフロントはSDK提供 ¡ HolderはMS Authenticator ¡ VerifierはSDK提供 COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 7
  • 8. 今日の#didconのチケット取得 COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 8 チケットをVCとして発行 VCを提示してZoomリンク取得 ブラウザ版Wallet by @ookimaki_tech
  • 9. 全体像 COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 9 分散台帳(ION) Issuer(VC発行機関) Front (SDK) Backend (PICS) 鍵管理 (KeyVault) 構成管理 (Blob) 属性提供元 (認証基盤等) Holder(利用者) Verifier(VC利用・検証機関) Verifier (SDK) Presentation Exchange (PICS) DID登録 1. VC発行要求 2. 認証等 4. VC発行 3. ID情報 Authenticator DID確認 1. VC提供要求 2. VC変換要求 3. VC送信 Discoveryサービス
  • 10. 構成要素の解説 COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 10 コンポーネント 役割・解説 Issuer Frontend(SDK) VC発行要求を発行する verifiablecredentials-verification-sdk-typescriptを利用して構築するFrontend Webアプリケーション Issuer Backend(PICS) VCの発行を行う PICSのVC発行機能(issueエンドポイント) 構成管理(Azure Storage) VCに関する構成情報(Claim取得方法、VCの属性とのマッピング、ロゴ画像などに関する情報)を格納する 鍵管理(Azure Key Vault) IssuerならびにVerifierのDIDに関連する鍵(署名鍵、リカバリ鍵、更新鍵)を格納する 属性提供元 VCに含めるID情報の提供元 以下の3つから選択することが可能 ・id_tokens: OpenID Connectに対応したIdentity Provider ・presentations: 他のVC ・selfissued: 自己申告 Authenticator 発行されたVCを保存するHolderのIdentity Wallet 本レポート執筆時点でAndroid版のMicrosoft Authenticator(ベータ版)のみが公式にリリースされているが、SDKの利用等に よりカスタムWalletの開発を行うことが可能 Presentation Exchange DIFのPresentation Exchangeの仕様に従いVerifierからの要求に従いHolderが保持しているVCを変換する。今後、Selective Disclosure等に利用されることが想定される。 PICSのVC変換機能(exchangeエンドポイント) Verifier(SDK) Holderから提示されたVCを検証する verifiablecredentials-verification-sdk-typescriptを利用して構築するWebアプリケーション Discoveryサービス DIDからDID Documentを取得する 各種コンポーネントはDID Document内に記載される情報を使って各種処理を行う(例:DID Document内に記載される公開鍵 情報を利用した署名検証) 分散台帳(ION) DIDの発行、DID Documentの保管を行う
  • 11. VCを発行してみる ¡ Issuerの設定 ¡ 組織名と鍵の設定(Azure Key Vault)を入れてあげるとIssuerの定義がされる ¡ Issuer DID/DID Documentが発行される※現状はBitcoin Blockchain上には書き込まれない模様 COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 11
  • 13. VCを発行してみる ¡ Credentialの発行 ¡ マニフェストについて(https://identity.foundation/credential-manifest/) ¡ MSの実装ではRulesとDisplayの2つに分かれていてBlobにjsonをアップロードする COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 13 { "attestations": { "idTokens": [ { "mapping": { "firstName": { "claim": "given_name" }, "lastName": { "claim": "family_name" } }, "configuration": "https://nfpoc.b2clogin.com/nfpoc.onmicrosoft.com/v2.0/.well- known/openid-configuration?p=B2C_1_didcon", "client_id": "52075da0-6f99-44e7-b294-339e70fa1608", "redirect_uri": "vcclient://openid" } ] }, "validityInterval": 2592000, "vc": { "type": ["https://schema.org/didconTicket"] } } { "default": { "locale": "en-US", "card": { "title": "#didcon Ticket", "issuedBy": "#idcon", "backgroundColor": "#A97B41", "textColor": "#000000", "logo": { "uri": "https://didpreviewstorage.blob.core.windows.net/pic/idcon.jpg", "description": "#idcon" }, "description": "Use this ticket to join the idcon vol.28, #didcon!" 〜中略〜 }, "claims": { "vc.credentialSubject.firstName": { "type": "String", "label": "First name” }, 〜後略〜 Rulesファイル : VCの発行に関するルールを記載 Displayファイル : VC(カード)の見た目に関する記載 どこからVCに載せるClaimをとってくるか (IdToken、他のVC、自己申告) IdTokenの場合は取得元のOPの情報 VCのタイプ(スキーマ)の指定 VCの有効期限の指定 言語指定(動かない) タイトル、背景色、テキスト色など ロゴ画像のURL 表示するClaimとVCの属性のマッピング
  • 14. VCを発行してみる ¡ Issuer frontの実装 ¡ 要するに発行リクエストを受け付けて、バックエンドへ渡してVCを発行してもらうためのWeb I/F ¡ SDK(verifiablecredentials-verification-sdk-typescript)を使って実装 ¡ サンプルあり(https://github.com/Azure-Samples/active-directory-verifiable-credentials) COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 14 const requestBuilder = new RequestorBuilder({ presentationDefinition: { input_descriptors: [ { schema: { uri: credentialType, }, issuance: [ { manifest: credential } ] } ] } }, crypto).allowIssuance(); Rulesに指定したVCのタイプ(スキーマ) 例)https://schema.org/didconTicket RulesとDisplayをベースにPICSが生成する マニフェストのURIを指定 マニフェストのURIを開くとRules/Display で指定した内容が確認可能
  • 15. # 処理 処理内容 1 VC発行リクエスト(SIOPリクエス ト)の発行 UserAgentでIssuer Frontendへアクセス、QRコードの表示やopenid://vcス キーマ経由でSIOPリクエストをAuthenticatorに読み込ませる 2 構成情報の読み込み IssuerのDID Document、カードの構成情報(コントラクト)、ユーザ認証 に利用するOpenID Providerの構成情報を読み込む 3 ユーザ認証と属性情報の取得 OpenID Connectのプロトコルに従い、ユーザ認証と属性情報の取得を行う 4 SIOPレスポンスを送信し、VCの取 得 Issuer BackendへSIOPレスポンスを送信し、VCを取得する 処理の流れ ¡ 以下のステップで処理が実行される COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 15
  • 16. COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 16 DiscoveryでIssuerの DID Documentを取得 マニフェストから発行 するVCの情報を取得 Claimを取得するため のOPの情報を取得
  • 17. COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 17 ここは普通にOIDC Id_tokenをPICSに投げ 込んでVCを取得
  • 18. VCを提示〜検証する ¡ Verifierの設定 ¡ SDK(verifiablecredentials-verification-sdk-typescript)を使って実装 ¡ サンプルあり(https://github.com/Azure-Samples/active-directory-verifiable-credentials) COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 18 const requestBuilder = new RequestorBuilder({ clientName: client.client_name, clientId: clientId, redirectUri: clientId, logoUri: client.logo_uri, tosUri: client.tos_uri, client_purpose: client.client_purpose, presentationDefinition: { input_descriptors: [{ schema: { uri: [credentialType], } }] } 受け取りたいVCのタイプ(スキーマ) 例)https://schema.org/didconTicket const validator = new ValidatorBuilder(crypto) .useTrustedIssuersForVerifiableCredentials({ [credentialType]: issuerDid}) .useAudienceUrl(clientId) .build(); const validationResponse = await validator.validate(req.body.id_token); 受け取りたいVCのタイプとIssuerの DIDを指定してValidation Presentation Exchangeの仕様に一部準拠。 受け取りたいVCの条件設定はもう少し細か くできるようになる見込み
  • 19. 処理の流れ ¡ 以下のステップで処理が実行される COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 19 # 処理 処理内容 1 VC発行リクエスト(SIOPリクエス ト)の発行 UserAgentでVerifierへアクセス、QRコードの表示やopenid://vcスキーマ経 由でSIOPリクエストをAuthenticatorに読み込ませる 2 リクエスト元のVerifierの情報を取得 VerifierのDID Documentを取得する 3 Presentation Exchangeを要求 VCをPresentation Exchangeエンドポイントへ送信し、Verifierへの提示用の VCを取得する 4 SIOPレスポンスとしてVCを送信 VerifierへVCを含むSIOPレスポンスを送信する
  • 20. COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 20
  • 21. 関連する標準・仕様(策定中のものが殆ど・・・) 仕様 策定団体 備考 Decentralized Identifiers W3C https://www.w3.org/TR/did-core/ DIF https://identity.foundation/sidetree/spec/#long-form-did-uris Sidetree仕様内のLong formed DIDを利用 Verifiable Credentials Data Model W3C https://www.w3.org/TR/vc-data-model/ SyntaxとしてはJSON+contextを利用 Presentation Exchange DIF https://identity.foundation/presentation-exchange/ DID SIOP DIF https://identity.foundation/did-siop/ Sidetree DIF https://identity.foundation/sidetree/spec/ Discovery DIF Universal ResolverのION Driverの実装(Microsoft自身が提供するDiscovery サービスの実態はUniversal Resolver+ION Driver) https://github.com/decentralized-identity/universal-resolver Credential Manifest DIF https://identity.foundation/credential-manifest/ Well Known DID Configuration DIF https://identity.foundation/.well-known/resources/did-configuration/ COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 21
  • 22. 思うこと COPYRIGHT ©, 2020, NAOHIRO FUJIE, ALL RIGHTS RESERVED 22 ¡ 典型的な卵・鶏なので、意識的にVC発行元、使える場所を増やしていかない と普及しない ¡ クローズな世界で使っていると分散台帳を使う意味が出ないので、標準化と 幅広い適用がとっても大事 ¡ まだまだ仕様が柔らかい状態なので、フィードバックするなら今。