US12192366B2ActiveUtilityA1

System and method for anonymous location verification

62
Assignee: ROYAL BANK OF CANADAPriority: Jul 3, 2018Filed: Jun 6, 2022Granted: Jan 7, 2025
Est. expiryJul 3, 2038(~12 yrs left)· nominal 20-yr term from priority
H04L 9/3213H04L 9/0872H04L 9/50H04L 2209/46H04L 2209/42H04L 9/3239H04L 9/3218
62
PatentIndex Score
0
Cited by
36
References
12
Claims

Abstract

A computer implemented system for anonymous electronic verification of location 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 location credentials in accordance to logical conditions of a verifier's policy without providing additional information to a verifier entity.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. 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 at least one client location characteristic of 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 an 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 at least one client location characteristic of the portable client computing device; and 
 the client computing device processor configured to:
 receive a verification request data message from the verifier computing device, the verification request data message comprising a request for confirmation that the portable client device is associated with a particular geographic location that is within a polygon shape defining an area representing the particular geographic location; 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, the client computing device processor configure to:
 generate commitments to planar approximations dx and dy of the particular geographic location; 
 generate a first simulated proof portion that dx=rcosϕ 0 dθ and dy=rdϕ; 
 generate commitments to signed values S(A i PA i+1 ); 
 generate a second simulated proof portion that the signed values were formed correctly; and 
 
 
 generate simulated proof portions that all the signed values S(A i PA i+1 ) are positive values. 
 
     
     
       2. The computer implemented system as claimed in  claim 1 , wherein to determine if the portable client device is associated with the particular geographic location, the client computer device processor is configured to:
 convert a geographic point associated with the portable client device into a planar approximation; 
 determine a commitment value of a geometric function of the planar approximation; and 
 determine and generate a proof that a result of the geometric function applied to the planar approximation is within a parameter. 
 
     
     
       3. The computer implemented system as claimed in  claim 2 , wherein the client computer processor is configured to:
 generate a proof that a commitment is well-formed; 
 send the commitment values and the proof to a verifier device for verification of the particular location; and 
 receive confirmation from the verification device that the particular geographic location has been verified. 
 
     
     
       4. The computer implemented system as claimed in  claim 1 , wherein the particular geographic location is a polygon shape having vertices defining an area, and wherein to determine if the portable client device is associated with the particular geographic location, the client computer device processor is configured to:
 for each endpoint of a vertex of the polygon, convert a geographic point associated with that endpoint into a planar approximation; 
 for each triangle defined by A i PA i+1 , determine a commitment value of a signed area of that triangle, where A i  and A i+1  are the planar approximations of endpoints of a vertex of the polygon shape, P is the planar approximation of the particular geographic location associated with the portable client device, and i is an index value representing a vertex of the polygon; and 
 generate a proof that the signed area of each triangle defined by A i PA i+1  is a positive value. 
 
     
     
       5. The computer implemented system of  claim 1 , wherein the one or more token data objects are pre-loaded into the data storage such that the generation of the proof can be conducted at a time temporally separated from when the one or more token data objects were generated or preloaded. 
     
     
       6. The computer implemented system of  claim 1 , wherein the one or more proof data messages are generated such that the one or more proof data messages can be validated using an issuer computing device public issuance key corresponding to the issuer computing device private issuance key. 
     
     
       7. 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 at least one client location characteristic of 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 an 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 at least one client location characteristic of the portable client computing device; 
 receiving a verification request data message from the verifier computing device, the verification request data message comprising a request for confirmation that the portable client device is associated with a particular geographic location that is within a polygon shape defining an area representing the particular geographic location; and 
 using a combination of the one or more token data objects and the verification request data message, generating one or more proof data messages without sending any data messages or requests to the issuer computing device by:
 generating commitments to planar approximations dx and dy of the particular geographic location; 
 generating a first simulated proof portion that dx=rcosϕ 0 dθ and dy=rdϕ; 
 generating commitments to signed values S(A i PA i+1 ); 
 generating a second simulated proof portion that the signed values were formed correctly; and 
 generating simulated proof portions that all the signed values S(A i PA i+1 ) are positive values. 
 
 
     
     
       8. The computer implemented method as claimed in  claim 7 , wherein determining if the portable client device is associated with the particular geographic location comprises:
 converting a geographic point associated with the portable client device into a planar approximation; 
 determining a commitment value of a geometric function of the planar approximation; and 
 determining a result of the geometric function applied to the planar approximation is within a parameter. 
 
     
     
       9. The computer implemented method as claimed in  claim 8 , comprising:
 generating a proof that a commitment is well-formed; 
 sending the commitment value and the proof to a verifier device for verification of the particular geographic location; and 
 receiving confirmation from the verification device that the particular geographic location has been verified. 
 
     
     
       10. The computer implemented method as claimed in  claim 7 , wherein the particular geographic location is a polygon shape having vertices defining an area, and wherein determining if the portable client device is associated with the particular geographic location comprises:
 for each endpoint of a vertex of the polygon, converting a geographic point associated with that endpoint into a planar approximation; 
 for each triangle defined by A i PA i+1 , determining a commitment value of a signed area of that triangle, where A i  and A i+1  are the planar approximations of endpoints of a vertex of the polygon shape, P is the planar approximation of the particular geographic location associated with the portable client device, and i is an index value representing a vertex of the polygon; and 
 confirming that the signed area of each triangle defined by A i PA i+1  is a positive value. 
 
     
     
       11. The computer implemented method of  claim 7 , wherein the one or more token data objects are pre-loaded into the data storage such that the generation of the proof can be conducted at a time temporally separated from when the one or more token data objects were generated or preloaded. 
     
     
       12. The computer implemented method of  claim 7 , wherein the one or more proof data messages are generated such that the one or more proof data messages can be validated using an issuer computing device public issuance key corresponding to the issuer computing device private issuance key.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.