W3C home > Mailing lists > Public > public-credentials@w3.org > August 2020

RE: A question on best practices for dependent claims

From: Joosten, H.J.M. (Rieks) <rieks.joosten@tno.nl>
Date: Sat, 1 Aug 2020 05:54:50 +0000
To: "steve.e.magennis@gmail.com" <steve.e.magennis@gmail.com>, "daniel.hardman@evernym.com" <daniel.hardman@evernym.com>
CC: 'Steve Capell' <steve.capell@gmail.com>, 'Luca Boldrin' <luca.boldrin@infocert.it>, 'Adrian Gropper' <agropper@healthurl.com>, "'W3C Credentials CG'" <public-credentials@w3.org>
Message-ID: <1d21fd91f4ad41139937c8b6e440d571@tno.nl>
@steve.e.magennis@gmail.com<mailto:steve.e.magennis@gmail.com>: I don't see that it works like you say. A verifier, i.e. the software that verifies credentials on behalf of some party, does not determine by itself whether or not to trust an issuer or an accreditation. It needs to get instructions about making such decisions from the party (individual, organization) on whose behalf it works. This party, who can make such decisions by itself, isn't going to inspect every VC in every transaction to decide this. It has bought/hired the software to do that for him. What the party should do is provide a policy to that software can use to make such decisions in every appropriate case (i.e.: a party may decide to accept an id-credential that has expired for a few months/years if the tranasction in which it is used has no/low risk) . according to which it can make such determinations, along the lines of what @daniel.hardman@evernym.com<mailto:daniel.hardman@evernym.com> describes.

This means that the party has to come up with a set of rules by which

  *   the software can distinguish between various contexts
  *   for every context: what kinds of credential types are acceptable (contain fields the data of which are useable) , and what makes such credentials acceptable/trustworthy/valid/...
I do not see there is a way around that.

