<!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>On Delegation of Verifiable Presentations</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrea Flamini</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrea Gangemi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Enrico Guglielmino</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vincenzo Orabona</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematical Sciences, Politecnico di Torino</institution>
          ,
          <addr-line>Corso Duca degli Abruzzi 24, 10129 Torino</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Department of Mathematics, University of Trento</institution>
          ,
          <addr-line>Povo, 38123 Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Eustema S.p.A</institution>
          ,
          <addr-line>Via Carlo Mirabello, 7, 00195 Roma</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <fpage>26</fpage>
      <lpage>38</lpage>
      <abstract>
        <p>In this work, we study the problem of producing a delegation of verifiable presentations derived from verifiable credentials to enable a credential holder (the delegator) to securely authorize another party (the delegatee) to present a credential on their behalf. We define the notion of a verifiable presentation delegation scheme , with the core algorithms for delegation issuance, delegated presentation, and presentation verification, and formalize the security properties that such a scheme must satisfy, namely correctness and unforgeability. Then, we design a verifiable presentation delegation scheme that can be applied to the verifiable credentials used in the European Digital Identity Wallet Architecture Reference Framework (EUDI ARF) and we prove that our scheme satisfies the security properties under the assumption of a secure digital signature scheme. Finally, we briefly discuss and provide some insight on how to instantiate our scheme in the context of the European Blockchain Services Infrastructure (EBSI) and EUDI frameworks.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Verifiable Credential</kwd>
        <kwd>Verifiable Presentation</kwd>
        <kwd>Delegation</kwd>
        <kwd>eIDAS 2</kwd>
        <kwd>0</kwd>
        <kwd>EUDI ARF</kwd>
        <kwd>EBSI</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The eIDAS 2.0 regulation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] aims to regulate electronic identification and trust services in the EU’s
