SlideShare ist ein Scribd-Unternehmen logo
1 von 21
www.luxoft.com
v
Extending CorDapps with Self-Sovereign Identity:
Vasily Suvorov
VP Technology Strategy
Sep 12, 20018 / CordaCon 2018
Technology deep dive and sample
applications.
www.luxoft.com
Emerging standards for decentrilized identity
DECENTRALIZED IDENTITY FOUNDATION
DECENTRALIZED IDENTITIES
Anchored by
BLOCKCHAIN IDs
Linked to
ZERO-TRUST DATASTORES
That are
UNIVERSALLY DISCOVERABLE
for people, organizations, apps and devices.
Credentials Community Group
Verifiable Claims Working Group
www.luxoft.com
Decentralized Identifiers (DIDs) and DID Documents
Key enablers for decentralized self-sovereign identity
Decentralized
Self-Sovereignty
Privacy
Security
Proof-based
Discoverability
Interoperability
Portability
Simplicity
Extensibility
DESIGN GOALS
DID
DID
Document
Also Service end-points, Proofs, Extensions, etc
See https://w3c-ccg.github.io/did-spec/ for details
www.luxoft.com
4
ISSUED BY
CORRECT, REVOCABLE
INCORRUPTIBLE, CORRECT OWNERSHIP
By decoupling the trust between the identity provider and the relying party, a more flexible and dynamic trust model is
created such that market competition and customer choice is increased.
REPOSITORY
ISSUER + HOLDER
=
IDENTITY PROVIDER
ISSUER DOESN’T
NEED TO TRUST
VERIFIER
Verifiable claims/credentials – roles & trust under Self-Sovereignty
www.luxoft.com
Verifiable credentials
How DIDs become (use-case specific) Identities
W3C Example
DMV – issuer
Traveler – Holder/Subject
DID:EXAMPLE:EBFEB…
Bar - inspector/verifier
Credential
Credential
www.luxoft.com
DID/Verifiable Credentials implementation
uPort, Ethereum (ERC725), IPFS, Blockstack, Ontology Foundation and others support DID/DDO
OSS Project under Hyperledger
Provides key enabling components:
BFT Ledger / Nodes
Cryptographic primitives
Client SDK
Can be used for Dev/Private Network
Public Utility Network for SSI
Based on Indy Technology
Governance Board
Trust Framework
Network Operations & Growth
Supports scalable, global SSI
based applications
www.luxoft.com
Sovrin/Indy – key features overview
 Dedicated, public but permissioned ledger
 Pair-wise DIDs
 Agents based claims/proofs exchanges
 Implements Attribute Based Claims (ABCs)
 ZKPs for selective disclosure & revocation
Owner
Issuer Verifier
Existing Trust
Relationship
ZKP
Verifying
Protocol
Issuing
Protocol
ZK Verifiable
Credential
Zero Knowledge
Proof
Edge Agent
Edge Wallet
Edge Agent
Edge Wallet
Edge Layer
Cloud Agent
Cloud Wallet
Cloud Agent
Cloud WalletCloud Layer
DID Layer
Verifiable Claim
www.luxoft.com
The case for combining blockchain/DLT technologies
„Orchestration” Use-Cases
 Buying & Selling: Property, Cars, …
 Healthcare
 Supplier Management
 Multi-Party Business Process:
 Order of activities is well defined
 Strong pre-conditions & dependencies
 Relationships and Attestations serve as “Checkboxes”
 Strong Privacy requirements / preferences
DECENTRALIZED
IDENTITY LEDGER
DEFs / SCHEMAS
DIDs
Rules
State
DLT
www.luxoft.com
Indy/Sovrin under the hood - 1/3
credential definition: {
"ver":"1.0",
"id":"V4SGRU86Z58d6TV7PBUe6f:3:CL:12:TAG_1",
"schemaId":"12",
"type":"CL",
"tag":"TAG_1",
"value":{
"primary": {
"n":"104273...84493",
"s":"824420…08151",
"rms":"52810…7940757153551267",
"r":{
"attr2":"73…809361",
"attr1":"88653…3706"
},
"rctxt":"6775...3821855822433",
"z":"418407...5877279897334588"
}
}
}
schema: {
"ver":"1.0",
"id": "V4SGRU86Z58d6TV7PBUe6f:2:schema_name:1.0",
"name":"schema_name",
"version":"1.0",
"attrNames":["attr1","attr2"],
"seqNo":12
}
new schema
by authority
schema
from authority
new definition
by issuer #1
new definition
by issuer #2
new definition
by issuer #3
What’s in the blocks?
Schema
A structure that defines future credential
format or credential specification.
Credential
A digital assertion about identity attributes made
by a Ledger Entity about itself or another Ledger
Entity.
A Credential may be Public Data or Private
Data.
Credential Definition
A machine-readable definition of the semantic
structure of a Credential. (i.e. Public Key)
Proof
Cryptographic verification of a Credential.
PlenumLedger
Who interacts with the Ledger?
Authority
Creates Schemas
Issuer
Creates Credential Definitions
Prover
A Prover receives Credentials from the
Issuers. Both Prover and Issuer interact to
agree on some facts.
Verifier
Requests Proofs
www.luxoft.com
1. Insurance#3 issues credential based on a
definition
Insurance#3
Government
2. Ask to proof some data issued by
insurance#3 without revealing it
3. ZKP
PRIVATE WALLET
 Keys
 Credentials
 Validity Proofs
