<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>did:self - A Registry-Less DID Method</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nikos Fotiou</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>George C. Polyzos</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vasilios A. Siris</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ExcID</institution>
          ,
          <addr-line>113 62, Athens</addr-line>
          ,
          <country country="GR">Greece</country>
        </aff>
      </contrib-group>
      <fpage>39</fpage>
      <lpage>46</lpage>
      <abstract>
        <p>We introduce did:self, a Decentralized Identifier (DID) method that does not depend on any trusted registry for storing the corresponding DID documents. Information for authenticating a did:self subject can be disseminated using any means and without making any security assumption about the delivery method. did:self is lightweight, it allows controlled delegation, it ofers increased security and privacy, and it can be used for identifying people, content, as well as IoT devices. Furthermore, DID documents in did:self can be implicit, allowing re-construction of DID documents based on other authentication material, such as JSON Web Tokens and X.509 certificates.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Decentralized Identifiers</kwd>
        <kwd>JSON Web Tokens</kwd>
        <kwd>X</kwd>
        <kwd>509 certificates</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Identifiers in did:self are created using the thumbprint of a public key. Accordingly, DID documents
are protected by a proof generated by the DID controller; this proof can be validated with the public
key that was used for creating the corresponding identifier. Therefore, given a did:self DID and the
corresponding DID document and proof, any entity can verify their binding, as well as the correctness
and the integrity of the DID document. Similarly to self-signed digital certificates, proof vericfiation
does not require any auxiliary information. A unique feature of did:self is that it supports secure DID
sharing and controlled delegation. By leveraging this property, earlier versions of our DID method were
used for implementing content-centric security for Information-Centric Networking architectures [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ],
for securing IoT group communication [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], as well as for improving the security of the Inter-Planetary
File System (IPFS) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>In this paper, we introduce an update to the did:self specification that brings the following
improvements:
• DIDs can have a (human-readable) sufix that provides clearer semantics about the entities that
share the same identifier.
• We generalize the concept of proof and introduce implicit DID documents. To this end, we propose
two methods for generating DID documents using JSON Web Tokens and X.509 certificates. This
enables interoperability with existing authentication and authorization systems.</p>
      <p>The remainder of this paper is organized as follows. In Section 2 we introduce DIDs. In Section 3 we
present the design of our solution. In Section 4 we discuss related work in this area. We conclude our
paper in Section 5.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Background: W3C Decentralized Identifiers</title>
      <p>Decentralized Identifiers (DIDs), defined by W3C, are a new type of globally unique identifier designed
to enable individuals and organizations to generate their own identifiers using systems they trust. A
DID architecture can be regarded as a key-value lookup system, where the key is the Decentralized
Identifier (DID) and the value is a DID document. DID specifications allow multiple DID methods to
co-exist; the main diferentiating factor among existing DID methods is how the resolution from a DID
to the corresponding DID document is implemented. A DID is expressed as a URI composed of three
parts separated by “:”; the first part is the word “did”, the second part is the DID method name, and the
third part is a method specific identifier.</p>
      <p>A DID document contains “properties”, serialized according to a particular syntax, that may include
(among other things) verification methods (e.g., public keys) and verification relationships that express a
relationship between a verification method and the DID subject. Examples of verification relationships
are authentication, which means that a verification method is used for authenticating the DID subject,
and assertion, which means that a verification method is used for verifying assertions, e.g., digital
signatures, made by the DID subject.</p>
      <p>
        Listing 1 illustrates an example of a DID document. The DID of the subject is
