IP Library Granted Patent US 12,217,253
Granted Patent B2
US 12,217,253 · App. 17/313,139 · Granted Feb 4, 2025

Offline bidirectional transaction and secure system

Inventors: Mohamed Zouhaier Ramadhane (Azcapotzalco, MX); Cesar Augusto Rodriguez Bravo (Alajuela, CR); Susanna Ting (Markham, CA); Juan Manuel Avalos Vega (Zapopan, MX); Daniela Ofelia Rojas Barrientos (Naucalpan de Juarez, MX)
Assignee: International Business Machines Corporation
G06Q20/385G06F21/45G06K7/1417G06K19/06037G06K19/06112G06Q20/208G06Q20/3274G06Q20/3276G06Q20/3674G06Q20/3821G06Q20/3829G06Q20/405H04L63/0823H04L63/0846H04L63/0853G06Q20/326
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,217,253
App. No.
17/313,139
Granted
Feb 4, 2025
Kind
B2
Abstract

In an approach for enabling communication between offline devices to perform secure transaction, a processor sends information in an optically recognizable first code including a response type, an identity of the first device and a type of optical reader associated with the first device. A processor receives encoded information in an optically recognizable second code. A processor extracts a user identifier and the one-time password associated with the registered second device. A processor determines that a user certificate associated with the user identifier exists in a local repository. A processor validates the one-time password associated with the registered second device with the user certificate using a public certificate associated with the first device, the one-time password associated with the registered second device and the one-time password seed. A processor authenticates the user.

Claims (76)

1. A computer-implemented method comprising:

registering, by a backend server, a user and a second device associated with the user for an offline transaction privilege of the user associated with a user identifier, by generating a public certificate of the user and sharing the public certificate with a first device;

storing a user certificate associated with the user identifier in a local repository of the first device;

receiving, by the first device, a request from the registered user associated with the registered second device;

sending, by the first device to the registered second device, information in an optically recognizable first code including an identity of the first device and a type of optical reader associated with the first device;

generating, by the second device, encoded information in an optically recognizable second code generated using information including the optically recognizable first code, a one-time password seed, and the type of optical reader associated with the first device, and further the optically recognizable second code being generated using the information including an identity of the second device, the user certificate associated with the user identifier, and a one-time password generated using a private key of the registered second device and the one-time password based on the one-time password seed;

receiving at the first device, the optically recognizable second code;

decoding the encoded information in the optically recognizable second code, the decoding including extracting, by a transaction module of the first device including one or more processors, the user identifier and the one-time password associated with the registered second device;

in response to a determination the backend server is unreachable for electronic communication by the transaction module of the first device, determining that the user certificate exists in the local repository of the first device;

validating, by the transaction module of the first device, the one-time password associated with the registered second device with the user certificate using the public certificate associated with the first device, the one-time password associated with the registered second device and the one-time password seed; and

authenticating, by the transaction module, the user.

2. The computer-implemented method of claim 1 , further comprising:

validating, by the one or more processors, an associated transaction using a set of predetermined business rules;

in response to validating the associated transaction, registering, by the one or more processors, the associated transaction;

storing, by the one or more processors, information associated with the associated transaction including updated local information associated with the user including the associated transaction and a new balance as evidence; and

in response to a determination the backend is online, sending, by the one or more processors, the associated transaction to the backend server.

3. The computer-implemented method of claim 1 , further comprising:

in response to a determination the backend is online, initiating, by the one or more processors, a process on the backend to authenticate the user and validate an associated transaction by sending information to the backend including, the one-time password seed, the user identifier, the one-time password associated with the registered second device and additional information associated with the associated transaction; and

receiving, by the one or more processors, a status of the associated transaction from the backend server.

4. The computer-implemented method of claim 1 , further comprising:

in response to a determination the backend server is not online, determining, by one or more processors, that an amount of an associated transaction does not exceed a predetermined offline limit; and

in response to a determination the amount of the associated transaction does not exceed the predetermined offline limit, determining, by one or more processors, whether the user certificate associated with the user identifier exists in the local repository.

5. The computer-implemented method of claim 1 , wherein sending information in an optically recognizable first code includes generating the information in the optically recognizable first code.

6. The computer-implemented method of claim 1 , wherein the optically recognizable first code is selected from the group consisting of: a quick response (QR) code and a bar code.

7. The computer-implemented method of claim 1 , wherein an associated transaction is a mobile wallet payment.

8. A computer program product comprising:

one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions comprising:

program instructions to register, by a backend server, a user and a second device associated with the user for an offline transaction privilege of the user associated with a user identifier, by generating a public certificate of the user and sharing the public certificate with a first device;