Indy/Sovrin under the hood - 2/3
digital verification takes 2 steps:
tting a credential from an issuer
eating proof for a verifier
re 2 types of proofs:
nsparent – all Attrs are revealed
P – Attrs are selectively disclosed
DID
DID’
• Pairwise DIDs are used
• Agents (secure exchange)
are not out-of-the-box.
www.luxoft.com
tcp/ip
POOL HANDLES INDY/SOVRIN LEDGER CONNECTION CONFIGURATION
1. Trustee
2. Steward
3. Trust Anchor
4. User
PRIVATE, TEST, PUBLIC NETWORKS
Pool genesis file
• Contains initial set of Nodes a Pool is started from
• New Nodes will be added by sending new NODE trx to be written into
the Ledger
• All new Nodes and Clients will use genesis transaction file to connect
to initial set of Nodes,
• Will discover new Nodes based on NODE trx in the Ledger
Genesis transactions files initialize the ledger.
TEST NETWORKDEV. DOCKER NETWORK PUBLIC NETWORK
NYMs
INDY SDK
DID LEDGER
WRAPPERS
PRIVATE WALLET
 Keys
 Credentials
 Validity Proofs
Indy/Sovrin
under the hood
3/3
www.luxoft.com
1
2
3
4
SDK modules and interfaces
Ledger
Ledger is responsible for public information exchange: schema,
definitions, revocation registry
Anoncreds
Functionality for anonymous credentials: schema, credential
definition, revocation, proof and request generations, etc. It
provides cryptographic primitives to generate proofs and sign
messages
DID
DID & DDO management functionality
Pool
Pool manages the local ledger configuration that can be used
later to connect to “pool nodes."
Pairwise
Individual keys pair to prevent relationships between issued
credentials. Extends DID functionality.
Wallet
Secure private wallet exposes interfaces to operate with private
information: credentials, keys, etc.
fun issuerCreateAndStoreCredentialDef(…)
fun proverCreateProof(…)
fun issuerCreateCredential(…)
NEW SCHEMA HAS TO BE REGISTERED ON PUBLIC LEDGER
ISSUER HAS TO CREATE CREDENTIAL DEFINITION (PK) AND PUBLISH ON LEDGER
PROVER ASKS FOR NEW CREDENTIAL
PROVER CREATES DIGITAL PROOF TO CONVINCE VERIFIER
fun issuerCreateSchema(…)
SKD JAVA WRAPPER
www.luxoft.com
CORDAPP #Y
…
CORDAPP #X
…
FLOWS
FLOWS
CORDAPPS
Corda applications running on
private client’s node
FLOWS
FLOWS
FLOWS
FLOWS
CORDAPPS
Corda applications running on
private company’s node
FLOWS
FLOWS
FLOWS
FLOWS
INDYSDK
INDY-
UTILS CORDENTITY Indy specific flows to work with
the Credentials and Proofs
Application specific flows to implement
required business process
 Cordentity is an utility CorDapp which exposes high level APIs hiding complexity of Hyperledger Indy
 Cordentity doesn’t require deep knowledge of cryptography or Indy’s functionality. It operates with
basic primitives: schema, definition and proofs.
 Cordentity utilizes Corda’s flows, states and contracts
DID:SOV:12345689ABCDEFGAB
Corda + Indy = Luxoft’s Cordentity
PRIVATE WALLET
 Keys
 Credentials
 Validity Proofs
INDY-CREDENTIAL: CredentialRequest & Credential
INDY-CREDENTIAL-PROOF: ProofReq & Proof
STATES
Holder/Issuer
Prover/Verifier
www.luxoft.com
Cordentity – usage overview
class Authority(
private val schemaName: String,
private val schemaVersion: String,
private val schemaAttributes: List<String>
) : FlowLogic<String>()
CREATE SCHEMA FLOW
class Authority(private val schemaId: String)
: FlowLogic<String>()
CREATE CREDENTIAL DEF FLOW
class Issuer(private val identifier: String,
private val credDefId: String,
private val credProposal: String,
private val proverName: CordaX500Name) : FlowLogic<Unit>()
ISSUE CREDENTIAL FLOW
class Verifier(
private val identifier: String,
private val attributes: List<ProofAttribute>,
private val predicates: List<ProofPredicate>,
private val proverName: CordaX500Name
) : FlowLogic<Boolean>()
VERIFY CREDENTIAL FLOW
AUTHORITY & ISSUER
Legal entities create new schema as a definition of future credentials
Authorities authorized to issue user’s credentials create credentials
definition on top of the existing schemas
User requests new credential from one of the authorities
Two users check/verify credentials
PROVER & VERIFIER
 Every individual Corda Node that uses Cordentity has a private wallet
 Cordentity’s flows interact with a specified Indy network
 Indy network should be specified via file with genesis transactions. There are 3 type of networks:
docker powered (development), STN and production.
 Authority or Issuer have to get permissions. AssignPermissionsFlow provides suitable interfaces.
1. AssignPermissionsFlow
2. CreateCredentialDefFlow
3. CreateSchemaFlow
4. IssueCredentialFlow
5. VerifyCredentialFLow
Flows
Party#1 Party#2
Two type of data in a proof: Predicates and Attributes.
•A predicate is never revealed and just checked on a criteria.
•An attribute will be revealed.
www.luxoft.com
AUTHORITY
ISSUER #1 ISSUER #2 ISSUER #3
PROVER VERIFIER
AUTHORITY
INSURANCE
PROVER
PATIENT
VERIFIER
TREATMENT CENTER
ISSUER
INSURANCE
AUTHORITY
GOVERNMENT
ISSUER
GOVERNMENT
SCHEMA #2SCHEMA #1
CREDENTIAL
DEFINITION #2
CREDENTIAL
DEFINITION #1
CREDENTIALS CREDENTIAL DEFINITIONS
CREATE SCHEMA
CreateSchemaFlow
ASSIGN PERMISSIONS
AssignPermissionsFlow
CREATE CREDENTIAL DEFINITION
CreateCredentialDefinitionFlow
ISSUE CREDENTIAL
IssueCredentialFlow
DATA VERIFICATION
VerifyCredentialFlow
BASIC
RELATIONSHIPS MODEL
USE-CASE SPECIFIC
RELATIONSHIPS MODEL
Trust / Attestations Mapping
www.luxoft.com
Complete Sample Application
Personalized Medicine End-to-End Ecosystem
3
Treatment Center
places pers. medication
order to the assigned
Manufacturer
DID:SOV:135473839JFGDFEDH
1
DID:SOV:12345689ABCDEFGAB
Patient is prescribed
with a personalized
medicine therapy
2
Insurance company
confirms the coverage
of therapy costs
DID:SOV:937472047DEFHASGCC
5
Courier
delivers the package
to the Treatment center
4
Manufacturer
produces and ships the pers.
medication package
6
Patient receives the
therapy at the
Treatment center
 Personal data is kept privately
