- From: CCG Minutes Bot <minutes@w3c-ccg.org>
- Date: Wed, 24 May 2023 17:46:23 +0000
Thanks to Our Robot Overlords for scribing this week! The transcript for the call is now available here: https://w3c-ccg.github.io/meetings/2023-05-23/ Full text of the discussion follows for W3C archival purposes. Audio of the meeting is available at the following location: https://w3c-ccg.github.io/meetings/2023-05-23/audio.ogg ---------------------------------------------------------------- W3C CCG Weekly Teleconference Transcript for 2023-05-23 Agenda: https://www.w3.org/Search/Mail/Public/advanced_search?hdr-1-name=subject&hdr-1-query=%5BAGENDA&period_month=May&period_year=2023&index-grp=Public__FULL&index-type=t&type-index=public-credentials&resultsperpage=20&sortby=date Organizer: Mike Prorock, Kimberly Linson, Harrison Tang Scribe: Our Robot Overlords Present: Harrison Tang, Greg Bernstein, Mike Prorock, Jeff O - HumanOS, Hiroyuki Sano, Japan, Stuart Freeman, BrentZ, Nis Jespersen , Jennie Meier, Mike Xu, Will, Joe Andrieu, Andres Uribe, Dmitri Zagidulin, Paul Dietrich GS1, Bob Wyman, Kaliya Young, Kimberly Linson, PL/T3-ASU, Keith Kowal, Steve Magennis, Manu Sporny, Kazue Sako, Brian, Kerri Lemoie, Erica Connell, Wendy Seltzer, kazue, Marty Reed, Leo, Andrew Whitehead, Lucy Yang, Taylor (LEF), Taylor (LEF ), John Kuo, James Chartrand, Mahesh Balan - pocketcred.com Our Robot Overlords are scribing. Harrison_Tang: Alright hello everyone welcome to this week's w3c ccg meeting today we're very glad to have a Greg great burst name to a present on PBS for VCS their proper credentials and json-ld but before we get to the main agenda just want to do some quick reminders on the code of ethics and professional conduct reminder more or less just make sure that we know are remain respectful. Harrison_Tang: to each other we've been doing that for. Harrison_Tang: As far as I can remember but just want to do a quick reminder and cold not here all right next up we have the IP note anyone can participate in these calls however all substantive contributions to any CG work items must be members of the ccg with full IP our agreements time I'll make sure you have the w3c account and sign the w3c community contributor license agreement if you have any. Harrison_Tang: questions or problems feel free to reach out to Amy. Harrison_Tang: We record these meetings and actually we have been quite good at publishing these meeting minutes and I'll deal recordings in the day or two but generally we said we'll publish it by the end of this week. Harrison_Tang: All right we used to teach each at to Q speaker so you can type in q+ to cure yourself to add yourself to the cube or q- to remove it and you can always do Q question mark to see who's in the queue. Harrison_Tang: Right that's do the introductions and reintroduction so if you are new to the community or you haven't been active and your rejoining the community please feel free to unmute and introduce or reintroduce yourself. Harrison_Tang: Don't be shy. Harrison_Tang: All right so we do this every meeting so you know maybe not you'll have to opportunity to do that next week if you don't feel comfortable doing right now all right next we have announcements and reminders any announcements and reminders. Kaliya Young: Hey so I guess it's two weeks we're convening the digital identity unconference Europe in Zurich June 7 to 9 just like we are for iaw were committed to making sure it's accessible so I've really pushed them to make sure they keep the startup and NGO tickets available. Kaliya Young: If you haven't signed up you want to come now is the time to sign up and we are a really great list of those topics I can see on the website if you're in Europe please join us thank you. Harrison_Tang: Thanks Korea any other announcement or reminders. Kaliya Young: https://diceurope.org/ Harrison_Tang: All right any updates on the work Islands. Kaliya Young: https://diceurope.org/prpoposed-topics Harrison_Tang: And by the way I think in the email list earlier there are some announcements regards to a verifiable credentials rendering method so the we already we looked at for July 25th so that we can have further discussions there as well. Harrison_Tang: alright money. Manu Sporny: Yeah just a question on that do we have to wait for that meeting to pull it into the group it seemed to have a support there were no objections we pull it into the ccg at this point or should we wait two months. Mike Prorock: Harrison I've got no objections to pulling that in now I think it makes sense there's broad support and no objections to that I would say let's pull it in now and then get a debrief on the updates in that July meeting if that is fine with you. Harrison_Tang: Yeah yeah of course yeah I think they were small local supporters so let's do that. Manu Sporny: Great thank you. Harrison_Tang: Thank you Mommy. Harrison_Tang: Any other updates on the work items. Harrison_Tang: All right so let's get to the main agenda so this week again we are very very glad to invite a Greek to present on the BBS for verifiable Potentials in json-ld giving us an overview I think you mentioned that he would love to endless some of the volunteers to actually helping on these efforts so great the floor is yours. Greg Bernstein: All right let's get the screen sharing and going you don't need to see me anymore but that's what I look like so let's get the screen sharing select window or screen. Greg Bernstein: Wait before I do that. Greg Bernstein: https://grotto-networking.com/Presentations/BBSforVCs/BBSforVCsBasics.html#/title-slide Greg Bernstein: Off the video you don't need to see my face okay the other thing to make it easier. Harrison_Tang: And break sometimes we have technical difficulties when we're doing both video and the SlideShare so thank. Greg Bernstein: There goes the slides the slides are all available online I just put them in the chat and. Greg Bernstein: To get Hands-On we've got a demo. Greg Bernstein: https://www.grotto-networking.com/BBSDemo/ Greg Bernstein: Did I use that I'll be using but anybody can use because it's built with BBs and it's just a web app a standalone single page web app so now let's go back and do the screen share. Greg Bernstein: Select window or screen. Greg Bernstein: And let's go over to. Greg Bernstein: And I'm going to make this big so this is going to be a little different than some of the things we've done this is a tutorial this is at or about BBS and a reminder about verifiable credentials and signatures because I've been working on our crypto sweets not from the point of view of been writing them I've been working and I've been out on test vectors which are really important. Greg Bernstein: Aunt so we're going. Greg Bernstein: View of signatures we're going to review VC's in signatures then we're going to talk about what we get from BBS signatures selective disclosure and anemone and unlink ability and. Greg Bernstein: Who am I okay let's see if we can move that thing a long long time ago in a galaxy far away I got all those degrees from Berkeley then part-time consultant teacher implementer for a while I was formerly an R&D manager at big telecoms and was in a start-up where we did got a cool optical switching prod. Greg Bernstein: Deployed worldwide lots of network standards work ietf oif itu-t this is the optical stuff spent the pandemic teaching cyber security and web programming I've got the big interest big Advocate on privacy and security okay so those are kind of like my passions now so. Greg Bernstein: Me there's links to. Greg Bernstein: Anything else here my website Grotto networking I've got all my course materials for my academic courses if you're interested to see how I taught cybersecurity. Mike Prorock: +1 Excellent text Greg Bernstein: Okay signatures and references once again sorry for the academic Focus if you are really trying to get into signatures and understand the modern approach to cryptography probably can't recommend more the book by Dan Bonet and Victor Shoop and it's available for free online and they just did an update to it for their 0.6 version to see. Greg Bernstein: See some of these properties. Greg Bernstein: Truce in a readable fashion we came across this paper taming the many EDSA s EDSA signatures and that explains some of the improved properties that you get from signatures. Greg Bernstein: So what is the signature the formal definition it's a triple it has t generation assigning algorithm and a verification algorithm each of these things is pretty important I tended to forget about the key generation but the thing is every signature scheme. Greg Bernstein: Has its own set of keys and you got to be very careful to use them correctly not reuse things so. Greg Bernstein: What is the signature we care about these four verifiable credentials because they put the verifiable in the verifiable credentials the idea is somebody that doesn't have the secret key can't create a message with a signature. Greg Bernstein: That verifies against the public key okay this is called existential forgery you can't create a new message with a signature that verifies okay there's the signing algorithm the verification it shouldn't be able to do that in addition. Greg Bernstein: To make it hard for the cryptographers to come up with these schemes is we allow the adversaries. Greg Bernstein: See signatures on as many different types of credentials as they like and we say you can see as many of those but you still shouldn't be able to come up with a valid signature unless you have the secret key this is called existential unfortunate bility under a chosen message attack to be formal okay you can get you can go further there's something called. Greg Bernstein: Ang unfortunate Billa. Greg Bernstein: Okay which means you can't find a new signature on an old message without knowing the secret key okay so of are two schemes of our to current schemes for verifiable credentials EDSA can have the strong unforgeable Leti but EC D sa is not okay for the details the BNS chapter 19 okay. Greg Bernstein: A signature is. Greg Bernstein: This is another nice property if it's impossible for the signer to claim later that it signed a different message. Greg Bernstein: He's came out as desirable after the cryptocurrencies in the block change things and people were finding any way they could figure out how to cheat on the Block chains and such like that and so people found these ways around and Attack the Block change in the cryptocurrencies. Greg Bernstein: Further there's something called a strongly binding signature okay where the signature is binding to the public key so these are forms of what is recalled non-repudiation okay so there's different levels of security properties the second district should have but that existential unfortunate bility is the basics. Greg Bernstein: Now I hope I'm not missing any questions because I have my cell phone full screen for good right good okay and I'm watching the time I'm doing a single monitor setup so unlike when Haley teach you don't have a little time clock going okay. Harrison_Tang: I'll monitor the I'll monitor the question Q so don't worry about. Greg Bernstein: Okay currently for VCS we have three crypto sweets I think if I got this right that are in working draft status so we have EDSA just got a bunch of test vectors in V our request was. Greg Bernstein: In white and for that we're I've got some that I have not put in yet for Ed ecdsa what's the difference between these ecdsa has been around longer their Hardware implementations okay I know the new Phipps document that just came out also has EDSA but ecdsa is very important to have around because there's a lot of stuff already out there in the new kid on the Block BBs. Greg Bernstein: So down to the bits and bytes okay I told you there's three pieces key generation and people particularly with this post Quantum stuff coming up people care about how big are the keys okay it's not just the signature size but it is the key size so our example with e DD essay which is very efficient the secret key. Greg Bernstein: She is 32. Greg Bernstein: In the public key which actually is something called a group element in an elliptic curve blah blah blah okay is actually quite small to 32 bytes if you look at post Quantum cryptography you'll find that the key sizes can get quite large okay now given a message M okay this is the down to the byte level part of a signature we look at messages just a bunch of. Greg Bernstein: B we. Greg Bernstein: Who's to say. Greg Bernstein: Mature okay where it's got two pieces to it what we care about is the total length of the signature is only 64 bytes you'll find with both ecdsa EDSA the chief the signatures are quite small okay so these signature schemes that's why these are the the most popular signature schemes down because the signatures the keys that you have to keep around. Greg Bernstein: And and the. Greg Bernstein: Themselves are quite small okay so quite efficient, okay. Greg Bernstein: And particularly EDSA is very fast very efficient and some folks in one of the papers reference proved that by doing a few extra checks we can get all those nice security properties okay and so that will be going into the security consideration sections of our crypto sweet that's a PR to be ridden okay. Greg Bernstein: Security at these. Greg Bernstein: Work with B the keys are a bunch of bytes the messages are a bunch of bytes the signatures are a bunch of fights okay we've got to apply these to verifiable credentials and we have to do it correctly okay because if we don't do it correctly you leave holes for exploitation so what do we protect the underside credential but also very important as we have to protect the options related to cryptographic. Greg Bernstein: I am okay so somebody can't say hey. Greg Bernstein: Uses we don't use any cryptography no no we're signing this we're going to protect that information to make sure what additional tools do we generally need when we apply these things to be seized we need some kind of if we're talking about Json Json Kana canonicalization algorithm and we usually use cryptographic hashes in some way or form sometimes those are built in the signature schemes. Greg Bernstein: And sometimes we use them before we go into the. Greg Bernstein: Scheme so let's take a look very big okay so here's an example credential taken from our document okay it's we want to sign this credential this is unsigned we want to protect this we want to sign this thing we want to digital signature on it in addition to signing that though. Greg Bernstein: We want. Greg Bernstein: Swipes the wrong way and it tried to go someplace else okay in addition to protecting the credential we want to protect and ensure that nobody can lie about what type of data Integrity prove what crypto sweet are we using when this thing was created verification method all these things are what we call the proof options okay so we're going to protect these things too. Greg Bernstein: What do I mean by that. Greg Bernstein: We're going to include this as stuff we sign so how do our signature crypto sweets work at least for EDSA and ecdsa well. Greg Bernstein: We run one of these canonicalization algorithms either J CS or rdf on the unsigned VC we do that with the configuration options we take these cryptographic hash things which take a long message and give you a fixed-length output we combine those things together and we actually sign the output of that combined set of hashes. Greg Bernstein: Becomes our message so that means we have to have a good signature algorithm we got to know how weird canonicalizing things and we also have to make sure it's a good hash Agra all those things we're going to make it very clear that the cryptographer people's can read our document see examples easily and say yeah you're doing that the right way okay and so that's. Greg Bernstein: Essentially very. Greg Bernstein: Actually what we do in our crypto sweet documents to produce something that looks like this verifiable credentials got all the credentials stuff ah we've got the proof that includes all that proof. Greg Bernstein: Option stuff did Integrity proof group just read information proof purpose right here at the end nicely encoded in. Greg Bernstein: BTC blah blah blah encoding where we convert from B to something that we can put into text is our signature so that's an example of signing now what does BBS do for us okay first of all BBS doesn't stand for brief beautiful signature. Greg Bernstein: Of the original academic work with the author's Denver nay Xavier bullion and I don't want to put your sack woman's name but I probably just did these guys first described the ski okay references. Greg Bernstein: The draft okay which is a good place to go and I do have to thank the silliest Gallows who. Greg Bernstein: And I was working through and coming up with my implementation. Greg Bernstein: Part of what's really good about here is we have good test vectors and we checked them and when somebody had issues with trying to verify very helpful group over at dif ietf that we're working on this it's like no no no we've got a mistake here at this is where air is very helpful complete set of test vectors great for people trying to okay and if we do. Greg Bernstein: A more advanced. Greg Bernstein: BS at a later time I'm sure we can try and get the silliest and some of the other guys I know Brent's eundel is was on this call use one of the early advocates for BBS and has a nice blog post about it from way back okay. Greg Bernstein: So that's our. <brentz> waves <manu_sporny> ^ that guy :) Greg Bernstein: Injured however just like with EDSA as things started approaching standardization some of the academic folks took a second look and they've got better results optimizations for us so we've been working with a group out of University of Washington up in Washington state they've got some optimizations and additional security proofs for us just like there's more advanced. Greg Bernstein: Proofs of security for EDSA which. <mprorock> well since that guy is a fan. . . Greg Bernstein: I get to our VC document okay the original documents that we base the standard on is this paper from 2016 caution it's these are both hard reads. Greg Bernstein: Now we have a demo. Greg Bernstein: We're going to actually go through okay signature creation Singler what's all the rest of us we're going to see what the rest of that is about okay this closely mirrors what we do with our test vectors okay so hence we're doing something that we tell people never ever to do we've got private keys out floating around in the open. Greg Bernstein: We do this when we. Greg Bernstein: Is specs and RVC specs in the ietf spec because people need to test these things but the biggest thing about these things Professor mode on is keeping these Keys secure so we throw around random keys and our test vectors and such like that note that in reality you never do this okay so just there for just my caveat okay. Greg Bernstein: Is like we do in our test vectors in our various aspects hex representation for all field except messages because I wanted the messages readable which are UTF text okay I use Json the hold the information at various stages just like we do with our test vectors these are not VPS or VCS okay this is just for demo purposes Json is just a happy way to get test vectors around okay. Greg Bernstein: Using a simple list of BBS messages there is more work. Greg Bernstein: To get BBS applied to a verifiable credential than what my demo shows My Demo is highlighting BBS not the process that we have to take to go and apply BBS to a verifiable credential okay so what are its fundamental properties it has strong unfortunate bility okay so it's got those good properties the security properties that we want to have a little bit stronger than EC. Greg Bernstein: Scott selective disclosure. Greg Bernstein: The scheme allows the signer to sign multiple messages and produce a single constant size output signature from which a holder can select which of the quote messages to reveal later it's got something called unlink able proofs and proof of possession okay this is the formal language from the ietf draft. Greg Bernstein: First and it we're going to. Greg Bernstein: These things okay so I'm not going to read those detail okay what is this look like from the bits and bytes point of view. Greg Bernstein: It's a little bigger the random secret key is 32 bytes the public key is a lot bigger three times but still remember a small jpg photo will be a couple hundred K bytes so when we're talking about the signature sizes for elliptic curve based things and this is elliptic curve base ecdsa. Greg Bernstein: I say eat. Greg Bernstein: The signature sizes and the keys sizes are small okay so you can do a lot with these things okay and so worrying about too much about B and B we want to do things optimally okay the signature sighs okay. Greg Bernstein: B okay so that's bigger than the 64 bytes the new optimization results gives us 80 bytes signatures are small so this is why some of this stuff is also being looked at by a coyote people because the signature that the iot even if it has a bunch of different sensors and you want selective disclosure of sensor reading the message going to send has to send is small okay. Greg Bernstein: So let's go over to. Greg Bernstein: So I've got a random key I've got a public key. Greg Bernstein: In a in a more advanced discussion will talk about what we should use this feature of BBS called the header okay but I have here a sequence of messages I was faking a driver's license for a tree in Northern California okay so we have a bunch of different properties first name last name address date of birth height no eyes brown bark. Greg Bernstein: E needles Etc. Greg Bernstein: Can create a signature you can add as more messages if you like here you can remove a message this is a okay let's just show okay so we then we click create signature. Greg Bernstein: Oopsies let's reload. Greg Bernstein: Create a signature okay so what did we do we get a signature what is it it's a bunch of bytes okay so we have a platinum now somebody's going to use this for something like verify it we need to public key we need the headers We need oh all the separate messages and the signature. Greg Bernstein: If we want to verify the signature okay we bring in we have to have the public key. Greg Bernstein: Of all her messages. Greg Bernstein: I can process that is Json we can click verify now. Greg Bernstein: Let's say the tree has a issue on you wants to pretend that he's taller than his brother and he's. Greg Bernstein: 297 Feets not 296 feet that's what happens when you hit the wrong button okay process the Json verify the signature it doesn't verify right that's the kind of thing we expect from signatures people mess with the information it shouldn't verify its back to its original form okay. Greg Bernstein: Basic signatures okay. Greg Bernstein: So what okay well. Greg Bernstein: If we want to do is discuss selective disclosure and we're doing a full VC model we have an issue or a holder and verifier okay we have a three-step model selective disclosure comes in that the holder doesn't want to reveal everything. Greg Bernstein: So the issuer signs of EC holder verifies the sign VC then the holder selects which to disclose okay which messages and BBs terminology so let's take a look. Greg Bernstein: Selective disclosure now let's go back for a second do I have my caveat we doing TimeWise okay ish okay. Greg Bernstein: There's multiple different approaches to selective disclosure okay probably the most straightforward approaches. Greg Bernstein: Break up your VC into a bunch of different messages okay sign each individual message. Greg Bernstein: Overall signature for the Kabam combination is just the number of messages times the signature sighs that's not what happens with BBs BBS gives us a fixed signature side no matter how many messages. Greg Bernstein: Another approach which we have heard of I think we've had a we had the presentation on gordian envelopes there based on a Merkel hash tree you get a signature single signature for the tree the presentation cost is general overhead plus a-hat oops sorry this has basically a single circuit future for the whole tree the costs in both the Merkel and the BBS come when you do your selective disclosure. Greg Bernstein: Veal or give. Greg Bernstein: The verifier something for each undisclosed message so you either pay up front when you individually sign okay. Greg Bernstein: I know. Greg Bernstein: Quick okay just giving just an overview but with BBs just like with Merkel hash trees basically for each unknown disclose message it's part of the signature you have a little price to pay okay for hash trees it depends on the hash through using the basically it's the number of undisclosed plus the hatch size for BBS number of undisclosed times 32 bytes. Greg Bernstein: It's for our current implementation. Greg Bernstein: So we have a tree going into a bar and needs to prove their ID Okay so. Greg Bernstein: Let's say they're gonna have in clothes their picture and their date of birth okay so we're going to generate a signature. Greg Bernstein: Oh we got a proof it's got what does it have in it down here. Greg Bernstein: Only two pieces of message now we come to the proof verification Professor I mean Greg what's going on here. Greg Bernstein: Sorry we've got a terminology Collision. Greg Bernstein: Both PBS and verifiable credentials use the term proof and signature but they use them in very different ways okay so I'll use the term BBS signature and BBs proof BBS proof. Greg Bernstein: Is kind of like the secondary signature or the disclosed signature okay. Greg Bernstein: So that's why I was like what's this terminology oh BBs. Greg Bernstein: We select the messages we want to include then we create a proof on it this isn't. Greg Bernstein: Isn't to be confused with a general VC proof it would be included in the verifiable print presentation as part of the proof okay but it is a derived thing it's derived from the first signature now let's check that this thing can verify. Greg Bernstein: So what's in it oh I forgot we got these nice things and make things bigger so what are we giving them well we're telling them what things are being disclosed we have some overhead okay given them the date of birth and the encoded photo okay. Greg Bernstein: If I was true what if they are lying about their age maybe they want to not be as old as they say they are. Greg Bernstein: Okay if they change their age and then they try and send that proof to somebody it won't verify this is as good as a signature this is derived signature thingy that's not a formal that's not formal terminology it's a derived signature thing but that is our proof okay that's what Brooks like a signature. Greg Bernstein: And if verifies so we're able to select. <mprorock> "derived signature thingy 2023" i am sure will now be inbound Greg Bernstein: Got selective disclosure pretty efficient with their selective disclosure so far so good you can include how many ever different things you like so now the tree can go to as many bars as possible. Greg Bernstein: It didn't have to reveal its name its address or anything. Greg Bernstein: Okay and we see the kind of extra information that we have to put into this disclosed in tracks we've got another type of header called a presentation header when we get to not this talk I talk about how you apply BBS verifiable credentials will talk about how we're going to use the header for and the presentation header for that's not this stock that may not be this this for sensory. Greg Bernstein: Either okay so when you read these. Greg Bernstein: We have to remember there's this Collision in terminology and we'll see that there's different core operations okay so for verifiable credential the issuer issues the VC we use a BBS signature okay during that process the holder creates a verifiable. Greg Bernstein: A presentation. Greg Bernstein: And it's going to use a BBS proof okay. Greg Bernstein: He uses proof Jen procedure okay. Greg Bernstein: Okay now when the holder creates the VP here's where the magic comes in it doesn't have the the issuer's secret key it's not even using its own secret cure anything all it has to have is the original signature and the issuer's public key. Greg Bernstein: That is amazing that's amazing cryptography okay the verifier can verify that the subset of information contained in the verifiable presentation has not been modified by validating the proof contained in the presentation against the issuer's public key right that's what we want to know we want to check it against the vishu no holder keys are involved not saying we. Greg Bernstein: Okay that's something else that's one of these Advanced topics there's something called BBS with bound signatures as being kicked around okay but that's a different thing no holder keys that is amazing okay and we saw it so and you can go and do and mess with the demo right at each of the different steps we saw that if you mess with the information after signature creation it will not. Greg Bernstein: Not verify what. Greg Bernstein: Unfortunate bility yay okay so straight out of the document we've got signed secret key public key messages blah okay verify public key signature messages okay. Greg Bernstein: Proof or this derive signature thingy just the public key the signature we received the messages and some information about what we're disclosing or what we choose to disclose okay and proof verify use by the verifier. Greg Bernstein: With the issuer's public key. Greg Bernstein: Now if that was it that would be amazing enough but wait there's more we get something called anonymity and unlink ability okay so the issuer signs of EC. Greg Bernstein: Back to the demo. Greg Bernstein: Create a signature click the button click the. Greg Bernstein: O signature doesn't change when I click the button. Greg Bernstein: What does that mean 6 or science fair cryptographic signature by their security properties these tend to be unique yeah it's hard to come up with another signature on the same messages hmm uniqueness is good uniqueness is bad in some ways when a holder creates a VP that includes design BC the cryptographic signature is included if the holder census the multiple verifier. Greg Bernstein: Where's those signatures verified. Greg Bernstein: Khalood what's the picture. Greg Bernstein: So and you sure okay issues a signature to the holder the holder sends the credential to various places but what if the verifier share data amongst themselves they collude okay verifier the verifier collusion that means the issuer can be tracked but wait this is really happened it's not any real information it's just the signature. Greg Bernstein: Yeah yeah. Greg Bernstein: The signature is really unique so even though the tree went into a bar and it only disclosed its photo or an age the signature can help identify that it went to different multiple bars okay does this really happen yeah all the time okay this is what people do to keep track you even though third-party cookies are going out they fingerprint your. Greg Bernstein: Okay so go go look at e FF cover Your Tracks like I said this is from teaching cybersecurity beginning course make people go and see how unique their browser is a cover Your Tracks Mozilla talks a little bit more about browser fingerprinting and if you want to fingerprint people visiting your site you can go to npm you can get a JavaScript library that I'll help you do it and that gets three hundred thousand. Greg Bernstein: Downloads a week so it's. Greg Bernstein: That's okay so BBS and anonymity unlink couple proofs the proofs generated by the scheme or known as for what's the zero-knowledge this or that or the other thing lots of theory lots of let's take a look. Greg Bernstein: So when. Greg Bernstein: To create my signature nothing happened when I re clicked create signature let's go to proof generation. Greg Bernstein: This tree is going to go into multiple bars and let's say. Greg Bernstein: They really don't care about their photo but they want to know if they're from a local National local park state or National Park to see if they can get a big drink of water because we have Trout's now we're going to generator proof oh. Greg Bernstein: Well that makes sense. Greg Bernstein: So the proof should change right that makes sense but let's say they go into another bar and they click generate proof. Greg Bernstein: Oh the proofs generated by BBs. Greg Bernstein: Okay cryptographically in a cryptographic sense okay these proofs when I create each one of them they're unlinked able there's there's nothing about them that ties each to each other part of the magic of Zur this hold zero knowledge proof stuff okay you can see it here okay this is what takes some effort that's what we mean by. Greg Bernstein: Harder area because this proof value nice General random Mission numbered thing cryptographically proven on linkable but don't forget we're revealing information up here okay this is like detailed information about their date of birth okay so when we talk start talking about on linkable proofs in anything that. Greg Bernstein: It has this feature. Greg Bernstein: Yeah sure put it into the general context of. Greg Bernstein: How much of other information are you giving away and how much are you leak potentially leaking okay how we doing TimeWise about there. Greg Bernstein: So that's Unthinkable proofs what did Proof of possession mean why did they say that well that's the thing we just checked that. Greg Bernstein: Need to do this we did this that unlink able proofs. Greg Bernstein: We understand what did the proof of possession map the proof of possession thing that hard to understand statement means that the signature sorry not the signature bundle but the proof bundle given the thing we put in the verifone viable presentation behaves like a signature okay theoretically they say this is proof of possession that I have a signature that was signed by blah. Greg Bernstein: Okay but from our point of view. Greg Bernstein: Apple presentations means. Greg Bernstein: Truth or it's just like a signature okay. Greg Bernstein: Somewhat in a nutshell here. Greg Bernstein: We've got Deion linkable proofs okay nice feature okay they have peer essentially random okay but it doesn't prevent correlation on disclose message so us the verifiable credential verifiable presentation people when we go and use BBS we're going to have to take care and also advise people. Greg Bernstein: Using BBs. Greg Bernstein: They want these capabilities. Greg Bernstein: What information might we be leaking and the fact that you're giving away information that can be used okay. Greg Bernstein: So later on if you'd like to try out these things here's some steps try modifying the messages and things like that and how does this all work okay this is proven cryptographically people have used academic proofs and such like that at its heart it's just some up it uses the hardness of what's known as discrete log problem it uses things called elliptic curves to keep all. Greg Bernstein: These values. Greg Bernstein: Double sizes and then it uses additional magic of something called elliptic curve pairings or by linear maps to get us this selective disclosure and on linkable properties I know this was quick but hopefully this gives you this tutorial level overview of what we get whoops okay. Greg Bernstein: Mbbs and why we want to use them for verifiable credentials. Greg Bernstein: Future Advanced discussions look at the list and we can also see what folks might want to hear about in the future okay. Greg Bernstein: Back to you guys I think we kept it close to our time and let me stop screen sharing. Harrison_Tang: Thank you Greg yeah this is an amazing presentation learned a lot from here any questions. Bob Wyman: Yeah my apologies of this is really dumb but if the proof bundle includes the public key why can't people just doesn't the disclosure of the public key ruin the anonymity. Greg Bernstein: The public key is of the issuer. Greg Bernstein: State of California issues me a driver's license I want to prove that I am of age to go get that drink at the bar they're going to use the issuer's public key but not my public this is not my did personal did that goes with my driver's license this is. Greg Bernstein: From the state of California. Greg Bernstein: Yeah so there's that's why I was trying to remind folks that the issuer has their secret and public key the thing that you might be wondering it's like wait is somebody else gets this signature couldn't they pretend to be me and Vera and have their credential verified against the public key of the original issue okay. Greg Bernstein: So but. Greg Bernstein: Every little bit like the public key would leak information would like reveal that this is a driver's license this is a state of California driver's license. Greg Bernstein: So think of the anonymity from the holders perspective not the issuer's perspective. Bob Wyman: Right I got it okay I understand. Harrison_Tang: Right next up he'll Keith me. PL/T3-ASU: I think you mean me is that right here so yeah I think one of the things that often is confused in this project and this BBS selective disclosure is whether the properties that you do not wish to disclose our encrypted but sent or alighted from the credential that is actually presented to the endpoint. PL/T3-ASU: can you elaborate on that. Greg Bernstein: It is very similar to the alighted okay because what you're it's very much like the gordian envelopes because underneath how this kind of works is they are for each message you're doing a hash there encoding that in these groups and such like. Greg Bernstein: Like that. Greg Bernstein: You send the proof you're basically sending somewhat like a hash value it's it's in it's in an imminent it's randomized more than you would in like a gordian envelope type of collision but it is really like removing it and substituting something like a hash but it's more randomized because that's how we get the unlink ability. PL/T3-ASU: Right but just just wanted to clarify whether they ended up with the whole credential and those pieces that you've left or to be disposed visible and in to the receipt recipient and the rest of it's still there but simply in an encrypted form which potentially could be worked on. Greg Bernstein: Yeah no it's not even it's not even in an encrypted format you could it's it's hashed in map to the curve via group and randomized it's it's kind of there but it's not in a way that we can see it. PL/T3-ASU: Got it right right it still takes it still takes some space but it's not the entire it's not what was in the original information. Greg Bernstein: It doesn't it doesn't even take space it gets mixed in so it's even harder to get it out. Harrison_Tang: And you have to. Harrison_Tang: Hi Greg sorry do you mind actually also clarify go a little bit deeper into the trade-off of different selected disclosure in mechanisms like PBS verses earlier you talked about hash Bayside accordion envelope like what are the trade-offs. Greg Bernstein: Yeah this really needs more than one slide I'm sorry about that and we may want to have a whole talk on it that's it. Harrison_Tang: Maybe I can schedule a follow-up conversation on this topic of different options yeah. <steve_magennis> is the bbs demo available somewhere to play with? Greg Bernstein: Yeah cuz I look at it from a theoretical point of view of like three main classes which okay if you sign individual messages you have to have a signature for each message so your overall signature size is M times the number of messages times the size of the signature so for EDSA. Greg Bernstein: It'd be M times. Greg Bernstein: Okay however when you go to disclose. Greg Bernstein: You don't have any extra okay you just send with what you disclosed with the signature that goes with it BBS in the Merkel hash on the other hand they have one small fixed size signature for arbitrary number of messages but you have to decide when you do your proof derivation you have to say something about the undisclosed messages you have to have some some kind of filler that's the intuition. Greg Bernstein: A very different between the two but. Greg Bernstein: Thing is about the same okay undisclosed messages so my proofs got bigger what would go for BBS versus if I have lots of individually signed messages and I'm only revealing two out of a hundred is only going to be like 102 times 64 bytes you know so it's important this is an important thing because selective disclosure is important and we need to understand. Greg Bernstein: The trade-off. Greg Bernstein: These things because. Greg Bernstein: You can do some things that others can't at all but then it's got its trade-offs because we saw about that unlink able anonymity that may not be achievable based on what you're revealing Okay so. Greg Bernstein: All these. Greg Bernstein: I say all these approaches are pretty good so if we want to talk more and evaluate these things it's a good topic. Harrison_Tang: Cool thank you no I will take you up on that I'll I'll talk to you offline about scheduling a topic on this presentation on this topic so thank you thank you and. Greg Bernstein: https://www.grotto-networking.com/BBSDemo/ Greg Bernstein: Okay and take and take a look if folks want to take a look at the slides that say Advanced topics if that's where we could try and pull in like the syllabus and some of those Owen here's the link to the demo just in case all these things. Greg Bernstein: You will be sent against by Harrison and case you didn't get the links but they're all up on my website easy to get to. <kimberly_wilson_linson> Thank you! Harrison_Tang: All right thank you Greg I learned a lot so this is amazing presentation and thanks a lot and I think this concludes today's a w3c shiji meeting I will send those notes links and and also the links to the slides and the demo in a follow-up email to the to the email agenda email that's sent out earlier so thanks thanks a lot.
Received on Wednesday, 24 May 2023 17:46:24 UTC