internal market and to improve cross-border interoperability across Europe. One of the main tools used
to achieve these goals is the adoption of verifiable credentials (VC), which will be stored in a digital
wallet called the EUDI Wallet [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. VCs are the digital analogue of physical credentials, and their security
relies on the use of cryptographic techniques. VCs are issued by issuers who sign them and deliver
them to the credential holders. The holder of a VC stores it and can use it to prove specific claims (or
statements) about their identity to a verifier by creating a verifiable presentation (VP). In general, roles
are dynamic and context-dependent, allowing a user to function as a holder, verifier, or issuer based on
the specific operations they wish (or are allowed) to perform. For example, an organization acting as a
verifier in one transaction can assume the role of an issuer in a subsequent transaction. The structure
and policies for managing Verifiable Credentials, including the specification of credential attributes and
trust models, are detailed in frameworks such as EBSI [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] or EUDI ARF [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <sec id="sec-1-1">
        <title>One of the main advantages of using VCs over their physical counterparts is the ability to selectively</title>
        <p>
          disclose a subset of the attributes included in a credential. This operation minimizes the amount of data
shared with third parties, in accordance with the privacy principles required by the GDPR [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Current
discussions on the design of the EUDI Wallet and the types of VCs it should support have highlighted
two main approaches [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. The first approach relies on hiding commitments and standard signatures
[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], while the second utilizes anonymous credentials based on signature schemes that support
Non
        </p>
      </sec>
      <sec id="sec-1-2">
        <title>Interactive Zero-Knowledge Proofs (NIZKPs) following the framework of Camenisch and Lysyanskaya [7]. Both approaches enable VCs to support selective disclosure of attributes and are described in detail in [8].</title>
        <sec id="sec-1-2-1">
          <title>1.1. Delegation of VPs</title>
          <p>An important extension of VC schemes that would improve their usability is the ability to support
delegation of VPs. In this context, a credential holder (the delegator), using its VC, can create a delegation
that instructs another holder (the delegatee) to act on its behalf to execute a specific and predetermined
operation while interacting with a verifier. VP delegation is developed as a mechanism allowing one
to cover use cases such as: someone authorizes a family member to pick up a prescription from the
pharmacy, an elderly person authorizes their adult child to represent them in a public online service, or
a person delegates an intermediary to perform financial operations on its behalf.</p>
          <p>For simplicity in this work, we consider a system in which every user is provided a “main credential”,
like an ID card, by a trusted issuer that every holder can use to delegate other holders. Our definition
of a VP delegation scheme builds on top of such a VC scheme. In particular, we describe a delegation
mechanism that allows a delegator to generate delegations that must specify:
• the scope for which the delegation is being created. This might include a period of validity, an
identifier of the verifier to which it must be presented, and an identifier of the operation that the
delegatee must perform;
• the delegatee identifier , a statement that the identity (or the VC) of the delegatee must satisfy. For
example, the delegatee identifier could be “the delegatee is over 18”, then any over 18 holder would
be allowed to present such delegation, or more specific statements such as “the delegatee name is
Name and their surname is Surname”, in such a case only a holder named Name Surname would
be allowed to present such delegation. This identifier is sent by the delegatee to the delegator
before the latter produces the delegation;
• the delegator payload, a statement about the delegator’s identity that contains (at least) the
information the verifier would request from any holder to perform the operation specified in the
scope;
• a proof that the delegator identity (or VC) satisfies the delegator payload.</p>
          <p>The delegatee, with the delegation, interacts with the verifier to present the delegation and to execute
the operations specified in the scope. The delegatee proves to be an authorized delegatee by showing,
using its own VC, that it satisfies the delegatee identifier information specified in the delegation. Finally,
the verifier checks that the delegation and the presentation of the delegation are valid and accepts (or
rejects) the delegated presentation, allowing the delegatee to perform (or preventing the delegatee from
performing) the operation specified in the scope.</p>
        </sec>
        <sec id="sec-1-2-2">
          <title>1.2. Motivation, related works and contribution</title>
        </sec>
      </sec>
      <sec id="sec-1-3">
        <title>With the upcoming enforcement of the eIDAS 2.0 regulation, the ability to delegate presentations</title>
        <p>has gained significant importance. This is confirmed by its inclusion in the EUDI Wallet Reference
Implementation Roadmap 1. In fact, EU citizens will soon be issued verifiable credentials that will be
used to securely prove statements about their identity. In addition to that, VCs can be used to enhance
the security of how users delegate specific, predetermined tasks to others, providing a more secure
alternative to the paper-based methods too often used today.</p>
        <p>
          A related problem, which has received significantly more attention in the literature, is the delegation
of the issuance of anonymous credentials while concealing the delegation chain and revealing only
the root issuer. This problem was firstly approached by Chase and Lysyanskaya [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] and since then
many constructions have been proposed: some are [
          <xref ref-type="bibr" rid="ref10 ref11 ref12 ref13">10, 11, 12, 13</xref>
          ]. The use of anonymous credentials,
combined with the ability to anonymously delegate the issuance of credentials, allows users to enjoy
a very high level of privacy while lightening the workload on issuers. An interesting use case of
delegatable anonymous credential is the issuance of ID cards to European citizens: the European
authority delegates the member states to issue ID cards on its behalf, so that it does not have to carry
out this burdensome operation on its own. The member states, using their delegated credentials, issue
        </p>
      </sec>
      <sec id="sec-1-4">
        <title>1See the Delegation Attestation in the “Future” section at https://github.com/orgs/eu-digital-identity-wallet/projects/24</title>
        <p>the ID cards to their citizens. With these credentials, the citizens can prove to verifiers to be European
citizens without revealing the authority who issued their credential, and therefore their country.</p>
      </sec>
      <sec id="sec-1-5">
        <title>The same problem applied to non-anonymous credentials [6] can be trivially solved (losing most of</title>
        <p>the privacy-preserving features) using standard digital signature schemes by instructing the issuer to
sign the public key of its delegatee, as is well explained in [12, Section 1].</p>
      </sec>
      <sec id="sec-1-6">
        <title>In this work instead, we focus on the delegation of VPs, a problem surely related but with diferent</title>
        <p>applications from the delegation of VCs. In both cases the delegatee takes charge of carrying out
operations on behalf of the delegator: for what concerns the delegation of VCs, such an operation is the
issuance of VCs to users, and in our case such an operation is the showing of VPs to verifiers.</p>
      </sec>
      <sec id="sec-1-7">
        <title>To the best of our knowledge, delegation of VPs has not been formalized in the existing literature,</title>
        <p>and for this reason, we fill this gap laying the ground to formalize the notion of VP delegation scheme.</p>
      </sec>
      <sec id="sec-1-8">
        <title>We do that by giving a formal definition of a VP delegation scheme and the security properties it must satisfy, namely correctness and unforgeability. Then, we describe a natural VP delegation scheme that is compliant with the VC schemes specified in the EUDI ARF, and we prove its security. Finally, we discuss the compatibility of our scheme in the context of the EBSI and EUDI frameworks.</title>
        <sec id="sec-1-8-1">
          <title>1.3. Notation</title>
          <p>Let  denote the security parameter. The issuer’s private and public keys are denoted as skIss and pkIss,
respectively. The set of messages or attributes is denoted by a = ()∈[], where [] represents the set
{1, . . . , }. When presenting a VC supporting selective disclosure, a subset of attributes, whose indices
are denoted by Hid, can be hidden, while the set of indices of the disclosed attributes is Rev = [] ∖ Hid.
We denote by stmt the set of revealed attributes, and with  the set of possible statements. The delegator,
delegatee, and verifier are indicated by , Δ, and  , respectively. Each party is provided with a single
VC. The delegator’s credential is represented as credD, and the delegatee’s credential is denoted as
credΔ. The delegatee identifier is indicated by ΔID, the delegator payload is denoted as DP, while the
delegation scope is referred to as scope. In the security definitions, we will define the following tables: a
credential table CT, a presentation table PT, and a delegation table DT. Finally, we consider a function
 : N → R to be negligible if, for every  &gt; 0, there exists an integer 0 ∈ N such that for all  ≥ 0, it
holds that  () = (1/). This notation will be used throughout the paper to formalize the schemes
and algorithms presented.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Verifiable Credential Schemes</title>
      <sec id="sec-2-1">
        <title>A verifiable credential scheme is defined by a set of algorithms and protocols that establish secure processes to issue, present and verify digital credentials [8].</title>
        <p>Definition 1 (Verifiable Credential Scheme) . A verifiable credential scheme is defined by the following
algorithms:
• Issuer Setup (IssuerSetup( →)− $ pp, (skIss, pkIss)): this algorithm is executed by the issuer, and it
generates the public parameters pp for the verifiable credential scheme together with the issuer key
pair.
• Credential Issuance (CredIssuance(skIss, {}∈[]→)− $ cred): The issuer executes this algorithm
to generate a verifiable credential cred for the attributes {}∈[].
• Credential Presentation (CredPresentation(cred, stmt→)− $ pres): This algorithm is executed by
the holder to generate a proof (the presentation pres) that it possesses a credential cred that satisfies
a statement stmt2.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2The presentation can allow the holder to selectively disclose the attributes of the credential, revealing only the attributes</title>
        <p>necessary to prove stmt.
• Presentation Verification (PresVer(pres, stmt→)− ${ 0, 1}3): The verifier executes this algorithm
to verify the validity of the presentation provided by the holder, ensuring that it satisfies stmt.</p>
      </sec>
      <sec id="sec-2-3">
        <title>In this work, we focus on the class of VCs schemes that are currently adopted in the EUDI Wallet</title>
      </sec>
      <sec id="sec-2-4">
        <title>Architecture Reference Framework (ARF) [2, Annex 2, Topic 12]. The VC schemes considered in the</title>
      </sec>
      <sec id="sec-2-5">
        <title>EUDI Wallet ARF must have one of the following formats: mDOC, described in [14, 6], SD-JWT,</title>
        <p>
          described in [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], or W3C VCDM, described in [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. These diferent verifiable credential formats are
based on the same cryptographic mechanism that we abstract in this section. The cryptographic
primitives used are (1) hiding commitments based on hash functions and (2) digital signature schemes
 = (Setup, KeyGen, Sign, Vf).
        </p>
      </sec>
      <sec id="sec-2-6">
        <title>The hiding commitment based on a hash function  is defined as follows: to commit to a message</title>
        <p>, sample a random sa l−t{← $ 0, 1} and compute com = (||salt). To open a commitment com, it
is necessary to reveal the message-salt pair (||salt), and the verifier can check if com = (||salt).
The digital signature scheme  can be any UF-CMA secure digital signature scheme 4.</p>
      </sec>
      <sec id="sec-2-7">
        <title>In the rest of this work, we omit the public parameters pp in the inputs of most of the algorithms</title>
        <p>described. Even pkIss is omitted, since we assume for simplicity that there is only one issuer in the
system.</p>
        <p>Definition 2 (ARF-Compliant Verifiable Credentials) . Let  = (Setup, KeyGen, Sign, Vf) be a digital
signature scheme and  a cryptographic hash function. The verifiable credentials which are ARF-Compliant
can be described as follows:
• Credential issuance: cred− ← $ CredIssuance({}∈[], skIss)</p>
        <p>The issuer executes the following operations:
• Issuer setup: pp, (skIss, pkIss− ) ← $ IssuerSetup( )</p>
        <p>The issuer executes the issuer setup algorithm which consists in executing the Setup and KeyGen
algorithms of the underlying digital signature scheme .</p>
        <p>– sample uniformly at random salts salt1, . . . , sal t−{← $
– compute com ← (||salt) ∀ ∈ [];
0, 1} ;
 − ← $ Sign(({com}∈[], pkcred), skIss);
– set cred ← ((, {com}∈[], pkcred), {}∈[], {salt}∈[], skcred)5.
– generate (skcred, pkcred− ) ← $ KeyGen(pp);
– sign the commitments and the public key of the credential ({com}∈[], pkcred) computing
• Credential presentation: pre− s ← $ CredPresentation(cred, stmt, nonce)</p>
        <p>The statement stmt = {}∈Rev is given by the set of attributes that the holder wants to reveal
Rev ⊆ [], and the nonce nonce is sent by the verifier to the holder to guarantee the freshness of the
presentation. The holder performs the following operations:
– compute pres′ ← ((, {com}∈[], pkcred), {salt}∈Rev, {}∈Rev, nonce);
– sign pres′ computing  − ′ ← $ Sign(pres′, skcred);
– set pres ← (pres′,  ′).
• Presentation Verification : {0, 1−} ← $ PresVer(pres, stmt)</p>
        <p>The verifier performs the following operations:
– parse pres → (pres′,  ′) and then pres′ → ((, {com}∈[], pkcred), {salt}∈Rev, {}∈Rev);
– verify the signature of the issuer: 1 ← Vf(, ({com}∈[], pkcred), pkIss);
– check that com = (||salt), ∀ ∈ Rev;
– verify the signature of the holder: 1 ← Vf( ′, pres′, pkcred).</p>
        <p>If the previous checks are satisfied, the verifier accepts and outputs 1, otherwise it outputs 0.
3In this context, 1 = success, indicating that the presentation satisfies the statement, while 0 = fail, indicating it does not.</p>
      </sec>
      <sec id="sec-2-8">
        <title>4UF-CMA is a standard security model for digital signature which stands for “unforgeability under chosen message attacks”.</title>
        <p>5To ensure a secure binding between a credential and the device storing it, the secret key of the credential (skcred) is stored
within a hardware security module (HSM) or a trusted execution environment (TEE) embedded in the device.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Verifiable Presentation Delegation Scheme</title>
      <sec id="sec-3-1">
        <title>In this section we define the notion of VP delegation scheme which is built on top of a VC scheme</title>
        <p>according to Definition 1. A VP delegation scheme must define the algorithms (1) to allow the delegator</p>
      </sec>
      <sec id="sec-3-2">
        <title>D to create a delegation del, (2) to allow anyone to verify del, (3) to allow the delegatee Δ to present del</title>
        <p>to a verifier generating a presentation pres and (4) to verify the delegated presentation pres.</p>
      </sec>
      <sec id="sec-3-3">
        <title>We define the input-output specifications of each algorithm that defines a VP delegation scheme.</title>
        <p>Definition 3 (VP delegation scheme). A VP delegation scheme  is defined by the the following
algorithms:
• Delegation issuance: DelegIssuance(credD, DP, scope, ΔID→)− $ (ΔID, scope, DP,  DP) where:
⏟
del⏞
– DP is the delegator payload containing the information that the delegator must disclose about
its identity (e.g. it is entitled to withdraw a specific drug);
– scope is the delegation scope, describing the operation that can be performed by the delegatee
interacting with specified verifiers 6;
– ΔID is the delegatee identity which is a statement that must be satisfied by the delegatee
presenting del (and its credential);
–  DP is a proof that the holder knows a credential credD for the claims in DP. The proof must
be bound to scope and ΔID.</p>
        <p>See Section 1.1 for a better intuition about the semantic meaning of these fields.
• Delegation verification : DelegVer(del→)− ${ 0, 1}</p>
        <p>This algorithm is executed by a delegatee (or by a verifier) to verify the validity of the delegation.
• Delegated presentation: DelegPres(del, credΔ, nonce→)− $ (del,  del)
⏟ pre⏞s
The delegator contacts the verifier to which it wants to present the delegation. The verifier sends to the
delegatee a random nonce which is used to guarantee the freshness of the delegated presentation. After
parsing del as (ΔID, scope, DP,  DP), the delegatee computes  del which is a proof of knowledge of
a credential credΔ satisfying the delegatee identity ΔID included in del.
• Delegated presentation verification : DelegPresVer(pres→)− ${ 0, 1}</p>
        <p>This is the verification algorithm executed by the verifier. Parse pres as (del,  del). Upon receiving
the proof  del and the delegation del, the verifier checks that
– DelegVer(del) → 1;
–  del is a valid proof for the value ΔID in del;
– scope included in del, which is part of pres, is satisfied.</p>
        <p>If these checks pass, the delegated presentation is accepted, and the algorithm outputs 1.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Security Notions for VP Delegation Schemes</title>
      <p>Correctness Property. The correctness property specifies that a delegation algorithm always allows
a honest delegator (who generates a delegation for a DP consistent with its identity), to generate a
delegation del and delegate another user. Then, if the user is a honest delegatee (its identity satisfies
ΔID) it can always present del to a verifier satisfying scope.</p>
      <sec id="sec-4-1">
        <title>6Note that these information must be encoded using a dictionary or schema which subsequently allows verifiers of delegated</title>
        <p>presentations to verify it. A more detailed analysis of this aspect is out of scope and will be treated in a future work.
Interaction framework among Delegator, Delegatee, and Verifier
Delegator D(credD)</p>
        <p>Delegatee ∆( cred∆ )
∆ ID ∈ S</p>
        <p>Verifier V
∆ ID
del ← DelegIssuance(credD, DP, scope, ∆ ID)
del
nonce</p>
        <p>nonce ←−$ {0, 1}λ
pres ← DelegPres(del, cred∆ , nonce)
pres</p>
        <p>DelegPresVer(pres) −→$ {0, 1}</p>
      </sec>
      <sec id="sec-4-2">
        <title>Definition 4 (Correctness of VP delegation scheme). Given a VP delegation scheme</title>
        <p>= (DelegIssuance, DelegVer, DelegPres, DelegPresVer),
we say that the scheme is correct if DelegPresVer(pres) → 1 whenever:
• de− l ← $ DelegIssuance(credD, DP, scope, ΔID) where credD satisfies the statements contained in</p>
        <p>DP (which is contained in del);
• pre− s ← $ DelegPres(del, credΔ, nonce), where credΔ satisfies the statements contained in ΔID.</p>
      </sec>
      <sec id="sec-4-3">
        <title>Unforgeability Property. We consider two notions of unforgeability: the unforgeability of the</title>
        <p>delegation algorithm DelegIssuance, which means that an adversary cannot forge a delegation from a
credential it does not possess, and the unforgeability of the delegation presentation algorithm DelegPres,
which means that an adversary cannot present a delegation that is not issued to its identity (i.e., its
identity does not satisfy ΔID). We capture these two notions of unforgeability in a single experiment.</p>
        <p>The experiment captures that an adversary , after receiving the public key of the issuer pkIss,
the public parameters pp, and performing a training, cannot forge a delegation presentation. The
training considers an adversary that can learn information from the system in the following ways: it
can (1) corrupt a polynomial number of users, (2) receive a polynomial number of delegations from
users it does not control, and (3) verify a polynomial number of delegated presentations (i.e., receive
a polynomial number of presentations of its choice). These operations are modeled by allowing  to
query a polynomial number of credentials to the oracle Oiss, of delegations to the oracle Odel and of
presentations of delegations to the oracle Opres.</p>
      </sec>
      <sec id="sec-4-4">
        <title>Note that in a system supporting the delegation of VPs the adversary can see not only dele</title>
        <p>gated presentations, but also presentations of verifiable credentials (generated using the algorithm</p>
      </sec>
      <sec id="sec-4-5">
        <title>CredPresentation(cred, stmt)). However, we omit the queries for credentials presentations because we</title>
        <p>assume that credentials presentations can be seen as delegated presentations associated to an empty
delegation (del, nonce) = (⊥, ⊥).</p>
        <p>Experiment 1 (ExpDelPresUnforgeability(1 )). The experiment is given by the following phases.</p>
        <p>Setup phase  receives from the challenger of the experiment the public key pkIss of the issuer and the
public parameters pp of the underlying VC scheme.
Training phase  can interact with random oracles Oiss, Odel and Opres, to which it can send a
polynomial number of issuing queries, delegation queries, and delegated presentation queries, respectively.
Each query has the following input-output specification:
1. Issuing queries to Oiss:  can query for the issuance of a credential for a set of attributes
{}∈[] of its choice; the oracle computes a credential cred ← CredIssuance({}∈[], skIss),
adds cred to the credential table CT and sends it to .
2. Delegation queries to Odel:  can query Odel for the issuance of a delegation for
(ΔID, scope, DP) of its choice; the oracle computes a delegation del ← (ΔID, scope, DP,  DP),
stores del in a delegation table DT and sends it to .
3. Delegated presentation queries to Opres:  can query for the presentation of a delegation for
the values (del, nonce); the oracle Opres generates a presentation pres for (del, nonce), adds
pres to a presentation table PT and sends it to .</p>
        <p>Forgery phase  eventually outputs a delegated presentation pres⋆ = (del⋆,  del⋆ ).
Winning conditions Parse pres⋆ = (del⋆,  del⋆ ) as (ΔID⋆, scope⋆, DP⋆,  DP⋆ ,  del⋆ ).</p>
        <p>The adversary wins the experiment if DelegPresVer(pres⋆) → 1 and one of the following conditions
is satisfied:
• forgery of the delegation: del⋆ is forged, i.e.</p>
        <p>– it is not a delegation queried by  to Odel, i.e. del⋆ ̸∈ DT;
– del⋆ was not generated using the credentials issued to .
• forgery of the delegated presentation:  del⋆ is forged, i.e.</p>
        <p>– ∀pres ∈ PT, pres ̸= pres⋆;
–  del⋆ was not generated using the credentials issued to .</p>
        <p>Definition 5 (Unforgeability of VP delegation scheme). We say that a VP delegation scheme is unforgeable
if for any PPT adversary  executing ExpDelPresUnforgeability(1 ),</p>
        <p>Pr[︁ wins ExpDelPresUnforgeability(1 )]︁ ≤  ( ),</p>
        <p>where  ( ) is negligible in the security parameter  .</p>
        <p>In this security model, we assume that every interaction between holders/delegatees and verifiers is
identified by a unique session identifier. This prevents an adversary from replaying messages exchanged
during diferent sessions. When the protocol is instantiated, the protocol designer must take care of
issues related to the creation of the communication sessions between the parties involved. To test the
security of the approach used, it is advised to use automated tools like Tamarin or ProVerif; nonetheless,
addressing this issue is beyond the scope of this paper.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Our Construction</title>
      <sec id="sec-5-1">
        <title>We create an instance of a VP delegation scheme according to Definition 3 that is built on top of</title>
        <p>
          verifiable credential schemes supporting selective disclosure which are compliant with the EUDIW ARF
[
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], as described in Definition 2. Note that in this particular case all the proofs introduced in Definition
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>3 are digital signatures.</title>
        <p>Definition 6 (ARF-Compliant VP Delegation Scheme). Given a verifiable credential scheme as defined
in Definition 2, which uses the digital signature scheme  and the hash function , we can define the
following delegation scheme (see Definition 3).
• Delegation issuance: DelegIssuance(credD, DP, scope, ΔID→)− $ (ΔID, scope, DP,  DP)
⏟
del⏞
On input (credD, DP, scope, ΔID) with credD = (︀ (, {com}∈[], pkcredD ), {}∈[], {salt}∈[], skcredD ︀) ,
the delegator D computes  DP as a variant of a presentation of credD which is bound to DP but also
to scope and ΔID:
– pres′ ←</p>
        <p>((, {com}∈[], pkcredD ), {salt}∈DP, DP, scope, ΔID);
–  − ′ ← $ Sign(pres′, skcredD ) and  DP ← (pres′,  ′);
– return del ← ((ΔID, scope, DP,  DP)).
• Delegation verification : DelegVer(del→)− ${ 0, 1}</p>
        <p>To verify the delegation, parse:</p>
        <p>del → (ΔID, scope, DP,  DP),  DP → (pres′,  ′),
pres′ → ((, {com}∈[], pkcredD ), {salt}∈DP, DP, scope, ΔID).</p>
        <p>Then, perform the following checks:
– Verify the signature of the issuer: 1− ← ? Vf(, ({com}∈[], pkcredD ), pkIss). This means that
the delegation is created from a valid VC issued by pkIss;
– Check that com =  (||salt), ∀ ∈ DP. This means that the delegation has a DP consistent
with the credential used to generate it;
– verify the signature  ′ of pres′ using the public key pkcredD : −1 ← ? Vf( ′, pres′, pkcredD ). This
means that the delegation (for scope and ΔID) was created by the holder of the associated
credential.
• Delegated presentation: DelegPres(del, credΔ, nonce→)− $ (del,  del)
⏟ pre⏞s
After parsing del → (ΔID, scope, DP,  DP), the delegatee computes  del as a presentation of ΔID
using credΔ which is bound to del:
– compute pres′′ ←</p>
        <p>((, {com}∈[], pkcredΔ ), {salt}∈ΔID , del, nonce);
– the delegatee signs pres′′ computing  −′′ ← $ Sign(pres′′, skcredΔ ), sets  del ←</p>
        <p>returns pres ← (del,  del).
• Delegated presentation verification : DelegPresVer(pres→)− ${ 0, 1}</p>
        <p>Parse pres → (del,  del), where  del → (pres′′,  ′′)
((, {com}∈[], pkcredΔ ), {salt}∈ΔID ), del, nonce). The verifier checks that
(pres′′,  ′′) and
and
pres′′
→
– the delegation is valid, i.e. DelegVer(del) → 1;
–  del is a valid presentation of credΔ for the attributes in ΔID specified in del, i.e.:
1. the signature  ′′ of pres′′ is valid using pkcredΔ : 1 ←
2. com =  (||salt) ∀ ∈ ΔID;
3. the signature of the issuer is valid: 1 ←</p>
        <p>Vf(, ({com}∈[], pkcredΔ ), pkIss).</p>
        <p>Vf( ′′, pres′′, pkcredΔ );
– the value scope included in del is satisfied according to the associated verification procedure.</p>
        <p>If these checks pass, the delegated presentation is accepted, and the algorithm outputs 1.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Security Analysis</title>
      <sec id="sec-6-1">
        <title>In this section we prove that the VP delegation scheme described in Definition 6 satisfies the security properties of correctness (Definition 4) and unforgeability (Definition 5).</title>
        <sec id="sec-6-1-1">
          <title>6.1. Correctness</title>
        </sec>
      </sec>
      <sec id="sec-6-2">
        <title>We prove the following theorem.</title>
        <p>Theorem 1. The delegation scheme described in Definition 6 instantiated using the digital signature 
is correct, assuming that the digital signature  is correct and that  is modeled as a random oracle.</p>
      </sec>
      <sec id="sec-6-3">
        <title>Proof. It is easy to see that the VP delegation scheme is correct, in fact the delegator always computes a</title>
        <p>proof  DP to include in del, and since the digital signature  is correct del is a valid delegation. Then,
if the delegation is presented by a delegatee whose identity matches with the identity ΔID included in
del, the delegatee can always successfully present the delegation, again because  is correct.</p>
        <sec id="sec-6-3-1">
          <title>6.2. Unforgeability</title>
          <p>In the security proof of the unforgeability, we must introduce a technicality which simplifies the
description of our reduction. In particular, we show that the adversary  to the unforgeability of
the VP delegation scheme can be used to build a reduction to a variant of the unforgeability under
chosen message attacks (UF-CMA) of the digital signature . In this variant, which we refer to as
v-UF-CMA, the reduction can open a polynomial number of sessions of standard UF-CMA experiments
(each associated with a diferent public key with the same public parameters pp), and the reduction
wins the v-UF-CMA experiment if it produces a forgery for at least one of the public keys it is provided
by the challenger of the experiment. Informally, the queries that the adversary can make are queries for
the opening of a new session , for which it receives a public key pk, and signing queries specifying a
message and one of the public keys it has previously received (, pk ), for which it receives a valid
signature  of  under the public key pk .</p>
        </sec>
      </sec>
      <sec id="sec-6-4">
        <title>It is easy to see that an adversary who can win the UF-CMA experiment can turn into an adversary</title>
        <p>of the v-UF-CMA experiment, and the success probability remains the same. However, it is also easy to
see that an adversary of v-UF-CMA of  can be used as a subroutine for a reduction to the UF-CMA
of  with a loss in the probability of success proportional to the number of sessions the adversary of
v-UF-CMA can open.
6.2.1. Unforgeability Proof
Theorem 2. The delegation scheme described in Definition 6 is unforgeable according to Definition 5
assuming that the digital signature  is (v-UF-CMA) unforgeable, that  is modeled as a random oracle
and that the commitment scheme is binding.</p>
      </sec>
      <sec id="sec-6-5">
        <title>We provide a description of the reduction omitting some details, for example the way the random</title>
        <p>oracle is programmed. Moreover, since we prove the security in the random oracle model and the
commitment is binding 7, the adversary cannot open a commitment to two diferent values because this
would imply that it has found a collision, which happens with negligible probability.
Proof Sketch. We prove that if there exists an adversary  of Experiment 1 who can win the experiment
with non-negligible probability, then we can use  to build a reduction ℬ to the v-UF-CMA experiment of
the underlying digital signature scheme , which wins the experiment with non-negligible probability.
The reduction ℬ interacts with the challenger  of the v-UF-CMA experiment and simulates the
challenger of Experiment 1.</p>
        <p>Setup ℬ sends a query for a new public key in the v-UF-CMA experiment.  sends to ℬ a public key
pk and public parameters pp. ℬ sets pkIss ← pk, and forwards (pp, pkIss) to the adversary .
Training phase We show how ℬ answers to the queries  can send during the training phase.
7The output in bits of the random oracle is suficiently large
operations:
• Queries to Oiss:  sends in input a set of attributes {}∈[]. ℬ performs the following
ture  of ({com}∈[], pkcred) using skIss.</p>
        <p>and adds cred to CT.
1. it generates a key pair (skcred, pkcred), the salts {salt}∈[], computes a commitment
com = RO(||salt) (where RO is a random oracle programmed by ℬ) to , ∀ ∈ [];
2. it sends a signing query to  with input (({com}∈[], pkcred), pkIss):  returns a
signa3. sends to  the credential cred ←</p>
        <p>((, {com}∈[], pkcred), {}∈[], {salt}∈[], skcred)</p>
        <p>Upon receiving a query ℬ performs the following operations:
• Queries to Odel:  can query for a delegation for the values (ΔID, scope, DP) of its choice.
adds del to DT.</p>
        <p>({com}∈[], pkcred), and receives from  the signature  ;
1. generates a set of random attributes {}∈[] which satisfies DP and computes the
commitments com as before generating the salts and programming the random oracle;
2. opens a new session with of UF-CMA with  from which it receives a public key pkcred
and sends a signing query (({com}∈[], pkcred), pkIss) for a signature with skIss of
3. sends a signing query (pres′, pkcred) to  for a signature with skcred of pres′ =
((, {com}∈[], pkcred), {salt}∈DP, DP, scope, ΔID).  returns the signature  ′;
4. ℬ sets  DP = ( ′, pres′) sends to  the delegation del = (ΔID, scope, DP,  DP) and
its choice. Upon receiving a query ℬ performs the following operations:
• Queries to Opres:  can query for a delegated presentation giving in input (del, nonce) of
1. ℬ generates a credential with the help of  as it is done for queries to Odel up to Item 2,
but instead of choosing the attributes that satisfy DP, they satisfy ΔID included in del
received in input. The credential is associated to the public key pkcred, whose secret
counterpart is not known to ℬ;
3. ℬ sends pres = (del, ( ′′, pres′′), nonce) to  and stores pres in PT.</p>
        <p>((, {com}∈[], pkcred), {salt}∈ΔID , del, nonce) using skcred.  returns  ′′.
(pres′′, pkcred) to  for a signature of pres′′
=
=
︂)
and ΔID⋆ :</p>
        <p>︂(
used in the generation of the forgery.</p>
        <p>Note that ℬ knows only the secret keys associated to the credential issued to  that can not be
Forgery Phase  sends to ℬ a delegated presentation pres⋆ = (del⋆,  del⋆ ) as its forgery.</p>
      </sec>
      <sec id="sec-6-6">
        <title>We argue that this presentation is a forgery, i.e. it satisfies at least one of the winning conditions of Experiment 1.</title>
        <p>Instantiation and analysis of the winning condition of Experiment 1</p>
      </sec>
      <sec id="sec-6-7">
        <title>We now focus on the</title>
        <p>winning condition of Experiment 1, and we rewrite it considering the experiment instantiated with the</p>
      </sec>
      <sec id="sec-6-8">
        <title>ARF-Compliant VP delegation Scheme in Definition 6.</title>
        <p>The
adversary’s
output is
a</p>
        <p>presentation
(ΔID⋆, scope⋆, DP⋆,  DP⋆ ). We recall the structure of the proofs  DP⋆ and  del⋆ .
pres⋆
=
(del⋆,  del⋆ ),
with del⋆
1.  DP⋆ is a presentation of a credential for the attributes specified in DP⋆ containing also scope⋆
 DP⋆ =  ′ = Sign(pres′, skcredD ), ((, {com}∈[], pkcredD ), {salt}∈DP⋆ , DP⋆, scope⋆, ΔID⋆) ,
⏟
pres⏞′
of ({com}∈[], pkcredD ) (part of credD) using skIss.
with  ′ being the signature of pres′ using the secret key associated to pkcredD and  is the signature
2.  d⋆el is a presentation of a credential credΔ for the attributes in ΔID bounded to del⋆ and nonce⋆,
 del⋆ =  ′′ = Sign(pres′′, skcredΔ ), ((, {com}∈[], pkcredΔ ), {salt}∈ΔID⋆ , del⋆, nonce⋆)
︂)
⏟
pres⏞′′
signature of ({com}∈[], pkcredΔ ) (part of credΔ) using skIss.</p>
        <p>with  ′′ being the signature of pres′′ using the secret key associated to pkcredΔ and  is the</p>
      </sec>
      <sec id="sec-6-9">
        <title>We make the following observation.</title>
        <p>Remark 1. The challenger of the unforgeability experiment (Experiment 1) generates public keys pkcred
and signs them (together with a set of commitments {com}∈[]) using skIss as a consequence of:
1. issuing queries: in this case, the challenger also gives to the adversary the associated secret key and
adds the credential to CT;
does not reveal skcred to the adversary.
2. delegation queries (delegated presentation queries): in this case, the issuer also signs pres′ in  DP
(pres′′ in  del) using the secret key skcred associated to pkcred, adds the delegation to DT (PT), and
Note that the challenger of Experiment 1 never signs public keys it has not generated 8
The adversary wins the experiment if DelegPresVer(pres⋆) → 1 and one of the following conditions
• forgery of the delegation: del⋆ is forged, i.e.</p>
        <p>– it is not a delegation queried by  to Odel, i.e. del⋆ ̸∈ DT;
– del⋆ was not generated using the credentials issued to .
signature  of ({com}∈[], pkcredD ) must be a forgery of pkIss.</p>
        <p>If it is generated by the challenger, since the delegation
Remark 2. The public key pkcredD in del⋆ has been generated either by the challenger or by .
del⋆
does not correspond
to any credential issued to , then  does not know the secret counterpart skcredD .
Also, since del⋆</p>
        <p≯∈
9
((, {com}∈[], pkcredD ), {salt}∈DP⋆ , DP⋆, scope⋆, ΔID⋆), therefore  ′, included in  DP⋆ , is a
forgery of pkcredD
. If pkcredD</p>
        <p>is generated by  (who would know the value skcredD ), then the
DT, the challenger has never signed
with skcredD the message
• forgery of the delegated presentation:  del⋆ is forged, i.e.</p>
        <p>– it is not a presentation queried by , i.e. pres⋆ ̸∈ PT;
–  del⋆ was not generated using the credentials issued to .</p>
        <p>Remark 3. The public key pkcredΔ is created either by the challenger or by . If it is created
by the challenger,  does not know the associated secret key since  del⋆ is not generated using a
credential issued to . But also pres⋆ ̸∈ PT, therefore it means that the issuer has never signed the
message ((, {com}∈[], pkcredΔ ), {salt}∈ΔID⋆ , del⋆, nonce⋆), therefore  ′′ (in  del⋆ ) is a forgery
of pkcredΔ . If pkcredΔ is generated by , then ({com}∈[], pkcredΔ ) must be a forgery of pkIss.
experiment, and this concludes the security proof.</p>
        <p>This means that at least one of the public keys that ℬ has received by , corresponding to the sessions
opened in the v-UF-CMA experiment, has been forged. Therefore, ℬ would also win the v-UF-CMA
8For the sake of clarity, note that in the security proof, the challenger of Experiment 1 is the reduction ℬ
. The reduction
9Also 
does not know the secret key skIss but can ask for signatures of messages of its choice using skIss sending queries to , the
challenger of the v-UF-CMA experiment. Again, the public keys pkcred that get signed using skIss have been generated by ℬ.</p>
        <p>might be a forgery of pkIss (because the adversary might have changed the set of commitments), but even if it is the
case,  ′ would be a forgery of pkcredD .</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>7. Instantiation in EBSI and EUDI Frameworks</title>
      <sec id="sec-7-1">
        <title>The protocol we have described and analyzed can be integrated into existing ecosystems such as EBSI</title>
        <p>or in the EUDI Wallet context without defining new data structures, only new verification procedures.</p>
      </sec>
      <sec id="sec-7-2">
        <title>We sketch some considerations describing possible solutions for integrating our scheme into the aforementioned VC frameworks.</title>
        <p>The delegation del can be a VC issued by the delegator that has as attributes the components we have
described, namely scope, ΔID, DP and  DP. The delegator signs this credential (as an issuer) using
the same secret key used to generate the  DP as specified in Definition 6. This additional signature
on the whole delegation is needed for compatibility reasons, because every VC must be signed by the
issuer, in this case the delegator. This special credential, which does not require the use of a key pair
(pkcred, skcred) to guarantee the binding to the device that receives it, will be fully disclosed by the
delegatee when the time comes to present the delegation.</p>
        <p>When the delegatee creates a delegated presentation, it presents del (which is structured as
a VC) disclosing all its attributes, namely, scope, ΔID, DP and  DP; the delegatee then creates a
verifiable presentation  del using its own VC, revealing the attributes included in ΔID. The outcome
of the delegated presentation is derived from the combination of these two presentations. The only
modification to the verification protocol is that the verifier must check that  DP is indeed a valid
presentation of the statement DP and that the presentation  del created by the delegatee using creddel
is a valid presentation of ΔID.</p>
        <p>In EBSI, the only entities entitled to issue credentials are legal persons whose DID (a reference to, at
least, their public key) is registered in the Trusted Issuer Registry (TIR)10. This means that credential
holders who are physical persons are not allowed to issue credentials and therefore cannot generate the
delegation as we have mentioned above. If the delegator is only a physical person we must consider
two cases:
• the delegatee is a legal person: in this case, the delegator can generate the attributes for the
delegation VC scope, ΔID, DP and  DP and sends them to the delegatee who generates the VC
containing this information and signs it in turn. Note that this signature is only useful to guarantee
the compatibility and create a VC issued by an entity registered in the TIR. The delegatee can
choose not to sign it, which is perfectly fine, but cannot change the information sent by the
delegator because  DP is cryptographically bound to scope, ΔID and DP.
• if the delegatee is also only a physical person, the delegator must have the delegation VC signed
by a third party registered in the TIR, which may be the issuer of the credential used to generate
the delegation or a third party with this specific role.</p>
        <p>Acknowledgements</p>
      </sec>
      <sec id="sec-7-3">
        <title>We thank Giada Sciarretta for the discussion about the application of our protocol in the EUDI framework.</title>
      </sec>
      <sec id="sec-7-4">
        <title>Andrea Gangemi is a member of GNSAGA of INdAM. Andrea Flamini, Andrea Gangemi, and Enrico</title>
      </sec>
      <sec id="sec-7-5">
        <title>Guglielmino are also members of CrypTO, the group of Cryptography and Number Theory of the</title>
      </sec>
      <sec id="sec-7-6">
        <title>Politecnico di Torino. Andrea Flamini acknowledges support from Eustema S.p.A. through the PhD</title>
        <p>scholarship. Andrea Gangemi and Andrea Flamini are supported by the QUBIP project, funded by
the European Union under the Horizon Europe framework program [grant agreement no. 101119746].</p>
      </sec>
      <sec id="sec-7-7">
        <title>Vincenzo Orabona is Blockchain Specialist for Eustema S.p.A and works on large-scale pilots developed by EBSI.</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>EU</surname>
          </string-name>
          ,
          <article-title>Amendments by the European Parliament to the Commission proposal for a Regulation of the European Parliament and of the Council amending Regulation (EU) no 910/2014 as regards establishing a framework for a European Digital Identity</article-title>
          , https://www.europarl.europa.eu/doceo/ document/A-9
          <article-title>-2023-0038_EN</article-title>
          .html,
          <year>2023</year>
          . URL: https://www.europarl.europa.eu/doceo/document/ A-9
          <article-title>-2023-0038_EN</article-title>
          .html.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>DG</surname>
            <given-names>CONNECT</given-names>
          </string-name>
          ,
          <source>The European Digital Identity Wallet Architecture and Reference Framework, version 1.4.1</source>
          ,
          <year>2024</year>
          . URL: https://eu-digital
          <article-title>-identity-wallet.github.io/ eudi-doc-architecture-and-reference-framework/.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>European</given-names>
            <surname>Blockchain Services</surname>
          </string-name>
          <article-title>Infrastructure (EBSI), Policies for verifiable credentials presentation and request, 2023</article-title>
          . URL: https://hub.ebsi.eu/vc-framework/trust-model/policies.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>EU</surname>
          </string-name>
          ,
          <article-title>Consolidated text: Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016</article-title>
          (
          <article-title>General Data Protection Regulation) (Text with EEA relevance)</article-title>
          , http://data.europa. eu/eli/reg/2016/679/2016-05-04,
          <year>2016</year>
          . URL: http://data.europa.eu/eli/reg/2016/679/2016-05-04.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Baum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Blazy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Camenisch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-H.</given-names>
            <surname>Hoepman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lehmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lysyanskaya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Mayrhofer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Montgomery</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. K.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          , et al.,
          <article-title>Cryptographers' feedback on the eu digital identity's arf (</article-title>
          <year>2024</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>[6] AAMVA, Mobile Driver's License (mDL) implementation guidelines</article-title>
          ,
          <source>version 1</source>
          .2, https: //www.aamva.org/topics/mobile-driver-license,
          <year>2023</year>
          . URL: https://www.aamva.org/topics/ mobile-driver-license.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J.</given-names>
            <surname>Camenisch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lysyanskaya</surname>
          </string-name>
          ,
          <article-title>A signature scheme with eficient protocols</article-title>
          ,
          <source>in: SCN</source>
          <year>2002</year>
          , volume
          <volume>2576</volume>
          <source>of LNCS</source>
          ,
          <year>2002</year>
          , pp.
          <fpage>268</fpage>
          -
          <lpage>289</lpage>
          . doi:
          <volume>10</volume>
          .1007/3-540-36413-7_
          <fpage>20</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Flamini</surname>
          </string-name>
          , G. Sciarretta,
          <string-name>
            <given-names>M.</given-names>
            <surname>Scuro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sharif</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tomasi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ranise</surname>
          </string-name>
          ,
          <article-title>On cryptographic mechanisms for the selective disclosure of verifiable credentials</article-title>
          ,
          <source>Journal of Information Security and Applications</source>
          <volume>83</volume>
          (
          <year>2024</year>
          )
          <fpage>103789</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Chase</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lysyanskaya</surname>
          </string-name>
          ,
          <article-title>On signatures of knowledge, in: Advances in Cryptology-CRYPTO</article-title>
          <year>2006</year>
          : 26th Annual International Cryptology Conference, Santa Barbara, California, USA,
          <year>August</year>
          20-
          <issue>24</issue>
          ,
          <year>2006</year>
          . Proceedings 26, Springer,
          <year>2006</year>
          , pp.
          <fpage>78</fpage>
          -
          <lpage>96</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Camenisch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Drijvers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dubovitskaya</surname>
          </string-name>
          ,
          <article-title>Practical uc-secure delegatable credentials with attributes and their application to blockchain</article-title>
          ,
          <source>in: Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>683</fpage>
          -
          <lpage>699</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Blömer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Bobolz</surname>
          </string-name>
          ,
          <article-title>Delegatable attribute-based anonymous credentials from dynamically malleable signatures</article-title>
          ,
          <source>in: International Conference on Applied Cryptography and Network Security</source>
          , Springer,
          <year>2018</year>
          , pp.
          <fpage>221</fpage>
          -
          <lpage>239</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>E. C.</given-names>
            <surname>Crites</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lysyanskaya</surname>
          </string-name>
          ,
          <article-title>Delegatable anonymous credentials from mercurial signatures</article-title>
          ,
          <source>in: Cryptographers' Track at the RSA Conference</source>
          , Springer,
          <year>2019</year>
          , pp.
          <fpage>535</fpage>
          -
          <lpage>555</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Grify</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lysyanskaya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Mir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O. P.</given-names>
            <surname>Kempner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Slamanig</surname>
          </string-name>
          ,
          <article-title>Delegatable anonymous credentials from mercurial signatures with stronger privacy</article-title>
          ,
          <source>Cryptology ePrint Archive</source>
          (
          <year>2024</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <source>[14] ISO/IEC 18013-5</source>
          , ISO/IEC 18013-
          <article-title>5 personal identification - ISO-compliant driving licence - part 5: Mobile driving licence (mDL) application</article-title>
          ,
          <year>2021</year>
          . URL: https://www.iso.org/standard/69084.html.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>D.</given-names>
            <surname>Fett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Yasuda</surname>
          </string-name>
          , B. Campbell,
          <article-title>Selective Disclosure for JWTs (SD-JWT), Internet-Draft draft-ietfoauth-selective-</article-title>
          <string-name>
            <surname>disclosure-</surname>
          </string-name>
          jwt-
          <volume>12</volume>
          , Internet Engineering Task Force,
          <year>2024</year>
          . URL: https://datatracker. ietf.org/doc/draft-ietf
          <article-title>-oauth-</article-title>
          <string-name>
            <surname>selective-</surname>
          </string-name>
          disclosure-jwt/12/, work in Progress.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sporny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Longley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chadwick</surname>
          </string-name>
          ,
          <source>Verifiable credentials data model</source>
          ,
          <year>2022</year>
          . URL: https://www. w3.org/TR/vc
          <article-title>-data-model/.</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>