W3C home > Mailing lists > Public > public-credentials@w3.org > March 2022

Cross border identity use case - which did methods?

From: steve capell <steve.capell@gmail.com>
Date: Sun, 6 Mar 2022 13:12:17 +1100
Message-ID: <CAEMprtKR_wcTSqq0dQZmKXdKe_bvuaF+on1FaPTLVgTf-N0bLA@mail.gmail.com>
To: W3C Credentials CG <public-credentials@w3.org>
Hi all,

There's nothing like a concrete use case to focus discussions about which
did method is right for which purpose.  Here's an interesting cross-border
trade use case that, IMHO, can only be solved with VCs & DIDs (ie
centralised / federated models cannot work). This is another long one so
i'll understand if most of you don't bother to read it ;). If just a small
handful of you share interest in this use case then I'm keen to


   - AEO = "Authorised Economic Operator" - a WCO term for an entity that
   has been accredited by the competent authority in their jurisdiction as a
   trusted trader. (see
   AEOs receive benefits like faster processing, deferred duty, etc from their
   - AEO Mutual Recognition - a bilateral or multilateral cooperation where
   one country accepts the AEO accreditation process of another and so offers
   similar benefits to the exporting country trader - see
   - ABN - Australian Business Number - a national identity for any
   business in australia - listed in public registers (
   https://abr.business.gov.au/) and verifiable via a national identity
   provider (https://www.mygovid.gov.au/).  Substitute any other country's
   business registration and verification scheme here...
   - LoC - Letter of Credit - a cross border financial instrument, usually
   issued by the buyers bank that ensures that the seller will receive full
   payment when goods are received.
   - piggybacking - a fraudulent practice where an unscrupulous trader
   pretends to be a trusted trader (AEO) to reduce seizure risk of illicit
   - LoC fraud exception - rules about how banks, beneficiaries are
   required to behave in the event of fraud. There are many fraud vectors for
   LoCs and so banks have to go to a lot of effort to mitigate risk - usually
   through very cumbersome and manual verification of trade documents

*The problems / opportunities*

   - Some countries publish their AEO lists and some exchange lists as CSV
   files. This only confirms that AEO-1234 exists, not that the trader really
   is AEO-1234. So AEO schemes, whilst conferring benefits on genuine AEOs are
   also essentially an open invitation to piggy-backers.  Even though most
   countries have some means (eg myGovID in Australia) to identify their own
   AEOs, there's no easy way for them to verify that the other country
   exporter really is the AEO they claim to be. National federated identity
   schemes like "login with myGovID" dont easily cross borders. most national
   IDPs do not allow offshore relying parties - and even if they did it would
   be impractical for exporters to login to various other country platforms
   (often in an un-familar language).
   - There is around $1.5Trillion of un-met trade finance demand - much of
   which is due to difficulties and costs involved in the verification of
   trade documents & identities. If banks could perform "algorithmic due
   diligence" on VCs instead of manual due-diligence on paper then trade
   finance risk and cost would be reduced, opening up at least a good part of
   that un-met demand.

The fraud vectors on both AEO schemes and illicit goods and LoC schemes and
finance fraud are largely about the fraudster pretending to be someone they
arent and about faking trade documents (eg claiming finance of $10M for a
$1M actual shipment). It's not so easy for banks and regulators in an
importing country to confirm the identity of a trader in an exporting

*A VC/DID solution*

   - exporter creates a did:[method]:1234 and associated keypair.
   - exporter "logs in with mygovID" (or whatever their national business
   identity scheme is..) and requests a VC that attests to the well known
   public register identity (eg ABN 4567) of the trader.
   - regulator verifies that the requestor owns did:[method]:1234 and
   issues a VC with did:[method]:1234 as the subject and a well known and
   trusted ID (eg did:web:abf.gov.au) as the issuer.  If the trader is an
   AEO than that claim in in the VC too.
   - exporter can now issue any cross border trade document such as a
   commercial invoice as a VC (exporter is issuer and did:shipment is the
   - importer lodges an import declaration to the importing customs in the
   normal way, identifying themselves as the importer.  The importer attaches
   (or references) the commercial invoice VC.  Importing customs can verify
   that the invoice has not been tampered, was issued by did:[?1]:exporter AND
   that this did is identity confirmed by ABF as ABN 4567 who is also an AEO.
   - The importer also requests a LoC from their bank - who can similarly
   and algorithmically confirm that the invoice was issued by the specified
   party and hasn't been tampered with.

The link between invoice VC and the regulator issued ABN or AEO VC can
happen in any of three ways

   1. No link in the VC but the AEO VC is provided by exporter to importer
   and hence to regulator as a bearer token and so importing customs can
   confirm that the invoice issuer is the same as the AEO ceritifcate subject.
   2. The invoice VC could include a hashlink to the AEO VC
   3. The exporter DID document could contain a service link to the AEO
   VC.  This is probably the simplest because once done it's there and nobody
   has to remember to hand over VCs or insert hashlinks.  I'd assume that the
   did created by the exporter would be just for this cross-border trade
   purpose.  they'd use different dids for other non related purposes to avoid
   unwanted correlations.  Obviously the did:exporter to AEO VC is a *wanted
   *correlation ;)

the "trust graph" for this is below.  ovals are entity dids, round edged
squares are "thing" dids, arrows between dids are VCs.  Although the
importer and bank/importing customs could be did, they dont need to be so I
dont show it.

[image: image.png]
Note that we cant use verifiable presentations here becausr the party doing
the presenting (the importer usually) is not the subject or holder or
agency of the subject/holder.  So that invoice VC is used more like a
bearer token.

So - phew - the focussing question:  which did method to use for each of
the three dids here?

   1. exporting customs is probably pretty obvious.  did:web should work
   fine.  It's a large organisation with well established web infrastructure
   and a trusted domain name.
   2. did:shipment is a tricky one but not too critical for this use case.
   Doesn't even really have to be a did. However the next use case I'll
   present (in a separate long email) is about traceability & transparency for
   sustainability claims in long supply chains and will get into did:shipment
   use case more seriously.
   3. So that leaves *did:exporter. *
      - did:key wont work.  this did is likely to be longish-lived (years)
      and, if compromised will expose too much fraud opportunity.  Also, the
      simplest way to make the wanted correlation to the AEO VC is
probably via a
      did document service end point.
      - did:web could work. But there are millions of businesses with an
      ABN.  some dont have websites other than a facebook page. Some will have
      websites but may not have the maturity to maintain a highly available end
      point for their did document. Others might be put off by the IT effort to
      get setup.  Some might be just fine with did:web.
      - did:ion or some similar side-tree / ipfs system would work quite
      nicely and, to facilitate boot-strapping, could even be offered as a
      service by the regulator "get your did here - if you don't have one
      already".  But, as Manu and others have said - DLtT anchored dids are
      pretty immature and arguably just not "production ready".

If an exporter has already chosen a service (eg ION) and created a did and
then asks their regulator to issue the AEO VC to his/her did:ion - should
the AEO VC issuer refuse?  "no, we won't do that because we think you made
a bad choice with did:ion - go get yourself a did:web and we'll be pleased
to give you a VC"..  governments would generally be in a tricky spot here -
they cant be seen to be demanding technologies that exclude some groups
from participation.  Neither can they be seen to be preferring one
technology over another equivalent one.  So most likely that government
website for AEO certificate issuing would need to say "bring your own did -
here's the methods we support".  did:key could not be on that list for this
purpose (for others yes but not this use case.  So should that suite list
only did:web?  or is there a short list of others?  I note that Microsoft
Azure is in public beta with an AD based VC issuer -
It includes the DIF sidetree.  If that gets some uptake, wouldn't it be
unreasonable for a government to refuse it as a subject did in "bring your
own did" method ?

The broader generalisation of this question is : "for trust anchors like
governments that issue VCs to their constituents, what rules should govern
which did:methods they should accept as the *subject* identifier for the
VCs they issue?"  Are those rules context specific?

I'm not sure of the answer - but it's why did:ion was on my list - as an
allowed *subject* of a government issued vc - and as the issuer of trade
documents.  should I take it off my list pending a bit more maturity (eg
that azure service goes out of beta into full production)?  or is it safe
enough for this use case?  if so what others would also be "safe enough"?

Steve Capell

(image/png attachment: image.png)

Received on Sunday, 6 March 2022 02:13:43 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:25:29 UTC