System and method for an electronic identity brokerage
AssigneeRoyal Bank of Canada
InventorsEdison U. Ortiz, Arya Pourtabatabaie, Margaret Inez Salter
Life of this patent
Estimating the term…
Abstract
A computer implemented system for electronic verification of credentials including at least one processor and data storage is described in various embodiments. The system includes cryptographic mechanisms and electronic communication between one or more computing systems that in concert, provide verification of a prover's credentials in accordance to logical conditions of a verifier's policy without providing additional information to a verifier entity.
Claims18
A computer implemented system for communicating data messages between a verifier computing device and a portable client computing device, the data messages establishing authentication of one or more characteristics of a client associated with the portable client computing device, the system comprising:
- the portable client computing device including at least a client computing device processor and data storage, the data storage storing one or more token data objects received from or computed jointly in a multiparty protocol with an issuer computing device, the one or more token data objects generated using at least a issuer computing device private issuance key, the one or more token data objects each including one or more signed data elements representing at least one of the one or more characteristics of the client associated with the portable client computing device;
- and
- the client computing device processor configured to receive a verification request data message from the verifier computing device and, using a combination of the one or more token data objects and the verification request data message, generate one or more proof data messages without sending any data messages or requests to the issuer computing device;
- wherein the verification request data message includes at least a nonce c0;
- and
- the client computing device processor is configured to:
- compute t=x−1 mod p, where x is an attribute value from the one or more token data objects, and p is an order of the discrete log group;
- t is a modular inverse of x mod p;
- uniformly sample a first random number r1 and a second random number, r2, such that r1, r2∈p;
- compute R=Cxr1hr2, where R is a commitment to random values r1 and r2, Cx is a commitment to attribute x, and h is a group generator;
- compute c=H(Cx, R, c0), where c is a proof challenge, based at least on the Fiat-Shamir Heuristic;
- compute z1=ct+r1 and z2=−cty+r2, where z1 and z2 are proof responses based on a Sigma protocol;
- and
- encapsulate and transmit the one or more proof data messages including R, z1 and z2 as data objects to the verifier computing device, such that the verifier computing device is able to compute c=H(Cx, R, c0) and confirm that gcR=Cxz1hz2, the verifier computing device controlling provisioning of access to a secured resource responsive to the confirmation that gcR=Cxz1hz2.
A computer implemented method for communicating data messages between a verifier computing device and a portable client computing device, the data messages establishing authentication of one or more characteristics of a client associated with the portable client computing device, the method comprising:
- storing one or more token data objects received from an issuer computing device, the one or more token data objects generated using at least a issuer computing device private issuance key, the one or more token data objects each including one or more signed data elements representing at least one of the one or more characteristics of the client associated with the portable client computing device;
- receiving a verification request data message from the verifier computing device, the verification request data message including at least a nonce c0;
- and
- generating a proof data message by conducting a modular inverse based at least on an attribute value from the one or more token data objects, generating a first random number and a second random number, computing a first group exponentiation and a second group exponentiation based on the first random number and the second random number, and a group multiplication including at least the first group exponentiation and the second group exponentiation, the group multiplication utilized to establish proof responses in a sigma protocol that are encapsulated into the proof data message;
- wherein generating the proof data message comprises:
- computing t=x−1 mod p, where x is the attribute value from the one or more token data objects, and p is an order of the discrete log group t is a modular inverse of x mod p;
- uniformly sampling the first random number r, and the second random number, r2, such that r1, r2∈p;
- computing R=Cxr1hr2, where R is a commitment to random values r1 and r2, Cx is a commitment to attribute x, and h is a group generator;
- computing c=H(Cx, R, c0), where c is a proof challenge, based at least on the Fiat-Shamir Heuristic;
- computing z1=ct+r1 and z2=−cty+r2, where z1 and z2 are the proof responses in the sigma protocol;
- and
- encapsulating and transmitting the proof data message including R, z1 and z2 as data objects to the verifier computing device, such that the verifier computing device is able to compute c=H (Cx, R, c0) and confirm that gcR=Cxz1hz2, the verifier computing device controlling provisioning of access to a secured resource responsive to the confirmation that gcR=Cxz1hz2.
A non-transitory computer readable medium storing machine interpretable instructions, which when executed, cause a processor to perform the steps of a method for communicating data messages between a verifier computing device and a portable client computing device, the data messages establishing authentication of one or more characteristics of a client associated with the portable client computing device, the method comprising:
- storing one or more token data objects received from an issuer computing device, the one or more token data objects generated using at least a issuer computing device private issuance key, the one or more token data objects each including one or more signed data elements representing at least one of the one or more characteristics of the client associated with the portable client computing device;
- receiving a verification request data message from the verifier computing device, the verification request data message including at least a nonce c0;
- and
- generating a proof data message by conducting a modular inverse based at least on an attribute value from the one or more token data objects, generating a first random number and a second random number, computing a first group exponentiation and a second group exponentiation based on the first random number and the second random number, and a group multiplication including at least the first group exponentiation and the second group exponentiation, the group multiplication utilized to establish proof responses in a sigma protocol that are encapsulated into the proof data message;
- wherein generating the proof data message comprises:
- computing t=x−1 mod p, where x is the attribute value from the one or more token data objects, and p is an order of the discrete log group t is a modular inverse of x mod p;
- uniformly sampling the first random number r1 and the second random number, r2, such that r1, r2∈p;
- computing R=Cxr1hr2, where R is a commitment to random values r1 and r2, Cx is a commitment to attribute x, and h is a group generator;
- computing c=H(Cx, R, c0), where c is a proof challenge, based at least on the Fiat-Shamir Heuristic;
- computing z1=ct+r1 and z2=−cty+r2, where z1 and z2 are the proof responses in the sigma protocol;
- and
- encapsulating and transmitting the proof data message including R, z1 and z2 as data objects to the verifier computing device, such that the verifier computing device is able to compute c=H(Cx, R, c0) and confirm that gcR=Cxz1hz2, the verifier computing device controlling provisioning of access to a secured resource responsive to the confirmation that gcR=Cxz1hz2.
Dependencies are inferred from the claim text.