SlideShare a Scribd company logo
1 of 33
Download to read offline
OpenID for Verifiable Credentials
The next generation of OpenID
Kristina Yasuda, Microsoft
Dr. Torsten Lodderstedt, yes
Issuer-Holder-Verifier Model: A Paradigm Shift
Issuer Verifier
Holder
(Digital Wallet)
Issue
Credentials
Present
Credentials
● Verifiable credential is a tamper-evident credential with a cryptographically
verifiable authorship that contains claims about a subject.
● This enables
○ decoupling issuance from presentation
○ multi-use of the credentials
○ combination of multiple credentials in a presentation
Decentralized Identity around you
Use Case 1: mobile Driving Licence Use Case 2: Vaccination QR Code
Verifiable Credentials: Benefits
- End-Users gain more control, privacy, and portability over their identity
information.
- Cheaper, faster, and more secure identity verification, when transforming
physical credentials into digital ones using verifiable credentials.
- Universal approach to handle identification, authentication, and
authorization in digital and physical space
- Issuers gain more flexibility
OpenID for Verifiable Credential Issuance
OpenID for Verifiable Credentials Overview
Issuer
(Website)
Verifier
(Website)
Wallet
(user’s device,
cloud or hybrid)
Issue Credentials Present Credentials
Self-Issued OP v2
OpenID for Verifiable Presentations
OpenID for Verifiable Presentations over BLE
User Interactions
- Most widely used identity standards today (small and big companies,
government, health, open banking, mobile operators, …)
- Known for simplicity, lots of library support
- Security has been formally analysed, Security Recommendations are
constantly evolved (e.g. through OAuth Security BCP)
- Interoperability through automated Test Suites
- Eases enhancement of existing OAuth/OpenID Connect
implementations to support decentralized identity
Build upon OAuth 2.0 and OpenID Connect
OpenID for Verifiable Presentations (OID4VPs)
Same Device Presentation
Cross Device Presentation
- Query language to granularly
specify what kind of credential
Verifier wants. (utilizes DIF
Presentation Exchange 2.0)
- Verifiable Presentations* are
returned in a newly defined VP
Token
- Simple overall architecture,
e.g. device local
communication when same
device flow is used
OpenID for Verifiable Presentations
Website or App
(RP)
Wallet
OP
Alice
⓪ User tries to get
access to a resource
Stored Verifiable Credentials
② Wallet issues Verifiable
Presentation(s) in VP Token
① RP requests
Credential(s)
*can be any credential/presentation format, not limited to not limited to W3C Verifiable Credentials.
Using OpenID4VCs as an authentication protocol to present and issue credentials allows implementers to
choose a combination of DID methods, credential formats and other components of the SSI tech stack.
OID4VCs allows variety of choices in the VC Tech Stack
VC Tech Stack component Implementer’s choices when using OpenID4VC
Identifiers Any DID method (End-Users, Verifiers, Issuers)
JWK Thumbprint (End-Users - `sub` in the ID Token)
Credential Format Any credential format (AnonCreds, LDP-VC, JWT-VC, ISO mDL,
JWP, etc.) credential format survey started at IIW XXXIV
Revocation Any mechanism (Status List 2021, etc.)
additional trust mechanisms Any mechanism (.well-known DID configuration, etc.)
Cryptography Any cryptosuite (EdDSA, ES256K, etc.)
Presentation Request
{
"id": "example_ldp_vc",
"input_descriptors": [
{
"id": "id_card_credential",
"format": {
"ldp_vc": {
"proof_type": [
"Ed25519Signature2018"
]
}
},
"constraints": {
"fields": [
{
"path": [
"$.type"
],
"filter": {
"type": "array",
"contains": {
"const": "IDCredential"
}
}
}
]
}
}
]
}
GET /authorize?
response_type=vp_token
&client_id=https%3A%2F%2Fclient.example.org%2Fcb
&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
&presentation_definition=...
&nonce=n-0S6_WzA2Mj HTTP/1.1
Host: wallet.example.com
presentation_definition
Presentation Response
{
"definition_id": "example_ldp_vc",
"id": "example_ldp_vc_presentation_submission",
"descriptor_map": [
{
"id": "id_credential",
"path": "$",
"format": "ldp_vp",
"path_nested": {
"format": "ldp_vc",
"path": "$.verifiableCredential[0]"
}
}
]
}
{
"@context": [
"https://www.w3.org/2018/credentials/v1"
],
"type": [
"VerifiablePresentation"
],
"verifiableCredential": [
{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://www.w3.org/2018/credentials/examples/v1"
],
"id": "https://example.com/credentials/1872",
"type": [
"VerifiableCredential",
"IDCredential"
],
"issuer": {
"id": "did:example:issuer"
},
"issuanceDate": "2010-01-01T19:23:24Z",
"credentialSubject": {
"given_name": "Max",
"family_name": "Mustermann",
"birthdate": "1998-01-11",
"address": {
"street_address": "Sandanger 25",
"locality": "Musterstadt",
"postal_code": "123456",
presentation_submission
vp_token
HTTP/1.1 302 Found
Location: https://client.example.org/cb#
presentation_submission=...
&vp_token=...
Self-Issued OP (SIOP v2)
Self-Issued OP v2
Website (RP)
User
Agent
OP
Trust in cryptographically
verifiable identifier
② OP on the user
device issues
subject-signed ID Token
Alice
⓪ User tries to access a
resource
① RP requests ID Token
- SIOP v2 allows users to authenticate
towards RPs using self-controlled
identifiers
- ID Tokens are signed with user-controlled
key material (pseudonymous
authentication with pairwise subject
identifiers)
- Can be used in combination with
OD4VPs, when the use case requires
end-user authentication
VC presentation and Authentication using OID4VPs & SIOP v2
- Simple & secure protocol based on OAuth 2.0
- Uniform protocol across different credential formats
- Same device & cross device scenarios, offline
- Privacy preserving mutual authentication of RP and wallet
- Pseudonymous authentication of End-User to RPs through SIOP v2
- Works well with OAuth for authorization of API-based payments (e.g. PSD2) and
remote signature creation (e.g. CSC)
- Note: referenced by draft ISO/IEC 18013-7 and 23220-4 Mobile Driving Licences
related specifications as a data release method
OpenID for Verifiable Credential Issuance (OID4VCI)
Issuer Initiates Process (same device)
Issuer Initiates Process (cross device)
Wallet Initiates Process (e.g. during presentation)
Credential
Issuer
Website or App
(RP)
Wallet
OP
Alice
⓪ User tries to log in RP
Stored
Verifiable Credentials
② Wallet issues Verifiable
Presentation(s)
① RP requests
Credential(s)
⓪ Wallet requests & User
authorizes credential issuance
③ Credential is issued
① access token(, refresh token)
② Wallet requests credential issuance
Credential issuance via simple OAuth-authorized API
OpenID for Verifiable Credential Issuance
- Issuance via OAuth-protected Credential Endpoint
- Two authorization flows:
- Code flow (others OAuth 2.0 grant types possible): authorization for one
or more credentials at the Authorization Endpoint once the wallet is
invoked
- Pre-authorized code flow (new grant type): authorization for one or more
credentials prior to the Wallet being invoked.
- Supports different methods for the Wallet to prove possession of key material
used to bind credential
Design Principles
Example: Authorization Request
HTTP/1.1 302 Found
Location: https://server.example.com/authorize?
response_type=code
&client_id=s6BhdRkqt3
&code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
&code_challenge_method=S256
&scope=https://example.org/idcard
&redirect_uri=https://client.example.org/cb
Example: Credential Issuance
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"format": "ldp_vc_json",
"credential" : "eyJjcmVkZW50a...d0MifQ=="
}
POST /credential HTTP/1.1
Host: server.example.com
Content-Type: application/json
Authorization: BEARER czZCaGRSa3F0MzpnWDFmQmF0M2JW
{
"format": "jwt_vc_json",
"types": [
"VerifiableCredential",
"IDCardcard"
],
"proof": {
"proof_type": "jwt",
"jwt":"eyJraWQiOiJkaWQ6…aZKPxgihac0aW9EkL1nOzM"
}
}
Request Response
Example: Issued Credential
{
"iss": "https://example.com/issuers/565049",
"nbf": 1262304000,
"jti": "http://example.com/credentials/3732",
"vc": {
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://www.w3.org/2018/credentials/examples/v1"
],
"type": [
"VerifiableCredential",
"IDCard"
],
"credentialSubject": {
"id": "did:example:ebfeb1f712ebc6f1c276e12ec21",
"given_name": "Erika",
"family_name": "Mustermann",
"birthdate": "1973-01-01"
}
}
}
VC issuance using OID4VCI
● Simple & Secure OAuth protected API
○ Can be built & operated on top of existing OAuth libraries/deployments
○ Simple way for existing AS/IDPs to become PID/(Q)EAA issuers
○ Leverages OAuth security mechanisms
● Customizable for different credential formats, proof of possession and attestation
methods
● Hardware-backed key material for cryptographic binding of attribute attestations
(leveraging HSMs, SEs, TEEs)
● Same device and cross device scenarios
● Mutual authentication of wallet and issuer
● Note: referenced by draft ISO 23220-3 electronic ID specification
- First Implementer’s Drafts of OID4VPs and SIOP v2 approved
- Latest Changes and Work in Progress
- Documented design patterns for issuance with high security requirements
- Added batch issuance & credential issuer metadata
- Added text on credential format profiles
- Adding presentation via BLE
- Working on overall security analysis
- Targeting further implementers drafts for whole spec family soon
Status
- EU’s eIDAS v2 Architecture &
Reference Framework
- The European Blockchain Services
Infrastructure (EBSI)
- Finnish ID
- Microsoft
- Mattr
- IDunion
- walt.id & yes.com & BCDiploma
(eSSIF-Lab)
- Talao.io
Planned and ongoing implementations
- Workday
- Ping Identity
- Trinsic/Dentity (incl. Auth0
plugin)
- Convergence.Tech
- Sphereon
- Gimly
- CAS Software AG
- Verimi/Deutsche Telekom
- Gen (Avast, Evernym)
Open Source projects
• Walt-id
• https://github.com/walt-id/waltid-ssikit
• Sphereon
• https://github.com/Sphereon-Opensource/SIOP-OpenID4VP
• https://github.com/Sphereon-Opensource/OpenID4VCI-client
• https://github.com/Sphereon-Opensource/ssi-sdk
• Microsoft
• https://github.com/microsoft/VerifiableCredential-SDK-Android
• https://github.com/microsoft/VerifiableCredential-SDK-iOS
• Spruce
• https://github.com/spruceid/oidc4vci-rs
• https://github.com/spruceid/oidc4vci-issuer
Whitepaper
“OpenID for Verifiable Credentials”
- target audience: decision-makers, architects and implementers interested in
the concepts, use-cases and architecture when verifiable credentials are
used.
- goal: inform and educate the readers about this work to assist in the
decision-making process.
- where: http://openid.net/wordpress-content/uploads/2022/05/
OIDF-Whitepaper_OpenID-for-Verifiable-Credentials_FINAL_2022-05-12.pdf
- Blog Post:
https://openid.net/2022/05/12/openid-for-verifiable-credentials-whitepaper/
Call to Action
1. Implement the specifications to unlock your use cases and provide us
feedback (mailing list)
• https://openid.net/specs/openid-4-verifiable-presentations-1_0.html
• https://openid.net/specs/openid-connect-self-issued-v2-1_0.html
• https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html
2. Read the whitepaper and stay up to date with the recent developments
Specifications
• Latest information can be found at https://openid.net/openid4vc/
• Specifications
• https://openid.net/specs/openid-4-verifiable-presentations-1_0.html
• https://openid.net/specs/openid-connect-self-issued-v2-1_0.html
• https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html
Q&A

More Related Content

What's hot

Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
SSIMeetup
 

What's hot (20)

OIDC4VP for AB/C WG
OIDC4VP for AB/C WGOIDC4VP for AB/C WG
OIDC4VP for AB/C WG
 
Verifiable Credentials in Self-Sovereign Identity (SSI)
Verifiable Credentials in Self-Sovereign Identity (SSI)Verifiable Credentials in Self-Sovereign Identity (SSI)
Verifiable Credentials in Self-Sovereign Identity (SSI)
 
OpenID for Verifiable Credentials (IIW 35)
OpenID for Verifiable Credentials (IIW 35)OpenID for Verifiable Credentials (IIW 35)
OpenID for Verifiable Credentials (IIW 35)
 
The European Union goes Decentralized
The European Union goes DecentralizedThe European Union goes Decentralized
The European Union goes Decentralized
 
銀行 API における OAuth 2.0 / FAPI の動向 #openid #bizday
銀行 API における OAuth 2.0 / FAPI の動向 #openid #bizday銀行 API における OAuth 2.0 / FAPI の動向 #openid #bizday
銀行 API における OAuth 2.0 / FAPI の動向 #openid #bizday
 
What are Decentralized Identifiers (DIDs)?
What are Decentralized Identifiers (DIDs)?What are Decentralized Identifiers (DIDs)?
What are Decentralized Identifiers (DIDs)?
 
OpenID Connect 4 SSI (at EIC 2021)
OpenID Connect 4 SSI (at EIC 2021)OpenID Connect 4 SSI (at EIC 2021)
OpenID Connect 4 SSI (at EIC 2021)
 
Verifiable credentials explained by CCI
Verifiable credentials explained by CCIVerifiable credentials explained by CCI
Verifiable credentials explained by CCI
 
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
 
FIDO2 ~ パスワードのいらない世界へ
FIDO2 ~ パスワードのいらない世界へFIDO2 ~ パスワードのいらない世界へ
FIDO2 ~ パスワードのいらない世界へ
 
Digital Identity Wallets: What They Mean For Banks
Digital Identity Wallets: What They Mean For BanksDigital Identity Wallets: What They Mean For Banks
Digital Identity Wallets: What They Mean For Banks
 
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
Peer DIDs: a secure and scalable method for DIDs that’s entirely off-ledger –...
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
 
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdf
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdfVerifiable Credentials_Kristina_Identiverse2022_vFIN.pdf
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdf
 
ブロックチェーンを用いた自己主権型デジタルID管理
ブロックチェーンを用いた自己主権型デジタルID管理ブロックチェーンを用いた自己主権型デジタルID管理
ブロックチェーンを用いた自己主権型デジタルID管理
 
MicrosoftのDID/VC実装概要
MicrosoftのDID/VC実装概要MicrosoftのDID/VC実装概要
MicrosoftのDID/VC実装概要
 
IBM: Hey FIDO, Meet Passkey!.pptx
IBM: Hey FIDO, Meet Passkey!.pptxIBM: Hey FIDO, Meet Passkey!.pptx
IBM: Hey FIDO, Meet Passkey!.pptx
 
英国オープンバンキング技術仕様の概要
英国オープンバンキング技術仕様の概要英国オープンバンキング技術仕様の概要
英国オープンバンキング技術仕様の概要
 
OAuth 2.0 and OpenId Connect
OAuth 2.0 and OpenId ConnectOAuth 2.0 and OpenId Connect
OAuth 2.0 and OpenId Connect
 
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要
 

Similar to OpenID for Verifiable Credentials

Authentication Models
Authentication ModelsAuthentication Models
Authentication Models
Raj Chanchal
 

Similar to OpenID for Verifiable Credentials (20)

How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
 
OpenID Connect Explained
OpenID Connect ExplainedOpenID Connect Explained
OpenID Connect Explained
 
OAuth2 and OpenID with Spring Boot
OAuth2 and OpenID with Spring BootOAuth2 and OpenID with Spring Boot
OAuth2 and OpenID with Spring Boot
 
OAuth 2
OAuth 2OAuth 2
OAuth 2
 
Authentication Models
Authentication ModelsAuthentication Models
Authentication Models
 
Introduction to the Globus Platform for Developers
Introduction to the Globus Platform for DevelopersIntroduction to the Globus Platform for Developers
Introduction to the Globus Platform for Developers
 
Wso2 is integration with .net core
Wso2 is   integration with .net coreWso2 is   integration with .net core
Wso2 is integration with .net core
 
OpenID Connect - An Emperor or Just New Cloths?
OpenID Connect - An Emperor or Just New Cloths?OpenID Connect - An Emperor or Just New Cloths?
OpenID Connect - An Emperor or Just New Cloths?
 
Cartes Asia Dem 2010 V2
Cartes Asia Dem 2010 V2Cartes Asia Dem 2010 V2
Cartes Asia Dem 2010 V2
 
Accessing APIs using OAuth on the federated (WordPress) web
Accessing APIs using OAuth on the federated (WordPress) webAccessing APIs using OAuth on the federated (WordPress) web
Accessing APIs using OAuth on the federated (WordPress) web
 
#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2
#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2
#5 WSO2 Masterclassitalia - WSO2 Identity Server, un approccio OAUTH2
 
Microservices security - jpmc tech fest 2018
Microservices security - jpmc tech fest 2018Microservices security - jpmc tech fest 2018
Microservices security - jpmc tech fest 2018
 
PolygonID Zero-Knowledge Identity Web2 & Web3
PolygonID Zero-Knowledge Identity Web2 & Web3PolygonID Zero-Knowledge Identity Web2 & Web3
PolygonID Zero-Knowledge Identity Web2 & Web3
 
Mobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patternsMobile Authentication - Onboarding, best practices & anti-patterns
Mobile Authentication - Onboarding, best practices & anti-patterns
 
2019 - Tech Talk DC - Token-based security for web applications using OAuth2 ...
2019 - Tech Talk DC - Token-based security for web applications using OAuth2 ...2019 - Tech Talk DC - Token-based security for web applications using OAuth2 ...
2019 - Tech Talk DC - Token-based security for web applications using OAuth2 ...
 
WSO2 Identity Server - Product Overview
WSO2 Identity Server - Product OverviewWSO2 Identity Server - Product Overview
WSO2 Identity Server - Product Overview
 
SAML VS OAuth 2.0 VS OpenID Connect
SAML VS OAuth 2.0 VS OpenID ConnectSAML VS OAuth 2.0 VS OpenID Connect
SAML VS OAuth 2.0 VS OpenID Connect
 
ISS SA le presenta IdentityGuard de Entrust
ISS SA le presenta IdentityGuard de EntrustISS SA le presenta IdentityGuard de Entrust
ISS SA le presenta IdentityGuard de Entrust
 
Access management
Access managementAccess management
Access management
 
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
 

More from Torsten Lodderstedt

More from Torsten Lodderstedt (15)

GAIN Presentation.pptx
GAIN Presentation.pptxGAIN Presentation.pptx
GAIN Presentation.pptx
 
Comprehensive overview FAPI 1 and FAPI 2
Comprehensive overview FAPI 1 and FAPI 2Comprehensive overview FAPI 1 and FAPI 2
Comprehensive overview FAPI 1 and FAPI 2
 
Comprehensive overview FAPI 1 and 2
Comprehensive overview FAPI 1 and 2Comprehensive overview FAPI 1 and 2
Comprehensive overview FAPI 1 and 2
 
OpenID Connect 4 Identity Assurance at IIW #32
OpenID Connect 4 Identity Assurance at IIW #32OpenID Connect 4 Identity Assurance at IIW #32
OpenID Connect 4 Identity Assurance at IIW #32
 
OpenID Connect for W3C Verifiable Credential Objects
OpenID Connect for W3C Verifiable Credential ObjectsOpenID Connect for W3C Verifiable Credential Objects
OpenID Connect for W3C Verifiable Credential Objects
 
Identity Assurance with OpenID Connect
Identity Assurance with OpenID ConnectIdentity Assurance with OpenID Connect
Identity Assurance with OpenID Connect
 
NextGenPSD2 OAuth SCA Mode Security Recommendations
NextGenPSD2 OAuth SCA Mode Security RecommendationsNextGenPSD2 OAuth SCA Mode Security Recommendations
NextGenPSD2 OAuth SCA Mode Security Recommendations
 
Rich Authorization Requests
Rich Authorization RequestsRich Authorization Requests
Rich Authorization Requests
 
Pushed Authorization Requests
Pushed Authorization RequestsPushed Authorization Requests
Pushed Authorization Requests
 
OpenID Connect for Identity Assurance
OpenID Connect for Identity AssuranceOpenID Connect for Identity Assurance
OpenID Connect for Identity Assurance
 
NextGenPSD2 OAuth SCA Mode Security Recommendations
NextGenPSD2 OAuth SCA Mode Security Recommendations NextGenPSD2 OAuth SCA Mode Security Recommendations
NextGenPSD2 OAuth SCA Mode Security Recommendations
 
Identiverse: PSD2, Open Banking, and Technical Interoperability
Identiverse: PSD2, Open Banking, and Technical InteroperabilityIdentiverse: PSD2, Open Banking, and Technical Interoperability
Identiverse: PSD2, Open Banking, and Technical Interoperability
 
OAuth 2.0 Security Reinforced
OAuth 2.0 Security ReinforcedOAuth 2.0 Security Reinforced
OAuth 2.0 Security Reinforced
 
OAuth Security 4 Dummies iiw#27
OAuth Security 4 Dummies iiw#27OAuth Security 4 Dummies iiw#27
OAuth Security 4 Dummies iiw#27
 
Identity Proofing with OpenID Connect
Identity Proofing with OpenID ConnectIdentity Proofing with OpenID Connect
Identity Proofing with OpenID Connect
 

Recently uploaded

一比一定制(USC毕业证书)美国南加州大学毕业证学位证书
一比一定制(USC毕业证书)美国南加州大学毕业证学位证书一比一定制(USC毕业证书)美国南加州大学毕业证学位证书
一比一定制(USC毕业证书)美国南加州大学毕业证学位证书
Fir
 
一比一定制波士顿学院毕业证学位证书
一比一定制波士顿学院毕业证学位证书一比一定制波士顿学院毕业证学位证书
一比一定制波士顿学院毕业证学位证书
A
 
一比一原版罗切斯特大学毕业证如何办理
一比一原版罗切斯特大学毕业证如何办理一比一原版罗切斯特大学毕业证如何办理
一比一原版罗切斯特大学毕业证如何办理
F
 
一比一原版(UWE毕业证书)西英格兰大学毕业证原件一模一样
一比一原版(UWE毕业证书)西英格兰大学毕业证原件一模一样一比一原版(UWE毕业证书)西英格兰大学毕业证原件一模一样
一比一原版(UWE毕业证书)西英格兰大学毕业证原件一模一样
Fi
 
一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书
F
 
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书
c6eb683559b3
 
@OBAT ABORSI 3 BULAN@ OBAT PENGGUGUR KANDUNGAN 3 BULAN (087776558899)
@OBAT ABORSI 3 BULAN@ OBAT PENGGUGUR KANDUNGAN 3 BULAN (087776558899)@OBAT ABORSI 3 BULAN@ OBAT PENGGUGUR KANDUNGAN 3 BULAN (087776558899)
@OBAT ABORSI 3 BULAN@ OBAT PENGGUGUR KANDUNGAN 3 BULAN (087776558899)
Obat Cytotec
 
一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理
A
 
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
AS
 
一比一原版布兰迪斯大学毕业证如何办理
一比一原版布兰迪斯大学毕业证如何办理一比一原版布兰迪斯大学毕业证如何办理
一比一原版布兰迪斯大学毕业证如何办理
A
 
一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理
AS
 

Recently uploaded (20)

APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
APNIC Policy Roundup presented by Sunny Chendi at TWNOG 5.0
 
一比一定制(USC毕业证书)美国南加州大学毕业证学位证书
一比一定制(USC毕业证书)美国南加州大学毕业证学位证书一比一定制(USC毕业证书)美国南加州大学毕业证学位证书
一比一定制(USC毕业证书)美国南加州大学毕业证学位证书
 
一比一定制波士顿学院毕业证学位证书
一比一定制波士顿学院毕业证学位证书一比一定制波士顿学院毕业证学位证书
一比一定制波士顿学院毕业证学位证书
 
一比一原版罗切斯特大学毕业证如何办理
一比一原版罗切斯特大学毕业证如何办理一比一原版罗切斯特大学毕业证如何办理
一比一原版罗切斯特大学毕业证如何办理
 
Lowongan Kerja LC Yogyakarta Terbaru 085746015303
Lowongan Kerja LC Yogyakarta Terbaru 085746015303Lowongan Kerja LC Yogyakarta Terbaru 085746015303
Lowongan Kerja LC Yogyakarta Terbaru 085746015303
 
Washington Football Commanders Redskins Feathers Shirt
Washington Football Commanders Redskins Feathers ShirtWashington Football Commanders Redskins Feathers Shirt
Washington Football Commanders Redskins Feathers Shirt
 
一比一原版(UWE毕业证书)西英格兰大学毕业证原件一模一样
一比一原版(UWE毕业证书)西英格兰大学毕业证原件一模一样一比一原版(UWE毕业证书)西英格兰大学毕业证原件一模一样
一比一原版(UWE毕业证书)西英格兰大学毕业证原件一模一样
 
一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书一比一原版贝德福特大学毕业证学位证书
一比一原版贝德福特大学毕业证学位证书
 
Beyond Inbound: Unlocking the Secrets of API Egress Traffic Management
Beyond Inbound: Unlocking the Secrets of API Egress Traffic ManagementBeyond Inbound: Unlocking the Secrets of API Egress Traffic Management
Beyond Inbound: Unlocking the Secrets of API Egress Traffic Management
 
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书
一比一原版(NYU毕业证书)美国纽约大学毕业证学位证书
 
@OBAT ABORSI 3 BULAN@ OBAT PENGGUGUR KANDUNGAN 3 BULAN (087776558899)
@OBAT ABORSI 3 BULAN@ OBAT PENGGUGUR KANDUNGAN 3 BULAN (087776558899)@OBAT ABORSI 3 BULAN@ OBAT PENGGUGUR KANDUNGAN 3 BULAN (087776558899)
@OBAT ABORSI 3 BULAN@ OBAT PENGGUGUR KANDUNGAN 3 BULAN (087776558899)
 
一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理一比一原版美国北卡罗莱纳大学毕业证如何办理
一比一原版美国北卡罗莱纳大学毕业证如何办理
 
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
一比一原版(毕业证书)新加坡南洋理工学院毕业证原件一模一样
 
APNIC Updates presented by Paul Wilson at CaribNOG 27
APNIC Updates presented by Paul Wilson at  CaribNOG 27APNIC Updates presented by Paul Wilson at  CaribNOG 27
APNIC Updates presented by Paul Wilson at CaribNOG 27
 
Free scottie t shirts Free scottie t shirts
Free scottie t shirts Free scottie t shirtsFree scottie t shirts Free scottie t shirts
Free scottie t shirts Free scottie t shirts
 
Free on Wednesdays T Shirts Free on Wednesdays Sweatshirts
Free on Wednesdays T Shirts Free on Wednesdays SweatshirtsFree on Wednesdays T Shirts Free on Wednesdays Sweatshirts
Free on Wednesdays T Shirts Free on Wednesdays Sweatshirts
 
一比一原版布兰迪斯大学毕业证如何办理
一比一原版布兰迪斯大学毕业证如何办理一比一原版布兰迪斯大学毕业证如何办理
一比一原版布兰迪斯大学毕业证如何办理
 
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
Registry Data Accuracy Improvements, presented by Chimi Dorji at SANOG 41 / I...
 
一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理一比一原版英国格林多大学毕业证如何办理
一比一原版英国格林多大学毕业证如何办理
 
HUMANIZE YOUR BRAND - FREE E-WORKBOOK Download Now
HUMANIZE YOUR BRAND - FREE E-WORKBOOK Download NowHUMANIZE YOUR BRAND - FREE E-WORKBOOK Download Now
HUMANIZE YOUR BRAND - FREE E-WORKBOOK Download Now
 

OpenID for Verifiable Credentials

  • 1. OpenID for Verifiable Credentials The next generation of OpenID Kristina Yasuda, Microsoft Dr. Torsten Lodderstedt, yes
  • 2. Issuer-Holder-Verifier Model: A Paradigm Shift Issuer Verifier Holder (Digital Wallet) Issue Credentials Present Credentials ● Verifiable credential is a tamper-evident credential with a cryptographically verifiable authorship that contains claims about a subject. ● This enables ○ decoupling issuance from presentation ○ multi-use of the credentials ○ combination of multiple credentials in a presentation
  • 3. Decentralized Identity around you Use Case 1: mobile Driving Licence Use Case 2: Vaccination QR Code
  • 4. Verifiable Credentials: Benefits - End-Users gain more control, privacy, and portability over their identity information. - Cheaper, faster, and more secure identity verification, when transforming physical credentials into digital ones using verifiable credentials. - Universal approach to handle identification, authentication, and authorization in digital and physical space - Issuers gain more flexibility
  • 5. OpenID for Verifiable Credential Issuance OpenID for Verifiable Credentials Overview Issuer (Website) Verifier (Website) Wallet (user’s device, cloud or hybrid) Issue Credentials Present Credentials Self-Issued OP v2 OpenID for Verifiable Presentations OpenID for Verifiable Presentations over BLE User Interactions
  • 6. - Most widely used identity standards today (small and big companies, government, health, open banking, mobile operators, …) - Known for simplicity, lots of library support - Security has been formally analysed, Security Recommendations are constantly evolved (e.g. through OAuth Security BCP) - Interoperability through automated Test Suites - Eases enhancement of existing OAuth/OpenID Connect implementations to support decentralized identity Build upon OAuth 2.0 and OpenID Connect
  • 7. OpenID for Verifiable Presentations (OID4VPs)
  • 10. - Query language to granularly specify what kind of credential Verifier wants. (utilizes DIF Presentation Exchange 2.0) - Verifiable Presentations* are returned in a newly defined VP Token - Simple overall architecture, e.g. device local communication when same device flow is used OpenID for Verifiable Presentations Website or App (RP) Wallet OP Alice ⓪ User tries to get access to a resource Stored Verifiable Credentials ② Wallet issues Verifiable Presentation(s) in VP Token ① RP requests Credential(s) *can be any credential/presentation format, not limited to not limited to W3C Verifiable Credentials.
  • 11. Using OpenID4VCs as an authentication protocol to present and issue credentials allows implementers to choose a combination of DID methods, credential formats and other components of the SSI tech stack. OID4VCs allows variety of choices in the VC Tech Stack VC Tech Stack component Implementer’s choices when using OpenID4VC Identifiers Any DID method (End-Users, Verifiers, Issuers) JWK Thumbprint (End-Users - `sub` in the ID Token) Credential Format Any credential format (AnonCreds, LDP-VC, JWT-VC, ISO mDL, JWP, etc.) credential format survey started at IIW XXXIV Revocation Any mechanism (Status List 2021, etc.) additional trust mechanisms Any mechanism (.well-known DID configuration, etc.) Cryptography Any cryptosuite (EdDSA, ES256K, etc.)
  • 12. Presentation Request { "id": "example_ldp_vc", "input_descriptors": [ { "id": "id_card_credential", "format": { "ldp_vc": { "proof_type": [ "Ed25519Signature2018" ] } }, "constraints": { "fields": [ { "path": [ "$.type" ], "filter": { "type": "array", "contains": { "const": "IDCredential" } } } ] } } ] } GET /authorize? response_type=vp_token &client_id=https%3A%2F%2Fclient.example.org%2Fcb &redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb &presentation_definition=... &nonce=n-0S6_WzA2Mj HTTP/1.1 Host: wallet.example.com presentation_definition
  • 13. Presentation Response { "definition_id": "example_ldp_vc", "id": "example_ldp_vc_presentation_submission", "descriptor_map": [ { "id": "id_credential", "path": "$", "format": "ldp_vp", "path_nested": { "format": "ldp_vc", "path": "$.verifiableCredential[0]" } } ] } { "@context": [ "https://www.w3.org/2018/credentials/v1" ], "type": [ "VerifiablePresentation" ], "verifiableCredential": [ { "@context": [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ], "id": "https://example.com/credentials/1872", "type": [ "VerifiableCredential", "IDCredential" ], "issuer": { "id": "did:example:issuer" }, "issuanceDate": "2010-01-01T19:23:24Z", "credentialSubject": { "given_name": "Max", "family_name": "Mustermann", "birthdate": "1998-01-11", "address": { "street_address": "Sandanger 25", "locality": "Musterstadt", "postal_code": "123456", presentation_submission vp_token HTTP/1.1 302 Found Location: https://client.example.org/cb# presentation_submission=... &vp_token=...
  • 15. Self-Issued OP v2 Website (RP) User Agent OP Trust in cryptographically verifiable identifier ② OP on the user device issues subject-signed ID Token Alice ⓪ User tries to access a resource ① RP requests ID Token - SIOP v2 allows users to authenticate towards RPs using self-controlled identifiers - ID Tokens are signed with user-controlled key material (pseudonymous authentication with pairwise subject identifiers) - Can be used in combination with OD4VPs, when the use case requires end-user authentication
  • 16. VC presentation and Authentication using OID4VPs & SIOP v2 - Simple & secure protocol based on OAuth 2.0 - Uniform protocol across different credential formats - Same device & cross device scenarios, offline - Privacy preserving mutual authentication of RP and wallet - Pseudonymous authentication of End-User to RPs through SIOP v2 - Works well with OAuth for authorization of API-based payments (e.g. PSD2) and remote signature creation (e.g. CSC) - Note: referenced by draft ISO/IEC 18013-7 and 23220-4 Mobile Driving Licences related specifications as a data release method
  • 17. OpenID for Verifiable Credential Issuance (OID4VCI)
  • 18. Issuer Initiates Process (same device)
  • 19. Issuer Initiates Process (cross device)
  • 20. Wallet Initiates Process (e.g. during presentation)
  • 21. Credential Issuer Website or App (RP) Wallet OP Alice ⓪ User tries to log in RP Stored Verifiable Credentials ② Wallet issues Verifiable Presentation(s) ① RP requests Credential(s) ⓪ Wallet requests & User authorizes credential issuance ③ Credential is issued ① access token(, refresh token) ② Wallet requests credential issuance Credential issuance via simple OAuth-authorized API OpenID for Verifiable Credential Issuance
  • 22. - Issuance via OAuth-protected Credential Endpoint - Two authorization flows: - Code flow (others OAuth 2.0 grant types possible): authorization for one or more credentials at the Authorization Endpoint once the wallet is invoked - Pre-authorized code flow (new grant type): authorization for one or more credentials prior to the Wallet being invoked. - Supports different methods for the Wallet to prove possession of key material used to bind credential Design Principles
  • 23. Example: Authorization Request HTTP/1.1 302 Found Location: https://server.example.com/authorize? response_type=code &client_id=s6BhdRkqt3 &code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM &code_challenge_method=S256 &scope=https://example.org/idcard &redirect_uri=https://client.example.org/cb
  • 24. Example: Credential Issuance HTTP/1.1 200 OK Content-Type: application/json Cache-Control: no-store Pragma: no-cache { "format": "ldp_vc_json", "credential" : "eyJjcmVkZW50a...d0MifQ==" } POST /credential HTTP/1.1 Host: server.example.com Content-Type: application/json Authorization: BEARER czZCaGRSa3F0MzpnWDFmQmF0M2JW { "format": "jwt_vc_json", "types": [ "VerifiableCredential", "IDCardcard" ], "proof": { "proof_type": "jwt", "jwt":"eyJraWQiOiJkaWQ6…aZKPxgihac0aW9EkL1nOzM" } } Request Response
  • 25. Example: Issued Credential { "iss": "https://example.com/issuers/565049", "nbf": 1262304000, "jti": "http://example.com/credentials/3732", "vc": { "@context": [ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1" ], "type": [ "VerifiableCredential", "IDCard" ], "credentialSubject": { "id": "did:example:ebfeb1f712ebc6f1c276e12ec21", "given_name": "Erika", "family_name": "Mustermann", "birthdate": "1973-01-01" } } }
  • 26. VC issuance using OID4VCI ● Simple & Secure OAuth protected API ○ Can be built & operated on top of existing OAuth libraries/deployments ○ Simple way for existing AS/IDPs to become PID/(Q)EAA issuers ○ Leverages OAuth security mechanisms ● Customizable for different credential formats, proof of possession and attestation methods ● Hardware-backed key material for cryptographic binding of attribute attestations (leveraging HSMs, SEs, TEEs) ● Same device and cross device scenarios ● Mutual authentication of wallet and issuer ● Note: referenced by draft ISO 23220-3 electronic ID specification
  • 27. - First Implementer’s Drafts of OID4VPs and SIOP v2 approved - Latest Changes and Work in Progress - Documented design patterns for issuance with high security requirements - Added batch issuance & credential issuer metadata - Added text on credential format profiles - Adding presentation via BLE - Working on overall security analysis - Targeting further implementers drafts for whole spec family soon Status
  • 28. - EU’s eIDAS v2 Architecture & Reference Framework - The European Blockchain Services Infrastructure (EBSI) - Finnish ID - Microsoft - Mattr - IDunion - walt.id & yes.com & BCDiploma (eSSIF-Lab) - Talao.io Planned and ongoing implementations - Workday - Ping Identity - Trinsic/Dentity (incl. Auth0 plugin) - Convergence.Tech - Sphereon - Gimly - CAS Software AG - Verimi/Deutsche Telekom - Gen (Avast, Evernym)
  • 29. Open Source projects • Walt-id • https://github.com/walt-id/waltid-ssikit • Sphereon • https://github.com/Sphereon-Opensource/SIOP-OpenID4VP • https://github.com/Sphereon-Opensource/OpenID4VCI-client • https://github.com/Sphereon-Opensource/ssi-sdk • Microsoft • https://github.com/microsoft/VerifiableCredential-SDK-Android • https://github.com/microsoft/VerifiableCredential-SDK-iOS • Spruce • https://github.com/spruceid/oidc4vci-rs • https://github.com/spruceid/oidc4vci-issuer
  • 30. Whitepaper “OpenID for Verifiable Credentials” - target audience: decision-makers, architects and implementers interested in the concepts, use-cases and architecture when verifiable credentials are used. - goal: inform and educate the readers about this work to assist in the decision-making process. - where: http://openid.net/wordpress-content/uploads/2022/05/ OIDF-Whitepaper_OpenID-for-Verifiable-Credentials_FINAL_2022-05-12.pdf - Blog Post: https://openid.net/2022/05/12/openid-for-verifiable-credentials-whitepaper/
  • 31. Call to Action 1. Implement the specifications to unlock your use cases and provide us feedback (mailing list) • https://openid.net/specs/openid-4-verifiable-presentations-1_0.html • https://openid.net/specs/openid-connect-self-issued-v2-1_0.html • https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html 2. Read the whitepaper and stay up to date with the recent developments
  • 32. Specifications • Latest information can be found at https://openid.net/openid4vc/ • Specifications • https://openid.net/specs/openid-4-verifiable-presentations-1_0.html • https://openid.net/specs/openid-connect-self-issued-v2-1_0.html • https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html
  • 33. Q&A