OpenID 4 Verifiable Credentials + HAIP (Update)

OpenID for Verifiable Credentials
The next generation of OpenID
Kristina Yasuda, Microsoft
Paul Bastian, Bundesdruckerei
Dr. Torsten Lodderstedt, Tuconic
What is Decentralized Identity?
Issuer
(Website)
Verifier
(Website)
Wallet
(user’s device,
cloud or hybrid)
Credential
Issuance
Credential
Presentation
User Interactions
● The User presenting the Identity data directly to the Verifier from the Wallet
○ <> In the federated model where Identity data is sent directly from the IdP to the Verifier
● Usually expressed with the flow below:
Verifiable Credentials: Benefits
● End-Users gain more privacy, and portability over their identity
information.
● Cheaper, faster, and more secure identity verification, when transforming
physical credentials into digital ones.
● Universal approach to handle identification, authentication, and
authorization in digital and physical space.
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Why Protocol Layer Interoperability is Crucial.
Credential
Issuance
Credential
Presentation
One entity needs to talk to the large the number of entities, to increase the value of “Decentralized
Identity”.
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
User Interactions
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Issuer
(Website)
Wallet
(user’s device,
cloud or
hybrid)
Verifier
(Website)
Issuer
(Website)
Problems we identified and how we solved them
Problem Solution
A lot of entirely new Protocols. (Hard to get
security right, steep learning curve)
⇒
Building upon currently widely used protocols:
OAuth 2.0 and OpenID Connect. (Secure, already
understood)
No clear winner among Credential Formats ⇒ Designing a protocol agnostic to the Credential
Formats.
No one way to do key management. ⇒ Designing a protocol agnostic to the key
management mechanism.
Participating entities cannot typically
establish trust upfront, using traditional
mechanisms.
⇒ Flexibility in Trust Management. Third Party Trust.
OpenID for Verifiable
Credential Issuance
...so here comes OpenID for Verifiable Credentials (OID4VC)!
Issuer
(Website)
Verifier
(Website)
Wallet
(user’s device,
cloud or hybrid)
Credential
Issuance
Credential
Presentation
User Interactions
OpenID for Verifiable
Presentations
Self-Issued OP v2
Adoption (selected use-cases)
The European Digital Identity
Wallet[1], ARF v.1.1: “the EUDI Wallet
Solution MUST support
OpenID4VCI as an Issuance protocol.
Member States are free to include
additional issuance protocol
alternatives in their national solutions.”
NIST National Cybersecurity
Center of Excellence[2] is
running a project implementing
and testing implementations for
OID4VP to present mdocs/mDL.
DIF JWT VC Issuance /
Presentation Profile [3] [4] uses
OID4VC protocols for the
enterprise identity use-cases:
fraud prevention in B2B, B2E
scenarios.
[1] https://cloudsignatureconsortium.org/new-eu-eidas-regulation-a-quantum-leap-for-electronic-identity/ [2] https://www.nccoe.nist.gov/projects/digital-identities-mdl
[3] https://identity.foundation/jwt-vc-issuance-profile/ [4] https://identity.foundation/jwt-vc-presentation-profile/
1. Walt.id
○ https://github.com/walt-id/waltid-ssikit (Kotlin)
2. Sphereon
○ https://github.com/Sphereon-Opensource/SIOP-OpenID4VP
(Typescript)
○ https://github.com/Sphereon-Opensource/OpenID4VCI-client
(Typescript)
○ https://github.com/Sphereon-Opensource/ssi-sdk (Typescript)
3. Microsoft
○ https://github.com/microsoft/VerifiableCredential-SDK-Android
(Kotlin)
○ https://github.com/microsoft/VerifiableCredential-SDK-iOS
(Swift)
4. Spruce
○ https://github.com/spruceid/oidc4vci-rs (Rust)
○ https://github.com/spruceid/oidc4vci-issuer (Rust)
5. EBSI
○ https://api-pilot.ebsi.eu/docs/libraries (Javascript)
Open Source libraries
6. Impierce Technologies
○ https://github.com/impierce/openid4vc (Rust)
7. Animo
○ https://github.com/animo/paradym-wallet
(Typescript)
8. Trustbloc
○ https://github.com/trustbloc/vcs (Go)
○ https://github.com/trustbloc/wallet-sdk (Go)
9. Italian Government
○ https://github.com/italia/eudi-wallet-it-python
(Python)
○ https://github.com/italia/eudi-wallet-it-pid-provi
der/tree/v.1.1.1 (Python)
● A light-weight, low-cost, self-certification program to serve members, drive
adoption and promote high-quality implementations (since 2015~)
● 2,400+ total certifications to date!
● Benefits (there are more!)
○ Testers get direct support from the OIDF certification team
○ Internationally recognized, award winning
○ Updated as the specification evolves
● Current progress
○ Started development for OpenID for Verifiable Presentations. initial focus is on testing wallets.
○ OpenID for Verifiable Credential Issuance planned
● Things to know
○ Strictly tests protocol specification conformance and does not test what happens inside the wallet
○ Can be integrated in continuous development and deployment processes
○ Tests are open source
OpenID Foundation Certification for OID4VC specs
● “Security and Trust in OpenID for Verifiable Credentials”
○ Describes the trust architecture in OpenID for Verifiable Credentials, outlines security
considerations and requirements for the components in an ecosystem.
● Results of the formal security analysis of OpenID for VC protocols were also
presented at the OAuth Security Workshop in August: “Protocols are secure
under the assumptions made”. Official publication shortly.
OID4VC Formal Security Analysis
Let us tell you more about the protocol
OpenID for Verifiable Credential Issuance (Highlights)
- It’s an OAuth-protected API (Credential Endpoint at the Resource Server)
○ Leverages existing OAuth features and implementations
○ Easy of use for developers
- Supports various Security levels (including high security with hardware bound
keys)
- Various business requirements supported (ex. remote and in-person
provisioning)
- Different user-experiences can be achieved (multiple ways to initiate the flow)
- Issuer can check Wallet’s capabilities & Wallet can discover Issuer metadata
Wallet
⓪ Wallet requests & User authorizes
credential issuance
③ Credential is issued
① access token(, refresh token)
② Wallet requests credential issuance
Protocol Flow
Alice
Credential
Issuer
Authorization Code Flow
Pre-Authorized Code Flow
Authorization Code Flow (Overview)
Pre-Authorized Code Flow (Overview)
Credential Offer
{
"credential_issuer": "https://credential-issuer.example.com",
"credentials": [
{
"format": "vc+sd-jwt",
"type": "Identity"
}],
"grants": {
"urn:ietf:params:oauth:grant-type:pre-authorized_code": {
"pre-authorized_code": "9JSsozW2G2cluWcyCqHK",
"user_pin_required": true
}
}
}
Example: Token Request
POST /token HTTP/1.1
Host: credential-issuer.example.com
Content-Type: application/x-www-form-urlencoded
grant_type=urn:ietf:params:oauth:grant-type:pre-authorized_code
&pre-authorized_code=SplxlOBeZQQYbYS6WxSbIA
&user_pin=493536
Example: Credential Issuance
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
"format": "vc+sd-jwt",
"credential" : "eyJhbGciOiAiRVMyNTYifQ.eyJfc2QiOiBbIl
...
gImVtYWlsIiwgInRlc3RAZXhhbXBsZS5jb20iXQ"
}
POST /credential HTTP/1.1
Host: credential-issuer.example.com
Content-Type: application/json
Authorization: BEARER czZCaGRSa3F0MzpnWDFmQmF0M2JW
{
"format":"vc+sd-jwt",
"type":"Identity",
"proof":{
"proof_type":"jwt",
"jwt":"eyJhbGciOiJFUzI1NiIsInR5cCI6Im9wZW5pZDR2Y2ktcHJvb2Yrand0Iiw
...
jhe0xQmfIBCQz20xVjaM91ODdIt5JX_ztrcq4nkglH907Ofbugg"
}
}
Request Response
Example: Issued Credential
{
"iss": "https://credential-issuer.example.com",
"iat": 1516239022,
"exp": 1516247022,
"type": "Identity",
"_sd": [
"UiuRGkTW7e_5UQauGeQRQdF8u3WYevS4Fs0IuB_DgYM",
"tmPlXq0MID-oRXbUNHyoVZrc9Qkm8cwJTohVyOVlUgQ",
"vTz0JI103v4k4pKIloT83Yzi33L1SdZlWBPmsfJBefk"
],
"_sd_alg": "sha-256",
"cnf": {
"jwk": {
"kty": "EC",
"crv": "P-256",
"x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc",
"y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ"
}
}
}
OpenID for Verifiable Presentations (Highlights)
- Designed for highest degree of privacy
- Easy of use for developers
- Supports various Security levels (e.g. mutual authentication among the parties)
- Different user-experiences can be achieved (same-device and cross-device)
- Presentation of multiple Credentials supported
- Various Wallet deployment models supported
- All local to a native app
- Native app with cloud backend
- Web wallet
Same Device Presentation
Cross Device Presentation
Same Device (Overview)
Cross-Device Flow (VP Token sent via HTTP POST)
Same Device (VP Token sent via HTTP POST + redirect)
Presentation Request
{
"id":"mDL-sample-req",
"input_descriptors":[
{
"id":"org.iso.18013.5.1.mDL",
"format":{
"mso_mdoc":{
"alg":[
"EdDSA",
"ES256"
]
},
},
"constraints":{
"limit_disclosure":"required",
"fields":[
{
"path":[
"$['org.iso.18013.5.1']['family_name']"
],
"intent_to_retain":false
}
{
"path":[
"$['org.iso.18013.5.1']['driving_privileges']"
],
"intent_to_retain":false
}
]
}
}
]
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": "mDL-sample-req",
"id": "org.iso.18013.5.1.mDL",
"descriptor_map": [
{
"id": "mDL",
"format": "mso_mdoc",
"path": "$"
}
]
}
presentation_submission
vp_token
HTTP/1.1 302 Found
Location: https://client.example.org/cb#
presentation_submission=...
&vp_token=...
{
"status": 0,
"version": "1.0",
"documents": [
{
"docType": "org.iso.18013.5.1.mDL",
"deviceSigned": {
"deviceAuth": {
"deviceMac": [
<< {1: 5} >>,
{},
null, h'A574C64F18902BFE18B742F17C581218F88EA279AA
]
},
"nameSpaces": 24(h'A0')
},
"issuerSigned": {
"issuerAuth": [
<< {1: -7} >>,
{
33:
h'30820215308201BCA003020102021404AD06A30C1A6DC6E93BE0E2E8F78DCAFA7907C230
040613025A453059301306072A8648CE3D020106082A8648CE3D030107034200047C5545E9
000E9C46618C02202C1F778AD252285ED05D9B55469F1CB78D773671F30FE7AB8153719423
},
<<
24(<<
{
"docType": "org.iso.18013.5.1.mDL",
"version": "1.0",
OpenID for Verifiable Credential Issuance
New additions to the family coming!
Self-Issued OP v2
OpenID for Verifiable Presentations
OpenID for Verifiable Presentations over BLE
Security and Trust in OpenID for Verifiable Credentials
Core specs
additions
Certification Suite
OID4VC High Assurance Interoperability Profile with SD-JWT VC
Issuer
(Website)
Verifier
(Website)
Wallet
(user’s device,
cloud or hybrid)
Issue Credentials Present Credentials
User Interactions
Latest Updates
- Formal Security Analysis of Issuance and Presentation is about to be published.
- Automated Conformance Tests for Wallets (Presentation) are available (1st revision).
- Growing number of Open Source Implementations.
- OpenID4VC driving convergence at the protocol layer. Getting traction in the
- Aries community (.NET and JS Framework are being extended to support OID4VC)
- mdoc community (18013-7, 23220-4, 23220-3)
- etc.
OID4VC High Assurance Interoperability
Profile with SD-JWT VC
OpenID4VC as Framework vs Profiles
- Interoperability requires instantiation of OpenID 4 VC with concrete
- Definition of “Mandatory to Implement” elements of the protocols, e.g. grant
types & response types
- Custom scheme for wallet invocation
- Definition of authentication mechanisms for Verifiers and Wallets
- Credential Format(s) with
■ issuer identification and key resolution
■ holder key binding
- Crypto algorithms
- Instantiation designated as “Profile”
OID4VC High Assurance Interoperability Profile with SD-JWT VC
- Interoperability across parties while being
- Privacy preserving and
- able to fulfill security and regulatory requirements
- Intended audience
- Proposal for eIDAS ARF (through OIDF/EC liaison)
- CA DMV wallet
- Basis for OWF project(s)
- IDunion Tech Stack
- GAIN PoC
- Japanese government (Trusted Web project)
- Basis for Userinfo
- other jurisdictions
- private companies / infrastructure companies
OID4VC High Assurance Interoperability Profile with SD-JWT VC
SIOPv2 OID4VP OID4VCI
custom scheme
crypto suites
custom scheme
credential profile
client id scheme
custom scheme
credential profile
wallet attestation
scheme
Protocols
Attestation based Client
Authentication
crypto suites
issuer key resolution
Wallet Attestation Scheme
Credential profile: SD-JWT VC
SD-JWT VC
JWT/CWT
Statuslist
crypto suites
issuer key resolution
crypto suites
issuer key resolution
- Custom Scheme: haip://
- issuer key resolution:
web-based, x509
- Crypto Suites:
P-256(secp256r1), SHA256
Basic Choices
● Authenticated issuer identifiers as
basis for trust management
● Trust Management Mechanism
can be defined on top
Note: Similar profile for ISO mdoc is being worked on for 18013-7, 23220-4 and -3
IETF OAuth WG adopted draft IETF OAuth WG adopted draft
Credential Format
- SD-JWT VC with JSON payload (“typ”: “vc+sd-jwt”)
- both compact and JSON serialization
- Issuer identification and key resolution
1. Web PKI based:
■ issuer URL (“iss” claim) used to obtain jwks_uri
■ key id in the “kid” JWS header
2. x.509:
■ x.509 cert chain in the “x5c” JWS header
■ issuer URL (“iss” claim) MUST be Subject Alternative Name (dnsName)
in x.509 cert
- Key binding:
- raw public key (jwk) in “cnf” JWT claim
- Credential Revocation: Bitmap type style Status list using JWTs
SD-JWT VC
with web PKI based Issuer key resolution
{
"alg": "ES256",
"typ": "vc+sd-jwt",
"kid":"4"
}
{
"iss": "https://credential-issuer.example.com",
"iat": 1516239022,
"exp": 1516247022,
"type": "Identity",
"_sd": [
"UiuRGkTW7e_5UQauGeQRQdF8u3WYevS4Fs0IuB_DgYM",
"tmPlXq0MID-oRXbUNHyoVZrc9Qkm8cwJTohVyOVlUgQ",
"vTz0JI103v4k4pKIloT83Yzi33L1SdZlWBPmsfJBefk"
],
"_sd_alg": "sha-256",
"cnf": {
"jwk": {
"kty": "EC",
"crv": "P-256",
"x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc",
"y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ"
}
},
"status": {
"idx": "0,",
"uri": "https://example.com/statuslists/1"
}
}
SD-JWT VC
with x.509 Issuer key resolution
{
"alg": "ES256",
"typ": "vc+sd-jwt",
"x5c": [
"MIICOjCCAeG...djzH7lA==",
"MIICLTCCAdS...koAmhWVKe"
]
}
{
"iss": "https://credential-issuer.example.com",
"iat": 1516239022,
"exp": 1516247022,
"type": "Identity",
"_sd": [
"UiuRGkTW7e_5UQauGeQRQdF8u3WYevS4Fs0IuB_DgYM",
"tmPlXq0MID-oRXbUNHyoVZrc9Qkm8cwJTohVyOVlUgQ",
"vTz0JI103v4k4pKIloT83Yzi33L1SdZlWBPmsfJBefk"
],
"_sd_alg": "sha-256",
"cnf": {
"jwk": {
"kty": "EC",
"crv": "P-256",
"x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc",
"y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ"
}
},
"status": {
"idx": "0,",
"uri": "https://example.com/statuslists/1"
}
}
SD-JWT VC
with OpenID Connect Federation Trust Chain
{
"alg": "ES256",
"typ": "vc+sd-jwt",
"trust_chain" = [
$EntityConfiguration-as-SignedJWT-selfissued-byLeaf,
$EntityStatement-as-SignedJWT-issued-byTrustAnchor
]
}
{
"iss": "https://credential-issuer.example.com",
"iat": 1516239022,
"exp": 1516247022,
"type": "Identity",
"_sd": [
"UiuRGkTW7e_5UQauGeQRQdF8u3WYevS4Fs0IuB_DgYM",
"tmPlXq0MID-oRXbUNHyoVZrc9Qkm8cwJTohVyOVlUgQ",
"vTz0JI103v4k4pKIloT83Yzi33L1SdZlWBPmsfJBefk"
],
"_sd_alg": "sha-256",
"cnf": {
"jwk": {
"kty": "EC",
"crv": "P-256",
"x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc",
"y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ"
}
},
"status": {
"idx": "0,",
"uri": "https://example.com/statuslists/1"
}
}
SD-JWT VC (decoded)
{
"iss": "https://credential-issuer.example.com"
,
"iat": 1541493724,
"exp": 1541494724,
"type": "Identity",
"given_name": "Erika",
"family_name": "Mustermann",
"cnf": {
"jwk": {
"kty": "EC",
"crv": "P-256",
"x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc"
,
"y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ"
}
}
"status": {
"idx": "0,",
"uri": "https://example.com/statuslists/1"
}
}
OpenID for Verifiable Credential Issuance
- custom scheme “haip://” for wallet invocation
- Pre-authorized and authorization code flow are both required.
- Wallet Attestation & Authentication with sender-constrained JWTs
- Sender-constrained Tokens using DPoP required
Issuance with Authorization Code and Wallet Attestation
● Extends the established framework of
RFC7521 for a new form of client
authentication
● Client instance obtains an attestation from
client backend
● Client backend may perform any number of
security checks before issuing a key-bound
attestation JWT to the client instance
● Client instance authenticates towards
Authorization server during a Token or PAR
Request
● Note - how the client communicates with the
client backend in steps 2&4 are out of scope
● Draft adopted by IETF OAuth WG
OAuth2 Attestation-Based Client Authentication
Wallet Attestation JWT
{
"iss": "https://attester.example.com"
,
"sub": "https://client.example.com"
,
"iat": 1516247022,
"exp": 1541493724,
"aal" : "https://trust-list.eu/aal/high
",
"cnf": {
"jwk": {
"kty": "EC",
"crv": "P-256",
"x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc"
,
"y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ"
},
"key_type": "STRONGBOX", //optional
"user_authentication"
: "SYSTEM_PIN", //optional
}
}
{
"typ": "wallet-attestation+jwt"
,
"alg": "ES256",
"kid": "1"
}
OpenID for Verifiable Presentations
- custom scheme “haip://” for wallet invocation.
- Universal presentation flow based on “direct_post” response mode for same and
cross device flows.
- Subset of the Presentation Exchange Syntax in order to simplify implementation
and prevent security issues
- Verifier Authentication with
- x.509 Certificates or
- Sender-constrained JWTs
Same Device (VP Token sent via HTTP POST + redirect)
Links
OpenID 4 Verifiable Credential Issuance
OpenID 4 Verifiable Presentation
SIOP v2
OpenID4VC High Assurance Interoperability Profile with SD-JWT VC
Security and Trust in OpenID for Verifiable Credentials Ecosystems
https://datatracker.ietf.org/doc/draft-ietf-oauth-cross-device-security/
Please engage with us: Digital Credentials Protocols (DCP) Working Group
Q & A
OID4VC High Assurance Interoperability Profile with mdocs
(18013-7, 23220-4 and -3)
SIOPv2 OID4VP OID4VCI
custom scheme
crypto suites
custom scheme
credential profile
client id scheme
custom scheme
credential profile
wallet attestation
scheme
Protocols
Attestation based Client
Authentication
crypto suites
issuer key resolution
Wallet Attestation Scheme
Credential profile: mdoc
mdoc
JWT/CWT
Statuslist
crypto suites
issuer key resolution
crypto suites
issuer key resolution
- Custom Scheme: haip://
- issuer key resolution:
x509
- Crypto Suites:
P-256(secp256r1),
brainpool curves, etc.
Basic Choices
IETF OAuth WG adopted draft
1 de 49

Recomendados

How to Build Interoperable Decentralized Identity Systems with OpenID for Ver... por
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...Torsten Lodderstedt
1.2K visualizações31 slides
OpenID for SSI por
OpenID for SSIOpenID for SSI
OpenID for SSITorsten Lodderstedt
320 visualizações34 slides
OpenID for Verifiable Credentials por
OpenID for Verifiable CredentialsOpenID for Verifiable Credentials
OpenID for Verifiable CredentialsTorsten Lodderstedt
437 visualizações33 slides
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver... por
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...Torsten Lodderstedt
135 visualizações19 slides
OpenID for Verifiable Credentials (IIW 35) por
OpenID for Verifiable Credentials (IIW 35)OpenID for Verifiable Credentials (IIW 35)
OpenID for Verifiable Credentials (IIW 35)Torsten Lodderstedt
1.1K visualizações13 slides
OpenID for Verifiable Credentials por
OpenID for Verifiable CredentialsOpenID for Verifiable Credentials
OpenID for Verifiable CredentialsTorsten Lodderstedt
933 visualizações38 slides

Mais conteúdo relacionado

Mais procurados

Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove... por
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...SSIMeetup
11.8K visualizações44 slides
OpenID for Verifiable Credentials @ IIW 36 por
OpenID for Verifiable Credentials @ IIW 36OpenID for Verifiable Credentials @ IIW 36
OpenID for Verifiable Credentials @ IIW 36Torsten Lodderstedt
227 visualizações39 slides
What are Decentralized Identifiers (DIDs)? por
What are Decentralized Identifiers (DIDs)?What are Decentralized Identifiers (DIDs)?
What are Decentralized Identifiers (DIDs)?Evernym
4.8K visualizações29 slides
Verifiable Credentials in Self-Sovereign Identity (SSI) por
Verifiable Credentials in Self-Sovereign Identity (SSI)Verifiable Credentials in Self-Sovereign Identity (SSI)
Verifiable Credentials in Self-Sovereign Identity (SSI)Evernym
498 visualizações29 slides
Overview of Decentralized Identity por
Overview of Decentralized IdentityOverview of Decentralized Identity
Overview of Decentralized IdentityJim Flynn
1.2K visualizações37 slides
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdf por
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdfVerifiable Credentials_Kristina_Identiverse2022_vFIN.pdf
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdfKristina Yasuda
237 visualizações49 slides

Mais procurados(20)

Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove... por SSIMeetup
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
SSIMeetup11.8K visualizações
OpenID for Verifiable Credentials @ IIW 36 por Torsten Lodderstedt
OpenID for Verifiable Credentials @ IIW 36OpenID for Verifiable Credentials @ IIW 36
OpenID for Verifiable Credentials @ IIW 36
Torsten Lodderstedt227 visualizações
What are Decentralized Identifiers (DIDs)? por Evernym
What are Decentralized Identifiers (DIDs)?What are Decentralized Identifiers (DIDs)?
What are Decentralized Identifiers (DIDs)?
Evernym4.8K visualizações
Verifiable Credentials in Self-Sovereign Identity (SSI) por Evernym
Verifiable Credentials in Self-Sovereign Identity (SSI)Verifiable Credentials in Self-Sovereign Identity (SSI)
Verifiable Credentials in Self-Sovereign Identity (SSI)
Evernym498 visualizações
Overview of Decentralized Identity por Jim Flynn
Overview of Decentralized IdentityOverview of Decentralized Identity
Overview of Decentralized Identity
Jim Flynn1.2K visualizações
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdf por Kristina Yasuda
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdfVerifiable Credentials_Kristina_Identiverse2022_vFIN.pdf
Verifiable Credentials_Kristina_Identiverse2022_vFIN.pdf
Kristina Yasuda237 visualizações
Hyperledger Aries: Open Source Interoperable Identity Solution – Nathan George por SSIMeetup
Hyperledger Aries: Open Source Interoperable Identity Solution – Nathan GeorgeHyperledger Aries: Open Source Interoperable Identity Solution – Nathan George
Hyperledger Aries: Open Source Interoperable Identity Solution – Nathan George
SSIMeetup6.1K visualizações
SSI DIDs VCs 入門資料 por KAYATO SAITO
SSI DIDs VCs 入門資料SSI DIDs VCs 入門資料
SSI DIDs VCs 入門資料
KAYATO SAITO299 visualizações
The European Union goes Decentralized por Torsten Lodderstedt
The European Union goes DecentralizedThe European Union goes Decentralized
The European Union goes Decentralized
Torsten Lodderstedt502 visualizações
Introduction to Self Sovereign Identity por Heather Vescent
Introduction to Self Sovereign IdentityIntroduction to Self Sovereign Identity
Introduction to Self Sovereign Identity
Heather Vescent1.4K visualizações
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15 por OpenID Foundation Japan
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
IDA,VC,DID関連仕様 最新情報 - OpenID BizDay #15
OpenID Foundation Japan1.2K visualizações
Digital Identity Wallets: What They Mean For Banks por Evernym
Digital Identity Wallets: What They Mean For BanksDigital Identity Wallets: What They Mean For Banks
Digital Identity Wallets: What They Mean For Banks
Evernym427 visualizações
The Shift from Federated to Decentralized Identity por Evernym
The Shift from Federated to Decentralized IdentityThe Shift from Federated to Decentralized Identity
The Shift from Federated to Decentralized Identity
Evernym386 visualizações
What is self-sovereign identity (SSI)? por Evernym
What is self-sovereign identity (SSI)?What is self-sovereign identity (SSI)?
What is self-sovereign identity (SSI)?
Evernym1.2K visualizações
FIDO Authentication: Unphishable MFA for All por FIDO Alliance
FIDO Authentication: Unphishable MFA for AllFIDO Authentication: Unphishable MFA for All
FIDO Authentication: Unphishable MFA for All
FIDO Alliance511 visualizações
Introduction to Self Sovereign Identity - IIW October 2019 por Heather Vescent
Introduction to Self Sovereign Identity - IIW October 2019Introduction to Self Sovereign Identity - IIW October 2019
Introduction to Self Sovereign Identity - IIW October 2019
Heather Vescent996 visualizações
Self-issued OpenID Provider_OpenID Foundation Virtual Workshop por Kristina Yasuda
Self-issued OpenID Provider_OpenID Foundation Virtual Workshop Self-issued OpenID Provider_OpenID Foundation Virtual Workshop
Self-issued OpenID Provider_OpenID Foundation Virtual Workshop
Kristina Yasuda662 visualizações
自己主権型IDと分散型ID por Naohiro Fujie
自己主権型IDと分散型ID自己主権型IDと分散型ID
自己主権型IDと分散型ID
Naohiro Fujie5K visualizações

Similar a OpenID 4 Verifiable Credentials + HAIP (Update)

How to Build Interoperable Decentralized Identity Systems with OpenID for Ver... por
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...Torsten Lodderstedt
56 visualizações19 slides
Microservices security - jpmc tech fest 2018 por
Microservices security - jpmc tech fest 2018Microservices security - jpmc tech fest 2018
Microservices security - jpmc tech fest 2018MOnCloud
195 visualizações41 slides
OpenID Connect 4 SSI (at EIC 2021) por
OpenID Connect 4 SSI (at EIC 2021)OpenID Connect 4 SSI (at EIC 2021)
OpenID Connect 4 SSI (at EIC 2021)Torsten Lodderstedt
302 visualizações28 slides
Cartes Asia Dem 2010 V2 por
Cartes Asia Dem 2010 V2Cartes Asia Dem 2010 V2
Cartes Asia Dem 2010 V2Donald Malloy
1.8K visualizações35 slides
Authentication Models por
Authentication ModelsAuthentication Models
Authentication ModelsRaj Chanchal
2.5K visualizações7 slides
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect" por
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"Andreas Falk
341 visualizações35 slides

Similar a OpenID 4 Verifiable Credentials + HAIP (Update)(20)

How to Build Interoperable Decentralized Identity Systems with OpenID for Ver... por Torsten Lodderstedt
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...
Torsten Lodderstedt56 visualizações
Microservices security - jpmc tech fest 2018 por MOnCloud
Microservices security - jpmc tech fest 2018Microservices security - jpmc tech fest 2018
Microservices security - jpmc tech fest 2018
MOnCloud195 visualizações
OpenID Connect 4 SSI (at EIC 2021) por Torsten Lodderstedt
OpenID Connect 4 SSI (at EIC 2021)OpenID Connect 4 SSI (at EIC 2021)
OpenID Connect 4 SSI (at EIC 2021)
Torsten Lodderstedt302 visualizações
Cartes Asia Dem 2010 V2 por Donald Malloy
Cartes Asia Dem 2010 V2Cartes Asia Dem 2010 V2
Cartes Asia Dem 2010 V2
Donald Malloy1.8K visualizações
Authentication Models por Raj Chanchal
Authentication ModelsAuthentication Models
Authentication Models
Raj Chanchal2.5K visualizações
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect" por Andreas Falk
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"
Andreas Falk341 visualizações
Microservice Protection With WSO2 Identity Server por Anupam Gogoi
Microservice Protection With WSO2 Identity ServerMicroservice Protection With WSO2 Identity Server
Microservice Protection With WSO2 Identity Server
Anupam Gogoi1.1K visualizações
OpenID Connect Explained por Vladimir Dzhuvinov
OpenID Connect ExplainedOpenID Connect Explained
OpenID Connect Explained
Vladimir Dzhuvinov11.3K visualizações
Cloud Identity Webinar por WSO2
Cloud Identity WebinarCloud Identity Webinar
Cloud Identity Webinar
WSO21.1K visualizações
Kerberos-PKI-Federated identity por WAFAA AL SALMAN
Kerberos-PKI-Federated identityKerberos-PKI-Federated identity
Kerberos-PKI-Federated identity
WAFAA AL SALMAN468 visualizações
WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE por Profesia Srl, Lynx Group
 WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE
WSO2 ITALIA SMART TALK #3 WSO2 IS NEW FEATURE
Profesia Srl, Lynx Group3 visualizações
ASP.NET Single Sign On por leastprivilege
ASP.NET Single Sign OnASP.NET Single Sign On
ASP.NET Single Sign On
leastprivilege3.9K visualizações
Value proposition of SSI tech providers - Self-Sovereign Identity por SSIMeetup
Value proposition of SSI tech providers - Self-Sovereign IdentityValue proposition of SSI tech providers - Self-Sovereign Identity
Value proposition of SSI tech providers - Self-Sovereign Identity
SSIMeetup191 visualizações
Decentralized Identifiers por Markus Sabadello
Decentralized IdentifiersDecentralized Identifiers
Decentralized Identifiers
Markus Sabadello355 visualizações
SmartCard Forum 2009 - OpenTrust SCM por OKsystem
SmartCard Forum 2009 - OpenTrust SCMSmartCard Forum 2009 - OpenTrust SCM
SmartCard Forum 2009 - OpenTrust SCM
OKsystem1.8K visualizações
EUDI wallets with OpenID for verifiable credentials (OID4VCI/OID4VP) por Lal Chandran
EUDI wallets with OpenID for verifiable credentials (OID4VCI/OID4VP)EUDI wallets with OpenID for verifiable credentials (OID4VCI/OID4VP)
EUDI wallets with OpenID for verifiable credentials (OID4VCI/OID4VP)
Lal Chandran45 visualizações
Auth proxy pattern on Kubernetes por Michał Wcisło
Auth proxy pattern on KubernetesAuth proxy pattern on Kubernetes
Auth proxy pattern on Kubernetes
Michał Wcisło479 visualizações
Blockcerts: The Open Standard for Blockchain Credentials por SSIMeetup
Blockcerts: The Open Standard for Blockchain CredentialsBlockcerts: The Open Standard for Blockchain Credentials
Blockcerts: The Open Standard for Blockchain Credentials
SSIMeetup3.9K visualizações
Introduction to Public Key Infrastructure por Theo Gravity
Introduction to Public Key InfrastructureIntroduction to Public Key Infrastructure
Introduction to Public Key Infrastructure
Theo Gravity3.2K visualizações

Mais de Torsten Lodderstedt

GAIN Presentation.pptx por
GAIN Presentation.pptxGAIN Presentation.pptx
GAIN Presentation.pptxTorsten Lodderstedt
135 visualizações16 slides
Comprehensive overview FAPI 1 and FAPI 2 por
Comprehensive overview FAPI 1 and FAPI 2Comprehensive overview FAPI 1 and FAPI 2
Comprehensive overview FAPI 1 and FAPI 2Torsten Lodderstedt
181 visualizações25 slides
Comprehensive overview FAPI 1 and 2 por
Comprehensive overview FAPI 1 and 2Comprehensive overview FAPI 1 and 2
Comprehensive overview FAPI 1 and 2Torsten Lodderstedt
377 visualizações24 slides
OpenID Connect 4 Identity Assurance at IIW #32 por
OpenID Connect 4 Identity Assurance at IIW #32OpenID Connect 4 Identity Assurance at IIW #32
OpenID Connect 4 Identity Assurance at IIW #32Torsten Lodderstedt
89 visualizações24 slides
OpenID Connect for W3C Verifiable Credential Objects por
OpenID Connect for W3C Verifiable Credential ObjectsOpenID Connect for W3C Verifiable Credential Objects
OpenID Connect for W3C Verifiable Credential ObjectsTorsten Lodderstedt
414 visualizações18 slides
Identity Assurance with OpenID Connect por
Identity Assurance with OpenID ConnectIdentity Assurance with OpenID Connect
Identity Assurance with OpenID ConnectTorsten Lodderstedt
385 visualizações23 slides

Mais de Torsten Lodderstedt(15)

GAIN Presentation.pptx por Torsten Lodderstedt
GAIN Presentation.pptxGAIN Presentation.pptx
GAIN Presentation.pptx
Torsten Lodderstedt135 visualizações
Comprehensive overview FAPI 1 and FAPI 2 por Torsten Lodderstedt
Comprehensive overview FAPI 1 and FAPI 2Comprehensive overview FAPI 1 and FAPI 2
Comprehensive overview FAPI 1 and FAPI 2
Torsten Lodderstedt181 visualizações
Comprehensive overview FAPI 1 and 2 por Torsten Lodderstedt
Comprehensive overview FAPI 1 and 2Comprehensive overview FAPI 1 and 2
Comprehensive overview FAPI 1 and 2
Torsten Lodderstedt377 visualizações
OpenID Connect 4 Identity Assurance at IIW #32 por Torsten Lodderstedt
OpenID Connect 4 Identity Assurance at IIW #32OpenID Connect 4 Identity Assurance at IIW #32
OpenID Connect 4 Identity Assurance at IIW #32
Torsten Lodderstedt89 visualizações
OpenID Connect for W3C Verifiable Credential Objects por Torsten Lodderstedt
OpenID Connect for W3C Verifiable Credential ObjectsOpenID Connect for W3C Verifiable Credential Objects
OpenID Connect for W3C Verifiable Credential Objects
Torsten Lodderstedt414 visualizações
Identity Assurance with OpenID Connect por Torsten Lodderstedt
Identity Assurance with OpenID ConnectIdentity Assurance with OpenID Connect
Identity Assurance with OpenID Connect
Torsten Lodderstedt385 visualizações
NextGenPSD2 OAuth SCA Mode Security Recommendations por Torsten Lodderstedt
NextGenPSD2 OAuth SCA Mode Security RecommendationsNextGenPSD2 OAuth SCA Mode Security Recommendations
NextGenPSD2 OAuth SCA Mode Security Recommendations
Torsten Lodderstedt391 visualizações
Rich Authorization Requests por Torsten Lodderstedt
Rich Authorization RequestsRich Authorization Requests
Rich Authorization Requests
Torsten Lodderstedt793 visualizações
Pushed Authorization Requests por Torsten Lodderstedt
Pushed Authorization RequestsPushed Authorization Requests
Pushed Authorization Requests
Torsten Lodderstedt578 visualizações
OpenID Connect for Identity Assurance por Torsten Lodderstedt
OpenID Connect for Identity AssuranceOpenID Connect for Identity Assurance
OpenID Connect for Identity Assurance
Torsten Lodderstedt553 visualizações
NextGenPSD2 OAuth SCA Mode Security Recommendations por Torsten Lodderstedt
NextGenPSD2 OAuth SCA Mode Security Recommendations NextGenPSD2 OAuth SCA Mode Security Recommendations
NextGenPSD2 OAuth SCA Mode Security Recommendations
Torsten Lodderstedt857 visualizações
Identiverse: PSD2, Open Banking, and Technical Interoperability por Torsten Lodderstedt
Identiverse: PSD2, Open Banking, and Technical InteroperabilityIdentiverse: PSD2, Open Banking, and Technical Interoperability
Identiverse: PSD2, Open Banking, and Technical Interoperability
Torsten Lodderstedt693 visualizações
OAuth 2.0 Security Reinforced por Torsten Lodderstedt
OAuth 2.0 Security ReinforcedOAuth 2.0 Security Reinforced
OAuth 2.0 Security Reinforced
Torsten Lodderstedt2.3K visualizações
OAuth Security 4 Dummies iiw#27 por Torsten Lodderstedt
OAuth Security 4 Dummies iiw#27OAuth Security 4 Dummies iiw#27
OAuth Security 4 Dummies iiw#27
Torsten Lodderstedt113 visualizações
Identity Proofing with OpenID Connect por Torsten Lodderstedt
Identity Proofing with OpenID ConnectIdentity Proofing with OpenID Connect
Identity Proofing with OpenID Connect
Torsten Lodderstedt641 visualizações

Último

We see everywhere that many people are talking about technology.docx por
We see everywhere that many people are talking about technology.docxWe see everywhere that many people are talking about technology.docx
We see everywhere that many people are talking about technology.docxssuserc5935b
6 visualizações2 slides
DU Series - Day 4.pptx por
DU Series - Day 4.pptxDU Series - Day 4.pptx
DU Series - Day 4.pptxUiPathCommunity
94 visualizações28 slides
informing ideas.docx por
informing ideas.docxinforming ideas.docx
informing ideas.docxMollyBrown86
12 visualizações10 slides
Audience profile.pptx por
Audience profile.pptxAudience profile.pptx
Audience profile.pptxMollyBrown86
12 visualizações2 slides
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf por
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdfIGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdfRIPE NCC
15 visualizações11 slides
OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ... por
OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ...OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ...
OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ...Prof. Marcus Renato de Carvalho
88 visualizações24 slides

Último(20)

We see everywhere that many people are talking about technology.docx por ssuserc5935b
We see everywhere that many people are talking about technology.docxWe see everywhere that many people are talking about technology.docx
We see everywhere that many people are talking about technology.docx
ssuserc5935b6 visualizações
DU Series - Day 4.pptx por UiPathCommunity
DU Series - Day 4.pptxDU Series - Day 4.pptx
DU Series - Day 4.pptx
UiPathCommunity94 visualizações
informing ideas.docx por MollyBrown86
informing ideas.docxinforming ideas.docx
informing ideas.docx
MollyBrown8612 visualizações
Audience profile.pptx por MollyBrown86
Audience profile.pptxAudience profile.pptx
Audience profile.pptx
MollyBrown8612 visualizações
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf por RIPE NCC
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdfIGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf
IGF UA - Dialog with I_ organisations - Alena Muavska RIPE NCC.pdf
RIPE NCC15 visualizações
OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ... por Prof. Marcus Renato de Carvalho
OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ...OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ...
OMS: Diretrizes para um controle da promoção comercial dos ditos substitutos ...
Prof. Marcus Renato de Carvalho88 visualizações
UiPath Document Understanding_Day 3.pptx por UiPathCommunity
UiPath Document Understanding_Day 3.pptxUiPath Document Understanding_Day 3.pptx
UiPath Document Understanding_Day 3.pptx
UiPathCommunity95 visualizações
IETF 118: Starlink Protocol Performance por APNIC
IETF 118: Starlink Protocol PerformanceIETF 118: Starlink Protocol Performance
IETF 118: Starlink Protocol Performance
APNIC124 visualizações
Serverless cloud architecture patterns por Jimmy Dahlqvist
Serverless cloud architecture patternsServerless cloud architecture patterns
Serverless cloud architecture patterns
Jimmy Dahlqvist17 visualizações
PORTFOLIO 1 (Bret Michael Pepito).pdf por brejess0410
PORTFOLIO 1 (Bret Michael Pepito).pdfPORTFOLIO 1 (Bret Michael Pepito).pdf
PORTFOLIO 1 (Bret Michael Pepito).pdf
brejess04107 visualizações
Opportunities for Youth in IG - Alena Muravska RIPE NCC.pdf por RIPE NCC
Opportunities for Youth in IG - Alena Muravska RIPE NCC.pdfOpportunities for Youth in IG - Alena Muravska RIPE NCC.pdf
Opportunities for Youth in IG - Alena Muravska RIPE NCC.pdf
RIPE NCC9 visualizações
google forms survey (1).pptx por MollyBrown86
google forms survey (1).pptxgoogle forms survey (1).pptx
google forms survey (1).pptx
MollyBrown8614 visualizações
zotabet.pdf por zotabetcasino
zotabet.pdfzotabet.pdf
zotabet.pdf
zotabetcasino6 visualizações
WEB 2.O TOOLS: Empowering education.pptx por narmadhamanohar21
WEB 2.O TOOLS: Empowering education.pptxWEB 2.O TOOLS: Empowering education.pptx
WEB 2.O TOOLS: Empowering education.pptx
narmadhamanohar2115 visualizações
Sustainable Marketing por Theo van der Zee
Sustainable MarketingSustainable Marketing
Sustainable Marketing
Theo van der Zee9 visualizações
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲 por Infosec train
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲
𝐒𝐨𝐥𝐚𝐫𝐖𝐢𝐧𝐝𝐬 𝐂𝐚𝐬𝐞 𝐒𝐭𝐮𝐝𝐲
Infosec train7 visualizações
UiPath Document Understanding_Day 2.pptx por RohitRadhakrishnan8
UiPath Document Understanding_Day 2.pptxUiPath Document Understanding_Day 2.pptx
UiPath Document Understanding_Day 2.pptx
RohitRadhakrishnan8282 visualizações
Existing documentaries (1).docx por MollyBrown86
Existing documentaries (1).docxExisting documentaries (1).docx
Existing documentaries (1).docx
MollyBrown8613 visualizações
Building trust in our information ecosystem: who do we trust in an emergency por Tina Purnat
Building trust in our information ecosystem: who do we trust in an emergencyBuilding trust in our information ecosystem: who do we trust in an emergency
Building trust in our information ecosystem: who do we trust in an emergency
Tina Purnat85 visualizações
childcare.pdf por fatma alnaqbi
childcare.pdfchildcare.pdf
childcare.pdf
fatma alnaqbi14 visualizações

OpenID 4 Verifiable Credentials + HAIP (Update)

  • 1. OpenID for Verifiable Credentials The next generation of OpenID Kristina Yasuda, Microsoft Paul Bastian, Bundesdruckerei Dr. Torsten Lodderstedt, Tuconic
  • 2. What is Decentralized Identity? Issuer (Website) Verifier (Website) Wallet (user’s device, cloud or hybrid) Credential Issuance Credential Presentation User Interactions ● The User presenting the Identity data directly to the Verifier from the Wallet ○ <> In the federated model where Identity data is sent directly from the IdP to the Verifier ● Usually expressed with the flow below:
  • 3. Verifiable Credentials: Benefits ● End-Users gain more privacy, and portability over their identity information. ● Cheaper, faster, and more secure identity verification, when transforming physical credentials into digital ones. ● Universal approach to handle identification, authentication, and authorization in digital and physical space.
  • 4. Issuer (Website) Issuer (Website) Issuer (Website) Why Protocol Layer Interoperability is Crucial. Credential Issuance Credential Presentation One entity needs to talk to the large the number of entities, to increase the value of “Decentralized Identity”. Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) User Interactions Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Issuer (Website) Wallet (user’s device, cloud or hybrid) Verifier (Website) Issuer (Website)
  • 5. Problems we identified and how we solved them Problem Solution A lot of entirely new Protocols. (Hard to get security right, steep learning curve) ⇒ Building upon currently widely used protocols: OAuth 2.0 and OpenID Connect. (Secure, already understood) No clear winner among Credential Formats ⇒ Designing a protocol agnostic to the Credential Formats. No one way to do key management. ⇒ Designing a protocol agnostic to the key management mechanism. Participating entities cannot typically establish trust upfront, using traditional mechanisms. ⇒ Flexibility in Trust Management. Third Party Trust.
  • 6. OpenID for Verifiable Credential Issuance ...so here comes OpenID for Verifiable Credentials (OID4VC)! Issuer (Website) Verifier (Website) Wallet (user’s device, cloud or hybrid) Credential Issuance Credential Presentation User Interactions OpenID for Verifiable Presentations Self-Issued OP v2
  • 7. Adoption (selected use-cases) The European Digital Identity Wallet[1], ARF v.1.1: “the EUDI Wallet Solution MUST support OpenID4VCI as an Issuance protocol. Member States are free to include additional issuance protocol alternatives in their national solutions.” NIST National Cybersecurity Center of Excellence[2] is running a project implementing and testing implementations for OID4VP to present mdocs/mDL. DIF JWT VC Issuance / Presentation Profile [3] [4] uses OID4VC protocols for the enterprise identity use-cases: fraud prevention in B2B, B2E scenarios. [1] https://cloudsignatureconsortium.org/new-eu-eidas-regulation-a-quantum-leap-for-electronic-identity/ [2] https://www.nccoe.nist.gov/projects/digital-identities-mdl [3] https://identity.foundation/jwt-vc-issuance-profile/ [4] https://identity.foundation/jwt-vc-presentation-profile/
  • 8. 1. Walt.id ○ https://github.com/walt-id/waltid-ssikit (Kotlin) 2. Sphereon ○ https://github.com/Sphereon-Opensource/SIOP-OpenID4VP (Typescript) ○ https://github.com/Sphereon-Opensource/OpenID4VCI-client (Typescript) ○ https://github.com/Sphereon-Opensource/ssi-sdk (Typescript) 3. Microsoft ○ https://github.com/microsoft/VerifiableCredential-SDK-Android (Kotlin) ○ https://github.com/microsoft/VerifiableCredential-SDK-iOS (Swift) 4. Spruce ○ https://github.com/spruceid/oidc4vci-rs (Rust) ○ https://github.com/spruceid/oidc4vci-issuer (Rust) 5. EBSI ○ https://api-pilot.ebsi.eu/docs/libraries (Javascript) Open Source libraries 6. Impierce Technologies ○ https://github.com/impierce/openid4vc (Rust) 7. Animo ○ https://github.com/animo/paradym-wallet (Typescript) 8. Trustbloc ○ https://github.com/trustbloc/vcs (Go) ○ https://github.com/trustbloc/wallet-sdk (Go) 9. Italian Government ○ https://github.com/italia/eudi-wallet-it-python (Python) ○ https://github.com/italia/eudi-wallet-it-pid-provi der/tree/v.1.1.1 (Python)
  • 9. ● A light-weight, low-cost, self-certification program to serve members, drive adoption and promote high-quality implementations (since 2015~) ● 2,400+ total certifications to date! ● Benefits (there are more!) ○ Testers get direct support from the OIDF certification team ○ Internationally recognized, award winning ○ Updated as the specification evolves ● Current progress ○ Started development for OpenID for Verifiable Presentations. initial focus is on testing wallets. ○ OpenID for Verifiable Credential Issuance planned ● Things to know ○ Strictly tests protocol specification conformance and does not test what happens inside the wallet ○ Can be integrated in continuous development and deployment processes ○ Tests are open source OpenID Foundation Certification for OID4VC specs
  • 10. ● “Security and Trust in OpenID for Verifiable Credentials” ○ Describes the trust architecture in OpenID for Verifiable Credentials, outlines security considerations and requirements for the components in an ecosystem. ● Results of the formal security analysis of OpenID for VC protocols were also presented at the OAuth Security Workshop in August: “Protocols are secure under the assumptions made”. Official publication shortly. OID4VC Formal Security Analysis
  • 11. Let us tell you more about the protocol
  • 12. OpenID for Verifiable Credential Issuance (Highlights) - It’s an OAuth-protected API (Credential Endpoint at the Resource Server) ○ Leverages existing OAuth features and implementations ○ Easy of use for developers - Supports various Security levels (including high security with hardware bound keys) - Various business requirements supported (ex. remote and in-person provisioning) - Different user-experiences can be achieved (multiple ways to initiate the flow) - Issuer can check Wallet’s capabilities & Wallet can discover Issuer metadata
  • 13. Wallet ⓪ Wallet requests & User authorizes credential issuance ③ Credential is issued ① access token(, refresh token) ② Wallet requests credential issuance Protocol Flow Alice Credential Issuer
  • 18. Credential Offer { "credential_issuer": "https://credential-issuer.example.com", "credentials": [ { "format": "vc+sd-jwt", "type": "Identity" }], "grants": { "urn:ietf:params:oauth:grant-type:pre-authorized_code": { "pre-authorized_code": "9JSsozW2G2cluWcyCqHK", "user_pin_required": true } } }
  • 19. Example: Token Request POST /token HTTP/1.1 Host: credential-issuer.example.com Content-Type: application/x-www-form-urlencoded grant_type=urn:ietf:params:oauth:grant-type:pre-authorized_code &pre-authorized_code=SplxlOBeZQQYbYS6WxSbIA &user_pin=493536
  • 20. Example: Credential Issuance HTTP/1.1 200 OK Content-Type: application/json Cache-Control: no-store Pragma: no-cache { "format": "vc+sd-jwt", "credential" : "eyJhbGciOiAiRVMyNTYifQ.eyJfc2QiOiBbIl ... gImVtYWlsIiwgInRlc3RAZXhhbXBsZS5jb20iXQ" } POST /credential HTTP/1.1 Host: credential-issuer.example.com Content-Type: application/json Authorization: BEARER czZCaGRSa3F0MzpnWDFmQmF0M2JW { "format":"vc+sd-jwt", "type":"Identity", "proof":{ "proof_type":"jwt", "jwt":"eyJhbGciOiJFUzI1NiIsInR5cCI6Im9wZW5pZDR2Y2ktcHJvb2Yrand0Iiw ... jhe0xQmfIBCQz20xVjaM91ODdIt5JX_ztrcq4nkglH907Ofbugg" } } Request Response
  • 21. Example: Issued Credential { "iss": "https://credential-issuer.example.com", "iat": 1516239022, "exp": 1516247022, "type": "Identity", "_sd": [ "UiuRGkTW7e_5UQauGeQRQdF8u3WYevS4Fs0IuB_DgYM", "tmPlXq0MID-oRXbUNHyoVZrc9Qkm8cwJTohVyOVlUgQ", "vTz0JI103v4k4pKIloT83Yzi33L1SdZlWBPmsfJBefk" ], "_sd_alg": "sha-256", "cnf": { "jwk": { "kty": "EC", "crv": "P-256", "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc", "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ" } } }
  • 22. OpenID for Verifiable Presentations (Highlights) - Designed for highest degree of privacy - Easy of use for developers - Supports various Security levels (e.g. mutual authentication among the parties) - Different user-experiences can be achieved (same-device and cross-device) - Presentation of multiple Credentials supported - Various Wallet deployment models supported - All local to a native app - Native app with cloud backend - Web wallet
  • 26. Cross-Device Flow (VP Token sent via HTTP POST)
  • 27. Same Device (VP Token sent via HTTP POST + redirect)
  • 29. Presentation Response { "definition_id": "mDL-sample-req", "id": "org.iso.18013.5.1.mDL", "descriptor_map": [ { "id": "mDL", "format": "mso_mdoc", "path": "$" } ] } presentation_submission vp_token HTTP/1.1 302 Found Location: https://client.example.org/cb# presentation_submission=... &vp_token=... { "status": 0, "version": "1.0", "documents": [ { "docType": "org.iso.18013.5.1.mDL", "deviceSigned": { "deviceAuth": { "deviceMac": [ << {1: 5} >>, {}, null, h'A574C64F18902BFE18B742F17C581218F88EA279AA ] }, "nameSpaces": 24(h'A0') }, "issuerSigned": { "issuerAuth": [ << {1: -7} >>, { 33: h'30820215308201BCA003020102021404AD06A30C1A6DC6E93BE0E2E8F78DCAFA7907C230 040613025A453059301306072A8648CE3D020106082A8648CE3D030107034200047C5545E9 000E9C46618C02202C1F778AD252285ED05D9B55469F1CB78D773671F30FE7AB8153719423 }, << 24(<< { "docType": "org.iso.18013.5.1.mDL", "version": "1.0",
  • 30. OpenID for Verifiable Credential Issuance New additions to the family coming! Self-Issued OP v2 OpenID for Verifiable Presentations OpenID for Verifiable Presentations over BLE Security and Trust in OpenID for Verifiable Credentials Core specs additions Certification Suite OID4VC High Assurance Interoperability Profile with SD-JWT VC Issuer (Website) Verifier (Website) Wallet (user’s device, cloud or hybrid) Issue Credentials Present Credentials User Interactions
  • 31. Latest Updates - Formal Security Analysis of Issuance and Presentation is about to be published. - Automated Conformance Tests for Wallets (Presentation) are available (1st revision). - Growing number of Open Source Implementations. - OpenID4VC driving convergence at the protocol layer. Getting traction in the - Aries community (.NET and JS Framework are being extended to support OID4VC) - mdoc community (18013-7, 23220-4, 23220-3) - etc.
  • 32. OID4VC High Assurance Interoperability Profile with SD-JWT VC
  • 33. OpenID4VC as Framework vs Profiles - Interoperability requires instantiation of OpenID 4 VC with concrete - Definition of “Mandatory to Implement” elements of the protocols, e.g. grant types & response types - Custom scheme for wallet invocation - Definition of authentication mechanisms for Verifiers and Wallets - Credential Format(s) with ■ issuer identification and key resolution ■ holder key binding - Crypto algorithms - Instantiation designated as “Profile”
  • 34. OID4VC High Assurance Interoperability Profile with SD-JWT VC - Interoperability across parties while being - Privacy preserving and - able to fulfill security and regulatory requirements - Intended audience - Proposal for eIDAS ARF (through OIDF/EC liaison) - CA DMV wallet - Basis for OWF project(s) - IDunion Tech Stack - GAIN PoC - Japanese government (Trusted Web project) - Basis for Userinfo - other jurisdictions - private companies / infrastructure companies
  • 35. OID4VC High Assurance Interoperability Profile with SD-JWT VC SIOPv2 OID4VP OID4VCI custom scheme crypto suites custom scheme credential profile client id scheme custom scheme credential profile wallet attestation scheme Protocols Attestation based Client Authentication crypto suites issuer key resolution Wallet Attestation Scheme Credential profile: SD-JWT VC SD-JWT VC JWT/CWT Statuslist crypto suites issuer key resolution crypto suites issuer key resolution - Custom Scheme: haip:// - issuer key resolution: web-based, x509 - Crypto Suites: P-256(secp256r1), SHA256 Basic Choices ● Authenticated issuer identifiers as basis for trust management ● Trust Management Mechanism can be defined on top Note: Similar profile for ISO mdoc is being worked on for 18013-7, 23220-4 and -3 IETF OAuth WG adopted draft IETF OAuth WG adopted draft
  • 36. Credential Format - SD-JWT VC with JSON payload (“typ”: “vc+sd-jwt”) - both compact and JSON serialization - Issuer identification and key resolution 1. Web PKI based: ■ issuer URL (“iss” claim) used to obtain jwks_uri ■ key id in the “kid” JWS header 2. x.509: ■ x.509 cert chain in the “x5c” JWS header ■ issuer URL (“iss” claim) MUST be Subject Alternative Name (dnsName) in x.509 cert - Key binding: - raw public key (jwk) in “cnf” JWT claim - Credential Revocation: Bitmap type style Status list using JWTs
  • 37. SD-JWT VC with web PKI based Issuer key resolution { "alg": "ES256", "typ": "vc+sd-jwt", "kid":"4" } { "iss": "https://credential-issuer.example.com", "iat": 1516239022, "exp": 1516247022, "type": "Identity", "_sd": [ "UiuRGkTW7e_5UQauGeQRQdF8u3WYevS4Fs0IuB_DgYM", "tmPlXq0MID-oRXbUNHyoVZrc9Qkm8cwJTohVyOVlUgQ", "vTz0JI103v4k4pKIloT83Yzi33L1SdZlWBPmsfJBefk" ], "_sd_alg": "sha-256", "cnf": { "jwk": { "kty": "EC", "crv": "P-256", "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc", "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ" } }, "status": { "idx": "0,", "uri": "https://example.com/statuslists/1" } }
  • 38. SD-JWT VC with x.509 Issuer key resolution { "alg": "ES256", "typ": "vc+sd-jwt", "x5c": [ "MIICOjCCAeG...djzH7lA==", "MIICLTCCAdS...koAmhWVKe" ] } { "iss": "https://credential-issuer.example.com", "iat": 1516239022, "exp": 1516247022, "type": "Identity", "_sd": [ "UiuRGkTW7e_5UQauGeQRQdF8u3WYevS4Fs0IuB_DgYM", "tmPlXq0MID-oRXbUNHyoVZrc9Qkm8cwJTohVyOVlUgQ", "vTz0JI103v4k4pKIloT83Yzi33L1SdZlWBPmsfJBefk" ], "_sd_alg": "sha-256", "cnf": { "jwk": { "kty": "EC", "crv": "P-256", "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc", "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ" } }, "status": { "idx": "0,", "uri": "https://example.com/statuslists/1" } }
  • 39. SD-JWT VC with OpenID Connect Federation Trust Chain { "alg": "ES256", "typ": "vc+sd-jwt", "trust_chain" = [ $EntityConfiguration-as-SignedJWT-selfissued-byLeaf, $EntityStatement-as-SignedJWT-issued-byTrustAnchor ] } { "iss": "https://credential-issuer.example.com", "iat": 1516239022, "exp": 1516247022, "type": "Identity", "_sd": [ "UiuRGkTW7e_5UQauGeQRQdF8u3WYevS4Fs0IuB_DgYM", "tmPlXq0MID-oRXbUNHyoVZrc9Qkm8cwJTohVyOVlUgQ", "vTz0JI103v4k4pKIloT83Yzi33L1SdZlWBPmsfJBefk" ], "_sd_alg": "sha-256", "cnf": { "jwk": { "kty": "EC", "crv": "P-256", "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc", "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ" } }, "status": { "idx": "0,", "uri": "https://example.com/statuslists/1" } }
  • 40. SD-JWT VC (decoded) { "iss": "https://credential-issuer.example.com" , "iat": 1541493724, "exp": 1541494724, "type": "Identity", "given_name": "Erika", "family_name": "Mustermann", "cnf": { "jwk": { "kty": "EC", "crv": "P-256", "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc" , "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ" } } "status": { "idx": "0,", "uri": "https://example.com/statuslists/1" } }
  • 41. OpenID for Verifiable Credential Issuance - custom scheme “haip://” for wallet invocation - Pre-authorized and authorization code flow are both required. - Wallet Attestation & Authentication with sender-constrained JWTs - Sender-constrained Tokens using DPoP required
  • 42. Issuance with Authorization Code and Wallet Attestation
  • 43. ● Extends the established framework of RFC7521 for a new form of client authentication ● Client instance obtains an attestation from client backend ● Client backend may perform any number of security checks before issuing a key-bound attestation JWT to the client instance ● Client instance authenticates towards Authorization server during a Token or PAR Request ● Note - how the client communicates with the client backend in steps 2&4 are out of scope ● Draft adopted by IETF OAuth WG OAuth2 Attestation-Based Client Authentication
  • 44. Wallet Attestation JWT { "iss": "https://attester.example.com" , "sub": "https://client.example.com" , "iat": 1516247022, "exp": 1541493724, "aal" : "https://trust-list.eu/aal/high ", "cnf": { "jwk": { "kty": "EC", "crv": "P-256", "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc" , "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ" }, "key_type": "STRONGBOX", //optional "user_authentication" : "SYSTEM_PIN", //optional } } { "typ": "wallet-attestation+jwt" , "alg": "ES256", "kid": "1" }
  • 45. OpenID for Verifiable Presentations - custom scheme “haip://” for wallet invocation. - Universal presentation flow based on “direct_post” response mode for same and cross device flows. - Subset of the Presentation Exchange Syntax in order to simplify implementation and prevent security issues - Verifier Authentication with - x.509 Certificates or - Sender-constrained JWTs
  • 46. Same Device (VP Token sent via HTTP POST + redirect)
  • 47. Links OpenID 4 Verifiable Credential Issuance OpenID 4 Verifiable Presentation SIOP v2 OpenID4VC High Assurance Interoperability Profile with SD-JWT VC Security and Trust in OpenID for Verifiable Credentials Ecosystems https://datatracker.ietf.org/doc/draft-ietf-oauth-cross-device-security/ Please engage with us: Digital Credentials Protocols (DCP) Working Group
  • 48. Q & A
  • 49. OID4VC High Assurance Interoperability Profile with mdocs (18013-7, 23220-4 and -3) SIOPv2 OID4VP OID4VCI custom scheme crypto suites custom scheme credential profile client id scheme custom scheme credential profile wallet attestation scheme Protocols Attestation based Client Authentication crypto suites issuer key resolution Wallet Attestation Scheme Credential profile: mdoc mdoc JWT/CWT Statuslist crypto suites issuer key resolution crypto suites issuer key resolution - Custom Scheme: haip:// - issuer key resolution: x509 - Crypto Suites: P-256(secp256r1), brainpool curves, etc. Basic Choices IETF OAuth WG adopted draft