Vaultless Tokenization

JP2025529261A5Pending Publication Date: 2026-09-08CAPITAL ONE SERVICES LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025513309
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-01
Filing Date
2023-09-01
Publication Date
2026-09-08

AI Technical Summary

Technical Problem

Traditional vault-based tokenization systems face scalability issues due to increased user data volumes and are vulnerable to cyber-attacks, with encryption methods like FPE being susceptible to brute force and illicit activities, leading to compromised sensitive user data.

Method used

A vaultless tokenization method using randomly generated alphanumeric tables and cryptographic algorithms generates secure alphanumeric tokens that cannot be reverse-engineered, eliminating the need for storage and reducing HSM dependency, ensuring scalability and security.

Benefits of technology

The method provides secure, scalable tokenization that prevents reverse engineering and minimizes performance bottlenecks, supporting high user data volumes and transaction throughput without relying on traditional vaults or HSMs for storage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Disclosed herein are system, method, and computer program product embodiments for vaultless tokenization. An alphanumeric value may be determined based on a numeric value generated from a hash of numeric user information shuffled through multiple randomly generated alphanumeric tables. The numeric user information and the alphanumeric value may be used to generate a table index. The shuffled numeric user information may be generated based on the table index and the multiple randomly generated numeric tables and converted to alphanumeric user information (e.g., via format-preserving encryption, additive encryption, etc.). Each character of the alphanumeric user information may be shuffled through a different alphanumeric table of the multiple alphanumeric tables identified for the character based on the table index. Further, an alphanumeric token may be generated based on the shuffled characters of the alphanumeric user information.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] (background) Many services and platforms, such as Banking as a Service (BaaS) platforms, Software as a Service (SaaS) platforms, Financial Technology (FinTech) platforms, Infrastructure as a Service (IaaS) platforms, and Platform as a Service (PaaS) platforms, that support a wide variety of users and / or client devices, use tokenization as a means to secure sensitive user information. Traditional tokenization schemes used by such services and platforms utilize vault-based security techniques in which sensitive user information is secured by mapping tokens to encrypted plaintext values ​​representing the user information and storing the mapping in a database. As the number of users supported by such services and platforms increases, the databases used for traditional vault-based security become unable to support the increased volume of user data and high throughput requirements. Additionally, tokenization vaults are routinely subject to cyber-attacks and other fraudulent activity that compromise sensitive user data. Encryption used to secure sensitive information stored in a vault (e.g., format-preserving encryption (FPE), etc.) can be reverse-engineered and / or cracked as a result of brute force and other illicit activity. Similarly, FPE-based vaultless tokenization schemes (e.g., FF2, FF3, etc.) can be reverse-engineered and / or cracked as a result of brute force and other illicit activity. Summary of the Invention [Means for solving the problem]

[0002] The computing device may determine the alphanumeric value based on a numeric value generated from a hash of the numeric user information shuffled through a plurality of randomly generated alphanumeric tables. A table index may be generated based at least in part on the numeric user information and the alphanumeric value. The shuffled numeric user information may be generated based on the table index and the plurality of randomly generated numeric tables. The shuffled numeric user information may be converted to alphanumeric user information based on, for example, format-preserving encryption applied to the shuffled numeric user information, additional encryption information applied to the shuffled numeric user information, and / or the like. Each character of the alphanumeric user information may be shuffled through a different alphanumeric table of the plurality of alphanumeric tables identified for the character based on the table index. Further, an alphanumeric token may be generated based on the shuffled characters of the alphanumeric user information.

[0003] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate the present disclosure and, together with the description, serve to further explain the principles of the disclosure and to enable those skilled in the art to make and use the disclosure. [Brief explanation of the drawings]

[0004] [Figure 1] FIG. 1 is a block diagram of an example system for vaultless tokenization according to an aspect of the present disclosure.

[0005] [Figure 2] FIG. 2 illustrates an exemplary method for vaultless tokenization according to an aspect of the present disclosure.

[0006] [Figure 3] FIG. 3 is an exemplary computer system useful for implementing various aspects disclosed herein. DETAILED DESCRIPTION OF THE INVENTION

[0007] In the drawings, like reference numbers generally indicate the same or similar elements. Additionally, the leftmost digit(s) of a reference number generally identifies the drawing in which the reference number first appears.

