Secure content routing using one-time passwords
Through the centralized OTP encryption scheme, using OTP hubs to route encrypted messages in a multi-user network, solving the problems of OTP material generation and security processing, and achieving high security and management efficiency data transmission.
Patent Information
- Application Number
- CN201880088500.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-12-05
- Filing Date
- 2018-12-04
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2038-12-04
AI Technical Summary
One-time password book (OTP) encryption technology faces the problem of difficulty in generating, exchanging and processing OTP materials of the same length as messages when realizing secure data transmission. At the same time, intercepting or copying a password book by a third party will also damage its security.
Adopting a centralized OTP encryption scheme, encrypted messages are routed between multiple network users through an OTP hub. The hub retains a unique OTP copy for each user and acts as an encryption/decryption intermediary to avoid the need for each user to retain multiple OTPs.
It realizes secure processing and allocation of OTP in a multi-user environment, ensuring that messages always maintain at least one layer of OTP encryption, improving the security and management of the system, and reducing the risk of password book exposure.
Smart Images

Figure CN111670559B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of priority to U.S. Provisional Patent Application No. 62 / 594,550, filed on December 5, 2017, entitled “Methods and Systems for Implementing A Perfect Security Network Using One-Time Pads,” which is incorporated herein by reference in its entirety. Technical Field
[0003] The present invention relates to the field of data encryption. Background Art
[0004] In cryptography, a one-time pad (OTP) is an unbreakable encryption technique that requires the use of a one-time pre-shared key that is the same size or longer than the size of the message being sent. In this technique, the plaintext is paired with a random key, also called a one-time pad. Each bit or character of the plaintext is then encrypted by combining it with the corresponding bit or character from the pad using one of several functions.
[0005] If the key is truly random, is never reused in whole or in part, and is kept secret, then it is mathematically impossible to decipher the ciphertext without a copy of the codebook. Because OTP encryption adds no information to the encrypted text, only random noise, it represents a perfect, unbreakable encryption method.
[0006] However, one-time pad cryptography faces some implementation difficulties. First, it is difficult to achieve the secure generation, exchange, and disposal of OTP materials, which must be at least as long as the message. In addition, the possibility of a third party intercepting, copying, or forensic cipher pads would completely undermine the security of the method.
[0007] The foregoing examples of the related art and limitations associated therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent to those skilled in the art by reading the specification and studying the drawings. Summary of the invention
[0008] The following embodiments and aspects thereof are described and illustrated in conjunction with systems, tools, and methods which are intended to be exemplary and illustrative, not limiting in scope.
[0009] In one embodiment, a method is provided, comprising: receiving, via a one-time password (OTP) hub, a communication from a first user of a computer network encrypted using an OTP associated with the first user, wherein the communication is intended for a second user; encrypting, via the hub, the communication using the OTP associated with the second user; decrypting, via the hub, the communication using the OTP associated with the first user; and delivering the communication to the second user.
[0010] In one embodiment, a system is also provided, the system comprising at least one hardware processor; and a non-transitory computer-readable storage medium having a program code embodied thereon, the program code being executed by the at least one hardware processor to perform the method.
[0011] In one embodiment, a computer program product is further provided, the computer program product comprising a non-transitory computer-readable storage medium having a program code embodied thereon, the program code being executed by at least one hardware processor to perform the method.
[0012] In some embodiments, the second user further decrypts the communication using an OTP associated with the second user.
[0013] In some embodiments, the network comprises a plurality of users, wherein each of the users stores only an OTP associated with the user.
[0014] In some embodiments, the hub stores an OTP associated with each user of the plurality of users.
[0015] In one embodiment, a method is provided, the method comprising: receiving, by a first one-time pad (OTP) hub in a series of hubs, a communication encrypted using an OTP associated with a first user of a computer network, wherein the communication is intended for a second user; encrypting, by the first hub, the communication using a first inter-hub OTP; decrypting, by the first hub, the communication using the OTP associated with the first user; forwarding, by one or more hubs in the series, the communication, wherein each forwarding between a pair of the hubs comprises: (i) encrypting the communication using the inter-hub OTP associated with the pair of hubs, and (ii) decrypting the communication using the inter-hub OTP associated with a previous pair of hubs; encrypting, by a last hub in the series of hubs, the communication using the OTP associated with the second user; decrypting, by the last hub in the series of hubs, the communication using the inter-hub OTP associated with the previous pair of hubs; and transmitting the communication to the second user.
[0016] In one embodiment, a system is also provided, the system comprising at least one hardware processor; and a non-transitory computer-readable storage medium having a program code embodied thereon, the program code being executed by the at least one hardware processor to perform the method.
[0017] In one embodiment, a computer program product is further provided, the computer program product comprising a non-transitory computer-readable storage medium having a program code embodied thereon, the program code being executed by at least one hardware processor to perform the method.
[0018] In some embodiments, the second user further decrypts the communication using an OTP associated with the second user.
[0019] In some embodiments, the network includes N of the users and a plurality of the hubs.
[0020] In some embodiments, each of said users stores only the OTP associated with said user.
[0021] In some embodiments, each of the hubs stores an OTP associated with 1 of the users and between all of the users.
[0022] In some embodiments, at least some of said users and said hubs store a routing table identifying said associations between said OTPs stored by each said hub and its associated user.
[0023] In some embodiments, at least some of said receiving, said forwarding, and said transmitting are based at least in part on said routing table.
[0024] In some embodiments, the routing table takes into account OTP usage metrics.
[0025] In some embodiments, the network comprises two or more networks.
[0026] In one embodiment, a method is provided, comprising: receiving, via a first one-time password (OTP) hub, a communication encrypted using an OTP associated with a first user of a computer network, wherein the communication is intended for a second user; encrypting, via the first hub, the communication using the OTP associated with the second user; transmitting, via the first hub, the communication to a second hub; decrypting, via the second hub, the communication using the OTP associated with the first user; and transmitting the communication to the second user.
[0027] In one embodiment, a system is also provided, the system comprising at least one hardware processor; and a non-transitory computer-readable storage medium having a program code embodied thereon, the program code being executed by the at least one hardware processor to perform the method.
[0028] In one embodiment, a computer program product is further provided, the computer program product comprising a non-transitory computer-readable storage medium having a program code embodied thereon, the program code being executed by at least one hardware processor to perform the method.
[0029] In some embodiments, the second user further decrypts the communication using an OTP associated with the second user.
[0030] In some embodiments, the network includes N of the users and a plurality of the hubs.
[0031] In some embodiments, each of the hubs stores an OTP associated with 1 of the users and between all of the users.
[0032] In some embodiments, at least some of said users and said hubs store a routing table identifying said associations between said OTPs stored by each of said hubs and their associated said users.
[0033] In some embodiments, at least some of said receiving and said transmitting are based at least in part on said routing table.
[0034] In some embodiments, the routing table takes into account OTP usage metrics.
[0035] In some embodiments, each of the users stores a second OTP associated with the user, and wherein the second OTP is configured to be used in conjunction with two-step user authentication of the user.
[0036] In some embodiments, the second OTP is configured to be used in conjunction with two-step user authentication of the user.
[0037] In some embodiments, the method further comprises, and in the case of the system and the computer program product, the instructions are further executable to provide user authentication based at least in part on the full domain hash.
[0038] In some embodiments, the OTP of the present invention is manipulated by overwriting at least a portion of the OTP of the present invention with erroneous data.
[0039] In some embodiments, at least some of the hubs further include at least one of a random number generator (RNG) and an automated teller machine configured to distribute the OTP to the user.
[0040] In some embodiments, the OTP is distributed to an ATM using at least one of quantum key distribution (QKD) communications and a physically secure dispensing device.
[0041] In addition to the exemplary aspects and embodiments described above, further aspects and embodiments will become apparent by reference to the drawings and by study of the following detailed descriptions. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] Exemplary embodiments are illustrated in the referenced drawings. The dimensions of components and features shown in the drawings are generally chosen for convenience and clarity of presentation and are not necessarily shown to scale. These drawings are listed below.
[0043] Figure 1A An exemplary centralized OTP encryption scheme according to one embodiment is shown;
[0044] Figure 1B An exemplary centralized OTP encryption scheme is shown according to one embodiment, where an OTP hub is implemented in two or more physical devices.
[0045] Figure 1C An exemplary centralized OTP encryption scheme is shown according to one embodiment, the scheme including two or more separate OTP hubs.
[0046] FIG. 2A to FIG. 2B illustrates a network with multiple end users and an OTP hub according to one embodiment; and
[0047] Figure 3 Message passing between network clusters according to one embodiment is shown. DETAILED DESCRIPTION
[0048] A system, method, and computer program product are disclosed herein for securely routing messages between two or more users using one-time pad (OTP) cryptography.
[0049] As mentioned above, OTP cryptography generally faces significant practical difficulties. First, to provide absolute cryptographic stability, OTP must have truly random encryption keys that are equal in size to the message to be encrypted, are never reused, and are properly disposed of immediately after use. Current random number generators can produce random key material of sufficient quality for use in OTP cryptography. Also, in practice, modern computer systems can store and process the necessary amounts of random key data.
[0050] However, the security of an OTP-based cryptography system still depends on secure codebook handling and distribution, since the interception and duplication of the codebook by a third party will compromise the security of the method. This problem is further exacerbated by any increase in the number of communicators in the network, since each sender / receiver pair must maintain a unique codebook that is shared only between the two of them. As the number of network users increases, the number of unique codebooks required increases by a power of two, so at some point the number of codebooks that each network component needs to maintain becomes unmanageable.
[0051] Thus, in some embodiments, the present invention provides a centralized OTP encryption scheme, wherein an OTP hub is responsible for routing encrypted messages between multiple network users. In some embodiments, the OTP encryption scheme of the present invention includes encrypting each bit or character of the plaintext by combining each bit or character of the plaintext with a corresponding bit or character from a codebook using modular addition, any table commutative group that is an injective or one-to-one transformation function, and / or any other homomorphic function or homomorphic encryption function.
[0052] In some exemplary embodiments, the OTP encryption scheme described herein can be used to enable OTP encrypted communications between multiple sender / receiver end users to enable OTP encrypted video / audio conferencing, email exchange, file exchange, multi-party digital telephone voice communication, games, etc. In other exemplary embodiments, the OTP encryption scheme described herein can be used to exchange messages using push-pull network communication technologies, including but not limited to unicast, multicast and broadcast messages (such as SMS, instant messaging, etc.). In other exemplary embodiments, such communications can be enabled via wired and wireless networks and via any number and any kind of gateways and agents. In some embodiments, any number of OTP hubs can be geographically distributed in various locations and regions. In some embodiments, any type of communication channel can be encrypted using the disclosed invention, for example, end-to-end communication tunnels, communications based on publish / subscribe protocols, communications based on TCP / UDP, and non-TCP communications. The disclosed encryption scheme can also be used in addition to any other data protection technologies such as TLS / SSL.
[0053] In some embodiments, the OTP hub of the present invention can be implemented in hardware only, software only, or a combination of hardware and software. For example, the OTP hub can be a personal computer, a tablet computer, a smart phone, an embedded device, a handheld device coupled to a radio module, a hidden device, a device with an electronic circuit, etc. In some embodiments, the OTP hub may include one or more hardware processors and a non-transitory computer-readable storage device. In various embodiments, the OTP hub may include one or more dedicated hardware devices, one or more software modules and / or may form an addition or extension to an existing device. In some embodiments, one or more dedicated hardware devices may be located in different locations. The storage medium of the OTP hub may have software instructions or components encoded thereon that are configured to operate one or more hardware processors. In some embodiments, the software component may include an operating system that includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.), and facilitating communication between various hardware and software components. In some embodiments, the program instructions are divided into one or more software modules, which may include, for example, an encryption / decryption module, a communication module, and a user interface module.
[0054] In some embodiments, the OTP hub retains a copy of all unique codebooks for each network end user in order to act as an encryption / decryption intermediary between each pair of users, thereby eliminating the need for each user to hold a different codebook for each potential recipient. In some embodiments, the centralized OTP hub includes more than one separate hardware device, wherein no single hardware device retains all the codebooks required to decrypt any message. In some embodiments, the centralized OTP encryption scheme of the present invention can be configured to ensure that each message always remains subject to at least one layer of OTP encryption.
[0055] In some embodiments, the OTP hub retains a copy of all unique codebooks for each network end-user in order to act as an encryption / decryption intermediary between each pair of users, thereby eliminating the need for each user to hold a different codebook for each potential recipient.
[0056] In some embodiments, by centralizing the distribution and retention of codebooks in an OTP hub, the present invention also avoids the need to distribute multiple codebooks to end users, thereby avoiding potentially exposing the codebooks to hostile theft and compromising the security of the overall system. Thus, system-wide codebooks only need to be distributed to a limited number of OTP hubs, which can be handled through secure electronic and / or physical distribution.
[0057] In some embodiments, the present invention provides a network comprising a user cluster and one or more OTP hubs, wherein the one or more OTP hubs are configured to securely route messages between each pair of users in the network. In some embodiments, the network of the present invention provides multiple possible encrypted messaging routes between each sender / receiver pair to ensure redundancy in the event of a hub failure or malfunction.
[0058] In some embodiments, the present invention further provides secure routing of messages between one or more user clusters in a remote network.
[0059] In some embodiments, the present invention further provides for optimizing OTP-based message routing between multiple users and / or networks based on minimizing OTP usage metrics and / or additional routing parameters.
[0060] In some embodiments, the present invention further provides one or more of the following: random number generation, message authentication, secure OTP key distribution to end users and / or secure OTP key disposal.
[0061] Therefore, a potential advantage of the present invention is that it provides a practical real-world OTP-based encryption scheme that is optimized for local and / or remote multi-user environments while ensuring secure codebook handling and distribution.
[0062] Figure 1A An exemplary centralized OTP encryption scheme according to one embodiment is shown. OTP hub A retains a respective codebook associated with each network user (e.g., sender 1 and receiver 2). OTP hub A receives a message encrypted using the sender's codebook from sender 1. OTP hub A then encrypts the message using the receiver's codebook, removes the sender's codebook, uses the respective codebook retained by hub A in each case, and transmits the message to the receiver. Thus, sender 1 and receiver 2 can communicate through hub A without each having to retain their two respective codebooks.
[0063] In some embodiments, OTP Hub A may be configured to first encrypt the message using the receiver codebook and then remove the sender codebook to ensure that no network component ever leaves a message unencrypted.
[0064] As described above, in some embodiments, an OTP hub of the present invention (such as OTP hub A) may be implemented on a server. In some embodiments, such a server may include one or more physical devices and / or a distributed system having more than one hardware processor and associated storage media. In some embodiments, one or more OTP hubs may be implemented on a single hardware device, and / or one or more OTP hubs may be implemented on more than one separate hardware device, wherein no single hardware device retains all of the codebooks required to decrypt any message.
[0065] Figure 1B An exemplary centralized OTP encryption scheme is shown, in which an OTP hub A is implemented in two or more separate hardware devices (e.g., parts A1 and A2), each of which retains a different set of end-user codebooks. For example, part A1 can receive a message encrypted using a sender codebook and encrypt the message using a receiver codebook. The message is then transmitted to a second part A2, where the sender codebook is removed and the message is transmitted to the receiver using only the receiver codebook. This configuration provides increased security because no single physical device retains all the codebooks required to decrypt any message. In addition, as described above, when a message is forwarded through a separate hardware device, the message itself always remains encrypted using at least one codebook.
[0066] Figure 1CAn exemplary centralized OTP encryption scheme including two or more separate OTP hubs is shown. In this configuration, messages can be routed through multiple hubs, such as hubs A and B. Each inter-hub hop involves encrypting the message using the inter-hub codebook, and only after that the previous codebook is removed. For example, a hop from hub A to hub B involves encrypting the message using AB's unique inter-hub codebook, and only after that the sender codebook is removed. Once the message reaches the last hub in the chain (hub B in this case), the message is encrypted using the receiver codebook, and the most recent inter-hub codebook is then removed.
[0067] In some embodiments, a centralized OTP encryption scheme including N end users may include multiple OTP hubs, each hub being provided with a set of designated end user codebooks associated with between 1 and N users. A multi-hub network may provide multiple routing paths between each pair of users and thus provide redundancy in the event of, for example, hub failure and / or selection of the best route to, for example, optimize hub codebook usage. In some embodiments, one or more routing algorithms may be implemented to select appropriate and / or optimized routes.
[0068] Figure 2A A network with 5 end users 1-5 and 5 hubs AE is shown. Each hub is provided with 2 codebooks, which can be allocated according to several schemes (e.g., in a cyclic shift arrangement). For example, hub A can have a codebook for users 1 and 2, hub B can have a codebook for users 2 and 3, and so on. Thus, for example, when sending a message from user 1 to user 3, user 1 can send the message using several possible routes, such as:
[0069] (i) User 1 can send a message to Hub B, which will apply User 3’s codebook and then transmit the message to Hub A, which will remove User 1’s codebook and transmit the message to User 3.
[0070] (ii) User 1 can send a message to Hub C, which will apply User 3’s codebook and then transmit the message to Hub E, which will remove User 1’s codebook and transmit the message to User 3.
[0071] In some embodiments, two or more hubs maintaining a codebook for the same user may be provided with different versions of the user's codebook to avoid having different hubs retain the same codebook.
[0072] Figure 2B Show a network with 5 end users 1-5 and 5 hubs AE, similar to Figure 2AHowever, in this arrangement, each hub has 3 codebooks. Therefore, when sending a message from user 1 to user 3, user 1 can use more possible routes to send the message, such as:
[0073] (i) User 1 can send a message to Hub B, which will apply User 3’s codebook and then transmit the message to Hub A, which will remove User 1’s codebook and transmit the message to User 3.
[0074] (ii) User 1 can send a message to Hub C, which will apply User 3’s codebook and then transmit the message to Hub D, which will remove User 1’s codebook and transmit the message to User 3.
[0075] (iii) User 1 can send a message to Hub A, which will apply User 3’s codebook and then transmit the message to Hub E, which will remove User 1’s codebook and transmit the message to User 3.
[0076] In some embodiments, by increasing the number of hubs in the network and / or the number of codebooks per hub, greater routing redundancy is created within the network.
[0077] In some embodiments, two or more secure networks of the present invention may provide inter-network communications by providing a shared key book to each hub in each network. In some embodiments, each hub in a network may maintain a different shared key book to avoid duplication of the shared key book across multiple hubs. The shared key book may be stored in a separate one or more dedicated hubs (e.g., for redundancy purposes) for inter-network connections, or may be stored by a regular hub. Thus, a message from a first network may be securely hopped into a second network, such as Figure 3 As shown. Thus, for example, a message may be routed from user 3 in network I to user 6 in network II. The message may first be sent to hub A, where the inter-network codebook may be applied to the message. The message may then be sent to, for example, hub B to remove the user 3 codebook. From hub B the message may jump to hub D in network II, where user 6's codebook may be applied, and from hub D to hub E, where the inter-network codebook may be removed. The message may then be transmitted to user 6.
[0078] Message routing optimization
[0079] In some embodiments, as described above, the present invention provides a communication network layout with multiple optional message routes from sender to receiver through one or more hubs within the network and / or through one or more remote networks. In some embodiments, this can provide redundancy in the event of a hub failure, for example.
[0080] In some embodiments, the present invention can be further configured to optimize message routing according to specified criteria including but not limited to those based on OTP usage metrics. In some embodiments, additional and / or other optimization criteria including network bandwidth, network storage capacity, network latency, OTP hub hop count, path actual usage cost, load, MTU (maximum transmission unit), reliability and / or communication cost can be used.
[0081] Because OTP is an exhaustible resource, the hubs ( FIG. 2A to FIG. 2B ) and / or between network clusters ( Figure 3 ) involves the use and consumption of at least a portion of one or more OTPs. Thus, in some embodiments, the optimized routing is configured to minimize OTP usage along the route, for example by minimizing the number of hops between hubs and / or network clusters. In some embodiments, the present invention may be configured to calculate the route from the sender to the receiver with the minimum total OTP usage metric.
[0082] As background, in the context of computer networks, message routing is the process of selecting a path for traffic within a network or across multiple networks. In packet-switched networks, routing typically involves forwarding packets based on routing tables, which maintain records of routes to various network destinations. A routing table, or routing information base (RIB), is a table of data stored in a network node (e.g., a router, networked computer, or server) and lists routes to specific network destinations along with associated metrics (such as distance, operating cost, or latency). A routing table contains information about the topology of the network immediately surrounding it, which is constructed using routing protocols based on manual entries, such as during network initialization. For example, a routing table may contain network / next-hop associations that tell a router that a specific network destination can be best reached by sending a packet to a specific router that represents the "next hop" to reach the final destination. In some cases, one or more remote networks may be added to a routing table during initialization or by a dynamic routing protocol.
[0083] However, since the route optimization metric involves dynamically consuming resources in the current situation, it is not possible to determine route optimization based on a static routing table. Therefore, in some embodiments, the centralized encryption scheme of the present invention can be configured to generate a routing table, wherein each network node (such as an OTP hub and / or an end user) can be configured to collect information about all other network nodes to which it can be connected. In some embodiments, each network node can then independently assemble the information into a routing table and / or a network map. In some embodiments, based on these separate routing tables, each network node can independently determine the path of the minimum cost from itself to each other node using one or more known shortest path algorithms such as a distance vector algorithm (e.g., Bellman-Ford algorithm, Dijkstra algorithm, Viterbi algorithm), a list short path algorithm, a path vector protocol, etc. The result may be a tree diagram with the current node as the root, so the path through the tree from the root to any other node is the path of the minimum cost to the node. Then, the tree is used to construct a routing table that specifies the best next hop from the current node to any other node.
[0084] In some embodiments, the communication network of the present invention may provide centralized message routing control that may be used to manage routing in the network or any portion thereof. In this case, the OTP usage metrics determined by one or more network nodes may be communicated to the control function, which may then determine the routing path.
[0085] In some embodiments, the optimized route may be determined based solely on the codebook usage metric, and / or a combination of multiple parameters representing, but not limited to, bandwidth, network latency, number of hops, actual cost of path usage, load, MTU (maximum transmission unit), reliability, and / or communication cost.
[0086] Message Authentication
[0087] In some embodiments, the present invention provides positive identification and authentication of end users in a network.
[0088] As mentioned above, user authentication is critical in OTP-based encryption schemes because the end-user's password book can be stolen and / or copied by bad actors and then used to impersonate actual users of the network.
[0089] One-time pads do not inherently provide message authentication, and this lack of authentication can pose a security threat in real-world applications. Direct XOR with the keystream creates a potential vulnerability in message integrity, which is particularly easy to exploit. For example, an attacker who knows that a message contains the string "Meet Jane and I tomorrow at 3:30 PM" at a specific point can replace that content with any other content of exactly the same length, such as "3:30 meeting canceled, stay home", without having access to the one-time pad.
[0090] Therefore, in some embodiments, the present invention provides a user authentication password book stored by the user, which can be used to authenticate and verify the user, for example, in the event that the original user password book has been stolen.
[0091] For example, when a user joins the network of the present invention, the user can be assigned a primary authentication one-time password (PAOTP), for example, the primary authentication one-time password can be provided on a physical portable memory device such as a memory card or a flash drive (disk-on-key). A copy of the PAOTP can also be saved to one or more centralized OTP hubs of the network, and / or can be split between two or more OTP hubs so that each split is different from the other parts. When communicating within the network for the first time, for example, a portion of the PAOTP can be used for initial identification and authentication. At the time of initial authentication, the used portion of the PAOTP can be discarded subsequently. The user can then receive a runtime password book for use in conventional communications conducted through the network. Then, if the PAOTP is needed again in the future for the user's two-step authentication, the user can save the PAOTP in a safe place.
[0092] During ongoing runtime network communications, a user can be identified by using various parts of the runtime password book. However, in some cases, a stronger two-step verification process is required. For example, a user may wish to revoke a runtime user password book, or the network may require the user to update / replace their runtime password book, such as in the case of suspicious activity. In this case, POTP can be used to authenticate the end user.
[0093] In some embodiments, global hashing can also be used as an additional authentication mechanism. Global hashing provides a method for authenticating messages up to an arbitrary security margin (i.e., for any p>0, a sufficiently large hash ensures that even an arithmetically unbounded attacker has a probability of successfully forging less than p). However, global hashing comes at the cost of using additional random data from the encryption codebook.
[0094] Random Number Generation
[0095] In some embodiments, OTPs for use in conjunction with the present invention may be generated in multiple locations, including but not limited to within an OTP hub, or in a centralized location.
[0096] In some embodiments, one or more OTP hubs may include devices and / or functionality responsible for generating large amounts of true random data. In some embodiments, random data generation may be based on one or more physical processes (e.g., based on microscopic phenomena such as thermal noise, the photoelectric effect, other quantum phenomena, chaotic mechanics, and / or any other similar processes). In some embodiments, the present invention may provide for testing of random data generated as described below, for example, by entropy and similar tests.
[0097] ATM for OTP delivery
[0098] In some embodiments, the present invention can utilize a physical distribution network, such as an automated teller machine (ATM) and / or similar secure box mechanism, to deliver and distribute the OTP to an end user. For example, such an ATM can distribute an external memory device (such as a thumb drive) containing the OTP. In some embodiments, the ATM of the present invention can cause a hard drive containing the OTP to be distributed to an external memory device (such as a user-provided portable memory device (e.g., a flash drive)). In some embodiments, the ATM of the present invention can be configured to generate the OTP locally using suitable random data generation hardware, and / or be provided with an OTP generated externally, such as by an OTP hub. The ATM can also be responsible for updating the system OTP hub regarding the OTP distributed to the end user.
[0099] In some embodiments, in addition to OTP generation capabilities, one or more OTP hubs of the present invention may also include an ATM. Each such OTP hub may form an independent physical security device that generates and distributes OTPs to end users and then handles the resulting network's encryption traffic. Thus, a centralized OTP encryption scheme can be established from any desired location using one of a plurality of such devices.
[0100] In some embodiments, the independent ATM of the present invention can be located in various desired locations to distribute OTPs to end users as needed. Then, the OTP can be generated locally and / or remotely within the ATM and securely delivered to the ATM for further distribution to the end users in the location. The secure delivery of the OTP to the ATM can be performed by quantum key distribution (QKD) communication and / or, for example, physically secure devices (such as secure vehicles and / or containers). The end user can then access the ATM to obtain the OTP by, for example, loading a memory device. Once distributed to the user, the OTP can be represented by the system as being associated with the user and used to route messages to the user.
[0101] In some embodiments, the OTP may be delivered directly to an OTP hub and / or end user via QKD and / or a physically secure device such as a secure vehicle and / or container.
[0102] QKD is the process of using quantum communication to establish a shared secret key between two parties that is unknown to a third party, even if the third party can eavesdrop on all communications between the two parties. Therefore, the QKD key can be used to deliver the OTP to a specific defined destination in this system.
[0103] OTP Disposal
[0104] As mentioned above, the used OTP must be deleted and disposed of to prevent any misappropriation.In some embodiments, the OTP of the present invention can be disposed of by rewriting all or part of the OTP with incorrect data.
[0105] The present invention may be a system, method and / or computer program product. The computer program product may include (one or more) computer-readable storage media having computer-readable program instructions thereon for causing a processor to perform various aspects of the present invention.
[0106] A computer-readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device having instructions recorded thereon, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium should not be understood as being a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire. Instead, a computer-readable storage medium is a non-temporary (i.e., non-volatile) medium.
[0107] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in a computer-readable storage medium in the corresponding computing / processing device.
[0108] The computer-readable program instructions for performing the operation of the present invention can be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages (including object-oriented programming languages such as Java, Smalltalk, C++, etc. and conventional process programming languages such as "C" programming language or similar programming languages). The computer-readable program instructions can be executed completely on the user's computer, partly on the user's computer, as an independent software package, partly on the user's computer and partly on a remote computer or completely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through any type of network (including local area network (LAN) or wide area network (WAN)), or can be connected to an external computer (for example, by using the Internet of an Internet service provider). In certain embodiments, the electronic circuit including, for example, a programmable logic circuit, a field programmable gate array (FPGA) or a programmable logic array (PLA) can execute the computer-readable program instructions with personalized electronic circuits by utilizing the state information of the computer-readable program instructions to perform various aspects of the present invention.
[0109] Various aspects of the present invention are described herein with reference to flowchart illustrations and / or block diagrams of methods, devices (systems) and computer program products according to embodiments of the present invention. It will be understood that each block of the flowchart illustration and / or block diagram and the combination of blocks in the flowchart illustration and / or block diagram can be implemented by computer-readable program instructions.
[0110] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions are executed via the processor of the computer or other programmable data processing device to create a device for implementing the functions / actions specified in one or more boxes of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, which can instruct the computer, programmable data processing device, and / or other equipment to function in a specific manner, so that the computer-readable storage medium having the instructions stored therein includes an article of manufacture, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes of the flowchart and / or block diagram.
[0111] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operating steps to be performed on the computer, other programmable apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable apparatus, or other device implement the functions / actions specified in one or more boxes of the flowchart and / or block diagram.
[0112] The flow chart and block diagram in the accompanying drawings illustrate the architecture, function and operation of the possible implementation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each frame in the flow chart or block diagram can represent a module, a fragment or a part of an instruction, which includes one or more executable instructions for implementing (one or more) specified logical functions. In some alternative embodiments, the function indicated in the frame may not occur in the order indicated in the figure. For example, depending on the function involved, two frames shown in succession can actually be executed substantially at the same time, or these frames can sometimes be executed in reverse order. It should also be noted that each frame illustrated in the block diagram and / or flow chart and the combination of multiple frames illustrated in the block diagram and / or flow chart can be implemented by a system based on special-purpose hardware, which performs specified functions or actions, or performs a combination of special-purpose hardware and computer instructions.
[0113] Descriptions of various embodiments of the present invention have been given for purposes of illustration, but these descriptions are not intended to be exhaustive or limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, practical applications or technical improvements over technologies found on the market, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. A method for routing content, the method comprising: receiving, via a first OTP hub in a series of one-time pad hubs, i.e., a series of OTP hubs, from a first user of a computer network a communication encrypted using an OTP associated with the first user, wherein the communication is intended for a second user; encrypting the communication using the OTP associated with the second user via the first OTP hub; decrypting the communication using the OTP associated with the first user by the first OTP hub or a second OTP hub in the series of OTP hubs; and The communication is delivered to the second user.
2. The method according to claim 1, wherein: The second user further decrypts the communication using the OTP associated with the second user.
3. The method of claim 1, wherein the first OTP hub comprises a first hardware device and a second hardware device, wherein each hardware device stores a different set of end-user OTPs.
4. The method according to claim 3, wherein the first hardware device is configured as: receiving the communication encrypted with the OTP of the first user; The communication is encrypted with the OTP of the second user, and wherein the second hardware device is configured to decrypt the communication with the OTP of the first user and transmit the communication to the second user via the second OTP hub.
5. The method according to claim 1, wherein: The network comprises a plurality of users, wherein each of the users stores only an OTP associated with the user.
6. The method of claim 3, wherein the network comprises a plurality of users, and wherein: The first OTP hub or the second OTP hub stores an OTP associated with each of the plurality of users.
7. A method for routing content, the method comprising: receiving, via a first OTP hub in a series of one-time pad hubs, i.e., a series of OTP hubs, from a first user of a computer network a communication encrypted using an OTP associated with the first user, wherein the communication is intended for a second user; encrypting the communication using a first inter-hub OTP via the first OTP hub, decrypting, by the first OTP hub, the communication using the OTP associated with the first user; forwarding the communication through one or more of the OTP hubs in the series, wherein each forwarding between a pair of the OTP hubs comprises: (i) encrypting said communications using an inter-hub OTP associated with said pair, and (ii) decrypting the communication using the inter-hub OTP previously associated with the OTP hub; encrypting the communication using the OTP associated with the second user via a last one of the series of OTP hubs; decrypting, by said last one of said series of OTP hubs, said communication using said inter-hub OTP associated with said previously associated OTP hub; and The communication is transmitted to the second user.
8. The method according to claim 7, wherein: The second user further decrypts the communication using the OTP associated with the second user.
9. The method according to claim 7, wherein: The network includes N users and a plurality of OTP hubs.
10. The method according to claim 7, wherein: Each of said users stores only the OTP associated with said user.
11. The method according to claim 7, wherein: Each of the OTP hubs stores OTPs associated with any number of the users between 1 of the users and all of the users.
12. The method according to claim 11, wherein: At least some of the users and the OTP hubs store a routing table identifying the associations between the OTPs stored by each of the OTP hubs and their associated users.
13. The method according to claim 12, wherein: At least some of the receiving, the forwarding, and the transmitting are based at least in part on the routing table.
14. The method according to claim 13, wherein: The routing table takes into account the OTP usage metric.
15. The method according to claim 7, wherein: The network includes two or more networks.
16. A method for routing content, the method comprising: receiving, via a first one-time password hub, namely a first OTP hub, from a first user of a computer network, a communication encrypted using an OTP associated with the first user, wherein the communication is intended for a second user; encrypting the communication using the OTP associated with the second user via the first OTP hub; transmitting the communication to a second OTP hub via the first OTP hub; decrypting the communication using the OTP associated with the first user via the second OTP hub; and The communication is transmitted to the second user.
17. The method according to claim 16, wherein: The second user further decrypts the communication using the OTP associated with the second user.
18. The method according to claim 16, wherein: The network includes N users and a plurality of OTP hubs.
19. The method according to claim 16, wherein: Each of the OTP hubs stores OTPs associated with any number of the users between 1 of the users and all of the users.
20. The method according to claim 19, wherein: At least some of the users and the OTP hubs store a routing table identifying the associations between the OTPs stored by each of the OTP hubs and their associated users.
21. The method according to claim 20, wherein: At least some of the receiving and the transmitting are based at least in part on the routing table.
22. The method according to claim 21, wherein: The routing table takes into account the OTP usage metric.
23. The method according to claim 16, wherein: Each of the users stores a second OTP associated with the user, and wherein the second OTP is configured to be used in conjunction with two-step user authentication of the user.
24. The method of claim 16, further comprising user authentication based at least in part on a full domain hash.
25. The method of claim 16, wherein: At least some of the OTPs are manipulated by overwriting at least a portion of at least some of the OTPs with erroneous data.
26. The method of claim 16, wherein: At least some of the OTP hubs further include at least one of a random number generator RNG and an automated teller machine configured to distribute the OTP to the user.
27. The method according to claim 26, wherein: The OTP is distributed to the ATM using at least one of quantum key distribution (QKD) communications and a physically secure distribution device.
28. A system for routing content, the system comprising: at least one hardware processor; and A non-transitory computer-readable storage medium having program code embodied thereon, the program code being executed by the at least one hardware processor to perform the method according to any one of claims 1-6.
29. A system for routing content, the system comprising: at least one hardware processor; and A non-transitory computer readable storage medium having program code embodied thereon, the program code being executed by the at least one hardware processor to perform the method according to any one of claims 7-15.
30. A system for routing content, the system comprising: at least one hardware processor; and A non-transitory computer readable storage medium having program code embodied thereon, the program code being executed by the at least one hardware processor to perform the method according to any one of claims 16-27.
Citation Information
Patent Citations
One-time pad communications network
US20140337615A1