program instructions to store a user certificate associated with the user identifier in a local repository of the first device;

program instructions to receive, by the first device, a request from the registered user associated with the registered second device;

send, by the first device, information in an optically recognizable first code including an identity of the first device and a type of optical reader associated with the first device;

generating, by the second device, encoded information in an optically recognizable second code generated using information including the optically recognizable first code, a one-time password seed, and the type of optical reader associated with the first device, and further the optically recognizable second code being generated using the information including an identity of the second device, the user certificate associated with the user identifier, and a one-time password generated using a private key of the registered second device and the one-time password based on the one-time password seed;

program instructions to receive at the first device, the optically recognizable second code;

program instructions to, to decode the encoded information in the optically recognizable second code, the decoding including extracting, by a transaction module of the first device, the user identifier and the one-time password associated with the registered second device;

program instructions to, in response to a determination the backend server is unreachable for electronic communication by the transaction module of the first device, determine that a user certificate exists in the local repository of the first device;

program instructions to validate by the transaction module of the first device, the one-time password associated with the registered second device with the user certificate using the public certificate associated with the first device, the one-time password associated with the registered second device and the one-time password seed; and

program instructions to authenticate, using the transaction module, the user.

9. The computer program product of claim 8 , further comprising:

program instructions to validate an associated transaction using a set of predetermined business rules;

program instructions to, in response to validating the associated transaction, register the associated transaction;

program instructions to store information associated with the associated transaction including updated local information associated with the user including the associated transaction and a new balance as evidence; and

program instructions to, in response to a determination the backend is online, send the associated transaction to the backend server.

10. The computer program product of claim 8 , further comprising:

program instructions to, in response to a determination the backend is online, initiate a process on the backend to authenticate the user and validate an associated transaction by sending information to the backend including, the one-time password seed, the user identifier, the one-time password associated with the registered second device and additional information associated with the associated transaction; and

program instructions to receive a status of the associated transaction from the backend server.

11. The computer program product of claim 8 , further comprising:

program instructions to, in response to a determination the backend server is not online, determine that an amount of an associated transaction does not exceed a predetermined offline limit; and

program instructions to, in response to a determination the amount of the associated transaction does not exceed the predetermined offline limit, determine whether the user certificate associated with the user identifier exists in the local repository.

12. The computer program product of claim 8 , wherein program instructions to send information in an optically recognizable first code include program instructions to generate the information in the optically recognizable first code.

13. The computer program product of claim 8 , wherein the optically recognizable first code is selected from the group consisting of: a QR code and a bar code.

14. The computer program product of claim 8 , wherein an associated transaction is a mobile wallet payment.

15. A computer system comprising:

one or more computer processors, one or more computer readable storage media, and program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising:

program instructions to register, by a backend server, a user and a second device associated with the user for an offline transaction privilege of the user associated with a user identifier, by generating a public certificate of the user and sharing the public certificate with a first device;

program instructions to store a user certificate associated with the user identifier in a local repository of the first device;

program instructions to receive, by the first device, a request from the registered user associated with the registered second device;

send, by the first device, information in an optically recognizable first code including an identity of the first device and a type of optical reader associated with the first device;

generate, by the second device, encoded information in an optically recognizable second code generated using information including the optically recognizable first code, a one-time password seed, and the type of optical reader associated with the first device, and further the optically recognizable second code being generated using the information including an identity of the second device, the user certificate associated with the user identifier, and a one-time password generated using a private key of the registered second device and the one-time password based on the one-time password seed;

program instructions to receive at the first device, the optically recognizable second code;

program instructions to decode the encoded information in the optically recognizable second code received, the decoding including extracting, by a transaction module of the first device, the user identifier and the one-time password associated with the registered second device;

program instructions to, in response to a determination the backend server is unreachable for electronic communication by the transaction module of the first device, determine that a user certificate exists in the local repository of the first device;

program instructions to validate, by the transaction module of the first device, the one-time password associated with the registered second device with the user certificate using the public certificate associated with the first device, the one-time password associated with the registered second device and the one-time password seed; and

program instructions to authenticate, using the transaction module, the user.

16. The computer system of claim 15 , further comprising:

program instructions to validate an associated transaction using a set of predetermined business rules;

program instructions to, in response to validating the associated transaction, register the associated transaction;

program instructions to store information associated with the associated transaction including updated local information associated with the user including the associated transaction and a new balance as evidence; and

program instructions to, in response to a determination the backend is online, send the associated transaction to the backend server.

17. The computer system of claim 15 , further comprising:

