IP Library › Granted Patent US 12,141,799
Granted Patent B2
US 12,141,799 · App. 18/465,155 · Granted Nov 12, 2024

Systems, methods and apparatuses for securely storing and providing payment information

Inventors: Sergey Ignatchenko (Innsbruck, AT); Dmytro Ivanchykhin (Kiev, UA)
Assignee: Fingon LLC
G06Q20/3829G06F21/57G06F21/606G06F21/74G06Q20/351G06Q20/3823G06Q20/3825
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,141,799
App. No.
18/465,155
Granted
Nov 12, 2024
Kind
B2
Abstract

The systems, methods and apparatuses described herein provide a virtual integrated circuit card (ICC). In one aspect, a method of creating a virtual ICC may be provided. The method may comprise obtaining executable code configured to run on a user device to facilitate financial transactions, preparing a first encryption key usable by the executable code, receiving a second encryption key associated with the user device, forming a virtual ICC comprising the executable code and the first encryption key, and encrypting the virtual ICC with the second encryption key. In another aspect, a virtual ICC may be embodied on a non-transitory computer-readable medium. The virtual ICC may comprise executable code configured to run on a user device to facilitate financial transactions and a first encryption key usable by the executable code. The virtual ICC may be encrypted using a second encryption key associated with the user device.

Claims (49)

1. A computer-implemented method comprising:

receiving, by a computing device, from a first server a subtask comprising data and first executable code, wherein the data of the subtask is encrypted, and wherein the subtask represents a virtual integrated circuit card (ICC);

storing, by the computing device, the subtask representing the virtual ICC in a non-transitory machine readable memory of the computing device;

receiving, by the computing device, from a second server a task comprising second executable code;

decrypting, by the computing device, the data of the subtask representing the virtual ICC;

loading, by the computing device, a combined task comprising the first executable code of the subtask and the second executable code of the task into an instruction memory of the computing device and the decrypted data of the subtask into a data memory of the computing device, wherein executing the combined task facilitates a secure transaction; and

clearing, by the computing device, the combined task from the instruction memory after executing the combined task.

2. The method of claim 1 , the method further comprising:

receiving, by the computing device, a user selection of the subtask from one or more subtasks stored in the non-transitory machine readable memory of the computing device, wherein each of the one or more subtasks represents a virtual ICC; and

combining, by the computing device, the first executable code of the subtask and the second executable code of the task based on the user selection of the subtask from the one or more subtasks.

3. The method of claim 2 , wherein the user selection is received via an application running on the computing device.

4. The method of claim 2 , the method further comprising prompting a user to select one of the one or more subtasks stored in the non-transitory machine readable memory of the computing device responsive to receipt of the task from the second server.

5. The method of claim 1 , wherein the subtask comprises an indirect subtask.

6. The method of claim 1 , wherein the subtask representing the virtual ICC comprises a digital signature identifying a first entity associated with the first server from which the subtask was received by the computing device, and wherein the task further comprises a digital signature identifying a second entity associated with the second server from which the task was received by the computing device.

7. The method of claim 1 , wherein the data of the subtask is loaded into a portion of the data memory of the computing device accessible by the subtask and the task, wherein the method further comprises:

retrieving, by the computing device, the data of the subtask from the portion of the data memory according to the second executable code of the task.

8. The method of claim 1 , the method further comprising:

verifying, by the computing device, that maximum memory use of the subtask does not exceed maximum memory available for subtasks; and

executing, by the computing device, the first executable code of the subtask responsive to verifying that the maximum memory use of the subtask does not exceed the maximum memory available for subtasks.

9. The method of claim 1 , the method further comprising:

verifying, by the computing device, that the subtask meets one or more requirements imposed by the task; and

executing, by the computing device, the first executable code of the subtask responsive to verifying that the subtask meets the one or more requirements imposed by the task.

10. The method of claim 1 , the method further comprising:

verifying, by the computing device, that the task meets one or more requirements imposed by the subtask; and

executing, by the computing device, the first executable code of the subtask responsive to verifying that the task meets one or more requirements imposed by the subtask.

11. A computer-implemented method comprising a set of instructions that when executed by a computer processor, cause the computer processor to:

receive from a first server a subtask comprising data and first executable code, wherein the data of the subtask is encrypted, and wherein the subtask represents a virtual integrated circuit card (ICC);

store the subtask representing the virtual ICC in a non-transitory machine readable memory of the computing device;

receive from a second server a task comprising second executable code;

decrypt the data of the subtask representing the virtual ICC;

load a combined task comprising the first executable code of the subtask and the second executable code of the task into an instruction memory of the computing device and the decrypted data of the subtask into a data memory of the computing device, wherein executing the combined task facilitates a secure transaction; and

clear the combined task from the instruction memory after executing the combined task.

12. The non-transitory computer-readable medium of claim 11 , wherein the set of instructions further cause the processor to:

receive a user selection of the subtask from one or more subtasks stored in the non-transitory machine readable memory of the computing device, wherein each of the one or more subtasks represents a virtual ICC; and

combine the first executable code of the subtask and the second executable code of the task based on the user selection of the subtask from the one or more subtasks.

13. The non-transitory computer-readable medium of claim 12 , wherein the user selection is received via an application running on the computing device.

14. The non-transitory computer-readable medium of claim 12 , wherein the set of instructions further cause the processor to prompt a user to select one of the one or more subtasks stored in the non-transitory machine readable memory of the computing device responsive to receipt of the task from the second server.

15. The non-transitory computer-readable medium of claim 11 , wherein the subtask comprises an indirect subtask.

16. The non-transitory computer-readable medium of claim 11 , wherein the subtask representing the virtual ICC comprises a digital signature identifying a first entity associated with the first server from which the subtask was received by the computing device, and wherein the task further comprises a digital signature identifying a second entity associated with the second server from which the task was received by the computing device.

17. The non-transitory computer-readable medium of claim 11 , wherein the subtask representing the virtual ICC instructs the processor to load the data of the subtask into a portion of the data memory accessible by the subtask and the task, and wherein the task instructs the processor to retrieve the data of the subtask from the portion of the data memory.

18. The non-transitory computer-readable medium of claim 11 , wherein the set of instructions further cause the processor to:

verify that maximum memory use of the subtask does not exceed maximum memory available for subtasks; and

execute the first executable code of the subtask responsive to verifying that the maximum memory use of the subtask does not exceed the maximum memory available for subtasks.

19. The non-transitory computer-readable medium of claim 11 , wherein the set of instructions further cause the processor to:

verify that the subtask meets one or more requirements imposed by the task; and

execute the first executable code of the subtask responsive to verifying that the subtask meets the one or more requirements imposed by the task.

20. The non-transitory computer-readable medium of claim 11 , wherein the set of instructions further cause the processor to:

verify that the task meets one or more requirements imposed by the subtask; and

execute the first executable code of the subtask responsive to verifying that the task meets one or more requirements imposed by the subtask.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2024
From: OLOGN TECHNOLOGIES AG
To: FINGON LLC
Reel/Frame 067333/0104 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2023
From: IGNATCHENKO, SERGEY; IVANCHYKHIN, DMYTRO
To: OLOGN TECHNOLOGIES AG
Reel/Frame 064920/0119 →
Continuity (4)
Continuation 17525466 · Nov 12, 2021
Continuation 14213912 · Mar 14, 2014
Provisional Application 61789618 · Mar 15, 2013
Related Publication 20240078542A1 · Mar 7, 2024