and not shared with external participants
 Participants’ data is verifiable
and immutable against fraud
 Selective data visibility
 Isolated pairwise relationships
between participants
www.luxoft.com
PRODUCTION &
SHIPMENT
AUTHENTICATION
PRECONDITIONS:
•Patient gets Credentials from a
number of different Authorities and
stores them privately.
•Two Authorities are required for
processing: Insurance and
Government.
Business Rules
PICK-UP
Patient creates proof for Treatment Center based on Claims
from well known Authorities.
Some data are revealed during the interaction and other is kept
secret.
The Prover needs to reveal: medical package, diagnosis
and treatment recommendation.
The Prover also needs to prove to the Verifier nationality, age
(above 18) and stage (above 3) of disease.
If patient is authenticated successfully the production process
starts.
The Treatment center connects to Manufacturer to request new
production. On every steps all involved participants get
notifications about the status.
Finally, the Patient returns back to the Treatment center to collect
the package. He confirms his rights and gets the product.
www.luxoft.com
Phase I – Initiate Manufacturing
Treatment
Center
Manufacture
r
Patient
Age,
nation,
diagnosis,
Insurance
IndyCredentialProof
Corda State
Manufacturing
Request
PackageRequest
CordaState
observers: patient
Digital
Order
Confirmation
subflow subflow
subflow
IndyCredential,
Corda State
3 Treatment Center
places pers. medication order to
the assigned Manufacturer
DID:SOV:135473839JFGDFEDH
1
DID:SOV:12345689ABCDEFGAB
Patient is prescribed with a
personalized medicine
therapy
2 Insurance company
confirms the coverage of
therapy costs
DID:SOV:937472047DEFHASGCC
ctual Relationships are created
VerifyCredentialFlow IssueCredentialFlow
www.luxoft.com
M
anufacturer
Treatment
center
…
Shipment lifecycle
Courier1
CourierN
Custom
s
…( () )
( )
Phase II – Shipment / Delivery
 Patient receives delivery notifications on every step
5
Courier
delivers the package
to the Treatment center
4
Manufacturer
produces and ships the pers.
medication package
ulti-step chain of custody
Verifiable
Handoff
Holder Receiver
www.luxoft.com
 Patient can collect his package and be serviced at any participating treatment center
 Treatment center confirms Patient’s identity
Phase III – Therapy/Treatment
subflowTreatment
Center
ask for
Order
Confirmation
proof
IndyCredentialProof
(initial authent.)
PackageRequest(s)
IndyCredential
(copy of digital receipt)
Treatment
is delivered to patient
DID:SOV:135473839JFGDFEDH
6 Patient receives the
therapy at the
Treatment center
Treatment Center
Has the package
 Patient’s personal info is kept private at all stages
IndyCredentialProof
Corda State
VerifyCredentialFlow
www.luxoft.com
Summary
• Self-Sovereign Identity & Verifiable Credentials is a very powerful mechanism
• Scalable, DLT-enabled Business Ecosystems benefit from SSI integration
• Corda is the next generation DLT that simplifies integration with other technologies
• Cordentity makes it easy to use Hyperledger Indy / Sovrin powered SSIs / Credentials
from CorDapps
ource – please use it and let us know how to make it better!

Weitere ähnliche Inhalte

Was ist angesagt?

[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokensOWASP
 
Blockchain-based Solutions for Identity & Access Management
Blockchain-based Solutions for Identity & Access ManagementBlockchain-based Solutions for Identity & Access Management
Blockchain-based Solutions for Identity & Access ManagementPrabath Siriwardena
 
OpenID for Verifiable Credentials
OpenID for Verifiable CredentialsOpenID for Verifiable Credentials
OpenID for Verifiable CredentialsTorsten Lodderstedt
 
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...SSIMeetup
 
What is self-sovereign identity (SSI)?
What is self-sovereign identity (SSI)?What is self-sovereign identity (SSI)?
What is self-sovereign identity (SSI)?Evernym
 
Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric Araf Karsh Hamid
 
R3 Corda Simple Tutorial
R3 Corda Simple TutorialR3 Corda Simple Tutorial
R3 Corda Simple TutorialEric Lee
 
Developing applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKDeveloping applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKHorea Porutiu
 
Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)
Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)
Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)Svetlin Nakov
 
Verifiable Credentials & Legal Entity Identifiers (LEIs) | Evernym & GLEIF
Verifiable Credentials & Legal Entity Identifiers (LEIs) | Evernym & GLEIFVerifiable Credentials & Legal Entity Identifiers (LEIs) | Evernym & GLEIF
Verifiable Credentials & Legal Entity Identifiers (LEIs) | Evernym & GLEIFEvernym
 
Self-Sovereign Identity for the Decentralized Web Summit
Self-Sovereign Identity for the Decentralized Web SummitSelf-Sovereign Identity for the Decentralized Web Summit
Self-Sovereign Identity for the Decentralized Web SummitKaliya "Identity Woman" Young
 
비트코인으로 이해하는 블록체인 기술
비트코인으로 이해하는 블록체인 기술비트코인으로 이해하는 블록체인 기술
비트코인으로 이해하는 블록체인 기술Seong-Bok Lee
 
