11<!DOCTYPE html>
22< html >
33 < head >
4- < title > Decentralized Identifiers (DIDs) v0.7 </ title >
4+ < title > Decentralized Identifiers (DIDs) v0.9 </ title >
55 < meta http-equiv ='Content-Type ' content ='text/html;charset=utf-8 '/>
66 <!--
77 === NOTA BENE ===
@@ -513,20 +513,21 @@ <h2>Self-Managed DID Document</h2>
513513{
514514 "@context": "https://w3id.org/did/v1",
515515 "id": "did:example:123456789abcdefghi",
516- "authorizationCapability": [{
517- // this entity may update any field in this DID Document using any
518- // authentication mechanism understood by the ledger
519- "permission": "UpdateDidDocument",
520- "entity": "did:example:123456789abcdefghi"
521- }],
522- "exampleService": "https://example.com/messages/8377464",
523- "authenticationCredential": [{
524- // this key can be used to authenticate as DID ...9938
516+ "publicKey": [{
525517 "id": "did:example:123456789abcdefghi#keys-1",
526- "type": "RsaCryptographicKey ",
518+ "type": "RsaSigningKey2018 ",
527519 "owner": "did:example:123456789abcdefghi",
528520 "publicKeyPem": "-----BEGIN PUBLIC KEY...END PUBLIC KEY-----\r\n"
529- }]
521+ }],
522+ "authentication": [{
523+ // this key can be used to authenticate as DID ...9938
524+ "type": "RsaKeyBasedAuthentication2018",
525+ "publicKey": "#keys-1"
526+ }],
527+ service: {[
528+ "type": "MessagingService",
529+ "serviceEndpoint": "https://example.com/messages/8377464"
530+ ]}
530531}
531532</ pre >
532533
@@ -857,7 +858,7 @@ <h2>Context</h2>
857858
858859< pre class ="example nohighlight ">
859860{
860- "@context": "https://example .org/did/v1"
861+ "@context": "https://w3id .org/did/v1"
861862}
862863</ pre >
863864
@@ -872,16 +873,16 @@ <h2>Context</h2>
872873</ section >
873874
874875< section >
875- < h2 > Primary DID</ h2 >
876+ < h2 > DID Subject </ h2 >
876877
877878< p >
878- The primary DID is the primary index key for the DID Document, i.e., it is DID
879- described by DID Document. The rules for a primary DID are:
879+ The DID subject is the identifier that the DID Document is about , i.e., it is
880+ the DID described by DID Document. The rules for a DID subject are:
880881</ p >
881882
882883< ol start ="1 ">
883884 < li >
884- A DID Document MUST have exactly one primary DID.
885+ A DID Document MUST have exactly one DID subject .
885886 </ li >
886887
887888 < li >
@@ -894,7 +895,7 @@ <h2>Primary DID</h2>
894895
895896 < li >
896897When this DID Document is registered with the target distributed ledger or
897- network, the registered DID MUST match this primary DID value.
898+ network, the registered DID MUST match this DID subject value.
898899 </ li >
899900</ ol >
900901
@@ -909,7 +910,7 @@ <h2>Primary DID</h2>
909910</ pre >
910911</ section >
911912
912- < section >
913+ <!-- section>
913914<h2>Delegates</h2>
914915
915916<p class="issue">
@@ -982,7 +983,7 @@ <h2>Delegates</h2>
982983 }]
983984}
984985</pre>
985- </ section >
986+ </section -- >
986987
987988< section >
988989< h2 > Authentication</ h2 >
@@ -1063,7 +1064,7 @@ <h2>Authentication</h2>
10631064
10641065</ section >
10651066
1066- < section >
1067+ <!-- section>
10671068<h2>Authorization</h2>
10681069
10691070<p class="issue">
@@ -1213,7 +1214,7 @@ <h3>Requiring Multiple Proofs</h3>
12131214</pre>
12141215</section>
12151216
1216- </ section >
1217+ </section -- >
12171218
12181219< section >
12191220< h2 > Service Endpoints</ h2 >
@@ -2040,92 +2041,37 @@ <h2>Alternate Serializations and Graph Models</h2>
20402041</ section >
20412042
20422043< section class ="appendix ">
2043- < h1 > Proposed DID Method Specifications </ h1 >
2044+ < h1 > Registries </ h1 >
20442045
20452046< p >
2046- This table summarizes the DID method specifications currently in development. The links will be updated as subsequent Implementer’s Drafts are produced.
2047+ There are multiple registries that define DID Methods and extensions to this
2048+ specification. These registries are:
20472049</ p >
20482050
20492051< table class ="simple ">
20502052 < thead >
20512053 < tr >
2052- < th > Method Name</ th >
2053- < th > DLT or Network</ th >
2054- < th > Authors</ th >
2055- < th > Link</ th >
2054+ < th > Registry</ th >
2055+ < th > Purpose</ th >
20562056 </ tr >
20572057 </ thead >
20582058
20592059 < tbody >
20602060 < tr >
20612061 < td >
2062- did:sov:
2063- </ td >
2064- < td >
2065- Sovrin
2066- </ td >
2067- < td >
2068- Sovrin Foundation
2062+ < a href ="https://w3c-ccg.github.io/did-method-registry/ "> DID Method Registry</ a >
20692063 </ td >
20702064 < td >
2071- < a href =" https://docs.google.com/document/d/1X7dWpVvskGRpk05yyPEMd1uqaJ9FnOzoeWMdwzdIFyU/edit# " > Sovrin DID Method </ a >
2065+ Defines all known DID Methods and contains links to their specifications.
20722066 </ td >
20732067 </ tr >
20742068
20752069 < tr >
20762070 < td >
2077- did:btcr:
2078- </ td >
2079- < td >
2080- Bitcoin
2081- </ td >
2082- < td >
2083- Christopher Allen
2071+ < a href ="https://w3c-ccg.github.io/ld-key-registry/ "> Linked Data Key Formats Registry</ a >
20842072 </ td >
20852073 < td >
2086- </ td >
2087- </ tr >
2088-
2089- < tr >
2090- < td >
2091- did:uport:
2092- </ td >
2093- < td >
2094- Ethereum
2095- </ td >
2096- < td >
2097- uPort
2098- </ td >
2099- < td >
2100- </ td >
2101- </ tr >
2102-
2103- < tr >
2104- < td >
2105- did:cnsnt:
2106- </ td >
2107- < td >
2108- Ethereum
2109- </ td >
2110- < td >
2111- Consent
2112- </ td >
2113- < td >
2114- </ td >
2115- </ tr >
2116-
2117- < tr >
2118- < td >
2119- did:v1:
2120- </ td >
2121- < td >
2122- Veres One
2123- </ td >
2124- < td >
2125- Digital Bazaar
2126- </ td >
2127- < td >
2128- < a href ="https://w3c-ccg.github.io/didm-veres-one/ "> Veres One DID Method</ a >
2074+ Defines all known Linked Data Key Formats.
21292075 </ td >
21302076 </ tr >
21312077
@@ -2135,28 +2081,63 @@ <h1>Proposed DID Method Specifications</h1>
21352081</ section >
21362082
21372083< section class ="appendix ">
2138- < h1 > The Generic DID Context for JSON-LD</ h1 >
2139-
2140- < p >
2141- This JSON-LD document is the generic context for all DID Documents.
2142- See Section < a href ="#context "> </ a > for the rules for using this context.
2143- </ p >
2084+ < h1 > Real World Example</ h1 >
21442085
21452086< p >
2146- For this implementer’s draft, the URL for this context is:
2147- </ p >
2148-
2149- < p >
2150- < a href =
2151- "https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-fall2016/blob/master/final-documents/did-context-v1-draft-01.txt ">
2152- https://github.com/WebOfTrustInfo/rebooting-the-web-of-trust-fall2016/blob/master/final-documents/did-context-v1-draft-01.txt</ a >
2087+ A future-facing real-world context is provided below:
21532088</ p >
21542089
21552090< pre class ="example nohighlight " title ="Advanced DID Document example ">
21562091{
2157- "@context": "https://w3id.org/did /v1",
2092+ "@context": "https://w3id.org/future-method /v1",
21582093 "id": "did:example:123456789abcdefghi",
2159- "authorizationCapability": [{
2094+
2095+ "publicKey": [{
2096+ "id": "did:example:123456789abcdefghi#keys-1",
2097+ "type": "RsaSigningKey2018",
2098+ "owner": "did:example:123456789abcdefghi",
2099+ "publicKeyPem": "-----BEGIN PUBLIC KEY...END PUBLIC KEY-----\r\n"
2100+ }],
2101+
2102+ // EXPERIMENTAL: Proposal for pseudonymous biometric templates
2103+ "publicBiometricTemplate": [{
2104+ // this biometric can be used to authenticate as DID ...fghi
2105+ "id": "did:example:123456789abcdefghi#bio-1",
2106+ "type": "PseudonymousBiometricTemplate2017",
2107+ "owner": "did:example:123456789abcdefghi",
2108+ "biometricService": "https://example.com/authenticate"
2109+ "biometricTemplateShard": "Mjk4MzQyO...5Mzg0MDI5Mwo="
2110+ }]
2111+
2112+ "authentication": [{
2113+ // this key can be used to authenticate as DID ...9938
2114+ "type": "RsaKeyBasedAuthentication2018",
2115+ "publicKey": "#keys-1"
2116+ }, {
2117+ // this key can be used to authenticate as DID ...9938
2118+ "type": "PseudonymousBiometricBasedAuthentication2018",
2119+ "publicKey": "#bio-1"
2120+ }],
2121+
2122+ // EXPERIMENTAL: Proposal for encrypting messages for DID
2123+ "encryption": [{
2124+ // this key can be used to encrypt messages for the DID ...9938
2125+ "type": "RsaKeyBasedEncryption2018",
2126+ "publicKey": "#keys-2"
2127+ },
2128+
2129+ service: {[
2130+ "type": "MessagingService",
2131+ "serviceEndpoint": "https://example.com/messages/8377464",
2132+ // EXPERIMENTAL: Proposal for doing service encryption
2133+ "encryption": [{
2134+ // this key can be used to encrypt messages for the DID ...9938
2135+ "type": "RsaKeyBasedEncryption2018",
2136+ "publicKey": "#keys-2"
2137+ }
2138+ ]}
2139+
2140+ "didAuthorization": [{
21602141 // this entity may update any field in this DID Document using any
21612142 // authentication mechanism understood by the ledger
21622143 "permission": "UpdateDidDocument",
@@ -2209,64 +2190,11 @@ <h1>The Generic DID Context for JSON-LD</h1>
22092190 "publicKeyPem": "-----BEGIN PUBLIC KEY...END PUBLIC KEY-----\r\n"
22102191 }
22112192 }]
2212- }],
2213- "authenticationCredential": [{
2214- // this biometric can be used to authenticate as DID ...fghi
2215- "id": "did:example:123456789abcdefghi/biometric/1",
2216- "type": "PseudonymousBiometricTemplate2017",
2217- "owner": "did:example:123456789abcdefghi",
2218- "biometricService": "https://example.com/authenticate"
2219- "biometricTemplateShard": "Mjk4MzQyO...5Mzg0MDI5Mwo="
2220- }, {
2221- // this key can be used to authenticate as DID ...9938
2222- "id": "did:example:123456789abcdefghi#keys-1",
2223- "type": "RsaCryptographicKey",
2224- "owner": "did:example:123456789abcdefghi",
2225- "publicKeyPem": "-----BEGIN PUBLIC KEY...END PUBLIC KEY-----\r\n"
22262193 }]
22272194}
22282195</ pre >
22292196</ section >
22302197
2231- < section class ="appendix ">
2232- < h1 > Standard Key Descriptions</ h1 >
2233-
2234- < p >
2235- As described in Section < a href ="#did-documents "> </ a > , key description is a
2236- standard way to describe
2237- a public key or verification key in JSON-LD. This appendix contains a
2238- list of key descriptions recommended for use in DID Documents.
2239- </ p >
2240-
2241- < section >
2242- < h2 > RSA Keys</ h2 >
2243-
2244- < pre class ="example nohighlight ">
2245- {
2246- "id": "did:example:123456789abcdefghi#keys-1",
2247- "type": ["CryptographicKey", "RsaCryptographicKey"],
2248- "owner": "did:example:123456789abcdefghi",
2249- "publicKeyPem": "-----BEGIN PUBLIC KEY...END PUBLIC KEY-----\r\n"
2250- }
2251- </ pre >
2252- </ section >
2253-
2254- < section >
2255- < h2 > EdDSA Keys</ h2 >
2256-
2257- < pre class ="example nohighlight ">
2258- {
2259- "id": "did:example:123456789abcdefghi/keys/2",
2260- "type": ["CryptographicKey", "EdDsaSAKey"],
2261- "owner": "did:example:123456789abcdefghi",
2262- "curve": "ed25519",
2263- "expires": "2017-02-08T16:02:20Z",
2264- "publicKeyBase64": "IOmA4R7TfhkYTYW87...CBMq2/gi25s="
2265- }
2266- </ pre >
2267- </ section >
2268- </ section >
2269-
22702198< section >
22712199< h1 > References</ h1 >
22722200
0 commit comments