did:self:iQ9PsBKOH1nLT9FyhsUGvXyKoW00yqm_-_rVa3W7Cl0/device1 (line 2). In lines
310 a verification method is defined, which is a public key. This public key has an identifier (i.e.,
“#key1”), and it is encoded using the type “JsonWebKey2020” [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], which is an encoding based on
RFC 7517 JSON Web Keys. Next, two verification relationship are defined, i.e., “authentication”
and “assertion” which include the identifier of the defined key. Therefore, in this example “#key1”
can be used for authenticating the DID subject and for verifying digital signatures it generates.
"id": "did:self:iQ9PsBKOH1nLT9FyhsUGvXyKoW00yqm_-_rVa3W7Cl0/device1",
"verificationMethod": [{
"id": "#key1",
"type": "JsonWebKey2020",
"publicKeyJwk": {
"kty": "EC",
"crv": "P-256",
"x": "YOGmYaMKzwTFytWHN2hGC-2VpPqGqj_sDSckB2IvCgI",
"y": "7iWuiXQlLXvROjdMA2WNHhGz0jxu6u41n83YupNteo"
}
}
],
"authentication": ["#key1"],
"assertion": ["#key1"],
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. The did:self DID Method</title>
      <p>
        A did:self DID4 is generated by a controller who creates a public/private key pair. The did:self
identifier is the thumbprint of the JSON Web Key (JWK) representation of the controller’s public key
(as defined by RFC 7638 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]), optionally followed by a sufix. Therefore a did:self identifier has the
following form:
      </p>
      <p>: :&lt;ℎ&gt; / &lt;  &gt;</p>
      <p>The corresponding DID document is protected by a proof generated using the controller’s private
key. A controller is not necessarily the DID holder. Our method supports multiple holders per DID,
each of which may use a public/private key pair it controls for implementing a verification relationship
(e.g., authentication). As a motivating example consider the case of an IoT system, where the IoT system
owner is the controller and each IoT device can be a holder. IoT devices can use a key pair they control
to implement a verification relationship. In this case, for each IoT device a DID document is created
that defines a verification relationship based on the public key that the device controls (see for example
Listing 1). The proof for this document is generated by the controller. In this use case, for each IoT
device a sufix can be added to the DID. Additionally, two IoT devices may share the same DID, allowing,
for example, device rotation in case of failure or representation of virtual devices composed of multiple
physical ones (e.g., “smart home”). This use case is illustrated in Figure 1, which shows two drones that
share the same DID, but use a diferent authentication key.</p>
      <p>
        A straightforward approach for creating a proof is by generating a JSON Web Signature (JWS) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
using the private key of the controller’s key pair. In that case, the JWS header must include the jwk
ifeld, which is used as follows:
• jwk The JWK representation of the controller’s public key, which can be used for verifying
the proof. The thumbprint of this key must match the thumbprint included in the did:self
identifier.
      </p>
      <p>The payload of the JWS is the DID document. Therefore, validating such a proof is a simple three-steps
process: (i) extract the public key from the JWS header, (ii) verify that the thumbprint of the extracted
4In the following we use the terms did:self DID and did:self identifier interchangeably
public key is equal to the thumbprint included in the did:self identifier, and (iii) validate the JWS
signature using as input the extracted public key and the DID document.</p>
      <p>In the next sections we discuss how did:self can be used with JSON Web Tokens (JWT) and X.509
certificates.</p>
      <sec id="sec-3-1">
        <title>3.1. Representing DID documents as JSON Web Tokens</title>
        <p>
          A did:self DID document that includes a single verification method can be represented as a JSON