What are Decentralized Identifiers (DIDs)?
What are Decentralized Identifiers (DIDs)?What are Decentralized Identifiers (DIDs)?
What are Decentralized Identifiers (DIDs)?Evernym
 
Introduction to Corda Blockchain for Developers
Introduction to Corda Blockchain for DevelopersIntroduction to Corda Blockchain for Developers
Introduction to Corda Blockchain for DevelopersR3
 
Decentralized Identifier (DIDs) fundamentals deep dive
Decentralized Identifier (DIDs) fundamentals deep diveDecentralized Identifier (DIDs) fundamentals deep dive
Decentralized Identifier (DIDs) fundamentals deep diveSSIMeetup
 
HubCityDAO: Web3 Fundamentals
HubCityDAO: Web3 FundamentalsHubCityDAO: Web3 Fundamentals
HubCityDAO: Web3 FundamentalsDavid Barreto
 
ERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum TokenERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum TokenCodeOps Technologies LLP
 
組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方Naohiro Fujie
 

Was ist angesagt? (20)

[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens[OPD 2019] Attacking JWT tokens
[OPD 2019] Attacking JWT tokens
 
Blockchain-based Solutions for Identity & Access Management
Blockchain-based Solutions for Identity & Access ManagementBlockchain-based Solutions for Identity & Access Management
Blockchain-based Solutions for Identity & Access Management
 
OpenID for Verifiable Credentials
OpenID for Verifiable CredentialsOpenID for Verifiable Credentials
OpenID for Verifiable Credentials
 
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
Decentralized Identifiers (DIDs): The Fundamental Building Block of Self-Sove...
 
What is self-sovereign identity (SSI)?
What is self-sovereign identity (SSI)?What is self-sovereign identity (SSI)?
What is self-sovereign identity (SSI)?
 
Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric Blockchain Intro to Hyperledger Fabric
Blockchain Intro to Hyperledger Fabric
 
R3 Corda Simple Tutorial
R3 Corda Simple TutorialR3 Corda Simple Tutorial
R3 Corda Simple Tutorial
 
Developing applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKDeveloping applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDK
 
Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)
Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)
Cryptography for Java Developers: Nakov jProfessionals (Jan 2019)
 
Verifiable Credentials & Legal Entity Identifiers (LEIs) | Evernym & GLEIF
Verifiable Credentials & Legal Entity Identifiers (LEIs) | Evernym & GLEIFVerifiable Credentials & Legal Entity Identifiers (LEIs) | Evernym & GLEIF
Verifiable Credentials & Legal Entity Identifiers (LEIs) | Evernym & GLEIF
 
Self-Sovereign Identity for the Decentralized Web Summit
Self-Sovereign Identity for the Decentralized Web SummitSelf-Sovereign Identity for the Decentralized Web Summit
Self-Sovereign Identity for the Decentralized Web Summit
 
비트코인으로 이해하는 블록체인 기술
비트코인으로 이해하는 블록체인 기술비트코인으로 이해하는 블록체인 기술
비트코인으로 이해하는 블록체인 기술
 
What are Decentralized Identifiers (DIDs)?
What are Decentralized Identifiers (DIDs)?What are Decentralized Identifiers (DIDs)?
What are Decentralized Identifiers (DIDs)?
 
ERC Identity
ERC IdentityERC Identity
ERC Identity
 
Introduction to Corda Blockchain for Developers
Introduction to Corda Blockchain for DevelopersIntroduction to Corda Blockchain for Developers
Introduction to Corda Blockchain for Developers
 
Decentralized Identifier (DIDs) fundamentals deep dive
Decentralized Identifier (DIDs) fundamentals deep diveDecentralized Identifier (DIDs) fundamentals deep dive
Decentralized Identifier (DIDs) fundamentals deep dive
 
HubCityDAO: Web3 Fundamentals
HubCityDAO: Web3 FundamentalsHubCityDAO: Web3 Fundamentals
HubCityDAO: Web3 Fundamentals
 
ERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum TokenERC20 Step-by-Step - Creating Your First Ethereum Token
ERC20 Step-by-Step - Creating Your First Ethereum Token
 
OIDC4VP for AB/C WG
OIDC4VP for AB/C WGOIDC4VP for AB/C WG
OIDC4VP for AB/C WG
 
組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方
 

Ähnlich wie Cordacon 2018 - Cordentity - Hyperledger Indy + Corda

Masterclass on the DID Universal Resolver
Masterclass on the DID Universal ResolverMasterclass on the DID Universal Resolver
Masterclass on the DID Universal ResolverMarkus Sabadello
 
OSCON 2018 Getting Started with Hyperledger Indy
OSCON 2018 Getting Started with Hyperledger IndyOSCON 2018 Getting Started with Hyperledger Indy
OSCON 2018 Getting Started with Hyperledger IndyTracy Kuhrt
 
OpenID Connect 4 SSI (DIFCon F2F)
OpenID Connect 4 SSI (DIFCon F2F)OpenID Connect 4 SSI (DIFCon F2F)
OpenID Connect 4 SSI (DIFCon F2F)Torsten Lodderstedt
 
Early Adopting Java WSIT-Experiences with Windows CardSpace
Early Adopting Java WSIT-Experiences with Windows CardSpaceEarly Adopting Java WSIT-Experiences with Windows CardSpace
Early Adopting Java WSIT-Experiences with Windows CardSpaceOliver Pfaff
 
Decentralisation and knowledge graphs
Decentralisation and knowledge graphs Decentralisation and knowledge graphs
Decentralisation and knowledge graphs vty
 
OpenID 4 Verifiable Credentials + HAIP (Update)
OpenID 4 Verifiable Credentials + HAIP (Update)OpenID 4 Verifiable Credentials + HAIP (Update)
OpenID 4 Verifiable Credentials + HAIP (Update)Torsten Lodderstedt
 
