IP Library › Granted Patent US 12,375,304
Granted Patent B2
US 12,375,304 · App. 17/710,587 · Granted Jul 29, 2025

Mutual authentication of confidential communication

Inventor: Eric Le Saint (Los Altos, CA)
Assignee: Visa International Service Association
H04L9/3273H04L9/0844H04L9/0869H04L9/14H04L9/3242H04L9/3265H04L9/3268H04L63/0428H04L63/0442H04L63/061H04L63/0869H04L9/50H04L2209/04H04L2209/08H04L2209/56
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,375,304
App. No.
17/710,587
Granted
Jul 29, 2025
Kind
B2
Abstract

Embodiments of the invention relate to systems and methods for confidential mutual authentication. A first computer may blind its public key using a blinding factor. The first computer may generate a shared secret using its private key, the blinding factor, and a public key of a second computer. The first computer may encrypt the blinding factor and a certificate including its public key using the shared secret. The first computer may send its blinded public key, the encrypted blinding factor, and the encrypted certificate to the second computer. The second computer may generate the same shared secret using its private key and the blinded public key of the first computer. The second computer may authenticate the first computer by verifying its blinded public key using the blinding factor and the certificate of the first computer. The first computer authenticates the second computer similarly.

Claims (75)

1. A computer-implemented method for performing communications between a first computer and second computer, the method comprising performing, by the second computer:

receiving a first message including a first computer blinded public key and first encrypted authentication information from the first computer, wherein the first computer blinded public key is generated by the first computer using a first computer blinding factor and a first computer public key;

in response to receiving the first message, generating a first shared secret using the first computer blinded public key and a second computer private key;

decrypting the first encrypted authentication information using the first shared secret to obtain first authentication information of the first computer;

authenticating the first computer using the first authentication information;

in response to the authenticating of the first computer, encrypting second authentication information of the second computer to obtain second encrypted authentication information, the encrypting of the second authentication information based on the second computer private key and the first computer public key; and

sending a second message including the second encrypted authentication information to the first computer, thereby enabling the first computer to authenticate the second computer using the second authentication information,

wherein the first authentication information includes the first computer blinding factor and the first computer public key, and

wherein authenticating the first computer further comprises:

applying the first computer blinding factor to the first computer public key to obtain a generated blinded public key; and

comparing the generated blinded public key to the first computer blinded public key.

2. The method of claim 1 , wherein the second computer performs the encrypting of the second authentication information using the first shared secret, thereby enabling the first computer to decrypt the encrypted second authentication information and authenticate the second computer based on the second computer performing the encrypting of the second authentication information using the first shared secret.

3. The method of claim 1 , wherein the first authentication information includes the first computer public key, and wherein authenticating the first computer includes comparing the first computer public key to one or more stored computer public keys to identify a matching computer public key.

4. The method of claim 1 , wherein the first authentication information includes a first timestamp of the first computer, and wherein authenticating the first computer includes comparing the first timestamp to a second timestamp of the second computer.

5. The method of claim 1 , wherein the first computer blinding factor is generated using a pseudo-random number generator, and wherein the first computer blinded public key is determined from the first computer blinding factor using an elliptic curve public key algorithm.

6. A computer-implemented method for performing communications between a first computer and second computer, the method comprising performing, by the first computer:

generating a first computer blinded public key using a first computer blinding factor and a first computer public key;

generating a first shared secret using a first computer private key corresponding to the first computer public key, the first computer blinding factor, and a second computer public key of the second computer;

encrypting first authentication information of the first computer using the first shared secret to obtain first encrypted authentication information;

sending, to the second computer, a first message including the first computer blinded public key and the first encrypted authentication information, thereby enabling the second computer to generate the first shared secret using the first computer blinded public key and a second computer private key corresponding to the second computer public key, to decrypt the first encrypted authentication information, and to authenticate the first computer using the first authentication information;

receiving a second message from the second computer, the second message including second encrypted authentication information;

in response to receiving the second message, decrypting the second encrypted authentication information based on the first computer private key and the second computer public key to obtain second authentication information of the second computer; and

authenticating the second computer using the second authentication information,

wherein the second authentication information includes the second computer public key, and

wherein authenticating the second computer further comprises comparing the second computer public key to one or more stored computer public keys to identify a matching computer public key.

