IP Library Granted Patent US 12,192,366
Granted Patent B2
US 12,192,366 · App. 17/833,448 · Granted Jan 7, 2025

System and method for anonymous location verification

Inventors: Arya Pourtabatabaie (Orlando, FL); Edison U. Ortiz (Orlando, FL); Margaret Inez Salter (Orlando, FL)
Assignee: ROYAL BANK OF CANADA
H04L9/3218H04L9/0872H04L9/3213
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,192,366
App. No.
17/833,448
Granted
Jan 7, 2025
Kind
B2
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 (47)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2022
From: POURTABATABAIE, ARYA; SALTER, MARGARET INEZ; ORTIZ, EDISON U.
To: ROYAL BANK OF CANADA
Reel/Frame 061025/0855 →
Continuity (9)
Continuation 16750542 · Jan 23, 2020
Continuation In Part 16503154 · Jul 3, 2019
Provisional Application 62839408 · Apr 26, 2019
Provisional Application 62839407 · Apr 26, 2019
Provisional Application 62801322 · Feb 5, 2019
Provisional Application 62795979 · Jan 23, 2019
Provisional Application 62702684 · Jul 24, 2018
Provisional Application 62693680 · Jul 3, 2018
Related Publication 20220385469A1 · Dec 1, 2022
References Cited (36)
US 6820201B1 · Lincoln · 2004 [cited by applicant]
US 8386790B2 · Bhattacharya · 2013 [cited by applicant]
US 8683605B1 · Tenenboym · 2014 [cited by applicant]
US 10448251B1 · Maria · 2019 [cited by examiner]
US 10523685B1 · Kostka et al. · 2019 [cited by applicant]
US 10693872B1 · Larson et al. · 2020 [cited by applicant]
US 20040123156A1 · Hammond · 2004 [cited by applicant]
US 20050058288A1 · Sundaram · 2005 [cited by applicant]
US 20060195692A1 · Kuhlman · 2006 [cited by applicant]
US 20080262969A1 · Samid · 2008 [cited by applicant]
US 20100049875A1 · Lu · 2010 [cited by applicant]
US 20110072269A1 · Takechi · 2011 [cited by applicant]
US 20110274275A1 · Seitz · 2011 [cited by applicant]
US 20120209730A1 · Garrett · 2012 [cited by applicant]
US 20140310162A1 · Collins · 2014 [cited by applicant]
US 20160162897A1 · Feeney · 2016 [cited by applicant]
US 20160344635A1 · Lee · 2016 [cited by applicant]
US 20170149560A1 · Shah · 2017 [cited by applicant]
US 20170180128A1 · Lu · 2017 [cited by applicant]
US 20170294131A1 · Jedrzejewski et al. · 2017 [cited by applicant]
US 20180262493A1 · Andrade · 2018 [cited by applicant]
US 20180270065A1 · Brown · 2018 [cited by applicant]
US 20190036914A1 · Tzur-David · 2019 [cited by applicant]
US 20190036932A1 · Bathen · 2019 [cited by applicant]
US 20190144153A1 · Schaub et al. · 2019 [cited by applicant]
US 20190259228A1 · Truong · 2019 [cited by examiner]
US 20200005173A1 · del Pino · 2020 [cited by examiner]
US 20200074450A1 · Fletcher · 2020 [cited by examiner]
Office Action dated Jan. 7, 2021 issued in U.S. Appl. No. 16/503,154. [cited by applicant]
Camenisch, J et al., “Design and Implementation of the idemix Anonymous Credential System”, IBM Research, Zurich Research Laboratory, May 2003, p. 1-27, hllps://www.researchgate.net/publication/2570056_Design_ and_Imple… [cited by applicant]
Belenkiy, M et al., “Randomizable Proofs and Delegatable Anonymous Credentials”, CRYPTO 2009, LNCS 5677, p. 108-125, 2009. [cited by applicant]
Boneh, D. et al., “Identity-Based Encryption from the Weil Pairing”, SIAM J of Computing, vol. 32, No. 3, p. 568-615, J003. [cited by applicant]
Groth, J et al., “Efficient Non-Interactive Proof Systems for Bilinear Groups”, Eurocrypt 2008, LNCS 4965, p. 415-132, 2008. [cited by applicant]
Paquin, C., “U-Prove Technology Overview V1 .1 Revision 2”, Microsoft Corporation, p. 1-23, Apr. 2013. [cited by applicant]
Paquin, C. et al., “U-Prove Cryptographic Specification V1 .1 Revision 3” Microsoft Corporation, p. 1-23, December J013. [cited by applicant]
Office Action dated Jun. 23, 2023 issued in U.S. Appl. No. 17/509,781. [cited by applicant]