Web Token (JWT) [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. The following table specifies how the payload claims of such a JWT are created:
        </p>
        <sec id="sec-3-1-1">
          <title>Claim</title>
          <p>iss
sub
cnf</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Value</title>
          <p>The did:self identifier without any sufix
The sufix of the did:self identifier</p>
          <p>A public key controlled by the DID holder represented as a JWK</p>
          <p>Listing 2 includes the payload of a JWT representing the DID document of Listing 1. Such a JWT
is signed by the controller using its private key. The JWS header must include either the jwk claim
whose value will be the JWK representation of the controller’s public key or the x5c field representing
a certificate chain (see next section). Again, the JWT verification is a three-steps process: (i) extract
the public key from the JWS header, (ii) verify that the thumbprint of the extracted public key is equal
to the thumbprint included in the iss claim, and (iii) validate the JWS signature using as input the
extracted public key and the JWT.</p>
          <p>Listing 2: A did:self DID document represented as a JWT</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Representing DID documents as X.509 certificates</title>
        <p>Similarly, a did:self DID document that includes a single verification method can be represented as
an X.509 certificate chain. The first certificate of the chain is a self-signed certificate that includes the
controller’s public key and the did:self identifier (without any sufix) in the Subject Alternative
Name field. This certificate is signed using the controller’s private key. The last certificate of the chain
includes the holder’s public key and the did:self identifier (with a sufix if necessary) in the Subject
Alternative Name field. The chain may include intermediate certificates issued by the DID controller.
The intermediate certificates give greater flexibility to the controller, which can have multiple public
did:self:&lt;controller&gt;
DID document
{
}
"id":"did:self:&lt;controller&gt;/lamp1"
"verificationMethod":[{
"id":"#key1",
…
}],
"authentication":["#key1”]</p>
        <p>DID document
{
}
"id":"did:self:&lt;controller&gt;/plug1"
"verificationMethod":[{
"id":"#key1",
…
}],
"authentication":["#key1”]</p>
        <p>DID document
{
"id":"did:self:&lt;controller&gt;/drone1"
"verificationMethod":[{
"id":"#key1",
…
}],
"authentication":["#key1”]
}
}
DID document
{
"id":"did:self:&lt;controller&gt;/drone1"
"verificationMethod":[{
"id":"#key2",
…
}],
"authentication":["#key2”]
keys associated with its DID with varying level of security. The validation of the certificate chain follows
the standard X.509 validation rules. Additionally, a verifier should verify that the thumbprint included
in the Subject Alternative Name is the same as the thumbprint of the JWK representation of the
public key included in the first certificate of the chain.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Related Work</title>
      <p>
        Although DID document registries management, they create lock-in conditions, decrease DID
selfsovereignty, and add communication overhead, which in some scenarios is intolerable. For this reason,
various eforts propose registry-less DID systems. NaCL:did [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and did:key [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] are two such systems
that use (the hash of) a public key as the DID. Similarly, ethr-did [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] uses Ethereum addresses as DIDs.
The main drawback of these systems is that they support a single verification method, which is the
public key from which the DID has been derived. For this reason, they cannot not support real DID
documents; instead, in these methods DID documents are implied. In contrast, did:self supports DID
documents, which may include multiple verification methods.
      </p>
      <p>
        did:peer [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] is a registry-less DID system, which allows DID documents. DID document modifications
are encoded in authenticatable deltas. A DID document can be modified by multiple entities, and
for this reason did:peer relies on a conflict-free replicated data type for consolidating all deltas and
eventually creating the final DID document. This approach has some side-efects: it makes DID document
reconstruction complex and it poses restrictions on the format of the document. Our approach is much
simpler, since the only additional operation required for retrieving a DID document is the validation
of at most two digital signatures. Furthermore, our approach does not pose any restriction to the
ifelds a DID document may contain, therefore, our solution is sustainable and future proof; this is very
important considering that DID specifications have not yet been finalized.
      </p>
      <p>
        did:web [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] is a registry-based DID system that allows users to use any Web server as a registry.
With did:web, DIDs are bound to the URL of the Web server and DID document resolution is trivially
implemented using HTTPS. did:web ofers a higher degree of sovereignty compared to many existing
systems, but still relies on the security of HTTPS for securely distributing DID documents. On contrary,
did:self does not need any secure communication channel for distributing DID documents.
      </p>
      <p>
        ION [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] is also a registry-based DID system that has been adopted by Microsoft.5 In ION, DID
5https://techcommunity.microsoft.com/t5/identity-standards-blog/ion-we-have-liftof/ba-p/1441555
documents are stored in a “Content-addressable storage network” (e.g. the InterPlanetary File System
(IPFS) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]). Modifications to the DID documents are stored in “delta” files, which are eventually
“anchored” in a decentralized sequencing oracle (ION uses Bitcoin for this purpose). Therefore, DID
documents are reconstructed by retrieving the appropriate “delta” files, following the “pointers” stored
in the sequence oracle. Compared to did:web, ION relies on a more distributed trust model, but at the
same time adds complexity and in some cases monetary cost.
      </p>
      <p>
        The Key Event Receipt Infrastructure (KERI) proposal [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] considers as the primary root-of-trust
self-certifying identifiers that are strongly bound at issuance to a cryptographic signing (public, private)
key-pair, similar to our proposal. Key rotation is performed with a signed transfer statement. The KERI
proposal considers an indirect mode where a set of witnesses (replicas) store and forward key events to
any requester/validator. Although the existence of witnesses enhances fault tolerance and availability,
it entails additional requirements and complexity related to witness designation and policy, witness
consensus, and handling of out-of-order events. did:self avoids such complexity by focusing on use
cases where it is suficient to disseminate the corresponding DID document through any method, even
between untrusted parties.
      </p>
      <p>Compared to all these DID methods, did:self is the only DID method that allows multiple DID
documents per DID, as well as controlled DID document delegation. As we discuss in Section 4, these
properties enable intriguing security and privacy features.</p>
      <p>
        Due to the security and privacy characteristics of the DID paradigm, many research eforts investigate
the potential of using DIDs to improve the security and privacy of emerging technologies. Chadwick et
al. [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] propose the integration of DIDs and Verifiable Credentials with the FIDO Universal
Authentication Framework (UAF) in order to provide safer and more private online account management. DIDs are
also considered for improving the security and privacy of IoT systems (e.g., [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ],[
        <xref ref-type="bibr" rid="ref22">22</xref>
        ],[
        <xref ref-type="bibr" rid="ref23">23</xref>
        ],[
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]). Davie
et al. [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] propose a four-layer architectural stack, based on DIDs, to establish trust between peers
over the Internet and other digital networks. Lagutin et al. [26] investigate the application of DIDs
and Verifiable Credentials in the OAuth 2.0 authorization process. Finally, Munoz [ 27] discusses the
advantages of integrating eIDAS and DIDs. Our work is complementary to these approaches: being
standard compliant, did:self could be the DID technology that these proposed systems may eventually
use.
      </p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion</title>
      <p>In this paper we presented the did:self DID method and introduced two new extensions: identifier
sufixes and implicit DID documents. Our DID method gives controllers absolute control over their
identifiers and removes any dependency on middlemen, hence increasing self-sovereignty and privacy.
At the same time, did:self allows multiple DID documents per DID enabling delegation and sharing.
Our solution is not only compatible with W3C specifications, but is also easier to integrate in existing
systems, by removing the complexity of interacting with a DID registry.</p>
      <p>By leveraging implicit DID documents, we presented two constructions for generating a did:self
DID document: one using JSON Web Tokens and another based on X.509 certificates. This enables
interoperability with existing authentication and authorization systems. At the same time however, it
prevents taking advantage of the full potential of DIDs, since legacy DID documents can carry more
information beyond a single public key.</p>
      <p>Although the lack of a registry and the support for multiple DID documents per DID enable novel
applications and ofer significant security and privacy advantages, they create challenges related to
revocation. Currently, did:self replies mainly on the expiration time to handle revoked verification
material, but other more eficient mechanisms are also being explored.
[26] D. Lagutin, Y. Kortesniemi, N. Fotiou, V. A. Siris, Enabling decentralised identifiers and verifiable
credentials for constrained IoT devices using oauth-based delegation, in: Proceedings of the
Workshop on Decentralized IoT Systems and Security (DISS 2019), in Conjunction with the NDSS
Symposium, San Diego, CA, USA, volume 24, 2019.
[27] C. Munoz, SSI and eIDAS: a vision on how they are connected, 2019. URL: https://ec.europa.eu/
futurium/en/system/files/ged/eidas_supported_ssi_may_2019_0.pdf.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>W3C</given-names>
            <surname>Credentials Community Group</surname>
          </string-name>
          ,
          <article-title>A primer for decentralized identifiers</article-title>
          ,
          <year>2019</year>
          . URL: https: //w3c-ccg.github.io/did-primer/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>K. C.</given-names>
            <surname>Toth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Anderson-Priddy</surname>
          </string-name>
          ,
          <article-title>Self-sovereign digital identity: A paradigm shift for identity</article-title>
          ,
          <source>IEEE Security Privacy</source>
          <volume>17</volume>
          (
          <year>2019</year>
          )
          <fpage>17</fpage>
          -
          <lpage>27</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>O.</given-names>
            <surname>Steel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sporny</surname>
          </string-name>
          , DID specification registries,
          <year>2020</year>
          . URL: https://w3c.github.io/ did-spec-registries/.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>N.</given-names>
            <surname>Fotiou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Thomas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Siris</surname>
          </string-name>
          , G. Xylomenos, G. Polyzos,
          <article-title>Securing Named Data Networking routing using decentralized identifiers</article-title>
          , in: SARNET-21:
          <article-title>Semantic Addressing and Routing for Future Networks</article-title>
          ,
          <source>IEEE International Conference on High Performance Switching and Routing (HPSR)</source>
          <year>2021</year>
          workshop, IEEE,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>N.</given-names>
            <surname>Fotiou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Thomas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Siris</surname>
          </string-name>
          , G. Xylomenos,
          <string-name>
            <given-names>G. C.</given-names>
            <surname>Polyzos</surname>
          </string-name>
          ,
          <article-title>Self-verifiable content using decentralized identifiers</article-title>
          ,
          <source>Computer Networks</source>
          <volume>230</volume>
          (
          <year>2023</year>
          )
          <fpage>109799</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>N.</given-names>
            <surname>Fotiou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Siris</surname>
          </string-name>
          , G. Xylomenos,
          <string-name>
            <given-names>G. C.</given-names>
            <surname>Polyzos</surname>
          </string-name>
          ,
          <article-title>IoT group membership management using decentralized identifiers and verifiable credentials</article-title>
          ,
          <source>Future Internet</source>
          <volume>14</volume>
          (
          <year>2022</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>N.</given-names>
            <surname>Fotiou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. A.</given-names>
            <surname>Siris</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. C.</given-names>
            <surname>Polyzos</surname>
          </string-name>
          ,
          <article-title>Enabling self-verifiable mutable content items in IPFS using decentralized identifiers</article-title>
          ,
          <source>in: 2021 IFIP Networking Conference (IFIP Networking)</source>
          ,
          <year>2021</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>Sakimura, JSON Web Key (JWK) Thumbprint</article-title>
          , RFC 7638,
          <string-name>
            <surname>IETF</surname>
          </string-name>
          ,
          <year>2015</year>
          . URL: https: //www.rfc-editor.
          <source>org/rfc/rfc7638.txt.</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bradley</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>Sakimura, JSON Web Signature (JWS), RFC 7515</article-title>
          ,
          <string-name>
            <surname>IETF</surname>
          </string-name>
          ,
          <year>2015</year>
          . URL: https: //tools.ietf.org/html/rfc7515.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bradley</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>Sakimura, JSON Web Token (JWT), RFC 7519</article-title>
          ,
          <string-name>
            <surname>IETF</surname>
          </string-name>
          ,
          <year>2015</year>
          . URL: https: //tools.ietf.org/html/rfc7515.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Fett</surname>
          </string-name>
          , et al.,
          <source>OAuth 2</source>
          .
          <article-title>0 Demonstrating Proof-of-Possession at the Application Layer (DPoP)</article-title>
          ,
          <source>RFC 9449, IETF</source>
          ,
          <year>2023</year>
          . URL: https://datatracker.ietf.org/doc/rfc9449/.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12] uPort Project,
          <article-title>NaCL DID resolver</article-title>
          and manager,
          <year>2020</year>
          . URL: https://github.com/uport-project/ nacl-did.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D.</given-names>
            <surname>Longley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zagidulin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sporny</surname>
          </string-name>
          , The did:key method,
          <year>2020</year>
          . URL: https://w3c-ccg.github.io/ did-method-key/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>uPort</surname>
            <given-names>Project</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ethr-DID Library</surname>
          </string-name>
          ,
          <year>2021</year>
          . URL: https://github.com/uport-project/ethr-did.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>D.</given-names>
            <surname>Deventer</surname>
          </string-name>
          , et al.,
          <string-name>
            <surname>Peer</surname>
            <given-names>DID</given-names>
          </string-name>
          <source>method specification</source>
          ,
          <year>2020</year>
          . URL: https://openssi.github.
          <article-title>io/ peer-did-method-spec.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D.</given-names>
            <surname>Zagidulin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Terbu</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Guy, did:web Method Specification,
          <year>2020</year>
          . URL: https://w3c-ccg.github. io/did-method-web/.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Identity</surname>
            <given-names>Foundation</given-names>
          </string-name>
          , did:ion Home Page,
          <year>2022</year>
          . URL: https://identity.foundation/ion/.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>J.</given-names>
            <surname>Benet</surname>
          </string-name>
          , IPFS - content addressed, versioned,
          <source>P2P file system</source>
          ,
          <year>2014</year>
          . URL: http://arxiv.org/abs/1407. 3561.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>S.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <source>Key Event Receipt Infrastructure (KERI)</source>
          ,
          <year>2019</year>
          . URL: https://arxiv.org/abs/
          <year>1907</year>
          .02143.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>D. W.</given-names>
            <surname>Chadwick</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Laborde</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Oglaza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Venant</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Wazan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nijjar</surname>
          </string-name>
          ,
          <article-title>Improved identity management with verifiable credentials and fido</article-title>
          ,
          <source>IEEE Communications Standards Magazine</source>
          <volume>3</volume>
          (
          <year>2019</year>
          )
          <fpage>14</fpage>
          -
          <lpage>20</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>R.</given-names>
            <surname>Ansey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kempf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Berzin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Xi</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Sheikh</surname>
          </string-name>
          , Gnomon:
          <article-title>Decentralized identifiers for securing 5G IoT device registration and software update</article-title>
          ,
          <source>in: 2019 IEEE Globecom Workshops (GC Wkshps)</source>
          ,
          <year>2019</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>G.</given-names>
            <surname>Fedrecheski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Rabaey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. C. P.</given-names>
            <surname>Costa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. C.</given-names>
            <surname>Calcina Ccori</surname>
          </string-name>
          , W. T. Pereira,
          <string-name>
            <given-names>M. K.</given-names>
            <surname>Zufo</surname>
          </string-name>
          ,
          <article-title>Selfsovereign identity for IoT environments: A perspective</article-title>
          ,
          <source>in: 2020 Global Internet of Things Summit (GIoTS)</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kortesniemi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lagutin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Elo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Fotiou</surname>
          </string-name>
          ,
          <article-title>Improving the privacy of IoT with decentralised identifiers (dids)</article-title>
          ,
          <source>Journal of Computer Networks and Communications</source>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>S.</given-names>
            <surname>Terzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Savvaidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Votis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Tzovaras</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Stamelos</surname>
          </string-name>
          ,
          <article-title>Securing emission data of smart vehicles with blockchain and self-sovereign identities</article-title>
          ,
          <source>in: 2020 IEEE International Conference on Blockchain (Blockchain)</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>462</fpage>
          -
          <lpage>469</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>M.</given-names>
            <surname>Davie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gisolfi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hardman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Jordan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. O</given-names>
            <surname>'Donnell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Reed</surname>
          </string-name>
          ,
          <article-title>The trust over ip stack</article-title>
          ,
          <source>IEEE Communications Standards Magazine</source>
          <volume>3</volume>
          (
          <year>2019</year>
          )
          <fpage>46</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>