7. The method of claim 6 , further comprising performing, by the first computer, communicating with the second computer in response to the authenticating of the second computer.

8. The method of claim 6 , further comprising performing, by the first computer:

generating, a second shared secret using the first computer private key, the first computer blinding factor, and a second computer blinded public key, wherein the second message included the second computer blinded public key, wherein the first computer performs the decrypting of the second encrypted authentication information using the second shared secret, wherein the second authentication information includes a second computer blinding factor; and

verifying the second computer blinded public key using the second computer blinding factor and the second computer public key, wherein the authenticating of the second computer is based on the verifying of the second computer blinded public key.

9. A computer-implemented method for performing communications between a first computer and a second computer, the method comprising performing, by the first computer:

receiving a first message including a second computer blinded public key from the second computer, wherein the second computer blinded public key is generated by the second computer using a second computer blinding factor and a second computer public key that corresponds to a second computer private key;

generating a first computer blinded public key using a first computer blinding factor and a first computer public key;

generating a first shared secret using a first computer private key corresponding to the first computer public key, the first computer blinding factor, and the second computer blinded public key;

sending a second message including the first computer blinded public key to the second computer, thereby enabling the second computer to generate the first shared secret using the first computer blinded public key, the second computer blinding factor, and the second computer private key corresponding to the second computer public key; and

communicating with the second computer using the first shared secret.

10. The method of claim 9 , further comprising performing, by the first computer:

generating a second shared secret using the second computer blinded public key and the first computer private key, wherein the first message further includes an encrypted second computer blinding factor and an encrypted second computer certificate from the second computer;

decrypting the encrypted second computer blinding factor using the second shared secret to obtain the second computer blinding factor;

decrypting the encrypted second computer certificate using the second shared secret to obtain a second computer certificate including the second computer public key; and

authenticating, by the first computer, the second computer blinded public key received from the second computer using the second computer blinding factor and the second computer public key,

wherein the sending of the second message to the second computer is in response to verifying of the second computer blinded public key.

11. The method of claim 10 , wherein verifying the second computer blinded public key received from the second computer further comprises performing, by the first computer:

generating a generated second computer blinded public key using the second computer public key of the second computer certificate and the second computer blinding factor; and

comparing the generated second computer blinded public key and the second computer blinded public key received from the second computer.

12. The method of claim 9 , further comprising performing, by the first computer:

receiving an encrypted second computer blinding factor remainder and an encrypted second computer certificate from the second computer;

generating a second shared secret using the second computer blinded public key and the first computer private key;

decrypting the encrypted second computer blinding factor remainder using a second session key to obtain a second computer blinding factor remainder;

decrypting the encrypted second computer certificate using the second shared secret to obtain a second computer certificate, the second computer certificate including the second computer public key; and

verifying the second computer blinded public key using the second computer blinding factor remainder, a counter value, and the second computer public key of the second computer certificate, wherein the second computer blinding factor is generated by the second computer using the counter value and the second computer blinding factor remainder.

13. The method of claim 12 , wherein the second session key is generated using the second shared secret, a first session identifier, and a second session identifier, the first session identifier is generated using a blinded first authentication public key, and wherein the second session identifier is generated using a blinded second authentication public key.

14. The method of claim 9 , further comprising performing, by the first computer:

receiving an encrypted challenge from the second computer;

generating a second shared secret using the second computer blinded public key and the first computer private key;

decrypting the encrypted challenge using the second shared secret to obtain a second computer challenge; and

verifying the second computer challenge received from the second computer using a stored challenge stored at the first computer.

15. The method of claim 9 , further comprising performing, by the first computer:

receiving an encrypted second computer blinding factor remainder and an encrypted second computer certificate from the second computer;

generating a second shared secret using the second computer blinded public key and the first computer private key;

decrypting the encrypted second computer blinding factor remainder using a second session key to obtain a second computer blinding factor remainder;

decrypting the encrypted second computer certificate using the second session key to obtain a second computer certificate including the second computer public key; and

verifying the second computer blinded public key using the second computer blinding factor remainder, a stored challenge, and the second computer public key of the second computer certificate, wherein the second computer blinding factor is generated by the second computer using a challenge and the second computer blinding factor remainder, wherein the first computer sends the challenge to the second computer, the challenge being the same as the stored challenge.