Decentralised identifiers for CLARIAH infrastructure
Decentralised identifiers for CLARIAH infrastructure Decentralised identifiers for CLARIAH infrastructure
Decentralised identifiers for CLARIAH infrastructure vty
 
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...Torsten Lodderstedt
 
Best Practices of IoT in the Cloud
Best Practices of IoT in the CloudBest Practices of IoT in the Cloud
Best Practices of IoT in the CloudAmazon Web Services
 
How we eased out security journey with OAuth (Goodbye Kerberos!) | Paul Makka...
How we eased out security journey with OAuth (Goodbye Kerberos!) | Paul Makka...How we eased out security journey with OAuth (Goodbye Kerberos!) | Paul Makka...
How we eased out security journey with OAuth (Goodbye Kerberos!) | Paul Makka...HostedbyConfluent
 
Best Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudBest Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudAmazon Web Services
 
User Authentication and Cloud Authorization in the Galaxy project: https://do...
User Authentication and Cloud Authorization in the Galaxy project: https://do...User Authentication and Cloud Authorization in the Galaxy project: https://do...
User Authentication and Cloud Authorization in the Galaxy project: https://do...Vahid Jalili
 
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan VMware Tanzu
 
Web Services Discovery for Devices
Web Services Discovery for DevicesWeb Services Discovery for Devices
Web Services Discovery for DevicesJorgen Thelin
 
Best Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudBest Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudAmazon Web Services
 
When and Why Would I use Oauth2?
When and Why Would I use Oauth2?When and Why Would I use Oauth2?
When and Why Would I use Oauth2?Dave Syer
 
Identity, Security, and XML Web Services -- The Importance of Interoperable S...
Identity, Security, and XML Web Services -- The Importance of Interoperable S...Identity, Security, and XML Web Services -- The Importance of Interoperable S...
Identity, Security, and XML Web Services -- The Importance of Interoperable S...Jorgen Thelin
 
Best Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudBest Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudAmazon Web Services
 

Ähnlich wie Cordacon 2018 - Cordentity - Hyperledger Indy + Corda (20)

Decentralized Identifiers
Decentralized IdentifiersDecentralized Identifiers
Decentralized Identifiers
 
Masterclass on the DID Universal Resolver
Masterclass on the DID Universal ResolverMasterclass on the DID Universal Resolver
Masterclass on the DID Universal Resolver
 
OSCON 2018 Getting Started with Hyperledger Indy
OSCON 2018 Getting Started with Hyperledger IndyOSCON 2018 Getting Started with Hyperledger Indy
OSCON 2018 Getting Started with Hyperledger Indy
 
OpenID Connect 4 SSI (DIFCon F2F)
OpenID Connect 4 SSI (DIFCon F2F)OpenID Connect 4 SSI (DIFCon F2F)
OpenID Connect 4 SSI (DIFCon F2F)
 
Early Adopting Java WSIT-Experiences with Windows CardSpace
Early Adopting Java WSIT-Experiences with Windows CardSpaceEarly Adopting Java WSIT-Experiences with Windows CardSpace
Early Adopting Java WSIT-Experiences with Windows CardSpace
 
Decentralisation and knowledge graphs
Decentralisation and knowledge graphs Decentralisation and knowledge graphs
Decentralisation and knowledge graphs
 
OpenID 4 Verifiable Credentials + HAIP (Update)
OpenID 4 Verifiable Credentials + HAIP (Update)OpenID 4 Verifiable Credentials + HAIP (Update)
OpenID 4 Verifiable Credentials + HAIP (Update)
 
Verifiable credentials explained by CCI
Verifiable credentials explained by CCIVerifiable credentials explained by CCI
Verifiable credentials explained by CCI
 
Decentralised identifiers for CLARIAH infrastructure
Decentralised identifiers for CLARIAH infrastructure Decentralised identifiers for CLARIAH infrastructure
Decentralised identifiers for CLARIAH infrastructure
 
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
 
Best Practices of IoT in the Cloud
Best Practices of IoT in the CloudBest Practices of IoT in the Cloud
Best Practices of IoT in the Cloud
 
How we eased out security journey with OAuth (Goodbye Kerberos!) | Paul Makka...
How we eased out security journey with OAuth (Goodbye Kerberos!) | Paul Makka...How we eased out security journey with OAuth (Goodbye Kerberos!) | Paul Makka...
How we eased out security journey with OAuth (Goodbye Kerberos!) | Paul Makka...
 
Best Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudBest Practices for IoT Security in the Cloud
Best Practices for IoT Security in the Cloud
 
User Authentication and Cloud Authorization in the Galaxy project: https://do...
User Authentication and Cloud Authorization in the Galaxy project: https://do...User Authentication and Cloud Authorization in the Galaxy project: https://do...
User Authentication and Cloud Authorization in the Galaxy project: https://do...
 
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
 
Web Services Discovery for Devices
Web Services Discovery for DevicesWeb Services Discovery for Devices
Web Services Discovery for Devices
 
Best Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudBest Practices for IoT Security in the Cloud
Best Practices for IoT Security in the Cloud
 
When and Why Would I use Oauth2?
When and Why Would I use Oauth2?When and Why Would I use Oauth2?
When and Why Would I use Oauth2?
 
Identity, Security, and XML Web Services -- The Importance of Interoperable S...
Identity, Security, and XML Web Services -- The Importance of Interoperable S...Identity, Security, and XML Web Services -- The Importance of Interoperable S...
Identity, Security, and XML Web Services -- The Importance of Interoperable S...
 
Best Practices for IoT Security in the Cloud
Best Practices for IoT Security in the CloudBest Practices for IoT Security in the Cloud
Best Practices for IoT Security in the Cloud
 

Mehr von Vasiliy Suvorov

Verifiable Credentials, Self Sovereign Identity and DLTs
Verifiable Credentials, Self Sovereign Identity and DLTs Verifiable Credentials, Self Sovereign Identity and DLTs
Verifiable Credentials, Self Sovereign Identity and DLTs Vasiliy Suvorov
 
Blockchain Summit Zug 2018 - Task Force Recommendations
Blockchain Summit Zug 2018 - Task Force RecommendationsBlockchain Summit Zug 2018 - Task Force Recommendations
Blockchain Summit Zug 2018 - Task Force RecommendationsVasiliy Suvorov
 
Blockchain for Automotive Industry
Blockchain for Automotive IndustryBlockchain for Automotive Industry
Blockchain for Automotive IndustryVasiliy Suvorov
 
Blockchain based approach to KYC sharing
Blockchain based approach to KYC sharingBlockchain based approach to KYC sharing
Blockchain based approach to KYC sharingVasiliy Suvorov
 
Introduction to Consensus techniques
Introduction to Consensus techniques Introduction to Consensus techniques
Introduction to Consensus techniques Vasiliy Suvorov
 
IOTA Introduction for Hack the Valley attendees
IOTA Introduction for Hack the Valley attendeesIOTA Introduction for Hack the Valley attendees
IOTA Introduction for Hack the Valley attendeesVasiliy Suvorov
 
Structured approach to blockchain and consensus techniques
Structured approach to blockchain and consensus techniquesStructured approach to blockchain and consensus techniques
Structured approach to blockchain and consensus techniquesVasiliy Suvorov
 

Mehr von Vasiliy Suvorov (7)

Verifiable Credentials, Self Sovereign Identity and DLTs
Verifiable Credentials, Self Sovereign Identity and DLTs Verifiable Credentials, Self Sovereign Identity and DLTs
Verifiable Credentials, Self Sovereign Identity and DLTs
 
Blockchain Summit Zug 2018 - Task Force Recommendations
Blockchain Summit Zug 2018 - Task Force RecommendationsBlockchain Summit Zug 2018 - Task Force Recommendations
Blockchain Summit Zug 2018 - Task Force Recommendations
 
Blockchain for Automotive Industry
Blockchain for Automotive IndustryBlockchain for Automotive Industry
Blockchain for Automotive Industry
 
Blockchain based approach to KYC sharing
Blockchain based approach to KYC sharingBlockchain based approach to KYC sharing
Blockchain based approach to KYC sharing
 
Introduction to Consensus techniques
Introduction to Consensus techniques Introduction to Consensus techniques
Introduction to Consensus techniques
 
IOTA Introduction for Hack the Valley attendees
IOTA Introduction for Hack the Valley attendeesIOTA Introduction for Hack the Valley attendees
IOTA Introduction for Hack the Valley attendees
 
Structured approach to blockchain and consensus techniques
Structured approach to blockchain and consensus techniquesStructured approach to blockchain and consensus techniques
Structured approach to blockchain and consensus techniques
 

Kürzlich hochgeladen

LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456KiaraTiradoMicha
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 

Kürzlich hochgeladen (20)

LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 

Cordacon 2018 - Cordentity - Hyperledger Indy + Corda

  • 1. www.luxoft.com v Extending CorDapps with Self-Sovereign Identity: Vasily Suvorov VP Technology Strategy Sep 12, 20018 / CordaCon 2018 Technology deep dive and sample applications.
  • 2. www.luxoft.com Emerging standards for decentrilized identity DECENTRALIZED IDENTITY FOUNDATION DECENTRALIZED IDENTITIES Anchored by BLOCKCHAIN IDs Linked to ZERO-TRUST DATASTORES That are UNIVERSALLY DISCOVERABLE for people, organizations, apps and devices. Credentials Community Group Verifiable Claims Working Group
  • 3. www.luxoft.com Decentralized Identifiers (DIDs) and DID Documents Key enablers for decentralized self-sovereign identity Decentralized Self-Sovereignty Privacy Security Proof-based Discoverability Interoperability Portability Simplicity Extensibility DESIGN GOALS DID DID Document Also Service end-points, Proofs, Extensions, etc See https://w3c-ccg.github.io/did-spec/ for details
  • 4. www.luxoft.com 4 ISSUED BY CORRECT, REVOCABLE INCORRUPTIBLE, CORRECT OWNERSHIP By decoupling the trust between the identity provider and the relying party, a more flexible and dynamic trust model is created such that market competition and customer choice is increased. REPOSITORY ISSUER + HOLDER = IDENTITY PROVIDER ISSUER DOESN’T NEED TO TRUST VERIFIER Verifiable claims/credentials – roles & trust under Self-Sovereignty
  • 5. www.luxoft.com Verifiable credentials How DIDs become (use-case specific) Identities W3C Example DMV – issuer Traveler – Holder/Subject DID:EXAMPLE:EBFEB… Bar - inspector/verifier Credential Credential
  • 6. www.luxoft.com DID/Verifiable Credentials implementation uPort, Ethereum (ERC725), IPFS, Blockstack, Ontology Foundation and others support DID/DDO OSS Project under Hyperledger Provides key enabling components: BFT Ledger / Nodes Cryptographic primitives Client SDK Can be used for Dev/Private Network Public Utility Network for SSI Based on Indy Technology Governance Board Trust Framework Network Operations & Growth Supports scalable, global SSI based applications
  • 7. www.luxoft.com Sovrin/Indy – key features overview  Dedicated, public but permissioned ledger  Pair-wise DIDs  Agents based claims/proofs exchanges  Implements Attribute Based Claims (ABCs)  ZKPs for selective disclosure & revocation Owner Issuer Verifier Existing Trust Relationship ZKP Verifying Protocol Issuing Protocol ZK Verifiable Credential Zero Knowledge Proof Edge Agent Edge Wallet Edge Agent Edge Wallet Edge Layer Cloud Agent Cloud Wallet Cloud Agent Cloud WalletCloud Layer DID Layer Verifiable Claim
  • 8. www.luxoft.com The case for combining blockchain/DLT technologies „Orchestration” Use-Cases  Buying & Selling: Property, Cars, …  Healthcare  Supplier Management  Multi-Party Business Process:  Order of activities is well defined  Strong pre-conditions & dependencies  Relationships and Attestations serve as “Checkboxes”  Strong Privacy requirements / preferences DECENTRALIZED IDENTITY LEDGER DEFs / SCHEMAS DIDs Rules State DLT
  • 9. www.luxoft.com Indy/Sovrin under the hood - 1/3 credential definition: { "ver":"1.0", "id":"V4SGRU86Z58d6TV7PBUe6f:3:CL:12:TAG_1", "schemaId":"12", "type":"CL", "tag":"TAG_1", "value":{ "primary": { "n":"104273...84493", "s":"824420…08151", "rms":"52810…7940757153551267", "r":{ "attr2":"73…809361", "attr1":"88653…3706" }, "rctxt":"6775...3821855822433", "z":"418407...5877279897334588" } } } schema: { "ver":"1.0", "id": "V4SGRU86Z58d6TV7PBUe6f:2:schema_name:1.0", "name":"schema_name", "version":"1.0", "attrNames":["attr1","attr2"], "seqNo":12 } new schema by authority schema from authority new definition by issuer #1 new definition by issuer #2 new definition by issuer #3 What’s in the blocks? Schema A structure that defines future credential format or credential specification. Credential A digital assertion about identity attributes made by a Ledger Entity about itself or another Ledger Entity. A Credential may be Public Data or Private Data. Credential Definition A machine-readable definition of the semantic structure of a Credential. (i.e. Public Key) Proof Cryptographic verification of a Credential. PlenumLedger Who interacts with the Ledger? Authority Creates Schemas Issuer Creates Credential Definitions Prover A Prover receives Credentials from the Issuers. Both Prover and Issuer interact to agree on some facts. Verifier Requests Proofs
  • 10. www.luxoft.com 1. Insurance#3 issues credential based on a definition Insurance#3 Government 2. Ask to proof some data issued by insurance#3 without revealing it 3. ZKP PRIVATE WALLET  Keys  Credentials  Validity Proofs Indy/Sovrin under the hood - 2/3 digital verification takes 2 steps: tting a credential from an issuer eating proof for a verifier re 2 types of proofs: nsparent – all Attrs are revealed P – Attrs are selectively disclosed DID DID’ • Pairwise DIDs are used • Agents (secure exchange) are not out-of-the-box.
  • 11. www.luxoft.com tcp/ip POOL HANDLES INDY/SOVRIN LEDGER CONNECTION CONFIGURATION 1. Trustee 2. Steward 3. Trust Anchor 4. User PRIVATE, TEST, PUBLIC NETWORKS Pool genesis file • Contains initial set of Nodes a Pool is started from • New Nodes will be added by sending new NODE trx to be written into the Ledger • All new Nodes and Clients will use genesis transaction file to connect to initial set of Nodes, • Will discover new Nodes based on NODE trx in the Ledger Genesis transactions files initialize the ledger. TEST NETWORKDEV. DOCKER NETWORK PUBLIC NETWORK NYMs INDY SDK DID LEDGER WRAPPERS PRIVATE WALLET  Keys  Credentials  Validity Proofs Indy/Sovrin under the hood 3/3
  • 12. www.luxoft.com 1 2 3 4 SDK modules and interfaces Ledger Ledger is responsible for public information exchange: schema, definitions, revocation registry Anoncreds Functionality for anonymous credentials: schema, credential definition, revocation, proof and request generations, etc. It provides cryptographic primitives to generate proofs and sign messages DID DID & DDO management functionality Pool Pool manages the local ledger configuration that can be used later to connect to “pool nodes." Pairwise Individual keys pair to prevent relationships between issued credentials. Extends DID functionality. Wallet Secure private wallet exposes interfaces to operate with private information: credentials, keys, etc. fun issuerCreateAndStoreCredentialDef(…) fun proverCreateProof(…) fun issuerCreateCredential(…) NEW SCHEMA HAS TO BE REGISTERED ON PUBLIC LEDGER ISSUER HAS TO CREATE CREDENTIAL DEFINITION (PK) AND PUBLISH ON LEDGER PROVER ASKS FOR NEW CREDENTIAL PROVER CREATES DIGITAL PROOF TO CONVINCE VERIFIER fun issuerCreateSchema(…) SKD JAVA WRAPPER
  • 13. www.luxoft.com CORDAPP #Y … CORDAPP #X … FLOWS FLOWS CORDAPPS Corda applications running on private client’s node FLOWS FLOWS FLOWS FLOWS CORDAPPS Corda applications running on private company’s node FLOWS FLOWS FLOWS FLOWS INDYSDK INDY- UTILS CORDENTITY Indy specific flows to work with the Credentials and Proofs Application specific flows to implement required business process  Cordentity is an utility CorDapp which exposes high level APIs hiding complexity of Hyperledger Indy  Cordentity doesn’t require deep knowledge of cryptography or Indy’s functionality. It operates with basic primitives: schema, definition and proofs.  Cordentity utilizes Corda’s flows, states and contracts DID:SOV:12345689ABCDEFGAB Corda + Indy = Luxoft’s Cordentity PRIVATE WALLET  Keys  Credentials  Validity Proofs INDY-CREDENTIAL: CredentialRequest & Credential INDY-CREDENTIAL-PROOF: ProofReq & Proof STATES Holder/Issuer Prover/Verifier
  • 14. www.luxoft.com Cordentity – usage overview class Authority( private val schemaName: String, private val schemaVersion: String, private val schemaAttributes: List<String> ) : FlowLogic<String>() CREATE SCHEMA FLOW class Authority(private val schemaId: String) : FlowLogic<String>() CREATE CREDENTIAL DEF FLOW class Issuer(private val identifier: String, private val credDefId: String, private val credProposal: String, private val proverName: CordaX500Name) : FlowLogic<Unit>() ISSUE CREDENTIAL FLOW class Verifier( private val identifier: String, private val attributes: List<ProofAttribute>, private val predicates: List<ProofPredicate>, private val proverName: CordaX500Name ) : FlowLogic<Boolean>() VERIFY CREDENTIAL FLOW AUTHORITY & ISSUER Legal entities create new schema as a definition of future credentials Authorities authorized to issue user’s credentials create credentials definition on top of the existing schemas User requests new credential from one of the authorities Two users check/verify credentials PROVER & VERIFIER  Every individual Corda Node that uses Cordentity has a private wallet  Cordentity’s flows interact with a specified Indy network  Indy network should be specified via file with genesis transactions. There are 3 type of networks: docker powered (development), STN and production.  Authority or Issuer have to get permissions. AssignPermissionsFlow provides suitable interfaces. 1. AssignPermissionsFlow 2. CreateCredentialDefFlow 3. CreateSchemaFlow 4. IssueCredentialFlow 5. VerifyCredentialFLow Flows Party#1 Party#2 Two type of data in a proof: Predicates and Attributes. •A predicate is never revealed and just checked on a criteria. •An attribute will be revealed.
  • 15. www.luxoft.com AUTHORITY ISSUER #1 ISSUER #2 ISSUER #3 PROVER VERIFIER AUTHORITY INSURANCE PROVER PATIENT VERIFIER TREATMENT CENTER ISSUER INSURANCE AUTHORITY GOVERNMENT ISSUER GOVERNMENT SCHEMA #2SCHEMA #1 CREDENTIAL DEFINITION #2 CREDENTIAL DEFINITION #1 CREDENTIALS CREDENTIAL DEFINITIONS CREATE SCHEMA CreateSchemaFlow ASSIGN PERMISSIONS AssignPermissionsFlow CREATE CREDENTIAL DEFINITION CreateCredentialDefinitionFlow ISSUE CREDENTIAL IssueCredentialFlow DATA VERIFICATION VerifyCredentialFlow BASIC RELATIONSHIPS MODEL USE-CASE SPECIFIC RELATIONSHIPS MODEL Trust / Attestations Mapping
  • 16. www.luxoft.com Complete Sample Application Personalized Medicine End-to-End Ecosystem 3 Treatment Center places pers. medication order to the assigned Manufacturer DID:SOV:135473839JFGDFEDH 1 DID:SOV:12345689ABCDEFGAB Patient is prescribed with a personalized medicine therapy 2 Insurance company confirms the coverage of therapy costs DID:SOV:937472047DEFHASGCC 5 Courier delivers the package to the Treatment center 4 Manufacturer produces and ships the pers. medication package 6 Patient receives the therapy at the Treatment center  Personal data is kept privately and not shared with external participants  Participants’ data is verifiable and immutable against fraud  Selective data visibility  Isolated pairwise relationships between participants
  • 17. www.luxoft.com PRODUCTION & SHIPMENT AUTHENTICATION PRECONDITIONS: •Patient gets Credentials from a number of different Authorities and stores them privately. •Two Authorities are required for processing: Insurance and Government. Business Rules PICK-UP Patient creates proof for Treatment Center based on Claims from well known Authorities. Some data are revealed during the interaction and other is kept secret. The Prover needs to reveal: medical package, diagnosis and treatment recommendation. The Prover also needs to prove to the Verifier nationality, age (above 18) and stage (above 3) of disease. If patient is authenticated successfully the production process starts. The Treatment center connects to Manufacturer to request new production. On every steps all involved participants get notifications about the status. Finally, the Patient returns back to the Treatment center to collect the package. He confirms his rights and gets the product.
  • 18. www.luxoft.com Phase I – Initiate Manufacturing Treatment Center Manufacture r Patient Age, nation, diagnosis, Insurance IndyCredentialProof Corda State Manufacturing Request PackageRequest CordaState observers: patient Digital Order Confirmation subflow subflow subflow IndyCredential, Corda State 3 Treatment Center places pers. medication order to the assigned Manufacturer DID:SOV:135473839JFGDFEDH 1 DID:SOV:12345689ABCDEFGAB Patient is prescribed with a personalized medicine therapy 2 Insurance company confirms the coverage of therapy costs DID:SOV:937472047DEFHASGCC ctual Relationships are created VerifyCredentialFlow IssueCredentialFlow
  • 19. www.luxoft.com M anufacturer Treatment center … Shipment lifecycle Courier1 CourierN Custom s …( () ) ( ) Phase II – Shipment / Delivery  Patient receives delivery notifications on every step 5 Courier delivers the package to the Treatment center 4 Manufacturer produces and ships the pers. medication package ulti-step chain of custody Verifiable Handoff Holder Receiver
  • 20. www.luxoft.com  Patient can collect his package and be serviced at any participating treatment center  Treatment center confirms Patient’s identity Phase III – Therapy/Treatment subflowTreatment Center ask for Order Confirmation proof IndyCredentialProof (initial authent.) PackageRequest(s) IndyCredential (copy of digital receipt) Treatment is delivered to patient DID:SOV:135473839JFGDFEDH 6 Patient receives the therapy at the Treatment center Treatment Center Has the package  Patient’s personal info is kept private at all stages IndyCredentialProof Corda State VerifyCredentialFlow
  • 21. www.luxoft.com Summary • Self-Sovereign Identity & Verifiable Credentials is a very powerful mechanism • Scalable, DLT-enabled Business Ecosystems benefit from SSI integration • Corda is the next generation DLT that simplifies integration with other technologies • Cordentity makes it easy to use Hyperledger Indy / Sovrin powered SSIs / Credentials from CorDapps ource – please use it and let us know how to make it better!

Hinweis der Redaktion

  1. subFlow(VerifyCredentialFlow.Verifier(serial, attributes, predicates, proverName))