program instructions to, in response to a determination the backend is online, initiate a process on the backend to authenticate the user and validate an associated transaction by sending information to the backend including, the one-time password seed, the user identifier, the one-time password associated with the registered second device and additional information associated with the associated transaction; and

program instructions to receive a status of the associated transaction from the backend server.

18. The computer system of claim 15 , further comprising:

program instructions to, in response to a determination the backend server is not online, determine that an amount of an associated transaction does not exceed a predetermined offline limit; and

program instructions to, in response to a determination the amount of the associated transaction does not exceed the predetermined offline limit, determine whether the user certificate associated with the user identifier exists in the local repository.

19. The computer system of claim 15 , wherein program instructions to send information in an optically recognizable first code include program instructions to generate the information in the optically recognizable first code.

20. The computer system of claim 15 , wherein the optically recognizable first code is selected from the group consisting of: a QR code and a bar code.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2021
From: RAMADHANE, MOHAMED ZOUHAIER; RODRIGUEZ BRAVO, CESAR AUGUSTO; TING, SUSANNA; AVALOS VEGA, JUAN MANUEL; ROJAS BARRIENTOS, DANIELA OFELIA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 056154/0939 →
Continuity (1)
Related Publication 20220358494A1 · Nov 10, 2022
References Cited (49)
US 8924712B2 · Varadarajan · 2014 [cited by applicant]
US 11321709B1 · Kolchin · 2022 [cited by examiner]
US 20120324242A1 · Kirsch · 2012 [cited by examiner]
US 20130263211A1 · Neuman · 2013 [cited by examiner]
US 20150278795A1 · Jiang · 2015 [cited by examiner]
US 20160140329A1 · Boivie · 2016 [cited by examiner]
US 20160373428A1 · Shi · 2016 [cited by applicant]
US 20170012444A1 · Kamei · 2017 [cited by applicant]
US 20170013416A1 · Daoud · 2017 [cited by applicant]
US 20170330168A1 · Park · 2017 [cited by applicant]
US 20190130386A1 · Bhat · 2019 [cited by examiner]
US 20210073359A1 · Boodaei · 2021 [cited by examiner]
US 20230273987A1 · Goodsitt · 2023 [cited by examiner]
EP 3608859A1 · 2020 [cited by examiner]
JP 2003527703A · 2003 [cited by applicant]
KR 101711378B1 · 2017 [cited by examiner]
KR 20210034405A · 2021 [cited by examiner]
WO 2017101584A1 · 2017 [cited by applicant]
Dhawan, S., “RBI to allow offline payments using cards, mobile devices—Here is how it works”, https://financialexpress.com, Feb. 5, 2021. (Year: 2021). [cited by examiner]
“Bar Code 101”, Global Trade Item Number Info, Feb. 17, 2015, 8 pages, <https://www.gtin.info/barcode-101/>. [cited by applicant]
“Cash accounts for 90% of consumer transactions in Mexico (PYMNTS 2018)”, Cashmatters, Jan. 26, 2018, 4 pages, <https://www.cashmatters.org/blog/cash-accounts-90-consumer-transactions-mexico-pymnts-2018/>. [cited by applicant]
“Cashi—More than Cash”, Cashi, Printed Feb. 23, 2020, 10 pages, <https://cashi.com.mx>. [cited by applicant]
“Google 2-Step Verification”, Google, Printed Feb. 19, 2021, 6 pages, <https://www.google.com/landing/2step/>. [cited by applicant]
“In Mexico There Are 80.6 Million Internet Users And 86.5 Million Cellular Phone Users: ENDUTIH 2019”, Federal Institute of Telecommunications, Feb. 17, 2020, 13 pages. [cited by applicant]
“Leading problems encountered by internet users while browsing in Mexico in 2018”, Statista, Apr. 8, 2020, 2 pages, <https://www.statista.com/statistics/809579/problems-internet-use-mexico/>. [cited by applicant]
“Offline payments”, Adyen Docs, Printed Feb. 5, 2021, 2 pages, <https://docs.adyen.com/point-of-sale/offline-payments>. [cited by applicant]
“One-time password”, Wikipedia, Feb. 15, 2021, 7 pages, <https://en.wikipedia.org/wiki/One-time_password>. [cited by applicant]
“Prepaid Services”, Arcus Solutions, Printed Feb. 23, 2020, 4 pages, <www.arcusfi.com/prepaid-serives/>. [cited by applicant]
“Protect your account with 2-Step Verification”, Google Account, Printed Feb. 19, 2021, 2 pages, <https://support.google.com/accounts/answer/185839). [cited by applicant]
“Speed performance and info about outage, service down or problem” Fing, Printed Feb. 22, 2021, 4 pages, <https://app.fing.com/internet/place/Mexico/Mexico%20City/Mexico%20City>. [cited by applicant]
“The Financial Inclusion Puzzle in Mexico”, IMCO, Jan. 21, 2020, 8 pages. [cited by applicant]
“Walmart Cashi: More than cash, the first app in the self-service sector that revolutionizes the form of payment in Mexico”, Walmart Mexico, Printed Feb. 23, 2021, 11 pages. [cited by applicant]
Al-Ghaili, “Efficient Implementation of 2D Barcode Verification Algorithm for IoT Applications”, 2019 IEEE 5th Intl Conference on Big Data Security on Cloud (BigDataSecurity), Proceedures of the IEEE Intl Conference on … [cited by applicant]
Chow et al., “Authentication and Transaction Verification using QR Codes with a Mobile Device”, ResearchGate, Nov. 2016, 15 pages, <https://www.researchgate.net/publication/309816698_Authentication_and_Transaction_Verif… [cited by applicant]
Dhawan Sunil, “RBI to allow offline payments using cards, mobile devices—Here is how it works”, The Financial Express, Aug. 6, 2020, 10 pages, <https://www.financialexpress.com/money/rbi-to-allow-offline-payments-using-… [cited by applicant]
Frankenfield, Jake, “Personally Identifiable Information (PII) Definition”, Investopedia, Jan. 7, 2021, 2 pages, <https://www.investopedia.com/terms/p/personally-identifiable-information-pii.asp>. [cited by applicant]
Garcia, Ana Karen, “7 Facts About Internet Users in Mexico”, The Economist, Apr. 14, 2019, 58 pages. [cited by applicant]
Hayes, Adam, “Point of Sale (POS) Definition”, Investopedia, Oct. 26, 2020, 8 pages, <https://www.investopedia.com/terms/p/point-of-sale.asp>. [cited by applicant]
Hayes, Adam, “Quick Response (QR) Code Definition”, Investopedia, Nov. 30, 2020, 8 pages, <https://www.investopedia.com/terms/q/quick-response-qr-code.asp>. [cited by applicant]
Kagan, Julia, “PayPal Definition”, Investopedia, Nov. 25, 2020, 9 pages, <https://www.investopedia.com/terms/p/paypal.asp>. [cited by applicant]
Navis et al., “The Puzzle of Financial Inclusion in Mexico: A Closable Gap?”, Center for Global Development, Jan. 14, 2020, 17 pages, <https://www.cgdev.org/publication/puzzle-financial-inclusion-mexico-closeable-gap>. [cited by applicant]
Saldana, Ivette, “EI 80% de los mexicanos pagan con efectivo, revela estudio”, EI Universal, Nov. 3, 2020, 5 pages, <https://www.eIuniversal.com.mx/cartera/el-80-de-los-mexicanos-pagan-con-efectivo-revela-estudio>. [cited by applicant]
Shamal et al., “Secure Authentication for Online Banking Using QR Code”, International Journal of Emerging Technology and Advanced Engineering, vol. 4, Issue 3, Mar. 2014, 4 pages, <http://citeseerx.ist.psu.edu/viewdoc/… [cited by applicant]
Tardi et al., “Near Field Communication (NFC) Definition”, Investopedia, Sep. 23, 2020, 9 pages, ,<https://www.investopedia.com/terms/n/near-field-communication-nfc.asp>. [cited by applicant]
Gremlin, “Cost of Downtime for Top US eCommerce Sites”, accessed on May 12, 2023, 4 pages. [cited by applicant]
imco.org, “Energy and Environment”, Public Policy Research Center, accessed on Jun. 30, 2023, 2 pages, https://imco.org.mx/eI-rompecabezas-de-la-inclusion-financiera-en-mexico/, (Translated). [cited by applicant]
Mordor Intelligence, Mobile Payments Market Size & Share Analysis—Growth Trends & Forecasts (2023-2028), Accessed on May 12, 2023, 6 pages, https://www.mordorintelligence.com/industry-reports/mobile-payment-market. [cited by applicant]
Naghavi, “State of the Industry Report on Mobile Money”, GSM Association, 2019 State of the Industry Report on Mobile Money, (2019), 72 pages. [cited by applicant]
Saldana, “80% of Mexicans pay with cash, study reveals”, EI Universal, Nov. 3, 2020, 14 pages, https://www.eIuniversal.com.mx/cartera/el-80-de-los-mexicanos-pagan-con-efectivo-revela-estudio, (Translated). [cited by applicant]