Point of sale system
US-11080674-B1 · Aug 3, 2021 · US
US11763301B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11763301-B2 |
| Application number | US-202117525466-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 12, 2021 |
| Priority date | Mar 15, 2013 |
| Publication date | Sep 19, 2023 |
| Grant date | Sep 19, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method comprising: receiving, by a computing device, from a first server a subtask representing a virtual integrated circuit card (ICC) and comprising data and first executable code, wherein the first executable code is configured to facilitate secure transactions; 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 that instructs a processor of the computing device to execute the first executable code of the subtask; verifying, by the computing device, that maximum memory use of the subtask does not exceed maximum memory available for subtasks; verifying, by the computing device, that the subtask meets one or more requirements imposed by the task; 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 maximum memory use of the subtask does not exceed the maximum memory available for subtasks, that the subtask meets the one or more requirements imposed by the task, and that the task meets one or more requirements imposed by the subtask. 2. The method of claim 1 , wherein verifying that the maximum memory use of the subtask does not exceed the maximum memory available for subtasks comprises comparing a maximum memory use field of the subtask with a field of the task indicating a maximum amount of memory available for subtasks, wherein the maximum memory use field of the subtask indicates a maximum amount of memory the subtask needs to run. 3. The method of claim 2 , wherein the field of the task indicating a maximum amount of memory available for subtasks indicates a maximum amount of memory available for subtasks, executable code of subtasks, and/or data of subtasks. 4. The method of claim 1 , wherein verifying that the subtask meets one or more requirements imposed by the task comprises determining that a digital certificate of the subtask identifies the subtask as produced by a legitimate ICC developer. 5. The method of claim 1 , wherein verifying that the task meets one or more requirements imposed by the subtask comprises determining that a digital certificate of the task identifies the task as associated with a bank or other financial institution. 6. The method of claim 1 , wherein the task comprises one or more fields identifying one or more restrictions on a type of subtask called by the task, and wherein verifying that the subtask meets one or more requirements imposed by the task comprises determining that the subtask meets the one or more restrictions on the type of subtask called by the task. 7. The method of claim 1 , wherein verifying that the task meets one or more requirements imposed by the subtask comprises: determining, by the computing device, that the subtask was launched by another subtask; and comparing, by the computing device, a digital certificate of the other subtask that launched the subtask with one or more requirements imposed by the task. 8. The method of claim 1 , wherein the subtask representing the virtual ICC further 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. 9. The method of claim 1 , wherein the data of the subtask is encrypted, the method further comprising: decrypting, by the computing device, the data of the subtask representing the virtual ICC; loading, by the computing device, 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; and clearing, by the computing device, the second executable code of the task from the instruction memory. 10. The method of claim 1 , the method further comprising: loading, by the computing device, the data of the subtask into a portion of a data memory of the computing device according to the first executable code of the subtask, wherein the portion of the data memory is accessible by the subtask and the task; and 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. 11. A non-transitory computer-readable medium comprising a set of instructions that when executed by a computer processor, cause the computer processor to: receive from a first server a subtask representing a virtual integrated circuit card (ICC), wherein the subtask representing the virtual ICC comprises data and first executable code configured to facilitate secure transactions; 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 that instructs the processor to execute the first executable code of the subtask; verify that maximum memory use of the subtask does not exceed maximum memory available for subtasks; verify that the subtask meets one or more requirements imposed by the task; 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 maximum memory use of the subtask does not exceed the maximum memory available for subtasks, that the subtask meets the one or more requirements imposed by the task, and that the task meets one or more requirements imposed by the subtask. 12. The non-transitory computer-readable medium of claim 11 , wherein to verify that the maximum memory use of the subtask does not exceed the maximum memory available for subtasks, the set of instructions cause the processor to compare a maximum memory use field of the subtask with a field of the task indicating a maximum amount of memory available for subtasks, wherein the maximum memory use field of the subtask indicates a maximum amount of memory the subtask needs to run. 13. The non-transitory computer-readable medium of claim 12 , wherein the field of the task indicating a maximum amount of memory available for subtasks indicates a maximum amount of memory available for subtasks, executable code of subtasks, and/or data of subtasks. 14. The non-transitory computer-readable medium of claim 11 , wherein to verify that the subtask meets one or more requirements imposed by the task, the set of instructions cause the processor to determine that a digital certificate of the subtask identifies the subtask as produced by a legitimate ICC developer. 15. The non-transitory computer-readable medium of claim 11 , wherein to verify that the task meets one or more requirements imposed by the subtask, the set of instructions cause the processor to determine that a digital certificate of the task identifies the task as associated with a bank or other financial institution. 16. The non-transitory computer-readable medium of claim 11 , wherein the task comprises one or more fields identifying one or more restrictions on a type of subtask called by the task, wherein to verify that the subtask meets one or more requirements imposed by the task, the set of instructions cause the processor to determine that the subtask meets the one or more restrictions on the type of subtask
involving key management · CPC title
Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities · CPC title
by securing the transmission between two devices or processes · CPC title
operating in dual or compartmented mode, i.e. at least one secure mode · CPC title
Virtual cards · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.