From e65e98f8c37ed0a374dbc0e857d4b3223510bd72 Mon Sep 17 00:00:00 2001 From: Infominer Date: Fri, 10 Jan 2020 15:54:33 -0500 Subject: [PATCH] vc yo --- ...-27-Microledgers-Edgechains-Hardman-HGF.md | 2 +- .../2020-01-10-verifiable-credentials.md | 95 ++++++++++++++++++ images/iiw-verifiable-credentials.png | Bin 0 -> 40396 bytes 3 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 _posts/specs-standards/2020-01-10-verifiable-credentials.md create mode 100644 images/iiw-verifiable-credentials.png diff --git a/_posts/hyperledger/2019-02-27-Microledgers-Edgechains-Hardman-HGF.md b/_posts/hyperledger/2019-02-27-Microledgers-Edgechains-Hardman-HGF.md index 78bb5284..7a103860 100644 --- a/_posts/hyperledger/2019-02-27-Microledgers-Edgechains-Hardman-HGF.md +++ b/_posts/hyperledger/2019-02-27-Microledgers-Edgechains-Hardman-HGF.md @@ -11,7 +11,7 @@ redirect_from: permalink: /hyperledger/hgf-2018/Microledgers-Edgechains-Hardman-HGF/ author_profile: false categories: ["Sovrin Foundation","Hyperledger Foundation","Literature","Presentations"] -tags: ["Indy","Von","Transcripts","Hyperledger Global Forum","GDPR"] +tags: ["Indy","Von","Transcripts","Hyperledger Global Forum"] published: true classes: wide last_modified_at: 2019-12-11 diff --git a/_posts/specs-standards/2020-01-10-verifiable-credentials.md b/_posts/specs-standards/2020-01-10-verifiable-credentials.md new file mode 100644 index 00000000..7001db81 --- /dev/null +++ b/_posts/specs-standards/2020-01-10-verifiable-credentials.md @@ -0,0 +1,95 @@ +--- +title: Verifiable Credentials +permalink: /specs-standards/verifiable-credentials/ +tags: ["W3C", "CCG","VC-WG"] +categories: ["Specs-Standards"] +last_modified_at: 2020-01-09 +--- + +[![IIW26 Primer On DIDs and VCs](/images/iiw-verifiable-credentials.png)](https://docs.google.com/presentation/d/1GMQy4rI093c_9zojwLRgp2r-fTscpDUSfX-wqwBk4j4/edit#slide=id.g3605fe1474_2_0) + > A new type of globally resolvable, cryptographically-verifiable identifier, registered directly on a distributed ledger (aka Blockchain) + +* [A Gentle Introduction to Verifiable Credentials](https://www.evernym.com/blog/gentle-introduction-verifiable-credentials/) + > But while digital records are nothing new, today’s credentials come with certain ‘cryptographic superpowers’ that make them tamperproof, secure, and verifiable. Whereas a simple digital copy of a car title can easily be edited, a verifiable digital credential is one that has been issued by a trusted authority for, and only for, its holder. +* [Categorizing Verifiable Credentials - Evernym](https://www.evernym.com/blog/categorizing-verifiable-credentials/) +Not all verifiable credentials are created the same. This post examines the categories of credentials and the architectural choices driving this variation. +* [A Verifiable Credentials Primer](https://github.com/WebOfTrustInfo/rwot7-toronto/blob/master/topics-and-advance-readings/verifiable-credentials-primer.md) + > NOTE: "Verifiable Claims" are now known as "Verifiable Credentials". The W3C Verifiable Claims Working Group's experience with using the term "Verifiable Claims" demonstrated that it led to confusion in the marketplace. The group has since found consensus in shifting to use the term "Verifiable Credentials", which contain "Claims". + +[![](http://i.imgur.com/S6ULDcB.png)](https://drive.google.com/file/d/1kJCDF_JcRihUQ5uRFbo47dEJPFsQB7FD/view) + +* [Verifiable Credential Exchange](https://www.windley.com/archives/2018/12/verifiable_credential_exchange.shtml) + > Multi-source identity (MSI) depends on issuing, exchanging, and verifying digital credentials. The specification for verifiable credentials is being formulated by the World Wide Web Consortium’s Verifiable Credentials Working Group. Verifiable credentials provide a standard way to express credentials in a way that is cryptographically secure, privacy respecting, and automatically verifiable. +* [Verifiable Claims Task Force Use Cases](https://opencreds.org/specs/source/use-cases/) +* [2018 Texas Bitcoin Conference in Austin, Texas.](https://www.youtube.com/watch?v=uDqLYv379gI) + > 13:14 what if I was would like to prove that I had a certain diploma man if the university would basically state that I have a certain diploma because I asked them to and if they put the proof basically the fingerprint of that claim onto the blockchain then I can prove I am I have that certain diploma but why would I trust that because if I would say I have the diploma but you still have the same problem as we had using a scan the reason why you can trust it is because it was actually the university signing off on the fact that I have a certain diploma and how does that work in the end you will need those decentralized identifiers I talked about earlier to make sure that every piece of information on the blockchain is you are able to validate those and you are able to retrieve if you'd like the underlying data off chain +* [Intro to Verifiable Cliams by W3C VCWG Members -iiw.idcommons.net](http://web.archive.org/web/20171228060921/http://iiw.idcommons.net/2J/_Intro_to_Verifiable_Cliams_by_W3C_VCWG_Members) + + +## Application + +* [SolidVC - A Decentralized Framework for Verifiable Credentials on the Web](https://dspace.mit.edu/bitstream/handle/1721.1/121667/1102055877-MIT.pdf) + > Credentials are an integral part of our lives, as they express our capabilities and enable access to restricted services and benefits. In the early 2010s, the Verifiable Claims Working Group of the World Wide Web Consortium (W3C) proposed a specification for what is now the Verifiable Credentials Data Model. This living specification, which is still in development, outlines a cogent framework for the issuance, storage, presentation, and verification of credentials on the Web. Many of the leading Verifiable Credentials projects leverage Distributed Ledger Technology (DLT), potentially compromising Web interoperability and sometimes exposing otherwise personal data. SolidVC is a decentralized Verifiable Credentials platform built with the open protocols of the Web. It is implemented on top of Solid, a Web framework developed at MIT in 2016 that allows decentralized applications to interact with personal user data to provide services in an access controlled environment. +* [Blockcerts V3 Proposal - Verifiable Credentials & Decentralized Identifiers](https://community.blockcerts.org/t/blockcerts-v3-proposal-verifiable-credentials-decentralized-identifiers/2221) + > As the standards around Verifable Credentials are starting to take form, diferent favors of "verifable credentials-like" data structures need to make necessary changes to leverage on the rulesets outlined and constantly reviewed by knowledgeable communities such as the W3C. The purpose of this paper is to identify all of the changes needed for Blockcerts to comply with the Verifable Credentials (VCs) and Decentralized Identifers (DIDs) standards and to expand upon the additional benefts of using a blockchain in combination with Verifable Credentials. This paper is meant to act as an explainer in which a formal specifcation can be created. This paper proposes multiple implementation options for several properties. The intention is that we can engage the Blockcerts / Verifable Credential communities and see what fts best. +* [mattr.global/Verifiable Credential based Authentication via OpenID Connect](https://mattr.global/verifiable-credential-based-authentication-via-openid-connect/) + * [bcgov/vc-authn-oidc](https://github.com/bcgov/vc-authn-oidc) + > Verifiable Credential Authentication with OpenID Connect (VC-AuthN OIDC) +* [Full-text Search for Verifiable Credential Metadata on Distributed Ledgers](https://arxiv.org/abs/1909.02895) +* [Blockstack and Verifiable Credentials - Paris P2P Festival](https://p2p.paris/gen/attADzQJ92rNIv6B3-Blockstack_and_Verifiable_Credentials_-_Paris_P2P_Festival_.pdf) +* [Open Badges are Verifable Credentials](https://nbviewer.jupyter.org/github/WebOfTrustInfo/rebooting-the-web-of-trust-spring2018/blob/master/final-documents/open-badges-are-verifiable-credentials.pdf) + > The Open Badges Specifcation is a vocabulary and set of protocols that describes credentials. The vocabulary can describe any achievement in terms of a common set of attributes and is most often used for educational or occupational credentials. At present in version 2.0, Open Badges defnes two verifcation methods: HostedBadge (requiring resources hosted on HTTP in specifc locations) and SignedBadge (using a JSON Web Signature, which references hosted Issuer Profle and CryptographicKey information). + > + > The Blockcerts Open Badges Draft Extension introduced a verifcation method based on those used by Verifable Credentials for the specifc use case of blockchain-anchored credentials. This paper expands that work and proposes a new option that can reside alongside existing Open Badges verifcation methods. +* [Enabling Decentralised Identifiers and Verifiable Credentials for Constrained IoT Devices using OAuth-based Delegation](https://www.ndss-symposium.org/wp-content/uploads/diss2019_05_Lagutin_paper.pdf) + > Abstract—Decentralised identifiers (DIDs) and verifiable credentials (VCs) are upcoming standards for self-sovereign privacypreserving identifiers and authorisation, respectively. This focus on privacy can help improve many services and open up new business models, but using DIDs and VCs directly on constrained IoT devices can be problematic due to the management and resource overhead. This paper presents an OAuth-based method to delegate the processing and access policy management to the Authorisation Server thus allowing also systems with constrained IoT devices to benefit from DIDs and VCs. +* [W3C Verifiable Credentials - Kent Branch](https://www.bcs.org/events/2019/october/w3c-verifiable-credentials-kent-branch/) - [pdf](https://cdn.bcs.org/bcs-org-media/4653/kent-w3c-verifiable-credentials-031019.pdf) + > The speaker will introduce the W3C Verifiable Credentials Data Model, which was published as a Proposed Recommendation in September 2019. Verifiable Credentials are the latest development in identity management and are fundamentally different from today's federated identity management systems such as SAML and OpenID Connect. + > + > David will describe the VC ecosystem and data model. He will then describe the prototype implementation which was built with colleagues from the University of Toulouse. They built a prototype system, which uses Fast Identity Online (FIDO) for user authentication, meaning that usernames and passwords are no longer needed. A pilot application was tested with a small sample of NHS patients and the speaker will present the results of this trial. + +## Code + +* [Identity.com Verifiable Credential Library](https://www.npmjs.com/package/@identity.com/credential-commons) + > This Javascript Library provides functionality around Verifiable Credentials (VC), a W3C standard. Enables Validators to issue, Credential Wallets to verify, filter and Requesters to verify credentials. +* [EDCI-Data-Model](https://github.com/european-commission-europass/EDCI-Data-Model) + > The European Commission is developing the Europass Digital Credentials Infrastructure (EDCI) – a set of tools, services and software to support the issuance of authentic, tamper-proof digital credentials (such as qualifications and other learning achievements) across Europe. The EDCI is being developed as part of ongoing work to implement the new Europass Framework for supporting transparency of skills and qualifications in Europe. + +## CCG + +* [Credentials Community Group](https://www.w3.org/community/credentials/) - [Website](https://w3c-ccg.github.io/) - [Mail archive](http://lists.w3.org/Archives/Public/public-credentials/) + > The mission of the Credentials Community Group is to explore the creation, storage, presentation, verification, and user control of credentials. We focus on a verifiable credential (a set of claims) created by an issuer about a subject—a person, group, or thing—and seek solutions inclusive of approaches such as: self-sovereign identity; presentation of proofs by the bearer; data minimization; and centralized, federated, and decentralized registry and identity systems. Our tasks include drafting and incubating Internet specifications for further standardization and prototyping and testing reference implementations. +* [w3c-ccg/vc-extension-registry](https://github.com/w3c-ccg/vc-extension-registry) +REGISTRY: The Verifiable Credentials Extension Registry - w3c-ccg/vc-extension-registry +* [w3c-ccg/edu_occ_verifiable_credentials](https://github.com/w3c-ccg/edu_occ_verifiable_credentials) +WORK ITEM: Drafts and Ideas of Educational and Occupational Verifiable Credentials - w3c-ccg/edu_occ_verifiable_credentials +* [w3c-ccg/vc-examples](https://github.com/w3c-ccg/vc-examples) +WORK ITEM: Verifiable Credentials Examples. + +## VC-WG + +* [W3C Verifiable Claims Working Group](https://www.w3.org/2017/vc/WG/) - [Mail Archives](https://lists.w3.org/Archives/Public/public-vc-wg/) - Technical discussion and public announcements for the Verifiable Claims Working Group + > The mission of the Verifiable Claims Working Group (VCWG) is to make expressing and exchanging credentials that have been verified by a third party easier and more secure on the Web. +* [w3c/verifiable-claims](https://github.com/w3c/verifiable-claims) +W3C Verifiable Claims Working Group. +* [Verifiable Credentials Data Model 1.0](https://w3c.github.io/vc-data-model/) - Expressing verifiable information on the Web - [w3c/vc-data-model](https://github.com/w3c/vc-data-model) + > Verifiable Claims Data Model and Representations specification. +* [w3c/vc-use-cases](https://github.com/w3c/vc-use-cases) +Verifiable Claims Use Cases. +* [Verifiable Credentials Implementation Guidelines 1.0](https://www.w3.org/TR/vc-imp-guide/) - [w3c/vc-imp-guide](https://github.com/w3c/vc-imp-guide) + > Verifiable Claims WG - Verifiable Credentials Implementation Guidelines - w3c/vc-imp-guide +* [w3c/vc-test-suite](https://github.com/w3c/vc-test-suite) +Verifiable Claims WG Test Suite. + * [Verifiable Credentials Data Model Implementation Report 1.0](https://w3c.github.io/vc-test-suite/implementations/) +* [w3c/vctf](https://github.com/w3c/vctf) **Archived** + > The Web Payments Interest Group's Verifiable Claims Task Force + +## Sovrin + +![](http://i.imgur.com/hpXr1Af.png) + +* [https://drive.google.com/drive/u/0/folders/1UxLLugRQKuV8Mdvv_X9Y6ty4szSi5ZNU?ogsrc=32](https://drive.google.com/drive/u/0/folders/1UxLLugRQKuV8Mdvv_X9Y6ty4szSi5ZNU?ogsrc=32) + +* [Verifiable Credentials 101 for SSI - Tyler Ruff - Webinar 11](http://ssimeetup.org/verifiable-credentials-101-ssi-tyler-ruff-webinar-11/) + +Tyler Ruff, product manager at Evernym, will be our next guest to walk us through Verifiable Credentials in the context of Self-Sovereign Identity. He will cover how they are created, issued and shared, as well as cover some common technical questions. diff --git a/images/iiw-verifiable-credentials.png b/images/iiw-verifiable-credentials.png new file mode 100644 index 0000000000000000000000000000000000000000..afba818eabd53cfc388f1823dcd8b8ecbedad524 GIT binary patch literal 40396 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%0Al-6H-ID*;wRZvpR!31& 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