- From: Brent Zundel <brent.zundel@evernym.com>
- Date: Thu, 5 Nov 2020 18:31:25 -0700
- To: Leonard Rosenthol <lrosenth@adobe.com>
- Cc: Giuseppe Tropea <giuseppe.tropea@cnit.it>, "W3C Credentials CG (Public List)" <public-credentials@w3.org>
- Message-ID: <CAHR74YVE0U+ObbXBNGkR=3J5QqJKim+6PzmEX2Y7F64DHk6=Fw@mail.gmail.com>
Giuseppe, You may be interested in checking out https://github.com/w3c-ccg/ldp-bbs2020 The LD signatures described there can be used to reveal any subset of signed attributes. On Thu, Nov 5, 2020, 17:17 Leonard Rosenthol <lrosenth@adobe.com> wrote: > In order to sign portions of a JSON-LD document, you are going to need to > perform JSON-LD canonicalization, such as described in > https://tools.ietf.org/html/draft-rundgren-json-canonicalization-scheme-17. > > > Leonard > > On 11/5/20, 1:09 PM, "Giuseppe Tropea" <giutropea@gmail.com on behalf of > giuseppe.tropea@cnit.it> wrote: > > dear CCG Linked Data Proofs, > > we have a use case where multiple JSON-LD “fragments” are to be > digitally signed by different producers, and then aggregated in order to > give a unified JSON-LD entity back to a consumer. > > Specifically: > Producer1 produces Fragment1 = {ID, A1, B1, P1}. The document has an > ID, two properties A1 and B1, and a linked data proof P1. > Producer2 produces Fragment2 = {ID, A2, B2, P2}. Please notice the two > fragments have the same ID. The distributed information they carry refers > to the same object. > > The goal is for the consumer, upon receiving {ID, A1, A2, B1, B2, P1, > P2, X3, Z4, …}, to be able to: > - prove that A1 and B1 have been signed by P1 for the specific ID > - similarly for A2 and B2 > > Is there a way to explicitly list, within the proof, the subset of the > top-level properties the proof takes into account? (Defaults to the whole > document, of course). In other words, would it be desirable to specify a > way for the algorithms to natively operate on portions of JSON-LD documents > vs. the whole? > > Otherwise, we have to accomplish this by operating on top of the > linked data proof libraries, by “manually” reconstructing the two original > fragments out of the aggregate, provided we can embed inside each “proof”: > {…} the list of top-level properties the proof actually covers. > > Does a specific vocabulary exist for this purpose? Is is legit to > inject custom vocabulary inside “proof”: {…}, such as: > > “proof”: { > “refersTo”: [ID, A1, B1] > … > … > } > > To give some context, this is emergent because of our attempt to add > security (provenance, integrity. etc…) to the current version of the > NGSI-LD standard for IoT and Context Information, in progress at ETSI, > which takes into account federated and distributed deployments. > > Thank you, > giuseppe > > > — > Giuseppe Tropea > CNIT - Italy > giuseppe.tropea@cnit.it > — > > > > > >
Received on Friday, 6 November 2020 01:31:50 UTC