It may be worthwhile to look at use-case (UC-00<https://docs.google.com/document/d/1y6OJcxWmUbhuYulzsggphMgNhHwIDafTULUDq2v5u7o/edit#heading=h.9zik49hml4ul>) of the CCI project. It proposes the concept of a Local Assurance Community (LAC) and are drafting requirements for an associated Toolbox<https://docs.google.com/document/d/1E1282rI306cqSlX56GFKvBk-vyH0kaexojKnnHw0wE0>. The Appendix<https://docs.google.com/document/d/1E1282rI306cqSlX56GFKvBk-vyH0kaexojKnnHw0wE0/edit#heading=h.fjvmfrpz4ep0> of the toolbox proposes a way by which a VC can be checked for accreditation of the issuer.


From: steve.e.magennis@gmail.com <steve.e.magennis@gmail.com>
Sent: vrijdag 31 juli 2020 16:00
To: daniel.hardman@evernym.com
Cc: 'Steve Capell' <steve.capell@gmail.com>; 'Luca Boldrin' <luca.boldrin@infocert.it>; 'Adrian Gropper' <agropper@healthurl.com>; 'W3C Credentials CG' <public-credentials@w3.org>
Subject: RE: A question on best practices for dependent claims

… upon further refection.
Having a verification process that checks the issuer of a VC so the verifier can determine if they trust them,
and if they do not then checks the whoever accredits / authorized / certified the issuer so the verifier can determine if they trust them
                and if not, checks the whoever accredits / authorized / certified them, etc.

Is interesting and has a nice recursive symmetry, but would also require that Accreditation / authorization / certification VC’s be issued at all levels starting at the top and somehow chained down to the issuer. At this point of market maturity that seems like a pretty unlikely think to happen except maybe with very specific use cases, at which point you probably already have sufficient a-priori knowledge that a verifier wouldn’t need to go (much) beyond the issuer to determine if they trust the issuer or not.

Would welcome use cases that show I’m thinking about this incorrectly.


From: steve.e.magennis@gmail.com<mailto:steve.e.magennis@gmail.com> <steve.e.magennis@gmail.com<mailto:steve.e.magennis@gmail.com>>
Sent: Thursday, July 30, 2020 6:54 PM
To: daniel.hardman@evernym.com<mailto:daniel.hardman@evernym.com>
Cc: 'Steve Capell' <steve.capell@gmail.com<mailto:steve.capell@gmail.com>>; 'Luca Boldrin' <luca.boldrin@infocert.it<mailto:luca.boldrin@infocert.it>>; 'Adrian Gropper' <agropper@healthurl.com<mailto:agropper@healthurl.com>>; 'W3C Credentials CG' <public-credentials@w3.org<mailto:public-credentials@w3.org>>
Subject: RE: A question on best practices for dependent claims

Agree, but I think Steve C. presents an interesting nuance that intrigues me. Defining acceptable authority or creating white lists implies an a-priori perspective of what a verifier would consider acceptable. Here, I think, the situation is that even if an assurance is unacceptable at one level, if the chain of assurance can be followed to the entity at the next level up … and that entity is acceptable then the verifier could be OK with it. Of course a verifier could always set the minimal level of acceptance to be the top most level (e.g. government or other well know body) and be assured that they wouldn’t reject anything unnecessarily, but that would be heavy handed. Maybe there can be a dynamic nature to setting the threshold.

From: Daniel Hardman <daniel.hardman@evernym.com<mailto:daniel.hardman@evernym.com>>
Sent: Thursday, July 30, 2020 4:33 PM
To: Steve Magennis <steve.e.magennis@gmail.com<mailto:steve.e.magennis@gmail.com>>
Cc: Steve Capell <steve.capell@gmail.com<mailto:steve.capell@gmail.com>>; Luca Boldrin <luca.boldrin@infocert.it<mailto:luca.boldrin@infocert.it>>; Adrian Gropper <agropper@healthurl.com<mailto:agropper@healthurl.com>>; W3C Credentials CG <public-credentials@w3.org<mailto:public-credentials@w3.org>>
Subject: Re: A question on best practices for dependent claims

Aries RFC 0430 ("Machine Readable Governance Frameworks")<https://github.com/hyperledger/aries-rfcs/blob/master/concepts/0430-machine-readable-governance-frameworks/README.md> contemplates this question and answers it by saying that any governance framework can answer the question by a DIF-style presentation definition, an Indy proof request, or some other demand for proof. That is, the gov fw can say, "Trust any university that can present a credential issued by DID X, showing that they're accredited." Or the gov fw can say, "Trust any DID in the following list." Or lots of other variations.

The thinking is that software "installs" or "activates" a gov framework. A user might get prompted: "Do you want to use trust rules about how universities are accredited, as codified by Org X?" Saying yes activates the gov framework for all proving contexts that identify that gov framework, going forward. Once the user says yes, the software reads the rules that tell how an org becomes trusted to be an issuer or a verifier, and automatically challenges other parties to prove their bona fides on behalf of the user.

On Thu, Jul 30, 2020 at 5:05 PM <steve.e.magennis@gmail.com<mailto:steve.e.magennis@gmail.com>> wrote:
Actually, these are exactly the type of use cases I think are important to get on the radar of the WG to challenge our thinking. In your Sarah Doe example, as I understand it the department of public health in Australia accredits inspectors directly, so the chain is pretty short: the validator is either comfortable with the assurance of the government or is not. In other scenarios a verifier might have to continue farther up the chain to reach an institution they know or are comfortable with.


From: Steve Capell <steve.capell@gmail.com<mailto:steve.capell@gmail.com>>
Sent: Thursday, July 30, 2020 3:10 PM
To: steve.e.magennis@gmail.com<mailto:steve.e.magennis@gmail.com>
Cc: Luca Boldrin <luca.boldrin@infocert.it<mailto:luca.boldrin@infocert.it>>; Adrian Gropper <agropper@healthurl.com<mailto:agropper@healthurl.com>>; W3C Credentials CG <public-credentials@w3.org<mailto:public-credentials@w3.org>>
Subject: Re: A question on best practices for dependent claims

Thanks steve, I will have a look at toip

“ The main question is what does a verifier need to trust. In the above example, is the question simply do I have the right university, or is it that the university accredited, by a certified accreditor, etc. In the real world, much of this is known to and trusted a-priori by the participants, or at least is assumed based on seeing a familiar name, a letterhead, having had previous contact, etc.”

It’s certainly true that, as a verifier, I really don’t need the trust chain to price accreditation if the issuer itself is already well known (eg Oxford / Harvard).  But most o our use cases are not like that.  It’s not general public knowledge (although often publically accessible ) that Australian business 78 145 321 320 is the trademark owner of lindemans wine.  Or that John Smith is an accredited vet.  Or that Sarah doe is an authorised officer that is accredited for food safety inspections - and so on.  These are our main use cases
Steven Capell
Mob: 0410 437854

On 30 Jul 2020, at 11:50 pm, steve.e.magennis@gmail.com<mailto:steve.e.magennis@gmail.com> wrote:

I would highly recommend looking into the Trust over IP Governance Stack WG (disclosure I am vice-chair for the group). We are dealing with just such questions and welcome a variety of perspectives, especially grounded in real use cases.

Currently some of the thinking is focused on the notion of ‘self-certification’ and ‘self-attestation’ vs. certification or attestation from a ‘known and trusted’ source whose trust is at least partially anchored by operating within a trust framework (that participants can trust). For example a university may self-certify their ability to issue a diploma VC. The perceived value of that VC though is connected to the university being accredited by an educational accreditation body, who in turn is certified by CHEA or the US department of education (in the US), who at the top of the authority chain is self-certified. In the future there may even be a separate accreditation body, independent of the chain just described that is solely focused on the issuance of diploma credentials from accredited and non-accredited universities.

The main question is what does a verifier need to trust. In the above example, is the question simply do I have the right university, or is it that the university accredited, by a certified accreditor, etc. In the real world, much of this is known to and trusted a-priori by the participants, or at least is assumed based on seeing a familiar name, a letterhead, having had previous contact, etc. so a verifier probably doesn’t need the entire chain of authority to properly evaluate a VC. When participants seek trust assurance because they don’t already have it or there is presumed risk of fraudulent activity is where the problem comes in.


From: Luca Boldrin <luca.boldrin@infocert.it<mailto:luca.boldrin@infocert.it>>
Sent: Thursday, July 30, 2020 12:12 AM
To: steve capell <steve.capell@gmail.com<mailto:steve.capell@gmail.com>>; Adrian Gropper <agropper@healthurl.com<mailto:agropper@healthurl.com>>
Cc: W3C Credentials CG <public-credentials@w3.org<mailto:public-credentials@w3.org>>; Luca Boldrin <luca.boldrin@infocert.it<mailto:luca.boldrin@infocert.it>>
Subject: R: A question on best practices for dependent claims

Dear Steve, all,

this is a familiar issue in EU, due to the large diffusion on legally binding digital signature (eIDAS regulation), and especially of its strongest form which is the “qualified” digital signature. IMHO, it does not have a satisfying solution yet.

The most common way of dealing with the “right of issuing credentials” in EU is simply through “liability”: when vet John Smith issues a credential, he is in fact signign a document with a key whose public key is certified by a CA who identified him. In signing the document, John Smith is himself claiming to be an authorized vet, and he takes legal responsibility for that (identification is essential to enforce liability).

This is however not satisfying in many situations, like those you mention.  A different approach involves  “role certificates”,  public key certificates issued by the CA which additionally contains a specific “role” attribute (e.g., “accredited vet”). The process for issuing/revoking such certificates involves the authority (e.g.  https://www.anzcvs.org.au/ ), which must interact with the CA.  The interaction with the CA is a critical point, especially when the vet loses his qualification: the authority should inform the CA, and the CA should revoke the certificate. This process is CA-centric and inefficient.

The use of external existing oracles, as recommended by Adrian, is certainly a valid option. The issue here is obviously that the verifyer has to be oracle-aware, and implement as many oracle integrations as  there are oracles.

There is now a lot of interest on “trust frameworks”, as a set of tools to support the verifier. I’ve seen different approaches, from those based on linked credentials to those based on external infrastructures (e.g., DNS like in lightest.eu<http://lightest.eu> or centrally managed like in https://github.com/hyperledger/aries-rfcs/tree/master/concepts/0430-machine-readable-governance-frameworks). Applicability to IOT (where automatizaion is paramount) appears to be relevant.

I believe this will be a field of growing interest. I am very interested in hearing of other views.



Da: steve capell <steve.capell@gmail.com<mailto:steve.capell@gmail.com>>
Inviato: giovedì 30 luglio 2020 02:21
A: Adrian Gropper <agropper@healthurl.com<mailto:agropper@healthurl.com>>
Cc: W3C Credentials CG <public-credentials@w3.org<mailto:public-credentials@w3.org>>
Oggetto: Re: A question on best practices for dependent claims

Hi Adrian,

Thanks for that - a lot of common sense in there.  And, yes, I think you are right about not overwhelming existing trust chains with too much digital change.

I think it'll work fine for most use cases.  We do have a few cases where the register is not public (for example "Australian Trusted Traders" - a kind of international supply chain accreditation granted after audit of facilities and processes).  But perhaps the simple solution for that is just that the "convener" needs also to be trusted by the accreditation authority and API access is authenticated.

I really appreciate this response Adrian.  And if anyone else has any ideas to contribute, we are listening attentively and gratefully ;)

kind regards,

On Thu, 30 Jul 2020 at 09:32, Adrian Gropper <agropper@healthurl.com<mailto:agropper@healthurl.com>> wrote:
At least for medical, and maybe veterinary, practice the solution is not as complicated as it would seem if we make best use of existing regulations and practices. The problem arises when we try to overwhelm the existing chains of trust with excess digital innovation.

For example:

  *   Licensed physicians have public credentials that can be used to hold them accountable if their actions are logged in non-repudiable way.
  *   Because these credentials are public, it makes no difference how they are held or even if they are published by an oracle like a state board.
  *   Many state and federal boards already offer APIs that can serve as oracles.
  *   A simple DID credential that links an official oracle with the DID can be self-signed or co-signed by a notary who also reviews a driver's license.
  *   DID wallets can also support a non-repudiable digital signature at least as good as the ink on paper ones.
  *   Paper signatures in medicine are often accepted by verifiers based on "Trust On First Use" with out-of-band verification.
  *   Timestamping signatures on public blockchains is easy and may almost be a commodity.
  *   Licensed physicians and verifiers are typically subject to records retention regulations that combine with digital timestamps to close the loop on non-repudiation and enforcement.
In this example and many like it, the technology and standards related to SSI are almost entirely in the control of the physician herself. Yes she has to install a relatively simple DID wallet. Yes, she has to go through the one-time credential issuance process. The economic benefit to the physician of a self-sovereign professional identity pays off handsomely in terms of not sharing power or revenue with hospitals that provide them with an administrative identity.

The oracles already exist and don't need to know about SSI or VCs.

The last thing left is hosting the digital transaction that brings patient and doctor together and gets the document timestamped. This convener does have to be SSI-aware and trusted as an intermediary by the patient, the doctor, and the verifier. Nice thing is, these conveners can be almost anywhere and don't themselves need to keep any patient data related to the transaction, limiting both security and privacy risks.

Wouldn't this be the fastest way to gain mass adoption of SSI?

- Adrian

On Wed, Jul 29, 2020 at 6:37 PM steve capell <steve.capell@gmail.com<mailto:steve.capell@gmail.com>> wrote:
Hi all,

I'm hoping some of you will have some sage advice for me on how best to handle a common pattern that we need to solve here in Australia.  The generalised case is that a certificate (ie credential) issued by X has little value to verifier Y unless backed up by an accreditation (ie credential) issued by recognised authority Z that says X is authorised to issue this type of claim.  Some real world examples

  *   Business identity ABN123 issues a claim that a consignment of wine is genuine penfolds.  But without another claim from IP Australia that ABN123 is the holder of trademark "Penfolds" then it's of little value.
  *   Veterinary surgeon John Smith issues an animal health certificate about snoopy the dog.  But without a supporting claim from https://www.anzcvs.org.au/ that john smith is an accredited vetinary surgeon, the certificate is useless.
  *   And there are hundreds of others....
Some initial thinking

  *   If these are totally separate credentials then there is a problem with identity linking.  The subject of one claim (john smith is a vet) must be identical to the issuer of the other claim (snoopy is healthy).  even if the identifiers are the same, there are lots of john smiths in the world so how to be sure that the one issuing the cert about snoopy is the one that was accredited?  Does John smith first create a self-sovereign identity and get https://www.anzcvs.org.au/ to issue the claim to that identity?
  *   Another approach is that the accreditation authority runs a service that counter-signs each certificate.  so john issues the health cert and then authenticates to https://www.anzcvs.org.au/ and gets it counter-signed.  the verifier can trace the authority through a single health certifiate.  This implies some real-time infrastructure capability on the part of all accreditation authorities that might be a bit impractical.
  *   Another is that the accreditation authorities maintain public lists of accredited identities via some public ledger protocol. verifiers can check the issuer id in the health claim and then check the public list. Maybe the lists need to be anonymised via some kind of zero knowledge proof.
  *   and so on...
Looking for best practice advice that is both cryptographically secure and practical to implement for large number of accreditors and certifiers.

Thanks in advance!

Steve Capell
+61 410 437854

Steve Capell

This message may contain information that is not intended for you. If you are not the addressee or if this message was sent to you by mistake, you are requested to inform the sender and delete the message. TNO accepts no liability for the content of this e-mail, for the manner in which you use it and for damage of any kind resulting from the risks inherent to the electronic transmission of messages.
Received on Saturday, 1 August 2020 05:55:10 UTC

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