Understanding DID Auth
Markus Sabadello
Danube Tech, DIF, Sovrin,�W3C CCG, W3C VCWG, OASIS XDI TC
https://danubetech.com/
W3C Workshop on Strong Authentication & Identification
Redmond, WA, USA – 10th December 2018
DID Auth
DID Document
{
"@context": "https://w3id.org/did/v1",
"id": "did:sov:WRfXPg8dantKVubE3HX8pw",
"service": {
"type": "hub",
"serviceEndpoint": "https://azure.microsoft.com/dif/hub/did:sov:WRfXPg8dantKVubE3H"
},
"publicKey": [
{
"id": "did:sov:WRfXPg8dantKVubE3HX8pw#key-1",
"type": "Ed25519VerificationKey2018",
"publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDmqPV"
}
],
"authentication": {
"type": "Ed25519SignatureAuthentication2018",
"publicKey": [
"did:sov:WRfXPg8dantKVubE3HX8pw#key-1"
]
}
}
DID Document
{
"@context": "https://w3id.org/did/v1",
"id": "did:sov:WRfXPg8dantKVubE3HX8pw",
"service": {
"type": "hub",
"serviceEndpoint": "https://azure.microsoft.com/dif/hub/did:sov:WRfXPg8dantKVubE3H"
},
"publicKey": [
{
"id": "did:sov:WRfXPg8dantKVubE3HX8pw#key-1",
"type": "Ed25519VerificationKey2018",
"publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDmqPV"
}
],
"authentication": {
"type": "Ed25519SignatureAuthentication2018",
"publicKey": [
"did:sov:WRfXPg8dantKVubE3HX8pw#key-1"
]
}
}
DID Auth Example Architecture
Challenges, Responses, Transports
DID Auth Example Architectures
DID Auth Data Formats
{
"header": {
"typ": "JWT",
"alg": "ES256"
},
"payload": {
"iss": "did:example:123456789abcdefg",
"sub": "did:example:123456789abcdefg",
"iat": 1479850830,
"exp": 1511305200,
},
"signature": "..."
}
{
"type": ["Credential"],
"issuer": "did:example:123456789abcdefg",
"issued": "2018-03-07",
"credentialSubject": {
"id": "did:example:123456789abcdefg",
"publicKey": "did:example:123456789abcdefg#keys-2"
},
"proof": {
"type": "Ed25519Signature2018",
"created": "2018-01-01T21:19:10Z",
"creator": "did:example:123456789abcdefg#keys-2",
"nonce": "c0ae1c8e-c7e7-469f-b252-86e6a0e7387e",
"signatureValue": "..."
}
}
DID Auth Data Formats
{
"header": {
"typ": "JWT",
"alg": "ES256"
},
"payload": {
"iss": "did:example:123456789abcdefg",
"sub": "did:example:123456789abcdefg",
"iat": 1479850830,
"exp": 1511305200,
},
"signature": "..."
}
{
"type": ["Credential"],
"issuer": "did:example:123456789abcdefg",
"issued": "2018-03-07",
"credentialSubject": {
"id": "did:example:123456789abcdefg",
"publicKey": "did:example:123456789abcdefg#keys-2"
},
"proof": {
"type": "Ed25519Signature2018",
"created": "2018-01-01T21:19:10Z",
"creator": "did:example:123456789abcdefg#keys-2",
"nonce": "c0ae1c8e-c7e7-469f-b252-86e6a0e7387e",
"signatureValue": "..."
}
}
Relation to OIDC, WebAuthn
{
"@context": "https://w3id.org/did/v1",
"id": "did:example:123456789abcdefg",
"service": [{
"id": "did:example:123456789abcdefg;openid",
"type": "OpenIdConnectVersion1.0Service",
"serviceEndpoint": "https://openid.example.com/"
}]
}
For the Workshop
Community Resources
Thank You
�
z
Backup Slides
Rebooting-the-Web-of-Trust
Internet Identity Workshop
DIDs: W3C Credentials CG
v0.11 Draft Community Report
DIDs: W3C DID WG
Charter now being written
Yadis, XRI, XRD, XRDS,
JRD, Webfinger
DID registered
prov. URI scheme
DID method specs
W3C Web Payments CG
OASIS XDI TC
W3C JSON-LD 1.1
W3C Cryptographic Suites
RFC 7517: JWK
Verifiable Credentials
DKMS, DID Auth
Hubs, Agents, XDI
DID Universal Resolver