16. The method of claim 9 , further comprising performing, by the first computer, sending at least one of a first computer certificate, a counter, and a challenge to the second computer.

17. A computer-implemented method for performing communications between a first computer and second computer, the method comprising performing, by the second computer:

generating a second computer blinded public key using a second computer blinding factor and a second computer public key;

sending the second computer blinded public key to the first computer;

receiving a first computer blinded public key from the first computer, wherein the first computer generated the first computer blinded public key using a first computer blinding factor and a first computer public key;

generating a first shared secret using the first computer blinded public key, the second computer blinding factor, and a second computer private key corresponding to the second computer public key; and

communicating with the first computer using the first shared secret.

18. The method of claim 17 , further comprising performing, by the second computer:

obtaining a second counter, the second counter being the same as a first counter of the first computer;

generating the second computer blinding factor based on a counter value of the second counter;

generating a second computer blinding factor remainder based on the second computer blinding factor and the counter value;

encrypting the second computer blinding factor remainder using a second shared secret to obtain an encrypted second computer blinding factor remainder; and

sending the encrypted second computer blinding factor remainder to the first computer.

Continuity (4)
Continuation 16891755 · Jun 3, 2020
Continuation 15736243
Provisional Application 62187125 · Jun 30, 2015
Related Publication 20220224551A1 · Jul 14, 2022
References Cited (112)
US 6052467A · Brands · 2000 [cited by applicant]
US 6760752B1 · Liu et al. · 2004 [cited by applicant]
US 7039713B1 · Van Gunter et al. · 2006 [cited by applicant]
US 7039946B1 · Binding · 2006 [cited by examiner]
US 7628322B2 · Holtmanns et al. · 2009 [cited by applicant]
US 9288208B1 · Roth et al. · 2016 [cited by applicant]
US 9647832B2 · Le Saint · 2017 [cited by applicant]
US 10333903B1 · Campagna et al. · 2019 [cited by applicant]
US 10574633B2 · Le Saint et al. · 2020 [cited by applicant]
US 10708072B2 · Le Saint · 2020 [cited by applicant]
US 10826712B2 · Le Saint et al. · 2020 [cited by applicant]
US 11757662B2 · Le Saint et al. · 2023 [cited by applicant]
US 20020067832A1 · Jablon · 2002 [cited by applicant]
US 20020095507A1 · Jerdonek · 2002 [cited by applicant]
US 20020104006A1 · Boate et al. · 2002 [cited by applicant]
US 20040064694A1 · Lee · 2004 [cited by examiner]
US 20040230800A1 · Futa et al. · 2004 [cited by applicant]
US 20050050329A1 · Wilding et al. · 2005 [cited by applicant]
US 20050154889A1 · Ashley et al. · 2005 [cited by applicant]
US 20060106836A1 · Masugi et al. · 2006 [cited by applicant]
US 20060198517A1 · Cameron · 2006 [cited by examiner]
US 20060288209A1 · Vogler · 2006 [cited by applicant]
US 20070266258A1 · Brown et al. · 2007 [cited by applicant]
US 20080141035A1 · Furukawa · 2008 [cited by applicant]
US 20080154782A1 · Kang et al. · 2008 [cited by applicant]
US 20080320308A1 · Kostiainen et al. · 2008 [cited by applicant]
US 20090006860A1 · Ross · 2009 [cited by applicant]
US 20090287837A1 · Felsher · 2009 [cited by applicant]
US 20100100740A1 · Ho · 2010 [cited by applicant]
US 20110307698A1 · Vanstone · 2011 [cited by applicant]
US 20120082312A1 · Liu · 2012 [cited by examiner]
US 20120087493A1 · Chidambaram et al. · 2012 [cited by applicant]
US 20120221858A1 · Struik · 2012 [cited by applicant]
US 20120290830A1 · Resch et al. · 2012 [cited by applicant]
US 20120331287A1 · Bowman et al. · 2012 [cited by applicant]
US 20130046976A1 · Rosati et al. · 2013 [cited by applicant]
US 20130262856A1 · Moshfeghi · 2013 [cited by applicant]
US 20130301828A1 · Gouget et al. · 2013 [cited by applicant]
US 20130311769A1 · Hayes · 2013 [cited by applicant]
US 20140281500A1 · Ignatchenko · 2014 [cited by applicant]
US 20140365776A1 · Smets · 2014 [cited by examiner]
US 20150124961A1 · Lambert et al. · 2015 [cited by applicant]
US 20150195278A1 · Plotkin et al. · 2015 [cited by applicant]
US 20150200774A1 · Le Saint · 2015 [cited by applicant]
US 20150280923A1 · Camenisch · 2015 [cited by examiner]
US 20160269403A1 · Koutenaei et al. · 2016 [cited by applicant]
CN 1841997 · 2006 [cited by applicant]
CN 1878060 · 2006 [cited by applicant]
CN 103477585 · 2013 [cited by applicant]
CN 103621040 · 2014 [cited by applicant]
CN 104463576 · 2015 [cited by applicant]
CN 104506534A · 2015 [cited by applicant]
CN 107810617 · 2018 [cited by applicant]
CN 107852404 · 2018 [cited by applicant]
EP 1577736A2 · 2005 [cited by applicant]
EP 3318003 · 2018 [cited by applicant]
EP 3318043 · 2018 [cited by applicant]
RU 2202827 · 2003 [cited by applicant]
RU 2008101462 · 2009 [cited by applicant]
RU 2446606 · 2012 [cited by applicant]
WO WO0195545A2 · 2001 [cited by examiner]
WO 2013183940 · 2013 [cited by applicant]
WO 2016033610 · 2016 [cited by applicant]
WO 2017004466 · 2017 [cited by applicant]
WO 2017004470 · 2017 [cited by applicant]
WO WO2017004470A1 · 2017 [cited by examiner]
Garrett D, Ward M. Blinded Diffie-Hellman: Preventing Eavesdroppers from Tracking Payments. InSecurity Standardisation Research: First International Conference, SSR 2014, London, UK, Dec. 16-17, 2014. Proceedings Jan. 2… [cited by examiner]
Overbeck R. A step towards QC blind signatures. Cryptology ePrint Archive. 2009. (Year: 2009). [cited by examiner]
Shakerian et al., “An identity based public key cryptography blind signature scheme from bilinear pairings,” 2010 3rd International Conference on Computer Science and Information Technology, Chengdu, China, 2010, pp. 28… [cited by examiner]
Jeng et al., “A Blind Signature Scheme Based on Elliptic Curve Cryptosystem,” 2009 Fifth International Joint Conference on INC, IMS and IDC, Seoul, Korea (South), 2009, pp. 2044-2049, doi: 10.1109/NCM.2009.343. (Year: 2… [cited by examiner]
Zhang et al., “Efficient provable certificateless blind signature scheme,” 2010 International Conference on Networking, Sensing and Control (ICNSC), Chicago, IL, USA, 2010, pp. 292-297, doi: 10.1109/ICNSC.2010.5461528. … [cited by examiner]
U.S. Appl. No. 18/231,084 , Non-Final Office Action, Mailed On Mar. 21, 2024, 14 pages. [cited by applicant]
U.S. Appl. No. 17/080,525 , Notice of Allowance, Mailed On May 1, 2023, 6 pages. [cited by applicant]
Application No. CN202110920135.X , Office Action, Mailed On Apr. 11, 2023, with English Translation, 17 pages. [cited by applicant]
U.S. Appl. No. 17/080,525 , Non-Final Office Action, Mailed On Feb. 14, 2023, 8 pages. [cited by applicant]
Application No. EP17207282.9 , Office Action, Mailed On Jan. 24, 2023, 5 pages. [cited by applicant]
Application No. CN202110920135.X , Office Action, Mailed On Nov. 29, 2023, with English Translation, 15 pages. [cited by applicant]
U.S. Appl. No. 15/577,898 , “Corrected Notice of Allowability”, Jul. 29, 2020, 3 pages. [cited by applicant]
U.S. Appl. No. 15/577,898 , Non-Final Office Action, Mailed On Mar. 27, 2020, 35 pages. [cited by applicant]
U.S. Appl. No. 15/577,898 , Notice of Allowance, Mailed On Jun. 26, 2020, 11 pages. [cited by applicant]
U.S. Appl. No. 15/736,243 , Notice of Allowance, Mailed On Mar. 4, 2020, 18 pages. [cited by applicant]
U.S. Appl. No. 16/891,755 , “Corrected Notice of Allowability”, Feb. 16, 2022, 3 pages. [cited by applicant]
U.S. Appl. No. 16/891,755 , First Action Interview Pilot Program Pre-Interview Communication, Mailed On Nov. 10, 2021, 5 pages. [cited by applicant]
U.S. Appl. No. 16/891,755 , Notice of Allowance, Mailed On Jan. 14, 2022, 11 pages. [cited by applicant]
Application No. CN201680038929.0 , Notice of Decision to Grant, Mailed On May 27, 2021, 6 pages. [cited by applicant]
Application No. CN201680038929.0 , Office Action, Mailed On Nov. 30, 2020, 14 pages. [cited by applicant]
EP16818853.0 , “Summons to Attend Oral Proceedings”, Apr. 7, 2021, 9 pages. [cited by applicant]
Application No. EP17207282.9 , Office Action, Mailed On Apr. 30, 2021, 5 pages. [cited by applicant]
EP22156874.4 , “Extended European Search Report”, May 16, 2022, 9 pages. [cited by applicant]
Application No. CN202110920135.X , Office Action, Mailed On Nov. 22, 2022, English Translation, 9 pages. [cited by applicant]
Application No. CN202110920135.X, Office Action, Mailed On Aug. 10, 2023, 15 pages. [cited by applicant]
U.S. Appl. No. 18/231,084 , Final Office Action, Mailed On Aug. 9, 2024, 8 pages. [cited by applicant]
Application No. CN201680038929.0 , Office Action, Mailed On Apr. 20, 2020, 24 pages. [cited by applicant]
Application No. EP16818853.0 , Notice of Decision to Grant, Mailed On Feb. 24, 2022, 2 pages. [cited by applicant]
Application No. EP16818857.1 , Notice of Decision to Grant, Mailed On Aug. 20, 2020, 2 pages. [cited by applicant]
Application No. EP17207282.9 , Office Action, Mailed On Feb. 28, 2020, 4 pages. [cited by applicant]
Application No. PCT/US2016/040586 , International Preliminary Report on Patentability, Mailed On Jan. 11, 2018, 14 pages. [cited by applicant]
Application No. PCT/US2016/040590 , International Preliminary Report on Patentability, Mailed On Jan. 11, 2018, 15 pages. [cited by applicant]
AU2016287728 , “First Examination Report”, Dec. 13, 2019, 3 pages. [cited by applicant]
Application No. EP16818853.0 , Extended European Search Report, Mailed On Jan. 23, 2019, 10 pages. [cited by applicant]
Application No. EP16818857.1 , Extended European Search Report, Mailed On May 14, 2018, 9 pages. [cited by applicant]
Application No. EP17207282.9 , Extended European Search Report, Mailed On May 29, 2018, 10 pages. [cited by applicant]
Garrett et al., “Blinded Diffie-Hellman Preventing Eavesdroppers from Tracking Payments”, International Conference on Financial Cryptography and Data Security, Dec. 16, 2014, pp. 79-92. [cited by applicant]
Han et al., “Privacy-Preserving Transactions Protocol Using Mobile Agents with Mutual Authentication”, International journal of Information security and privacy 1.1, 2007, pp. 35-46. [cited by applicant]
Ndibanje et al., “Security Analysis and Improvements of Authentication and Access Control in the Internet of Things”, Sensors, vol. 14, No. 8, Aug. 2014, pp. 14786-14805. [cited by applicant]
Application No. PCT/US2016/040586 , International Search Report and Written Opinion, Mailed On Oct. 14, 2016, 15 pages. [cited by applicant]
Application No. PCT/US2016/040590 , International Search Report and Written Opinion, Mailed On Sep. 12, 2016, 18 pages. [cited by applicant]
Application No. RU2018103181 , Office Action, Mailed On Dec. 30, 2019, 19 pages. [cited by applicant]
Application No. RU2018103183 , Office Action, Mailed On Dec. 17, 2019, 21 pages. [cited by applicant]
AU2016287732, “First Examination Report,” Feb. 3, 2020, 4 pages. [cited by applicant]
Application No. EP168188530.0, Office Action, Mailed on Feb. 27, 2020, 6 pages. [cited by applicant]
U.S. Appl. No. 18/231,084 , Notice of Allowance, Mailed On Oct. 25, 2024, 6 pages. [cited by applicant]