[0008] (Detailed Description of the Invention) Systems and / or platforms, such as Banking as a Service (BaaS) platforms, Software as a Service (SaaS) platforms, Financial Technology (FinTech) platforms, Infrastructure as a Service (IaaS) platforms, Platform as a Service (PaaS) platforms, and / or the like, include, implement, and / or support vaultless tokenization to secure sensitive data / information. Secure alphanumeric tokens that cannot be reverse-engineered by brute force may be generated and used to secure user information. Tokens output in accordance with the system, apparatus, device, method, computer program product embodiments for vaultless tokenization described herein, and / or combinations and sub-combinations thereof, consist of completely random values ​​(and / or letters, numbers, symbols, etc.) without any correlation to the sensitive data to be tokenized. For example, the random values ​​of tokens resulting from the system, apparatus, device, method, computer program product embodiments for vaultless tokenization described herein, and / or combinations and sub-combinations thereof, may consist of multiple (e.g., 2 62 The input value is determined from the input value being randomly shuffled through randomly generated tables (e.g., alphanumeric table, alphabet table, symbol table, number table, etc.).

[0009] According to some aspects, the secure alphanumeric token may be algorithmically generated such that, upon detokenization requested, the secure alphanumeric token may be used to determine original user information without utilizing a tokenization vault to look up and / or identify sensitive information. According to some aspects, system, method, and computer program product embodiments for vaultless tokenization may generate the secure alphanumeric token using multiple shuffle and lookup rounds (e.g., via secure table indexing) through multiple randomly generated tables (e.g., 10 million or more pre-generated tables, etc.) that are encrypted and securely stored via a hardware service module (HSM) and / or equivalent. This method of shuffling and lookup results in unique tokens that cannot be reverse engineered. According to some aspects, the user information shuffled through the multiple randomly generated tables may be further secured through mathematical operations (e.g., XOR, division, modulo operations, etc.), string manipulation (e.g., inversion, division, rotation, etc.), and / or application of cryptographic algorithms. According to some aspects, the encryption algorithm may include, but is not limited to, length-preserving encryption (e.g., HCTR2, block cipher, etc.), format-preserving encryption (e.g., FF1, etc.), homomorphic encryption (e.g., BFV, CKKS, FHEW, etc.), and / or the like, using a user-specific derived key. According to some aspects, the user information may be shuffled before encryption and reshuffled after encryption to generate alphanumeric tokens. According to some aspects, metadata associated with the user information, including, but not limited to, metadata describing character length, version number, field type, cyclic redundancy check (CRC) information, and / or the like, may also be shuffled through multiple randomly generated tables and used to modify the alphanumeric tokens for additional randomness, security, and / or character set frequency distribution.

[0010] Thus, the system, apparatus, device, method, computer program product embodiments, and / or combinations and sub-combinations thereof for vaultless tokenization described herein overcome challenges associated with conventional vault-based tokenization systems in which sensitive user information is secured by mapping tokens to encrypted plaintext values ​​representing the user information and storing the mapping in a database. The system, apparatus, device, method, computer program product embodiments, and / or combinations and sub-combinations thereof for vaultless tokenization support scalability such that as the number of users supported by vaultless tokenization as described herein increases, storage media (e.g., vaults) traditionally used to store sensitive information and / or keys / values ​​mapping to such sensitive information are not required. The system, apparatus, device, method, computer program product embodiments for vaultless tokenization, and / or combinations and sub-combinations thereof described herein output tokens (e.g., secure alphanumeric tokens, etc.) that cannot be reverse engineered and / or cracked through brute force and other fraudulent activity.

[0011] The system, apparatus, device, method, computer program product embodiments, and / or combinations and sub-combinations thereof for vaultless tokenization described herein support a sustained increase in user data and / or tokenization requests without the data management and / or storage constraints associated with conventional tokenization systems. With conventional tokenization systems, each tokenization request and / or transaction through the tokenization system must utilize some functionality provided by the HSM to secure sensitive data / information and is therefore limited to the performance capacity of the HSM. Because a vault / HSM is not used to store and / or generate tokens, and tokens are generated on-demand based on requests for tokenization, the system, apparatus, device, method, computer program product embodiments, and / or combinations and sub-combinations thereof for vaultless tokenization described herein minimize the involvement of the HSM. For example, the involvement of the HSM during runtime (e.g., any time / period during which an application, program, and / or the like is running / launching) when processing tokenization requests is minimized, thus mitigating any performance bottlenecks caused by the HSM and / or the like. These and other advantages are described herein.

[0012] 1 is a block diagram of an example system 100 for vaultless tokenization according to some aspects of the present disclosure. According to some aspects of the present disclosure, system 100 may include and / or be a component of a business platform, a Banking as a Service (BaaS) platform, a Software as a Service (SaaS) platform, a Financial Technology (FinTech) platform, an Infrastructure as a Service (IaaS) platform, a Platform as a Service (PaaS) platform, and / or the like.

[0013] According to some aspects, system 100 may include user devices 102 (e.g., mobile devices, smart devices, client devices, computers, Internet of Things (IoT) devices, content access / receive devices, etc.), computing devices 110 (e.g., servers, cloud-computing devices, token management devices, etc.), and computing systems 118 (e.g., cloud-based computing systems, service systems, token management systems, etc.), which communicate over a network 108. The devices and / or components of system 100 may be connected and / or communicate via wired connections, wireless connections, combinations thereof, and / or the like. According to some aspects, computing devices 110 may reside, in whole or in part, on computing system 118.

[0014] According to some aspects, the network 108 may include a packet-switched network (e.g., an Internet Protocol-based network), a non-packet-switched network (e.g., a quadrature amplitude modulation-based network), and / or the like. The network 108 may include network adapters, switches, routers, modems, and the like connected through wireless links (e.g., radio frequency, satellite) and / or physical links (e.g., fiber optic cable, coaxial cable, Ethernet cable, or a combination thereof). The network 108 may include a public network, a private network, a wide area network (e.g., the Internet), a local area network, and / or the like. The network 108 may include a content access network, a content distribution network, and / or the like. The network 108 may provide and / or support communications from telephones, cellular, modems, and / or other electronic devices to and throughout the system 100.

[0015] According to some aspects, the user device 102 may include an interface module 104. According to some aspects, the interface module 104 enables a user to interact with the user device 102, the network 108, the computing device 110, the computing system 118, and / or any other devices / components of the system 100. The interface module 104 may include any interface for presenting and / or receiving information to / from the user. According to some aspects, the interface module 104 may include a web browser, a user interface, and / or the like.

[0016] According to some aspects, interface module 104 may include one or more input devices and / or components, such as, for example, a keyboard, a pointing device (e.g., a computer mouse, a remote control), a microphone, a joystick, a tactile input device (e.g., a touch screen, a glove, etc.), and / or the like. According to some aspects, interaction with the input devices and / or components may enable a user to view, access, request, and / or navigate data / information.

[0017] According to some aspects, the user device 102 may include and / or be configured with an application 106. The application 106 may include one or more application programming interfaces (APIs) that enable the user device 102 to access, view, communicate with, and / or the like, devices / components of the system 100. For example, according to some aspects, the application 106 may support, facilitate, and / or be used as part of an online transaction, where a secure token (e.g., a secure alphanumeric token, etc.) may be generated to ensure the security of the online transaction. For example, the online transaction may include the exchange of sensitive information (e.g., a virtual card number generated in place of the actual card number of a physical credit card, digital wallet information, user identification information, transaction-related information, and / or the like).

[0018] According to some aspects, computing system 118 may be a cloud-based computing system and / or the like. Computing system 118 may support various applications, devices, and / or services, including, but not limited to, Banking as a Service (BaaS), Software as a Service (SaaS), Financial Technology (FinTech) services, Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and / or the like. Computing system 118 may include and / or be supported by backend platform 120.

[0019] According to some aspects, backend platform 120 may include a server or a group of servers. According to some aspects, backend platform 120 may be hosted within computing system 118. It may be appreciated that backend platform 120 may not be cloud-based or may be partially cloud-based. Computing device 110 may include one or more devices and / or components configured to interface with backend platform 120.

[0020] According to some aspects, computing system 118 may include an environment that delivers computing as a service, whereby shared resources, services, etc. may be provided to backend platform 120. Computing system 118 may provide computation, software, data access, storage, and / or other services that do not require end-user knowledge of the physical location and configuration of the systems and / or devices that deliver the services. According to some aspects, computing system 118 may include computer resources 124a-d.

[0021] According to some aspects, each computing resource 124a-d may include one or more personal computers, workstations, computers, server devices, or other types of computing and / or communication devices. The computing resources 124a-d may host the backend platform 120. Cloud resources may include computational instances running within the computing resources 124a-d. The computing resources 124a-d may communicate with the other computing resources 124a-d via wired connections, wireless connections, or a combination of wired and wireless connections.

[0022] The computing resources 124a-d may include a group of cloud resources such as one or more applications (“APP”) 124-1, one or more virtual machines (“VM”) 124-2, virtualized storage (“VS”) 124-3, and one or more hypervisors (“HYP”) 124-4.

[0023] Application 124-1 may include one or more software applications (e.g., instances of application 106, etc.) that may be provided to or accessed by computing device 110 and / or user device 102. Alternatively, application 124-1 may eliminate the need to install and run a software application on user device 102. Application 124-1 may include software associated with backend platform 120 and / or any other software configured to be provided across system 100. Application 124-1 may send / receive information to / from one or more other applications 124-1 via virtual machine 124-2.

[0024] The virtual machine 124-2 may include a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. The virtual machine 124-2 may be either a system virtual machine or a process virtual machine, depending on its intended use and the degree to which the virtual machine 124-2 corresponds to any real machine. A system virtual machine may provide a complete system platform that supports the execution of a complete operating system (OS). A process virtual machine may execute a single program or support a single process. The virtual machine 124-2 may run on behalf of a user and / or on behalf of one or more other backend platforms 225 and may manage the infrastructure of the computing system 118, such as data management, synchronization, or long-duration data transfer.

[0025] Virtualized storage 124-3 may include one or more storage systems and / or one or more devices that use virtualization techniques within the storage systems or devices of computing resources 124a-d. With respect to storage systems, types of virtualization may include block virtualization and file virtualization. Block virtualization may refer to the abstraction (or separation) of logical storage from physical storage so that the storage system may be accessed regardless of the physical storage device or heterogeneous structure. The separation may give storage system administrators flexibility in how they manage storage for end users. File virtualization may eliminate the dependency between data accessed at the file level and where the file is physically stored. This may enable optimization of storage usage, server consolidation, and / or performance of non-disruptive file migration.

[0026] The hypervisor 124-4 may provide hardware virtualization techniques that allow multiple operating systems (e.g., "guest operating systems") to run concurrently on a host computer, such as computing resources 124a-d. The hypervisor 124-4 may present a virtual operating platform to the guest operating systems, manage the execution of the guest operating systems in multiple instances of different operating systems, and share virtualized hardware resources.

[0027] According to some aspects, computing device 110 may support and / or facilitate secure exchange of sensitive data / information between devices and / or components of system 100. According to some aspects, computing device 110 may support and / or facilitate secure exchange of sensitive data / information between devices and / or components of system 100 by generating and processing tokens associated with sensitive information.

[0028] According to some aspects, the computing device 110 may include a tokenization module 112. According to some aspects, the tokenization module 112 may provide, support, and / or facilitate vaultless tokenization services (e.g., tokenization and detokenization of data, etc.) and securely communicate sensitive information to the computing system 118 and / or the like. Tokenization involves substituting sensitive information, such as a social security number, account number, and / or the like, with a cryptographically generated substitution value or token. According to some aspects, a request for tokenization may be included with a request from a device and / or application attempting to secure sensitive information, access a secure resource, and / or the like. According to some aspects, the tokenization request may include a user object, such as user data / information (e.g., sensitive data), to be tokenized. According to some aspects, the user data / information may include a username / password associated with a user account, a social security number, financial information, bank account information, authentication information to be used to verify the user's identity, and / or the like. According to some aspects, a token may enable access to a resource for, for example, a defined amount of time (eg, for the duration of a communication session).

[0029] According to some aspects, the tokenization module 112 may authenticate and / or authorize any tokenization requests received from the user device 102 and / or computing system 118 (e.g., received via a web service, a RESTful service, a Secure Hypertext Transfer Protocol (HTTPS) Uniform Resource Locator (URL) via the Transport Layer Security (TLS) protocol, etc.).

[0030] According to some aspects, computing device 110 may generate a secure token in response to a tokenization request, which may be used, for example, to access electronically restricted resources (e.g., computing resources 124a-d, etc.) and / or to access / enable resources, functions, and actions within specific applications and / or domains of system 100. For example, according to some aspects, each computing resource 124a-d may be associated with a different domain of a multi-domain application. For example, computing resource 124a may be associated with an electronic banking domain, computing resource 124b may be associated with a digital wallet and / or card management domain, computing resource 124c may be associated with a financial technology-related domain, computing resource 124d may be associated with a social networking domain, and / or the like. According to some aspects, each domain (e.g., computing resources 124a-d, etc.) may be associated with a single sign-on (SSO) and / or single log-out (SLO) application / platform, and different secure tokens may be used to access the different domains. For example, the tokenization module 112 may generate a token defined for a domain and / or security / token level. The indicated domain for the token may be the domain of a multi-domain application and / or the like to which the secure token is used to enable access. The security / token level may be an indication of resources, functions, and actions available to the user device 102 within the domain, for computing resources, and / or at the backend platform component for which the secure token is provisioned.

[0031] According to some aspects, computing device 110 may include a storage module 114. Storage module 114 may include physical storage, virtual storage, local storage, and / or remote storage media. According to some aspects, storage module 114 may store user objects associated with a user (e.g., a user of user device 102), such as sensitive data (e.g., credit card numbers, account numbers, personal information). According to some aspects, storage module 114 may store user objects in hashed form, encrypted form, and / or encrypted and hashed form.

[0032] According to some aspects, the storage module 114 may store data / information used for vaultless tokenization. According to some aspects, the storage module 114 may store data / information used to generate secure tokens, including, but not limited to, multiple randomly generated tables (e.g., alphabetic tables, numeric tables, alphanumeric tables, etc.). According to some aspects, the storage module 114 may store key / value pairs and / or associated information (e.g., various data structures, hashes, access control lists, data sets, token definitions, etc.).

[0033] According to some aspects, computing device 110 may include and / or communicate with a hardware security module (HSM) 116. According to some aspects, HSM 114 may generate, store, and / or provide encryption keys (and / or secrets, hash keys, etc.) to computing device 110. According to some aspects, HSM 114 may store any additional data / information (e.g., starting variables, token parameters, secret keys, etc.) used by tokenization module 112 for vaultless tokenization. For example, HSM 116 may generate, store, and / or provide indications of unique keys, hashing algorithms, salt values, iteration counts, token layouts, token types (e.g., alphanumeric, numeric, alphabetic, strings, etc.), substitution values, padding values, token ranges, formats, and / or the like. According to some aspects, computing device 110 may communicate with HSM 116 as a dedicated module and / or partition for vaultless tokenization and / or encryption services. According to some aspects, the computing device 110 may communicate with the HSM 116 to access, read, and / or receive encryption keys and / or any other data / information needed for tokenization and / or encryption at runtime.

[0034] According to some aspects, computing device 110 (e.g., tokenization module 112) may begin the vaultless tokenization process by generating multiple random tables (e.g., 10 million or more alphanumeric tables, alphabet tables, numeric tables, symbol tables, etc.). According to some aspects, the increased amount of multiple random tables used for vaultless tokenization as described herein increases the randomness of the output tokens such that a fraudster attempting to decipher and / or reverse engineer the generated tokens will be unable to determine the characters, values, symbols, numbers, and / or the like of the tokens that represent the original data / information.

[0035] According to some aspects, the computing device 110 may generate various types of tables, such as a numeric table with values ​​ranging from 0-9, an alphabetic table including both lowercase and uppercase alphabetic characters, an alphanumeric table combining numeric values ​​with both lowercase and uppercase alphabetic characters, and / or a table including other characters, such as special / non-ASCII characters. According to some aspects, the multiple randomly generated tables may be stored. For example, the multiple randomly generated tables may be serialized into an encrypted file stored by the storage module 114. For example, a file containing the serialized multiple randomly generated tables may be encrypted using a file encryption key, which may be decrypted using a key-encryption-key (KEK) and / or equivalent from the HSM 116.

[0036] According to some aspects, the multiple randomly generated tables may be subsequently used to map and shuffle portions (e.g., letters, numbers, symbols, etc.) of information (e.g., sensitive information / data, numeric user information, etc.). For example, each table of the multiple randomly generated tables may include a specific number of characters for mapping information (e.g., sensitive information / data, numeric user information, etc.) based on how the information is portioned and / or segmented. According to some aspects, additional metadata (e.g., metadata indicating and / or describing user data / information length, version number, field type, CRC, etc.) may be shuffled through the multiple randomly generated tables and used to further secure any generated tokens via data padding, appending, prepending, token modification, and / or the like. For example, the shuffled additional metadata may be added to portions of the generated tokens. A fraudster attempting to decipher and / or reverse engineer a token generated as described herein would be unable to determine the characters, values, symbols, numbers, and / or equivalents of the token that represent the original data / information and the characters, values, symbols, numbers, and / or equivalents that have been added to the encrypted form of the original data / information via data padding, appending, prepending, token modification, and / or the like.

[0037] According to some aspects, the tokenization module 112 may generate encryption keys that can be used when generating random tables and / or facilitating related processes. According to some aspects, encryption keys may be generated for each user device (e.g., user device 102, etc.) of the system 100, for example, during a user / client onboarding process and / or the like. For example, the system 100 may include any number of user devices, and each user device (e.g., user device 102, etc.) may be associated with an identifier (e.g., a customer identifier, a user identifier, a device identifier, etc.). Based on the user device identifier, the tokenization module 112 may generate a data encryption key, a hash function key (e.g., an HMAC / hash key, etc.) for generating a CRC, and an initialization vector (IV) (e.g., an initial variable (SV), etc.) and encrypt them using the KEK. According to some aspects, the tokenization module 112 may use any encryption technique.

[0038] According to some aspects, computing device 110 may generate any type of table to be used for vaultless tokenization as described herein. According to some aspects, computing device 110 may generate tables with 10 million or more rows, each row containing a cryptographically randomly shuffled set of characters within pairs to enable vaultless tokenization and / or detokenization. According to some aspects, computing device 110 may utilize a large set of randomly generated tables for increased randomness in token generation and therefore to prevent reverse engineering attempts.

[0039] According to some aspects, the computing device 110 may generate a table index from one or more pre-configured secrets (e.g., secret information, passwords, certificates, private keys, etc.), input value characters (numbers, letters, symbols, etc.), and a matching operation (e.g., HMAC, etc.). The table index may be used to identify an initial table of the multiple tables and to use when shuffling different input value characters through different tables of the multiple tables to generate tokens. According to some aspects, the computing device 110 may also generate an increment value from one or more pre-configured secrets, input value characters (numbers, letters, symbols, etc.), and a matching operation (e.g., HMAC, etc.). The increment value may determine a next table to select after the initial table and may be used to shuffle the next value of input value characters after the initial table of the multiple tables has been used to shuffle the initial value of the input value. According to some aspects, the increment value may be used to determine a table index for each character in the input value, which results in a different table being selected for each character. According to some aspects, to increase the randomness of the generated token values, the input value characters may be shuffled according to a randomly determined number of rounds (an indication of which may be stored within HSM 116) and used to generate a different table index to be used for the determined next input value character after each input value character shuffle round. According to some aspects, computing device 110 may shuffle the input value characters using any shuffling scheme in accordance with the system, apparatus, device, method, computer program product embodiments for vaultless tokenization described herein, and / or combinations and subcombinations thereof.

[0040] According to some aspects, in a scenario in which a fraudster gains access to the encrypted random tables generated by the computing device 110, the fraudster would still be unable to reverse-engineer any tokens generated in accordance with the system, apparatus, device, method, computer program product embodiments for vaultless tokenization described herein, and / or combinations and sub-combinations thereof. For example, the fraudster would lack the necessary encryption keys, hashing keys, and other secret values ​​stored by the HSM 116. Additionally, the fraudster would not know the logic to derive any runtime values ​​from the necessary encryption keys, hashing keys, and other secret values ​​stored by the HSM 116 and replicate the exact algorithms / shuffles of the multiple random tables used by the computing device 110.

[0041] According to some aspects, the computing device 110 may generate tokens based on a vaultless tokenization process. According to some aspects, the process for token generation described below may be used to generate secure tokens that cannot be reverse engineered, for example, via brute force and / or the like. According to some aspects, the process for token generation is provided as an example. System, apparatus, device, method, and / or computer program product embodiments for vaultless tokenization, and / or combinations and subcombinations thereof, are not limited to this process of token generation, and other steps may also be used in accordance with aspects described herein. (Token generation) Steps: 1. Validate input data / information (e.g., numeric user information, etc.) via a checksum formula to distinguish valid digits, letters, symbols, etc. from mistyped / incorrect digits, letters, symbols, etc. for example, Input value = 0123456789 2. Calculate the numeric value and the alphanumeric checksum. The alphanumeric checksum is shuffled through a randomly generated table. for example, a. Calculate CRC7 of the input value length and output the numeric checksum = 19 b. Convert the numeric checksum to base62 = J c. Using a randomly generated alphanumeric table, shuffle the converted numeric checksum and output the alphanumeric checksum = 4 3. Table index (table lookup index) is generated from a numeric checksum. For increased security, the table index is optionally generated from one or more pre-configured secrets, characters (numbers, letters, symbols, etc.) from the input value, and / or a matching operation. 4. Shuffle data / information using randomly generated tables (e.g., shuffle characters of numeric user information through a randomly generated number table, etc.). Shuffle each number, letter, symbol, etc. of input data / information from a different table. Use a table index to identify the table to be used. for example, Shuffled input value = 6516589042 5. At runtime (e.g., upon application / system startup, requesting and / or requiring use of the token, etc.), one or more operations (e.g., format-preserving Feistel-based encryption mode (FF1), XOR, inversion, division, shuffled index, etc.) are performed to modify the value of the input data / information. According to some aspects, one or more operations are selectively performed at runtime to modify the value of the input data / information based on, for example, pre-configuration, system settings, and / or preferences (e.g., security preferences of the tokenizing entity and / or service, etc.). According to some aspects, one or more operations are randomly performed at runtime to modify the value of the input data / information. One or more operations are performed at runtime in different orders over multiple rounds. for example, One or more operations (e.g., format-preserving Feistel-based encryption mode (FF1), XOR, inversion, division, shuffled index, etc.) applied to the input value = 2691294559 6. Transform the modified value of the input data / information, for example converting any numeric value to alphanumeric (e.g. according to base52, base62, base64, etc.). for example, Format Preserving Encryption (FPE) value u128 converted to base62 = 2w8Oel 7. Generate token values ​​by shuffling the transformed input data / information values ​​through a random table (e.g., alphanumeric table, etc.) over multiple rounds. Shuffle each number, letter, symbol, etc. of the transformed input data / information from a different table. Use a table index to identify the table to use. for example, Shuffle the values ​​from step 6 (e.g., 2w8Oel) using a randomly generated alphanumeric table = oXZslN 8. Print the token value. for example, Alphanumeric token = oXZslN

[0042] According to some aspects, the computing device 110 may modify any tokens generated as described herein (e.g., tokens output from a token generation process, etc.) for additional security based on a vaultless tokenization algorithm. According to some aspects, the process for token modification described below may be used to modify any tokens generated as described herein for additional security. Tokens modified according to the process for token modification cannot be reverse engineered, for example, via brute force and / or the like. According to some aspects, the process for token modification is provided as an example. System, apparatus, device, method, and / or computer program product embodiments for vaultless tokenization, and / or combinations and subcombinations thereof, are not limited to the process for token modification, as other steps may also be used in accordance with aspects described herein. (Token correction) Steps: 1. Determine if the length of the input data / information should be included in the generated token (e.g., output of the token generation process). (If applicable, shuffle the length through a randomly generated table. Use the table index from the token generation process to identify the table to use.) for example, a. Calculate the length of the input value (0123456789) = 10 b. Convert to alphabetic characters using lookup according to index table = k c. Shuffle length (10) using a randomly generated alphabet table = o 2. Modify the token (e.g., oXZslN) to include the value determined from step 1. for example, Modified alphanumeric token = ooXZslN 3. For added security, further modify the token (e.g., oXZslN) length to match the length of the input value. For example, if the token length is shorter than the expected output length, generate a random number checksum in base62 (e.g., J). From the table index, derive where the random number should be inserted in the token. Optionally, from the table index, derive where a checksum character prefix should be inserted in the token. for example, Alphanumeric token modified with a prefixed random digit checksum = JooXZslN4

[0043] According to some aspects, the computing device 110 (tokenization module 112) may detokenize the tokenized user data / information and determine, identify, and / or access the original user data / information. According to some aspects, the tokenization module 112 may detokenize any generated tokens using multiple randomly generated tables (and, in some instances, encryption keys from the HSM 116) in the reverse of the token generation and modification process.

[0044] FIG. 2 illustrates an exemplary computer-implemented method 200 for vaultless tokenization in accordance with some aspects of the present disclosure. Method 200 can be performed by processing logic, which may comprise hardware (e.g., circuitry, dedicated logic, programmable logic, microcode, etc.), software (e.g., instructions executing on a processing device), or a combination thereof. It should be understood that not all steps may be required to practice the present disclosure provided herein. Furthermore, some of the steps may be performed simultaneously or in a different order than shown in FIG. 2, as would be understood by one of ordinary skill in the art. Method 200 will be described with reference to the elements of FIG. 1. However, method 200 is not limited to the specific aspects depicted in FIG. 1, and other systems can be used to implement the method, as would be understood by one of ordinary skill in the art.

[0045] At 210, the computing device 110 determines the alphanumeric value. According to some aspects, the computing device 110 may determine the alphanumeric value in response to a request for tokenization (e.g., to generate a token, etc.). Tokenization involves substituting sensitive information, such as a social security number, account number, and / or the like, with a cryptographically generated replacement value or token.

[0046] According to some aspects, the request for tokenization may be included with a request from a device and / or application attempting to secure sensitive information, access a secure resource, and / or the like. According to some aspects, the token may be valid for access to a resource, for example, for a defined amount of time. Determining the alphanumeric value may be performed at the start of the tokenization process.

[0047] According to some aspects, the computing device 110 may determine the alphanumeric value based on a numeric value generated from a hash of numeric user information shuffled through multiple randomly generated alphanumeric tables. For example, during a vaultless tokenization initialization process and / or the like, the computing device 110 may generate and / or store multiple randomly generated tables, including multiple randomly generated alphanumeric tables, multiple randomly generated numeric tables, and / or the like. According to some aspects, the numeric user information (with or without a pre-configured secret cryptographic key) may be hashed according to a hashing function to output hashed numeric information. According to some aspects, the hashed numeric user information may be encrypted to output a numeric value. For example, according to some aspects, additional cryptographic applications and / or information may be used to modify the hashed value of the numeric user information, and the modified hashed value may be shuffled through multiple randomly generated alphanumeric tables to output a numeric value and / or the like.

[0048] At 220, computing device 110 generates a table index. According to some aspects, computing device 110 may generate a table index (e.g., a reverse lookup table, etc.) based at least in part on the numeric user information and the alphanumeric value. According to some aspects, the table index may be encrypted and stored based on an encryption key (e.g., a user-specific encryption key, etc.) via an HSM (e.g., HSM 116, etc.) and / or the like. The table index may be accessed and / or used at occasions such as during generation of tokens and / or the like.

[0049] At 230, the computing device 110 generates shuffled numeric user information. According to some aspects, the computing device 110 may generate the shuffled numeric user information based on a table index and a plurality of randomly generated number tables. For example, the computing device 110 may generate the shuffled numeric user information by shuffling the numeric user information through a plurality of randomly generated number tables. According to some aspects, each numeric character of the numeric user information may be shuffled through a different number table of the plurality of randomly generated number tables identified for the character based on the table index.

[0050] At 240, the computing device 110 converts the shuffled numeric user information into alphanumeric user information. According to some aspects, the computing device 110 may convert the shuffled numeric user information into alphanumeric user information based on format-preserving encryption applied to the shuffled numeric user information, additional encryption information applied to the shuffled numeric user information, and / or the like.

[0051] At 250, the computing device 110 shuffles each character of the alphanumeric user information through a different alphanumeric table of the plurality of randomly generated alphanumeric tables. According to some aspects of the present disclosure, each different alphanumeric table may be identified for each character based on a table index.

[0052] At 260, the computing device 110 generates an alphanumeric token. According to some aspects, the computing device 110 may generate the alphanumeric token based on the shuffled characters of the alphanumeric user information.

[0053] According to some aspects of the present disclosure, method 200 may further include computing device 110 padding the alphanumeric token with randomly generated numeric characters. According to some aspects, computing device 110 may pad the alphanumeric token with randomly generated numeric characters based on an indication that numeric characters of the numeric user information are removed according to the numeric user information being shuffled through a plurality of randomly generated numeric tables.

[0054] According to some aspects of the present disclosure, the method 200 may further include the computing device 110 padding the alphanumeric token with an alphanumeric value.

[0055] According to some aspects of the present disclosure, method 200 may further include computing device 110 determining a numeric value indicative of a quantity of numeric characters in the numeric user information. According to some aspects, computing device 110 may determine the alphabetic value indicative of a quantity of numeric characters in the numeric user information based on alphabetic representations of the numeric values ​​shuffled through a plurality of randomly generated alphabetic tables. According to some aspects, computing device 110 may append the alphabetic value to the alphanumeric token.

[0056] According to some aspects of the present disclosure, method 200 may further include computing device 110 transmitting the alphanumeric token to a user device associated with numeric user information, a storage medium, an application, and / or the like, facilitating access to resources and / or the like.

[0057] Various aspects of the present disclosure can be implemented using one or more computer systems, such as, for example, computer system 300 shown in Figure 3. Any of the devices and / or components described herein may be and / or include computing system 300. Computer system 300 can be used, for example, to implement any of the methods described herein (e.g., method 200, etc.). Computer system 300 can be any computer capable of performing the functions described herein.

[0058] Computer system 300 can be any known computer capable of performing the functions described herein.

[0059] Computer system 300 includes one or more processors (also called central processing units or CPUs), such as processor 304. Processor 304 is connected to a communications infrastructure 306 (such as a bus).

[0060] Each of the one or more processors 304 can be a graphics processing unit (GPU). According to some aspects, a GPU is a processor that is a specialized electronic circuit designed to process mathematically intensive applications. GPUs can have a parallel structure that is efficient for parallel processing of large blocks of data, such as mathematically intensive data common in computer graphics applications, images, video, etc.

[0061] The computer system 300 also includes user input / output devices 303 , such as a monitor, keyboard, pointing device, etc., that communicate with a communications infrastructure 306 through a user input / output interface 302 .

[0062] Computer system 300 also includes a main or primary memory 308, such as random access memory (RAM). Main memory 308 may include one or more levels of cache. Main memory 308 has control logic (e.g., computer software) and / or data stored therein.

[0063] Computer system 300 may also include one or more secondary storage devices or memories 310. Secondary memory 310 may include, for example, a hard disk drive 312 and / or a removable storage device or drive 314. Removable storage drive 314 may be a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, a tape backup device, and / or any other storage device / drive.

[0064] The removable storage drive 314 can interface with a removable storage unit 318. The removable storage unit 318 includes a computer-usable or readable storage device having computer software (control logic) and / or data stored thereon. The removable storage unit 318 can be a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, and / or any other computer data storage device. The removable storage drive 314 reads from and / or writes to the removable storage unit 318 in well-known fashion.

[0065] According to an exemplary embodiment, secondary memory 310 may include other means, techniques, or approaches for allowing computer programs and / or other instructions and / or data to be accessed by computer system 300. Such means, techniques, or approaches may include, for example, removable storage unit 322 and interface 320. Examples of removable storage unit 322 and interface 320 include a program cartridge and cartridge interface (such as those found in video game devices), a removable memory chip (such as an EPROM or PROM) and associated socket, a memory stick and USB port, a memory card and associated memory card slot, and / or any other removable storage unit and associated interface.

[0066] Computer system 300 may further include a communications or network interface 324. Communications interface 324 enables computer system 300 to communicate and interact with any combination of remote devices, remote networks, remote entities, etc. (individually and collectively referred to by reference numeral 328). For example, communications interface 324 may enable computer system 300 to communicate with remote devices 328 via communications path 326, which may be wired and / or wireless and may include any combination of a LAN, a WAN, the Internet, etc. Control logic and / or data may be transmitted to and from computer system 300 via communications path 326.

[0067] According to some aspects, a tangible apparatus or article of manufacture comprising a tangible computer-usable or readable medium having control logic (software) stored thereon is also referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer system 300, main memory 308, secondary memory 310, and removable storage units 318 and 322, as well as tangible articles of manufacture embodying any combination of the foregoing. Such control logic, when executed by one or more data processing devices (such as computer system 300), causes such data processing devices to operate as described herein.

[0068] Based on the teachings contained within this disclosure, it will also be apparent to one skilled in the art how to make and use embodiments of the present disclosure using data processing devices, computer systems, and / or computer architectures other than those shown in Figure 3. In particular, embodiments may work in conjunction with software, hardware, and / or operating system implementations other than those described herein.

[0069] It should be understood that the Detailed Description section, distinct from the Summary and Abstract sections (if applicable), is intended to be used for interpreting the claims. The Summary and Abstract sections (if applicable) may describe one or more, but not all, example embodiments of the present disclosure as contemplated by the inventors, and therefore are not intended to limit the disclosure or the appended claims in any way.

[0070] While the present disclosure is described herein with reference to exemplary embodiments for exemplary fields and applications, it should be understood that the present disclosure is not limited thereto. Other embodiments and modifications thereof are possible and within the scope and spirit of the present disclosure. For example, without limiting the generality of this paragraph, the embodiments are not limited to the software, hardware, firmware, and / or entities shown in the figures and / or described herein. Furthermore, the embodiments (whether or not explicitly described herein) have significant utility for fields and applications other than the examples described herein.

[0071] Embodiments are described herein with the aid of functional structural blocks that illustrate implementations of specified functions and relationships thereof. The boundaries of these functional structural blocks are arbitrarily defined herein for convenience of description. Alternative boundaries may be defined so long as the specified functions and relationships (or their equivalents) are appropriately performed. Also, alternative embodiments may implement functional blocks, steps, operations, methods, etc. using an ordering different from that described herein.

[0072] References herein to "one embodiment," "an embodiment," "exemplary embodiment," or similar phrases indicate that the described embodiment may include a particular feature, structure, or characteristic, but not all embodiments necessarily include the particular feature, structure, or characteristic. Moreover, such phrases do not necessarily refer to the same embodiment. Furthermore, when a particular feature, structure, or characteristic is described in connection with an embodiment, it would be within the knowledge of one skilled in the art to incorporate such feature, structure, or characteristic into other embodiments, whether or not explicitly mentioned or described herein.

[0073] The scope and breadth of the present disclosure should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims

1. A non-transient computer-readable medium having instructions stored thereon, wherein when an instruction is executed by at least one computing device, the instructions are transmitted to the at least one computing device. Instantiating the tokenization process for tokenizing user information, Receiving user information, wherein the user information includes a string. During the runtime of the tokenization process, one or more table indexes are generated based at least partially on the received user information. The process involves shuffling one or more characters within the string through one or more randomly generated tables of one or more groups to convert the string into a desired output format and generate the output string, wherein the one or more randomly generated tables of one or more groups are identified by one or more table indexes, The output string is encrypted, The method involves generating tokens for user information by converting the format of the encrypted output string into a tokenized output format by shuffling one or more characters in the encrypted output string through one or more randomly generated tables of one or more groups, wherein the one or more randomly generated tables of one or more groups are identified by one or more table indexes. A non-transient, computer-readable medium that enables the execution of actions including [specific actions].

2. The non-transient computer-readable medium according to claim 1, wherein the format of any of the corresponding strings is further modified by sequentially shuffling one or more of the characters of the corresponding strings through a randomly generated table of additional groups of desired output formats.

3. The non-transient computer-readable medium according to claim 2, wherein the desired output format includes any number, alphanumeric characters, letters, or non-ASCII characters.

4. A non-transient computer-readable medium having instructions stored thereon, wherein when an instruction is executed by at least one computing device, the instructions are transmitted to the at least one computing device. The first string of user information is hashed to generate a second string of a fixed length, The process involves generating a replacement alphanumeric character for each character in the second string by sequentially shuffling each character through multiple randomly generated alphanumeric tables, thereby generating a third string, wherein the multiple randomly generated alphanumeric tables are identified by one or more table indexes. For each character in the third string, a replacement digit is generated by sequentially shuffling each character through multiple randomly generated digit tables, thereby generating a fourth string, wherein the multiple randomly generated digit tables are identified by one or more table indexes. Encrypting the fourth string mentioned above, The method involves generating an alphanumeric token of user information by sequentially shuffling each character of the encrypted fourth string through the aforementioned plurality of randomly generated alphanumeric tables, thereby substituting each digit of the encrypted fourth string, wherein the plurality of randomly generated alphanumeric tables are identified by one or more table indexes. A non-transient, computer-readable medium that enables the execution of actions including [specific actions].

5. The non-transient computer-readable medium according to claim 4, wherein the operation further comprises modifying the format of any of the corresponding strings by sequentially shuffling each of the characters of the corresponding strings through a randomly generated table of additional groups of desired output formats.

6. The non-transient computer-readable medium according to claim 5, wherein the desired output format includes any number, alphanumeric characters, letters, or non-ASCII characters.

7. The non-transient computer-readable medium according to claim 4, wherein the operation further comprises shuffling each of the corresponding characters through different alphanumeric tables among the plurality of alphanumeric tables identified by corresponding ones among the one or more table indexes.

8. The non-transient computer-readable medium according to claim 4, wherein the operation further comprises shuffling a randomly determined number of rounds.

9. The non-transient computer-readable medium according to claim 8, wherein the operation further comprises modifying the one or more table indexes after each of the rounds.

10. A non-transient computer-readable medium having instructions stored thereon, wherein when an instruction is executed by at least one computing device, the instructions are transmitted to the at least one computing device. Based on at least a portion of the numerical user information, a first table index is generated, and the initial table is identified in order to shuffle the first input value of the numerical user information through the initial table among a plurality of tables. The process involves generating an increment value and determining the next table in order to shuffle the next input value of the numeric user information through the next table among the plurality of tables, wherein the next table is different from the initial table. Based on the number of rounds of shuffling, which includes shuffling the first input value of the numerical user information and shuffling the next input value of the numerical user information, shuffled numerical user information is generated. A token containing shuffled alphanumeric user information is generated based on the format-storage encryption applied to the shuffled numeric user information or the additional encryption information applied to the shuffled numeric user information. A non-transient, computer-readable medium that enables the execution of actions including [specific actions].

11. The operation described above is: The process involves performing a hash operation on the aforementioned numerical user information according to a hash function to generate hashed numerical user information, By shuffling through the aforementioned multiple tables, a numerical value is generated for the hashed numerical user information, Based on the numerical value generated for the hashed numerical user information, an alphanumeric value is determined. A non-transient computer-readable medium according to claim 10, further comprising:

12. The operation described above is: The method involves generating shuffled alphanumeric user information by shuffling each character of the alphanumeric user information through different alphanumeric tables among the aforementioned multiple tables, wherein the different alphanumeric tables for each character are identified based on the table index for each character. Based on the shuffled alphanumeric user information, the token is generated. A non-transient computer-readable medium according to claim 10, further comprising:

13. The operation described above is: To determine a numerical value that indicates the amount of numeric characters in the aforementioned numeric user information, and Modifying the token to include an alphanumeric value, wherein the alphanumeric value is determined based on the alphanumeric representation of the numeric value shuffled through a plurality of randomly generated alphanumeric tables. The non-transient computer-readable medium according to claim 12, further comprising:

14. The operation described above is: Padding the aforementioned token with randomly generated numeric characters. A non-transient computer-readable medium according to claim 10, further comprising:

15. The operation described above is: Modify the aforementioned token so that the length of the modified token matches the length of the numerical user information. A non-transient computer-readable medium according to claim 10, further comprising: