SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
OpenID Connect 4
Identity Assurance
Torsten Lodderstedt, yes.com
What is this about?
Identity information
{
"sub": "112183889",
"email": "john@doe.example",
"email_verified": true,
"given_name": "John",
"family_name": "Doe",
"birthdate": "1955-03-12",
"address": {
"country": "BE",
"locality": "Examplecity"
}
}
Assumptions
● Verification rules
(Laws, regulations and contracts)
● Verification status
● Verification methods
→ Implicit Trust
Relying Party
Identity Provider
{
"sub": "112183889",
"email": "john@doe.example",
"email_verified": true,
"given_name": "John",
"family_name": "Doe",
"birthdate": "1955-03-12",
"address": {
"country": "BE",
"locality": "Examplecity"
}
}
{
"sub": "112183889",
"email": "john@doe.example",
"email_verified": true,
"given_name": "John",
"family_name": "Doe",
"birthdate": "1955-03-12",
"address": {
"country": "BE",
"locality": "Examplecity"
}
}
Identity information
● eGovernment ● Anti Money Laundering ● Telecommunications
● Health Data ● Fraud Prevention ● Risk Mitigation
Rules?
When verified?
How verified?
Who verified?
Evidence?
OpenID Connect for Identity Assurance
⇢ Development in eKYC & IDA WG at the OpenID Foundation
⇢ Representation for verified claims and verification information
⇢ Enables
○ mapping between regulatory and legal contexts
○ dispute resolution
○ auditing
Main Concepts
Concept 1: Explicitness
⇢ Explicit Attestation of
○ Trust Framework + Identity Assurance Level
○ Time of verification
○ Verifying party
○ Evidence used in the process
○ Verification method: how the evidence was verified
{
"verified_claims":{
"verification":{
"trust_framework":"de_aml",
"time":"2012-04-23T18:25Z",
"verification_process":"f24c6f-6d3f-4ec5-973e-b0d8506f3bc7",
"evidence":[
{
"type":"id_document",
"method":"pipp",
"verifier":{
"organization":"Deutsche Post",
"txn":"1aa05779-0775-470f-a5c4-9f1f5e56cf06"
},
"time":"2012-04-22T11:30Z",
"document":{
"type":"idcard",
"issuer":{
"name":"Stadt Augsburg",
"country":"DE"
},
"number":"53554554",
"date_of_issuance":"2010-03-23",
"date_of_expiry":"2020-03-22"
}
}
]
},
"claims":{
"given_name":"Max",
"family_name":"Meier",
"birthdate":"1956-01-28",
"place_of_birth":{
"country":"DE",
"locality":"Musterstadt"
}
}
}
}
Example
Verification Data
End-User Claims
verified_claims
Container
Verification Details
"verification": {
"trust_framework": "de_aml",
"time": "2012-04-23T18:25Z",
"verification_process": "f24c6f-6d3f-4ec5-973e-b0d8506f3bc7",
"evidence": [
{
"type": "id_document",
"method": "pipp",
"verifier": {
"organization": "Deutsche Post",
"txn": "1aa05779-0775-470f-a5c4-9f1f5e56cf06"
},
"time": "2012-04-22T11:30Z",
"document": {
"type": "idcard",
"issuer": {
"name": "Stadt Augsburg",
"country": "DE"
},
"number": "53554554",
"date_of_issuance": "2010-03-23",
"date_of_expiry": "2020-03-22"
}
}
]
},
German Money Laundering Act
Physical In-Person Proofing
Proofing via ID Card
External verifier on behalf of the IDP
Concept 2: Clarity
⇢ Clear distinction between claims with and without
attestation
⇢ Can be used together with existing OpenID
Connect Claims
⇢ Separate data structure for verification data
{
"sub": "24400320",
"email": "janedoe@example.com",
"preferred_username": "j.doe",
"picture": "http://example.com/janedoe/me.jpg",
"verified_claims": {
"verification": {
"trust_framework": "de_aml",
"time": "2012-04-23T18:25Z",
"verification_process": "f24c6f4ec597",
"evidence": ...
},
"claims": {
"given_name": "Max",
"family_name": "Meier",
"birthdate": "1956-01-28"
}
}
}
Standard OpenID Connect Claims
Verified Claims data structure
ID Token with Standard and verified Claims
Concept 3: Versatility
⇢ Representation suitable for various channels
○ ID Token
○ Userinfo-Endpoint
○ Access Tokens
○ Token Introspection Responses
⇢ Support for verified data sets with different
metadata
⇢ Support for aggregated and distributed claims
{
"sub": "24400320",
"email": "janedoe@example.com",
"preferred_username": "j.doe",
"picture": "http://example.com/janedoe/me.jpg",
"verified_claims": [
{
"verification": {
"trust_framework": "eidas",
"identity_assurance_level`": "substantial"
},
"claims": {
"given_name": "Max",
"family_name": "Meier",
"birthdate": "1956-01-28",
}
},
{
"verification": {
"trust_framework": "de_aml"
},
"claims": {
"address": {
"locality": "Maxstadt",
"postal_code": "12344",
"country": "DE",
"street_address": "An der Sanddüne 22"
}
}
}
]
}
First set of verified Claims (eIDAS)
Second set of verified Claims (AML)
ID Token with two verified claims sets
{
"iss": "https://self-issued.me",
"sub": "248289761001",
"preferred_username": "superman445",
"_claim_names": {
"verified_claims": [
"src1",
"src2"
]
},
"_claim_sources": {
"src1": {
"JWT": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwcz
ovL3NlcnZlci5vdGhlcm9wLmNvbSIsInN1YiI6ImU4MTQ4NjAzLTg5MzQtNDI0N
S04MjViLWMxMDhiOGI2Yjk0NSIsInZlcmlmaWVkX2NsYWltcyI6eyJ2ZXJpZmlj
YXRpb24iOnsidHJ1c3RfZnJhbWV3b3JrIjoiaWFsX2V4YW1wbGVfZ29sZCJ9LCJ
jbGFpbXMiOnsiZ2l2ZW5fbmFtZSI6Ik1heCIsImZhbWlseV9uYW1lIjoiTWVpZX
IiLCJiaXJ0aGRhdGUiOiIxOTU2LTAxLTI4In19fQ.FArlPUtUVn95HCExePlWJQ
6ctVfVpQyeSbe3xkH9MH1QJjnk5GVbBW0qe1b7R3lE-8iVv__0mhRTUI5lcFhLj
oGjDS8zgWSarVsEEjwBK7WD3r9cEw6ZAhfEkhHL9eqAaED2rhhDbHD5dZWXkJCu
XIcn65g6rryiBanxlXK0ZmcK4fD9HV9MFduk0LRG_p4yocMaFvVkqawat5NV9QQ
3ij7UBr3G7A4FojcKEkoJKScdGoozir8m5XD83Sn45_79nCcgWSnCX2QTukL8Ny
wIItu_K48cjHiAGXXSzydDm_ccGCe0sY-Ai2-iFFuQo2PtfuK2SqPPmAZJxEFrF
oLY4g"
},
"src2": {
"endpoint": "https://op.mymno.com/claim_source",
"access_token": "ksj3n283dkeafb76cdef"
}
}
}
Multiple verified Claims sets
Aggregated Claims
Distributed Claims
Aggregated & Distributed Claims
{
"iss": "https://otherop.com",
"sub": "e814864108b8b6b45...",
"verified_claims": {
"verification": {
"trust_framework": "example"
},
"claims": {
"given_name": "Max",
"family_name": "Meier",
"birthdate": "1956-01-28"
}
}
}
Identity information
Requesting Identity Information
Identity information
Request
Concept 4: Preservation of Privacy
⇢ Relying party can express fine-grained data
requests via “claims” parameter
⇢ Asks for individual Claims and verification data
elements
⇢ Purpose of request can be conveyed
(per transaction or individual claim)
{
"userinfo": {
"verified_claims": {
"verification": {
"trust_framework": null,
},
"claims": {
"given_name": null,
"family_name": null,
"birthdate": null
}
}
}
}
trust framework is mandatory
Requested Claims
Simple Request
delivery via userinfo
{
"userinfo": {
"verified_claims": {
"verification": {
"trust_framework": {
"value": "de_aml"
},
"time": null,
"evidence": [
{
"type": {
"value": "id_document"
},
"method": null,
"document": {
"type": null
}
}
]
},
"claims": {
"given_name": null,
"family_name": null,
"birthdate": null
}
}
}
}
Requires trust framework “de_aml”
Requires evidence type ID document
Requested Claims
Advanced Request
Requests “time”
Requests verification method
and document type
International Standard
⇢ Identifiers for…
⇢ Extensible
⇢ Contributions welcome!
Trust Frameworks
eIDAS & NIST 800-63A
Japanese & German AML
...
Identity Documents
ID Card & Passport
Driver’s License
...
Verification Methods
Physical In-Person Proofing
Supervised remote In-Person Proofing
...
Full list: https://bitbucket.org/openid/ekyc-ida/wiki/identifiers
What else?
OpenID for Authority
● Inspired by legal entity use cases but built to deliver “on-behalf of” in legal entity and natural
person use cases
● It is often implicit when a user is representing a company, and worse, credentials are commonly
shared when representing a natural person.
● This is an additional spec that adds the “authority” element containing:
○ “Applies_to” - contains data about the entity that the authority applies to
○ “Permission”- defining the actions that the end user is permitted to take
○ “Granted_by” - definition of how the authority was granted to the end user
● This allows various end use “on-behalf of” use cases to be more explicitly described
Advanced Syntax for Claims
● Extension to OpenID Connect request and responses to address advanced use cases
● omit/abort if not available: RP can control OP behavior in case of incomplete claim sets
○ Example: RP requires family_name, given_name, and birthdate for identification, but the
later is not available for a particular user
○ Privacy enhancing, important for paid services
● Lightweight expression language:
○ RP may request predicate over claim
○ Example: age verification
○ Privacy enhancing
● Response metadata
○ Provides RP with information about request
processing (e.g. why certain claims were not provided)
{
"verified_claims": {
...
"claims": {
"birthdate|years_ago|gte(21)": true
}
}
}
eKYC & IDA WG roadmap overview
eKYC & IDA Working Group
Final
Conformance Testing
Authority Claims
2020 2021
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
Implementers Draft 3
Industry Collaborations
Implementers Draft 2
Development of use case examples
Production Implementations exist
Advanced Syntax
Thank you!
Dr. Torsten Lodderstedt, yes.com
Twitter: @tlodderstedt
https://yes.com

Mais conteúdo relacionado

Semelhante a OpenID Connect 4 Identity Assurance at IIW #32

Schema Design
Schema DesignSchema Design
Schema Design
MongoDB
 
Elasticmeetup curiosity 20141113
Elasticmeetup curiosity 20141113Elasticmeetup curiosity 20141113
Elasticmeetup curiosity 20141113
Erwan Pigneul
 

Semelhante a OpenID Connect 4 Identity Assurance at IIW #32 (8)

DDD Melbourne 2019 : Modern Authentication 101
DDD Melbourne 2019 :  Modern Authentication 101DDD Melbourne 2019 :  Modern Authentication 101
DDD Melbourne 2019 : Modern Authentication 101
 
Data, databases and what you can do with them
Data, databases and what you can do with themData, databases and what you can do with them
Data, databases and what you can do with them
 
Data Sharing and Caring In HealthCare - MedYear's experience building Big Dat...
Data Sharing and Caring In HealthCare - MedYear's experience building Big Dat...Data Sharing and Caring In HealthCare - MedYear's experience building Big Dat...
Data Sharing and Caring In HealthCare - MedYear's experience building Big Dat...
 
Returning to Online Privacy - W3C/ANU Future of the Web Roadshow 20190221
Returning to Online Privacy - W3C/ANU Future of the Web Roadshow 20190221Returning to Online Privacy - W3C/ANU Future of the Web Roadshow 20190221
Returning to Online Privacy - W3C/ANU Future of the Web Roadshow 20190221
 
Data Modeling with NGSI, NGSI-LD
Data Modeling with NGSI, NGSI-LDData Modeling with NGSI, NGSI-LD
Data Modeling with NGSI, NGSI-LD
 
Schema Design
Schema DesignSchema Design
Schema Design
 
Curiosity, outil de recherche open source par PagesJaunes
Curiosity, outil de recherche open source par PagesJaunesCuriosity, outil de recherche open source par PagesJaunes
Curiosity, outil de recherche open source par PagesJaunes
 
Elasticmeetup curiosity 20141113
Elasticmeetup curiosity 20141113Elasticmeetup curiosity 20141113
Elasticmeetup curiosity 20141113
 

Mais de Torsten Lodderstedt

Mais de Torsten Lodderstedt (20)

OpenID 4 Verifiable Credentials + HAIP (Update)
OpenID 4 Verifiable Credentials + HAIP (Update)OpenID 4 Verifiable Credentials + HAIP (Update)
OpenID 4 Verifiable Credentials + HAIP (Update)
 
The European Union goes Decentralized
The European Union goes DecentralizedThe European Union goes Decentralized
The European Union goes Decentralized
 
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...
 
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...
 
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 for Verifiable Credentials @ IIW 36
OpenID for Verifiable Credentials @ IIW 36OpenID for Verifiable Credentials @ IIW 36
OpenID for Verifiable Credentials @ IIW 36
 
OpenID for Verifiable Credentials
OpenID for Verifiable CredentialsOpenID for Verifiable Credentials
OpenID for Verifiable Credentials
 
OpenID for Verifiable Credentials (IIW 35)
OpenID for Verifiable Credentials (IIW 35)OpenID for Verifiable Credentials (IIW 35)
OpenID for Verifiable Credentials (IIW 35)
 
OpenID for Verifiable Credentials
OpenID for Verifiable CredentialsOpenID for Verifiable Credentials
OpenID for Verifiable Credentials
 
GAIN Presentation.pptx
GAIN Presentation.pptxGAIN Presentation.pptx
GAIN Presentation.pptx
 
OpenID for SSI
OpenID for SSIOpenID for SSI
OpenID for SSI
 
OpenID Connect 4 SSI (DIFCon F2F)
OpenID Connect 4 SSI (DIFCon F2F)OpenID Connect 4 SSI (DIFCon F2F)
OpenID Connect 4 SSI (DIFCon F2F)
 
OpenID Connect 4 SSI
OpenID Connect 4 SSIOpenID Connect 4 SSI
OpenID Connect 4 SSI
 
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)
 
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
 
OIDC4VP for AB/C WG
OIDC4VP for AB/C WGOIDC4VP for AB/C WG
OIDC4VP for AB/C WG
 
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
 
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
 

Último

valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
nilamkumrai
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 

Último (20)

valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft DatingDubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
 
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Samalka Delhi >༒8448380779 Escort Service
 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 

OpenID Connect 4 Identity Assurance at IIW #32

  • 1. OpenID Connect 4 Identity Assurance Torsten Lodderstedt, yes.com
  • 2. What is this about?
  • 3. Identity information { "sub": "112183889", "email": "john@doe.example", "email_verified": true, "given_name": "John", "family_name": "Doe", "birthdate": "1955-03-12", "address": { "country": "BE", "locality": "Examplecity" } } Assumptions ● Verification rules (Laws, regulations and contracts) ● Verification status ● Verification methods → Implicit Trust Relying Party Identity Provider
  • 4. { "sub": "112183889", "email": "john@doe.example", "email_verified": true, "given_name": "John", "family_name": "Doe", "birthdate": "1955-03-12", "address": { "country": "BE", "locality": "Examplecity" } } { "sub": "112183889", "email": "john@doe.example", "email_verified": true, "given_name": "John", "family_name": "Doe", "birthdate": "1955-03-12", "address": { "country": "BE", "locality": "Examplecity" } } Identity information ● eGovernment ● Anti Money Laundering ● Telecommunications ● Health Data ● Fraud Prevention ● Risk Mitigation Rules? When verified? How verified? Who verified? Evidence?
  • 5. OpenID Connect for Identity Assurance ⇢ Development in eKYC & IDA WG at the OpenID Foundation ⇢ Representation for verified claims and verification information ⇢ Enables ○ mapping between regulatory and legal contexts ○ dispute resolution ○ auditing
  • 7. Concept 1: Explicitness ⇢ Explicit Attestation of ○ Trust Framework + Identity Assurance Level ○ Time of verification ○ Verifying party ○ Evidence used in the process ○ Verification method: how the evidence was verified
  • 9. Verification Details "verification": { "trust_framework": "de_aml", "time": "2012-04-23T18:25Z", "verification_process": "f24c6f-6d3f-4ec5-973e-b0d8506f3bc7", "evidence": [ { "type": "id_document", "method": "pipp", "verifier": { "organization": "Deutsche Post", "txn": "1aa05779-0775-470f-a5c4-9f1f5e56cf06" }, "time": "2012-04-22T11:30Z", "document": { "type": "idcard", "issuer": { "name": "Stadt Augsburg", "country": "DE" }, "number": "53554554", "date_of_issuance": "2010-03-23", "date_of_expiry": "2020-03-22" } } ] }, German Money Laundering Act Physical In-Person Proofing Proofing via ID Card External verifier on behalf of the IDP
  • 10. Concept 2: Clarity ⇢ Clear distinction between claims with and without attestation ⇢ Can be used together with existing OpenID Connect Claims ⇢ Separate data structure for verification data
  • 11. { "sub": "24400320", "email": "janedoe@example.com", "preferred_username": "j.doe", "picture": "http://example.com/janedoe/me.jpg", "verified_claims": { "verification": { "trust_framework": "de_aml", "time": "2012-04-23T18:25Z", "verification_process": "f24c6f4ec597", "evidence": ... }, "claims": { "given_name": "Max", "family_name": "Meier", "birthdate": "1956-01-28" } } } Standard OpenID Connect Claims Verified Claims data structure ID Token with Standard and verified Claims
  • 12. Concept 3: Versatility ⇢ Representation suitable for various channels ○ ID Token ○ Userinfo-Endpoint ○ Access Tokens ○ Token Introspection Responses ⇢ Support for verified data sets with different metadata ⇢ Support for aggregated and distributed claims
  • 13. { "sub": "24400320", "email": "janedoe@example.com", "preferred_username": "j.doe", "picture": "http://example.com/janedoe/me.jpg", "verified_claims": [ { "verification": { "trust_framework": "eidas", "identity_assurance_level`": "substantial" }, "claims": { "given_name": "Max", "family_name": "Meier", "birthdate": "1956-01-28", } }, { "verification": { "trust_framework": "de_aml" }, "claims": { "address": { "locality": "Maxstadt", "postal_code": "12344", "country": "DE", "street_address": "An der Sanddüne 22" } } } ] } First set of verified Claims (eIDAS) Second set of verified Claims (AML) ID Token with two verified claims sets
  • 14. { "iss": "https://self-issued.me", "sub": "248289761001", "preferred_username": "superman445", "_claim_names": { "verified_claims": [ "src1", "src2" ] }, "_claim_sources": { "src1": { "JWT": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwcz ovL3NlcnZlci5vdGhlcm9wLmNvbSIsInN1YiI6ImU4MTQ4NjAzLTg5MzQtNDI0N S04MjViLWMxMDhiOGI2Yjk0NSIsInZlcmlmaWVkX2NsYWltcyI6eyJ2ZXJpZmlj YXRpb24iOnsidHJ1c3RfZnJhbWV3b3JrIjoiaWFsX2V4YW1wbGVfZ29sZCJ9LCJ jbGFpbXMiOnsiZ2l2ZW5fbmFtZSI6Ik1heCIsImZhbWlseV9uYW1lIjoiTWVpZX IiLCJiaXJ0aGRhdGUiOiIxOTU2LTAxLTI4In19fQ.FArlPUtUVn95HCExePlWJQ 6ctVfVpQyeSbe3xkH9MH1QJjnk5GVbBW0qe1b7R3lE-8iVv__0mhRTUI5lcFhLj oGjDS8zgWSarVsEEjwBK7WD3r9cEw6ZAhfEkhHL9eqAaED2rhhDbHD5dZWXkJCu XIcn65g6rryiBanxlXK0ZmcK4fD9HV9MFduk0LRG_p4yocMaFvVkqawat5NV9QQ 3ij7UBr3G7A4FojcKEkoJKScdGoozir8m5XD83Sn45_79nCcgWSnCX2QTukL8Ny wIItu_K48cjHiAGXXSzydDm_ccGCe0sY-Ai2-iFFuQo2PtfuK2SqPPmAZJxEFrF oLY4g" }, "src2": { "endpoint": "https://op.mymno.com/claim_source", "access_token": "ksj3n283dkeafb76cdef" } } } Multiple verified Claims sets Aggregated Claims Distributed Claims Aggregated & Distributed Claims { "iss": "https://otherop.com", "sub": "e814864108b8b6b45...", "verified_claims": { "verification": { "trust_framework": "example" }, "claims": { "given_name": "Max", "family_name": "Meier", "birthdate": "1956-01-28" } } }
  • 15. Identity information Requesting Identity Information Identity information Request
  • 16. Concept 4: Preservation of Privacy ⇢ Relying party can express fine-grained data requests via “claims” parameter ⇢ Asks for individual Claims and verification data elements ⇢ Purpose of request can be conveyed (per transaction or individual claim)
  • 17. { "userinfo": { "verified_claims": { "verification": { "trust_framework": null, }, "claims": { "given_name": null, "family_name": null, "birthdate": null } } } } trust framework is mandatory Requested Claims Simple Request delivery via userinfo
  • 18. { "userinfo": { "verified_claims": { "verification": { "trust_framework": { "value": "de_aml" }, "time": null, "evidence": [ { "type": { "value": "id_document" }, "method": null, "document": { "type": null } } ] }, "claims": { "given_name": null, "family_name": null, "birthdate": null } } } } Requires trust framework “de_aml” Requires evidence type ID document Requested Claims Advanced Request Requests “time” Requests verification method and document type
  • 19. International Standard ⇢ Identifiers for… ⇢ Extensible ⇢ Contributions welcome! Trust Frameworks eIDAS & NIST 800-63A Japanese & German AML ... Identity Documents ID Card & Passport Driver’s License ... Verification Methods Physical In-Person Proofing Supervised remote In-Person Proofing ... Full list: https://bitbucket.org/openid/ekyc-ida/wiki/identifiers
  • 21. OpenID for Authority ● Inspired by legal entity use cases but built to deliver “on-behalf of” in legal entity and natural person use cases ● It is often implicit when a user is representing a company, and worse, credentials are commonly shared when representing a natural person. ● This is an additional spec that adds the “authority” element containing: ○ “Applies_to” - contains data about the entity that the authority applies to ○ “Permission”- defining the actions that the end user is permitted to take ○ “Granted_by” - definition of how the authority was granted to the end user ● This allows various end use “on-behalf of” use cases to be more explicitly described
  • 22. Advanced Syntax for Claims ● Extension to OpenID Connect request and responses to address advanced use cases ● omit/abort if not available: RP can control OP behavior in case of incomplete claim sets ○ Example: RP requires family_name, given_name, and birthdate for identification, but the later is not available for a particular user ○ Privacy enhancing, important for paid services ● Lightweight expression language: ○ RP may request predicate over claim ○ Example: age verification ○ Privacy enhancing ● Response metadata ○ Provides RP with information about request processing (e.g. why certain claims were not provided) { "verified_claims": { ... "claims": { "birthdate|years_ago|gte(21)": true } } }
  • 23. eKYC & IDA WG roadmap overview eKYC & IDA Working Group Final Conformance Testing Authority Claims 2020 2021 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Implementers Draft 3 Industry Collaborations Implementers Draft 2 Development of use case examples Production Implementations exist Advanced Syntax
  • 24. Thank you! Dr. Torsten Lodderstedt, yes.com Twitter: @tlodderstedt https://yes.com