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

Re: RDF Dataset Canonicalization - Formal Proof

From: Tobias Looker <tobias.looker@mattr.global>
Date: Tue, 30 Mar 2021 15:33:24 +1300
Message-ID: <CAJmmfSRrnJ_29Yo6i9PnYgr8a6b+arLk1DijDOqSfXsBhUGXEA@mail.gmail.com>
To: Dave Longley <dlongley@digitalbazaar.com>
Cc: Steve Capell <steve.capell@gmail.com>, Christopher Allen <ChristopherA@lifewithalacrity.com>, Adrian Gropper <agropper@healthurl.com>, Alan Karp <alanhkarp@gmail.com>, Drummond Reed <drummond.reed@evernym.com>, Manu Sporny <msporny@digitalbazaar.com>, "W3C Credentials CG (Public List)" <public-credentials@w3.org>
> It seems to be worthwhile to standardize this, as it would enable
selective disclosure with

standard crypto (e.g. ECDSA instead of BBS+, which is known to be at least
a little less secure

cf. https://link.springer.com/chapter/10.1007%2F978-3-662-53018-4_20)


Totally agree that BBS+ is *newer* crypto (still been around for ~15 years
and used in production implementations such as EPID though) so there is
potential benefit in also having a scheme that backs on to something like
ECDSA, I don't think there will be complete feature parity between the two,
but nor does there need to be for each scheme to have value.


Just a note on the paper you shared, BBS+ is a generalized signature scheme
that can be used in conjunction with any pairing based elliptic curve. The
paper you cite is primarily concerned with a brand of attacks otherwise
known as exTNFS attacks that affect some pairing based curves such as the
BN* family, however our implementation and the one used in the draft Linked
Data Proofs spec <https://w3c-ccg.github.io/ldp-bbs2020/> uses BLS12-381 which
is not affected
<https://tools.ietf.org/id/draft-irtf-cfrg-pairing-friendly-curves-07.html>.

Thanks,
[image: Mattr website] <https://mattr.global>
*Tobias Looker*
Mattr
+64 (0) 27 378 0461
tobias.looker@mattr.global
[image: Mattr website] <https://mattr.global> [image: Mattr on LinkedIn]
<https://www.linkedin.com/company/mattrglobal> [image: Mattr on Twitter]
<https://twitter.com/mattrglobal> [image: Mattr on Github]
<https://github.com/mattrglobal>
This communication, including any attachments, is confidential. If you are
not the intended recipient, you should not read it - please contact me
immediately, destroy it, and do not copy or use any part of this
communication or disclose anything about it. Thank you. Please note that
this communication does not designate an information system for the
purposes of the Electronic Transactions Act 2002.


On Tue, Mar 30, 2021 at 6:14 AM Dave Longley <dlongley@digitalbazaar.com>
wrote:

>
> Tobias,
>
> One idea with the LD signature redaction suite that never took off was
> to have the issuer generate an HMAC key and use that to generate the
> salts -- and then give the holder the HMAC key so they can do the same
> when sharing.
>
> On 3/28/21 4:33 PM, Steve Capell wrote:
> > Hi Tobias
> >
> > Good questions - which I’ve forwarded to the Singapore team for an
> > authoritative answer
> >
> > Here’s my non-authoritative attempt
> > - salts are an array of uuids I think -
> > see https://edi3.org/specs/edi3-notary/develop/#611-salting-the-data
> > - signature correlation - not sure but I’d mention that all use cases
> > for this approach so far are for cross border trade documents where the
> > subject is a public identifier such as a business number.  The design
> > intent is that the identity is correlatable.
> > - we haven’t noticed performance issues of any significance but we are
> > talking volumes of only a few million per year
> >
> > Steven Capell
> > Mob: 0410 437854
> >
> >> On 28 Mar 2021, at 2:53 pm, Tobias Looker <tobias.looker@mattr.global>
> >> wrote:
> >>
> >> 
> >> > I’m a big fan of this approach, a form of redaction distinct from zk
> >> forms of selective disclosure.
> >>
> >> > There was an attempt to spec one here in the CCG three-four years
> >> ago, but it died on the vine.
> >>
> >> I'm also interested in learning more about this approach too, the
> >> questions I had last time were
> >>
> >> 1. How the salt for each redactable statement would be managed in a
> >> way that would not leak the abstraction that "Linked Data Proofs" sets
> >> up. For example would the attached proof block have to have a long
> >> array of salts?
> >> 2. Proof sizes, having to have a salt per-statement signed as a part
> >> of the proof would significantly increase the size of the proofs
> >> representation.
> >> 3. Signature correlation, perhaps not important in this scheme, but I
> >> think the approach would require revealing a fixed signature
> >> regardless of which parts are redacted from the original proof?
> >> 4. Performance? Also perhaps a non-issue but if anyone has
> >> info/benchmarks around how the scheme might scale with the size of the
> >> data graph signed, that would be great to look at?
> >>
> >> Thanks,
> >> Mattr website <https://mattr.global>
> >> *Tobias Looker*
> >> Mattr
> >> +64 (0) 27 378 0461
> >> tobias.looker@mattr.global <mailto:tobias.looker@mattr.global>
> >> Mattr website <https://mattr.global> Mattr on LinkedIn
> >> <https://www.linkedin.com/company/mattrglobal>       Mattr on Twitter
> >> <https://twitter.com/mattrglobal>    Mattr on Github
> >> <https://github.com/mattrglobal>
> >>
> >>
> >> This communication, including any attachments, is confidential. If you
> >> are not the intended recipient, you should not read it - please
> >> contact me immediately, destroy it, and do not copy or use any part of
> >> this communication or disclose anything about it. Thank you. Please
> >> note that this communication does not designate an information system
> >> for the purposes of the Electronic Transactions Act 2002.
> >>
> >>
> >> On Sun, Mar 28, 2021 at 3:49 PM Christopher Allen
> >> <ChristopherA@lifewithalacrity.com
> >> <mailto:ChristopherA@lifewithalacrity.com>> wrote:
> >>
> >>     On Sat, Mar 27, 2021 at 7:22 PM Steve Capell
> >>     <steve.capell@gmail.com <mailto:steve.capell@gmail.com>> wrote:
> >>
> >>         The Singapore government https://www.openattestation.com/ does
> >>         this already . Version 3 is W3C VC data model compliant
> >>
> >>         Each element is hashed (with salt I think) and then the hash
> >>         of the hashed is the document hash that is notarised
> >>
> >>         The main rationale is selective redaction (because the root
> >>         hash is unchanged when some clear text is hidden). But I
> >>         suppose it simplifies canonicalisation too...
> >>
> >>
> >>     I’m a big fan of this approach, a form of redaction distinct from
> >>     zk forms of selective disclosure.
> >>
> >>     There was an attempt to spec one here in the CCG three-four years
> >>     ago, but it died on the vine.
> >>
> >>     I’d be interested is seeing this spec & implementation. Any links?
> >>
> >>     — Christopher Allen [via iPhone]
> >>
> >>
> >> This communication, including any attachments, is confidential. If you
> are not the intended recipient, you should not read it - please contact me
> immediately, destroy it, and do not copy or use any part of this
> communication or disclose anything about it. Thank you. Please note that
> this communication does not designate an information system for the
> purposes of the Electronic Transactions Act 2002.
>
>
> --
> Dave Longley
> CTO
> Digital Bazaar, Inc.
>

-- 
This communication, including any attachments, is confidential. If you are 
not the intended recipient, you should not read it - please contact me 
immediately, destroy it, and do not copy or use any part of this 
communication or disclose anything about it. Thank you. Please note that 
this communication does not designate an information system for the 
purposes of the Electronic Transactions Act 2002.
Received on Tuesday, 30 March 2021 02:33:49 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 30 March 2021 02:33:51 UTC