SYSTEM AND METHOD FOR DETECTION OF CYBER SECURITY THREAT
The system addresses the challenge of undetected man-in-the-middle attacks by employing hashing and comparison across multiple channels to ensure the integrity of encrypted data transfers.
Patent Information
- Application Number
- JP2024556108
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-03-24
- Filing Date
- 2023-03-21
- Publication Date
- 2025-04-15
AI Technical Summary
Existing systems fail to effectively detect man-in-the-middle attacks on encrypted data transfers, allowing attackers to intercept and manipulate information undetected.
A system and method that utilizes a source and destination setup with hashing subsystems, communication subsystems, and processors to create and compare hashes across multiple channels, detecting discrepancies to identify potential man-in-the-middle attacks.
Enhances detection capabilities by ensuring the integrity of encrypted data transfers, even when attackers attempt to intercept and manipulate data, by using multiple channels and hash comparisons.
Smart Images

Figure 2025510724000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure relates to detecting cybersecurity threats, and in particular to detecting man-in-the-middle attacks. Summary of the Invention
[0002] In one aspect, a system for detecting man-in-the-middle attacks on an encrypted set of data between a source and a destination, a plurality of channels coupling the source and the destination. The source comprises a source communication subsystem coupled to the plurality of channels, a source processor, and a source hashing subsystem. The source communication subsystem, the source processor, and the source hashing subsystem are coupled to each other. The destination comprises a destination communication subsystem coupled to the plurality of channels, a destination hashing subsystem, a comparison subsystem, and a destination processor. The destination communication subsystem, the destination hashing subsystem, the comparison subsystem, and the destination processor are coupled to each other. The source hashing subsystem hashes the encrypted set of data to create one or more copies of the source hashes. The source communication subsystem transmits the encrypted set of data to the destination using a first channel of the plurality of channels. The source communication subsystem transmits the one or more copies of the source hashes to the destination using one or more of the plurality of channels other than the first channel. The destination communication subsystem receives an encrypted set of data from the first channel and one or more copies of the source hashes from one or more of the multiple channels other than the first channel. The destination hashing subsystem hashes the received encrypted set of data to create a destination hash. The comparison subsystem compares the one or more copies of the source hashes to each other and to the destination hash. At least one of the comparison subsystem and the destination processor detects the presence or absence of a man-in-the-middle attack based on the comparison.
[0003] In another aspect, a method for detecting a man-in-the-middle attack on an encrypted set of data includes hashing, by a source hashing subsystem in a source, the encrypted set of data to create a source hash; transmitting, by a source communication subsystem in the source, the encrypted set of data to a destination using a first channel coupling the source and the destination; transmitting, by the source communication subsystem, the source hash to the destination using a second channel coupling the source and the destination; hashing, by a destination hashing subsystem in the destination, the encrypted set of data to create a destination hash; comparing, by a comparison subsystem in the destination, the source hash to the destination hash; and detecting, by at least one of the comparison subsystem and the destination processor, the presence or absence of a man-in-the-middle attack based on the comparing.
[0004] In another aspect, a system for detecting man-in-the-middle attacks on a first channel coupling a source and a destination, a second channel coupling the source and the destination. The source comprises a source communication subsystem coupled to the first channel and the second channel, a source processor, and a source hashing subsystem. The source communication subsystem, the source processor, and the source hashing subsystem are coupled to each other. The destination comprises a destination processor, a destination communication subsystem coupled to the first channel and the second channel, a destination hashing subsystem, and a comparison subsystem. The destination communication subsystem, the destination processor, the comparison subsystem, and the source hashing subsystem are coupled to each other. The source processor creates an encrypted first set of data. The source hashing subsystem hashes the encrypted first set of data to create a source hash. The source communication subsystem transmits the encrypted first set of data to the destination using the first channel. The source communication subsystem transmits the source hash to the destination using the second channel. The destination communication subsystem receives the encrypted first set of data from the first channel and the source hash from the second channel. The destination hashing subsystem hashes the encrypted first set of data to create a destination hash. The comparison subsystem compares the source hash to the destination hash. At least one of the comparison subsystem and the destination processor detects the presence or absence of a man-in-the-middle attack based on the comparison.
[0005] In another aspect, a method for detecting a man-in-the-middle attack on an encrypted set of data includes hashing, by a source hashing subsystem in a source, the encrypted set of data to create one or more copies of a source hash; transmitting, by a source communication subsystem in the source, the encrypted set of data to a destination using a first channel of a plurality of channels, the plurality of channels coupling the source and the destination; transmitting, by the source communication subsystem, the one or more copies of the source hash to the destination using one or more channels from the plurality of channels other than the first channel; hashing, by a destination hashing subsystem in the destination, the encrypted set of data to create a destination hash; comparing, by a comparison subsystem in the destination, the one or more copies of the source hash to the destination hash; and detecting, by at least one of the comparison subsystem and the destination processor, the presence or absence of a man-in-the-middle attack based on the comparing.
[0006] The above and additional aspects and embodiments of the present disclosure will be apparent to those of ordinary skill in the art in light of the detailed description of various embodiments and / or aspects thereof, which are provided with reference to the drawings, a brief description of which is provided below.
[0007] These and other advantages of the present disclosure will become apparent from a reading of the following detailed description and a review of the drawings. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram of an example of a source-destination communication setup. [Diagram 2] FIG. 1 is a diagram of an example of a man-in-the-middle attack. [Diagram 3] FIG. 1 is a diagram of an example embodiment of a system for detecting the presence or absence of a man-in-the-middle attack. [Figure 4] FIG. 1 illustrates an example embodiment of a process for detecting the presence or absence of a man-in-the-middle attack. [Diagram 5] FIG. 1 is an illustration of an example of detecting a man-in-the-middle attack. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] While the present disclosure is susceptible to various modifications and alternative forms, specific examples or implementations have been shown by way of example in the drawings and are described in detail herein. It should be understood, however, that the present disclosure is not intended to be limited to the particular forms disclosed. Rather, the present disclosure is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims.
[0010] A "man-in-the-middle" attack is a type of eavesdropping attack in which an attacker (or attackers) interrupts an existing conversation or data transfer. The attacker (or attackers) insert themselves "in the middle" of the communication channel and pretend to be a legitimate participant. This allows the attacker to intercept information and data from the source while also sending a list of malicious links or other misinformation to the destination in a way that may not be detected until it is too late.
[0011] FIG. 1 illustrates one example of a source-destination communication setup. A source 101 is communicatively coupled to a destination 103 via a channel 105 and communicates data 107 with the destination 103 using the channel 105. In some embodiments, the source 101 comprises a sensor, such as, for example, a camera, RADAR, LIDAR, or any suitable type of device, or a computing device, and the data 107 comprises different types of data. In some embodiments, the data 107 comprises, for example, sensor data, or command and control data. In some embodiments, the channel 105 is a direct channel, i.e., it directly couples the source 101 to the destination 103. Thus, the channel 105 comprises only one link between the source and the destination. In other embodiments, the channel 105 is an indirect channel, i.e., it couples the source 101 to the destination 103 through at least one intermediate node. Thus, the channel comprises two or more links between the source 101 and the destination 103. At least one of these links is coupled to an intermediate node. Each of the links and channels described above may be wired, wireless, or a combination of wired and wireless. These links use communication technologies known to those skilled in the art, such as 4G, 5G, BLUETOOTH, Ethernet, Universal Serial Bus (USB), and other communication technologies suitable for wired and wireless communication. In some embodiments, data 107 is encrypted by source 101 before transmission over channel 105 to destination 103.
[0012] FIG. 2 shows an example of a man-in-the-middle attack for the setup of FIG. 1. In FIG. 2, a man-in-the-middle (MITM) 109 inserts itself in the middle of the channel 105 between the source 101 and the destination 103. The MITM 109 breaks the encryption used by the source 101. The data 107 in the channel 105 is then intercepted by the MITM 109, decrypted and read by the MITM 109 if necessary. The MITM 109 then manipulates the data 107 to create new data 111, encrypts the new data 111 and sends it to the destination 103. The destination 103 does not detect that anything has happened and mistakenly trusts that the data 111 was sent by the source 101. Examples of such manipulations include erasing or modifying images of humans, or changing control signals to make an unmanned vehicle turn left instead of right, or changing geolocation information.
[0013] 3 and 4 illustrate one exemplary embodiment of the system and method for detecting the presence or absence of a man-in-the-middle attack depicted in FIG. 2 that is the subject of this specification.
[0014] 3, a source 201 and a destination 203 are coupled by one or more channels 205-1 through 205-N. In some embodiments, the source 201 includes a source communication subsystem 208, a source hashing subsystem 209, and a source processor 210. The source communication subsystem 208, the source hashing subsystem 209, and the source processor 210 are coupled to each other.
[0015] The destination 203 includes a destination communication subsystem 212, a destination hashing subsystem 214, a comparison subsystem 213, and a destination processor 220. The destination communication subsystem 212, the destination hashing subsystem 214, the comparison subsystem 213, and the destination processor 220 are coupled to each other.
[0016] The source communication subsystem 208 is coupled to one or more channels 205-1-205-N. The source communication subsystem 208 comprises at least one of hardware and software to enable the source 201 to receive information from and transmit information to one or more channels 205-1-205-N. The source communication subsystem 208 communicates with the channels 205-1-205-N using the communication and networking protocols and techniques utilized by the one or more channels 205-1-205-N. In some embodiments, the source communication subsystem 208 alone or in communication with the source processor 210 performs monitoring and evaluation of the channels 205-1-205-N. In some of the embodiments in which the source communication subsystem 208 alone performs these operations, it then communicates the results of these operations to the source processor 210.
[0017] The source hashing subsystem 209 implements one or more hashing schemes known to those skilled in the art within the source 201. Examples of such schemes include the Message Digest (MDx) algorithm and the Secure Hash Algorithm (SHA). In some embodiments, the source hashing subsystem 209 is part of the source processor 210. In some embodiments, the source hashing subsystem 209 is implemented in software. In some embodiments, the source hashing subsystem 209 is implemented in hardware. In some embodiments, the source hashing subsystem 209 is implemented using both software and hardware.
[0018] The source processor 210 serves to coordinate and perform the processing necessary for the operation of the source 201. In some embodiments, the source processor 210 - maintaining and updating a list 311 of available channels, as described below; - performing the operations necessary to select a number of channels 205-1 to 205-N from a list 311 of available channels, as described below; and performing encryption of the data sets to generate encrypted data sets, such as data set 301, for transmission on channels 205-1 through 205-N; etc., to perform one or more functions. To perform these functions, the source processor 210 stores, for example, cryptographic keys and implements the necessary programs for encrypting and decrypting data sets. In some embodiments, the source processor 210 is implemented using a combination of hardware and software. As described above, in some embodiments, the source processor 210 includes a source hashing subsystem 209.
[0019] In some embodiments, the source 201 is implemented in a distributed manner using multiple devices. For example, the source hashing subsystem 209, the source processor 210, and the list of available channels 311 are implemented on a first device, and the source communication subsystem 208 is implemented on a second device communicatively coupled to the first device. Those skilled in the art will know that this is not the only distributed configuration possible, and other distributed configurations are possible. In other embodiments, the source 201 is communicatively coupled to a subsystem or device, such as a sensor, and receives unencrypted or encrypted data sets from the subsystem or sensor. The source 201 can then perform encryption when necessary and perform man-in-the-middle attack detection for the sensor. In this way, no costly or difficult upgrades need to be performed for the sensor to enable man-in-the-middle attack detection.
[0020] Destination communication subsystem 212 is coupled to one or more channels 205-1-205-N. Destination communication subsystem 212 comprises at least one of hardware and software to enable destination 203 to receive information from and transmit information to one or more channels 205-1-205-N. Destination communication subsystem 212 communicates with channels 205-1-205-N using the communications and networking protocols and techniques utilized by one or more channels 205-1-205-N.
[0021] The destination hashing subsystem 214 implements one or more hashing schemes within the destination 203 that are known to those skilled in the art. The destination hashing subsystem 214 is similar to the source hashing subsystem 209. In some embodiments, the destination hashing subsystem 214 is part of the destination processor 220. In some embodiments, the destination hashing subsystem 214 is implemented in software. In some embodiments, the destination hashing subsystem 214 is implemented in hardware. In some embodiments, the destination hashing subsystem 214 is implemented using both software and hardware.
[0022] Comparison subsystem 213 operates to compare two or more digital hashes to one another. As described below, these two or more digital hashes may include, for example, hashes created by source hashing subsystem 209 and transmitted over channels 205-1 through 205-N, or hashes created by destination hashing subsystem 214. In some embodiments, comparison subsystem 213 is part of destination processor 220. In some embodiments, comparison subsystem 213 is implemented in software. In some embodiments, comparison subsystem 213 is implemented in hardware. In some embodiments, comparison subsystem 213 is implemented using both software and hardware.
[0023] Destination processor 220 serves to coordinate and perform the processing necessary for the operation of destination 203. In some embodiments, destination processor 220 performs one or more functions, such as performing decryption of encrypted data sets and other information received on channels 205-1 through 205-N. In these embodiments, destination processor 220 stores, for example, encryption keys and implements the programs necessary for encryption and decryption of data sets. In some embodiments, destination processor 220 is implemented using a combination of hardware and software. As described above, in some embodiments, destination processor 220 comprises at least one of source hashing subsystem 209 and comparison subsystem 213.
[0024] In some embodiments, the destination 203 is implemented in a distributed manner using multiple devices. For example, the destination hashing subsystem 214, the destination processor 220, and the comparison subsystem 213 are implemented on a first device, and the destination communication subsystem 208 is implemented on a second device communicatively coupled to the first device. Those skilled in the art will know that this is not the only distributed configuration possible, and other distributed configurations are possible. In other embodiments, the destination 203 is communicatively coupled to a different subsystem or device and performs man-in-the-middle attack detection for the different subsystem or device. In this way, costly or difficult upgrades do not have to be performed for the different subsystems or devices to enable man-in-the-middle attack detection.
[0025] Each of the channels 205-1 through 205-N is similar to the channel 105. Each of these channels may be, for example, direct or indirect. For example, the channel 205-5 couples the source 201 and the destination 203 via the intermediate node 211. The channel 205-5 comprises a link 205-5-1 and a link 205-5-2. The link 205-5-1 couples the source 201 and the intermediate node 211. The link 205-5-2 couples the intermediate node 211 and the destination 203. Similar to that described above, in some embodiments, data, such as the set of data 301, is encrypted by the source 201 prior to transmission to the destination 203 via any of the multiple channels 205-1 through 205-N.
[0026] One or more techniques known to those skilled in the art may be used to create the multiple channels 205-1 through 205-N. The source and destination communication subsystems are suitably configured using techniques known to those skilled in the art to transmit and receive on the multiple channels. In some embodiments, each of the multiple channels occupies a non-overlapping frequency range.
[0027] In some embodiments, the plurality of channels 205-1 through 205-N are drawn from list of available channels 311 of Figure 3. In some of these embodiments, the plurality of channels 205-1 through 205-N are all channels on list of available channels 311. In some of these embodiments, the plurality of channels 205-1 through 205-N are selected from list of available channels 311.
[0028] The selection is based on one or more criteria which are explained below.
[0029] In some embodiments, the selection is based on signal quality. For example, source processor 210 either collects or receives data to allow various measures of signal quality to be calculated for each of the channels on the list of available channels. These measures include, for example, signal to noise ratio (SNR), signal to interference and noise ratio (SINR), and bit error rate (BER). In some embodiments, source processor 210 collects this information and then calculates the measures, such as SNR, SINR, and BER, in conjunction with source communications subsystem 208. In another embodiment, source communications subsystem 208 calculates these measures independently. In a further embodiment, source processor 210, in conjunction with source communications subsystem 208, calculates a signal quality score for each channel on the list of available channels based on a function that takes one or more of the signal quality measures, such as SNR, SINR, and BER, as inputs and produces the score as an output. For example, in one embodiment, source processor 210 calculates a weighted average based on the SNR and SINR. In another embodiment, the weighted average is calculated first and then compared to a threshold and used to calculate a performance score. Source processor 210 can also store historical signal quality information and other information for future use.
[0030] In other embodiments, the selection is based on link quality. For example, source processor 210 either collects or receives data to allow various measures of link quality to be calculated for each of the channels on the list of available channels. These measures include, for example, packet error rate (PER), packet jitter, intermediate node load, and throughput. As with signal quality, in some embodiments, source processor 210 collects this information and then calculates the measures, such as PER, jitter, and throughput, in conjunction with source communications subsystem 208. In other embodiments, source communications subsystem 208 calculates these measures independently. In further embodiments, source processor 210, in conjunction with source communications subsystem 208, calculates a link quality score based on a function that takes one or more of the link quality measures, such as PER, jitter, and throughput, as inputs and produces the score as an output. For example, in some embodiments, source processor 210 calculates a weighted average based on PER and jitter. In other embodiments, the weighted average is calculated first and then compared to a threshold and used to calculate a performance score. In some embodiments, the source processor also stores historical link quality information and other information for future use.
[0031] In another embodiment, the selection is based on geolocation information. The source processor 210 then uses the geolocation information, e.g., the location of the source 201 relative to the destination 203, the source latitude, the source longitude, the destination latitude, and the destination longitude, to select a number of channels 205-1 through 205-N. This geolocation information is obtained, for example, from a sensor coupled to the source.
[0032] In other embodiments, the selection is based on position or movement information. This position or movement information is obtained, for example, from sensors coupled to the source and used by the source processor 210 to select among multiple channels. Examples of position or movement information include the speed of the source, the acceleration of the source, the direction of travel of the source, the orientation of the source, the angular velocity of the source, the angular acceleration of the source, and the altitude of the source.
[0033] In other embodiments, the multiple channels 205-1 to 205-N are selected by the source processor 210 based on user input and instructions supplied to the source processor 210 using one or more interfaces with the source processor 210.
[0034] In some embodiments, the selection of the multiple channels 205-1 to 205-N includes ranking a list of available channels based on one or more of the criteria described above. A subset of the available channels is then selected based on the ranking. For example, the top N ranked out of a list of M available channels, where N < M, are selected.
[0035] In some embodiments, the selection of the multiple channels 205-1 to 205-N includes comparing each of the channels on the list of available channels 311 to one or more thresholds. In some embodiments, the one or more thresholds are based on one or more of the criteria described above. In that case, for example, none of the one or more channels on the list of available channels 311 that do not meet the one or more thresholds are included in the multiple channels 205-1 to 205-N.
[0036] In some embodiments, the selection of the plurality of channels 205-1 through 205-N includes combining ranking of the list of available channels with a comparison to one or more thresholds. For example, channels on the list of available channels that do not meet one or more thresholds are removed from consideration for selection for the plurality of channels. The remaining channels are then ranked and a subset of the remaining channels is selected for the plurality of channels 205-1 through 205-N.
[0037] In further embodiments, as described above, source processor 210 maintains and updates list of available channels 311 of Figure 3. In some of these embodiments, channels are removed and added by source processor 210 from list of available channels 311 based on one or more of the criteria described above, i.e., signal quality, link quality, geolocation information, position or movement information, and user input.
[0038] An example of the operation of the system and method will now be described below with reference to FIGS.
[0039] In step 401, a number of channels 205-1 to 205-N to be used are drawn or selected from the list of available channels 311 by the source processor 210 using the process described above.
[0040] In step 402 of FIG. 4, source processor 210 of FIG. 3 generates an encrypted set of data 301 using, for example, an encryption key and a program stored within source processor 210.
[0041] In step 403 of FIG. 4, the source hashing subsystem 209 of FIG. 3 hashes the encrypted data set 301 to create one or more copies of source hashes 303.
[0042] In step 405 of Figure 4, source communications subsystem 208 transmits encrypted data set 301 to destination 203, for example, using channel 205-1 of Figure 3. In the embodiment shown in Figure 3, channel 205-1 is a direct channel.
[0043] 4, the source communication subsystem 208 transmits one or more copies of the source hash 303 to the destination 203 using one or more of the channels, each of which is a channel other than the channel 205-1 used to transmit the set of data. For example, the source communication subsystem 208 transmits two copies 305-1 and 305-3 of the source hash 303 to the destination 203 using channels 205-3 and 205-5.
[0044] In step 409 of FIG. 4, destination communications subsystem 212 in destination 203 receives set of data 301 from channel 205-1.
[0045] 4, the destination communication subsystem 212 receives one or more copies of the source hash from one or more of a plurality of channels other than the channel 205-1 used to transmit the set of data. For example, the destination communication subsystem 212 receives two copies 305-1 and 305-3 from channels 205-3 and 205-5.
[0046] In step 413 of FIG. 4, the destination hashing subsystem 214 hashes the received set of data 301 to create a destination hash 307.
[0047] In step 415 , the comparison subsystem 213 compares the received copy or copies of the source hash, for example copies 305 - 1 and 305 - 3 , with each other and with the destination hash 307 .
[0048] When the received copy or copies of the source hash match each other and the destination hash in step 417, in some embodiments the comparison subsystem 213 determines that there is no man-in-the-middle attack or that a man-in-the-middle attack is absent in step 419. When there is a mismatch between the received copy or copies of the source hash or there is a mismatch with the destination hash in step 417, in some embodiments the comparison subsystem 213 determines the presence of a possible man-in-the-middle attack in step 421. In some embodiments, the presence or absence of a man-in-the-middle attack is performed by either the comparison subsystem 213 or the destination processor 220.
[0049] In some embodiments, when the presence of a possible man-in-the-middle attack is detected by the comparison subsystem 213 in step 421, the destination processor 220 sends encrypted instructions to the source 201 to remove one or more of the plurality of channels 205-1 through 205-N from the list of available channels 311. To avoid the man-in-the-middle, these instructions are sent on one or more of the plurality of channels 205-1 through 205-N that were not used to send one or more copies of the data set 301 or the source hash 303. Based on these instructions, one or more of the plurality of channels 205-1 through 205-N are removed by the source processor 210 from the list of available channels 311.
[0050] The reduction in activity on a channel due to its removal from the list of available channels 311 may alert an attacker, such as man-in-the-middle 109, that they have been detected. One or more actions are then taken in step 421 to hide the detection from the attacker. In some embodiments, the one or more actions include the source processor 210 generating encrypted dummy data and the source communications subsystem 208 transmitting the generated encrypted dummy data on one or more of the removed channels 205-1 through 205-N.
[0051] As described above, in some embodiments, destination 203 is communicatively coupled to a different subsystem or device and performs man-in-the-middle attack detection for the different subsystem or device. In some of these embodiments, destination processor 220 performs decryption of the encrypted data set and transmits the decrypted data to the different subsystem or device when a man-in-the-middle attack is not detected in step 419, i.e., when a man-in-the-middle attack is absent. In other embodiments, destination processor 220 transmits the encrypted data set to the different subsystem or device when a man-in-the-middle attack is absent.
[0052] The systems and methods described in Figures 3 and 4 provide further protection against man-in-the-middle attacks by improving detection capabilities. One example of this improved detection capabilities is shown with reference to Figure 5. In Figure 5, a source 501 transmits an encrypted data set 507 and copies of source hashes 513-1 through 513-3 to a destination 503 over multiple channels 505-1, 505-3, 505-5, and 505-7. Channels 505-1, 505-3, and 505-5 are direct channels, and channel 505-7 is an indirect channel. Channel 505-7 comprises links 505-7-1 and 505-7-2 coupled to an intermediate node 511.
[0053] In FIG. 5, man-in-the-middle 509 has inserted itself in the middle of either or both of channels 505-1 and 505-3.
[0054] When man-in-the-middle 509 inserts itself in the middle of channel 505-1, it is possible for man-in-the-middle 509 to intercept, decrypt, and manipulate data set 507. However, when data set 507 is received at destination 503, hashed as described above, and compared to copies of the source hashes 513-1, 513-2, and 513-3 as described above, there is a mismatch, leading to a determination of the presence of a possible man-in-the-middle attack at destination 503.
[0055] When man-in-the-middle 509 inserts itself in the middle of channel 505-3, it is possible for man-in-the-middle 509 to intercept and manipulate copy of source hashes 513-1. However, when data set 507 is received at destination 503, hashed as described above, and compared to copies of source hashes 513-1, 513-2, and 513-3 as described above, there is a mismatch, leading to a determination of the presence of a possible man-in-the-middle attack at destination 503.
[0056] When the man-in-the-middle 509 inserts itself between channels 505-1 and 505-3, the man-in-the-middle 509 is able to intercept, decrypt, and manipulate data set 507 as described above. When the man-in-the-middle 509 knows the hashing algorithm used to generate one or more copies of the source hash, the man-in-the-middle 509 is able to intercept copy 513-1 of the source hash and generate a hash that matches the manipulated data set. However, when data set 507 is received and hashed at destination 503 as described above and compared to copies 513-1, 513-2, and 513-3 of the source hash as described above, there is a mismatch, leading to a determination of the presence of a possible man-in-the-middle attack at destination 503.
[0057] Thus, the presence of a possible man-in-the-middle attack can be detected so long as there is at least one unintercepted channel between the source 501 and the destination 503. As one skilled in the art will appreciate, the detection capability increases with the number of channels used in the multiple channels.
[0058] Furthermore, when the plurality of channels includes one or more indirect channels, this increases the number of links that the intermediary must monitor. Thus, having one or more indirect channels in the plurality of channels 205-1 through 205-N increases resistance to attacks. In some embodiments, one or more indirect channels are selected by source processor 210 from list of available channels 311 for inclusion in the plurality of channels to improve resistance to attacks. In some embodiments, channels in the list of available channels are designated as either direct or indirect to allow the source processor to select one or more indirect channels.
[0059] In some embodiments, the source communications subsystem 208 sends encrypted pings on one or more of the channels 205-1 through 205-N to obtain an indication of the quality of one or more channels, i.e., whether the channels have been compromised by a man-in-the-middle.
[0060] The systems and methods described above are applicable in a variety of arenas or spaces where man-in-the-middle attacks are possible, including, for example, autonomous vehicles, robotics, secure file transmission, mesh network applications, and Internet of Things (IoT) applications.
[0061] In one exemplary embodiment, a system for detecting man-in-the-middle attacks on an encrypted set of data between a source and a destination, a plurality of channels coupling the source and the destination. The source comprises a source communication subsystem coupled to the plurality of channels, a source processor, and a source hashing subsystem. The source communication subsystem, the source processor, and the source hashing subsystem are coupled to one another. The destination comprises a destination communication subsystem coupled to the plurality of channels, a destination hashing subsystem, a comparison subsystem, and a destination processor. The destination communication subsystem, the destination hashing subsystem, the comparison subsystem, and the destination processor are coupled to one another. The source hashing subsystem hashes the encrypted set of data to create one or more copies of the source hashes. The source communication subsystem transmits the encrypted set of data to the destination using a first channel of the plurality of channels. The source communication subsystem transmits the one or more copies of the source hashes to the destination using one or more of the plurality of channels other than the first channel. The destination communication subsystem receives an encrypted set of data from the first channel and one or more copies of the source hashes from one or more of the multiple channels other than the first channel. The destination hashing subsystem hashes the received encrypted set of data to create a destination hash. The comparison subsystem compares the one or more copies of the source hashes to each other and to the destination hash. At least one of the comparison subsystem and the destination processor detects the presence or absence of a man-in-the-middle attack based on the comparison.
[0062] In one or more of the above examples, at least one of the multiple channels comprises multiple links.
[0063] In one or more of the above examples, at least one of the multiple links is coupled to an intermediate node.
[0064] In one or more of the above examples, the multiple channels are selected from a list of available channels.
[0065] In one or more of the above examples, the selection is based on one or more of signal quality, link quality, geolocation information, position or movement information, and user input.
[0066] In one or more of the above examples, the selection includes prioritization based on one or more of signal quality, link quality, geolocation information, position or movement information, and user input.
[0067] In one or more of the above instances, the source processor removes one or more channels from a list of available channels based on detecting the presence or absence of a man-in-the-middle attack.
[0068] In one or more of the above examples, the source processor generates encrypted dummy data, and the source communications subsystem then transmits the encrypted dummy data on one or more channels that are removed from the list of available channels.
[0069] In one or more of the above examples, the multiple channels comprise at least one indirect channel.
[0070] In one or more of the above examples, the multiple channels comprise a first channel and a second channel, the first channel and the second channel occupying non-overlapping frequency ranges.
[0071] In one exemplary embodiment, a method for detecting a man-in-the-middle attack on an encrypted set of data includes hashing, by a source hashing subsystem in a source, the encrypted set of data to create a source hash; transmitting, by a source communication subsystem in the source, the encrypted set of data to a destination using a first channel coupling the source and the destination; transmitting, by the source communication subsystem, the source hash to the destination using a second channel coupling the source and the destination; hashing, by a destination hashing subsystem in the destination, the encrypted set of data to create a destination hash; comparing, by a comparison subsystem in the destination, the source hash to the destination hash; and detecting, by at least one of the comparison subsystem and the destination processor, the presence or absence of a man-in-the-middle attack based on the comparing.
[0072] In one or more of the above examples, at least one of the first channel and the second channel comprises a plurality of links.
[0073] In one or more of the above examples, at least one of the multiple links is coupled to an intermediate node.
[0074] In one or more of the above examples, the first channel and the second channel are selected from a list of available channels.
[0075] In one or more of the above examples, the first channel and the second channel are selected based on one or more of signal quality, link quality, geolocation information, position or movement information, and user input.
[0076] In one or more of the above examples, the selection of the first channel and the second channel includes prioritization based on one or more of signal quality, link quality, geolocation information, position or movement information, and user input.
[0077] In one or more of the above instances, the source processor removes one or more channels from a list of available channels based on detecting the presence or absence of a man-in-the-middle attack.
[0078] In one or more of the above examples, the source processor generates encrypted dummy data and the source communications subsystem transmits the encrypted dummy data on one or more channels that are removed from the list of available channels.
[0079] In one or more of the above examples, at least one of the first channel and the second channel comprises an indirect channel.
[0080] In one or more of the above examples, the first channel and the second channel occupy non-overlapping frequency ranges.
[0081] In one exemplary embodiment, a system for detecting man-in-the-middle attacks on a first channel coupling a source and a destination, a second channel coupling the source and the destination. The source comprises a source communication subsystem coupled to the first channel and the second channel, a source processor, and a source hashing subsystem. The source communication subsystem, the source processor, and the source hashing subsystem are coupled to each other. The destination comprises a destination processor, a destination communication subsystem coupled to the first channel and the second channel, a destination hashing subsystem, and a comparison subsystem. The destination communication subsystem, the destination processor, the comparison subsystem, and the source hashing subsystem are coupled to each other. The source processor creates an encrypted first set of data. The source hashing subsystem hashes the encrypted first set of data to create a source hash. The source communication subsystem transmits the encrypted first set of data to the destination using the first channel. The source communication subsystem transmits the source hash to the destination using the second channel. The destination communication subsystem receives the encrypted first set of data from the first channel and the source hash from the second channel. The destination hashing subsystem hashes the encrypted first set of data to create a destination hash. The comparison subsystem compares the source hash to the destination hash. At least one of the comparison subsystem and the destination processor detects the presence or absence of a man-in-the-middle attack based on the comparison.
[0082] In one or more of the above examples, a device is coupled to a source, the source receives a second set of data from the device, and the source processor creates an encrypted first set of data based on the received second set of data.
[0083] In one or more of the above examples, the first channel and the second channel are selected by the source processor from a list of available channels.
[0084] In one or more of the above examples, the list of available channels is selected by the source processor based on one or more of signal quality, link quality, geolocation information, position or movement information, and user input.
[0085] In one or more of the above examples, at least one of the first channel and the second channel is an indirect channel.
[0086] In one or more of the above examples, a device is coupled to a destination, and at least one of the comparison subsystem and the destination processor detects the presence or absence of a man-in-the-middle attack for the device coupled to the destination.
[0087] In one or more of the above examples, a first device is coupled to a source. A second device is coupled to a destination. The source receives a second set of data from the first device. The source processor creates an encrypted first set of data based on the received second set of data. At least one of the comparison subsystem and the destination processor detects the presence or absence of a man-in-the-middle attack for the second device.
[0088] In one exemplary embodiment, a method for detecting a man-in-the-middle attack on an encrypted set of data includes hashing, by a source hashing subsystem in a source, the encrypted set of data to create one or more copies of a source hash; transmitting, by a source communication subsystem in the source, the encrypted set of data to a destination using a first channel of a plurality of channels, the plurality of channels coupling the source and the destination; transmitting, by the source communication subsystem, the one or more copies of the source hash to the destination using one or more channels from the plurality of channels other than the first channel; hashing, by a destination hashing subsystem in the destination, the encrypted set of data to create a destination hash; comparing, by a comparison subsystem in the destination, the one or more copies of the source hash to the destination hash; and detecting, by at least one of the comparison subsystem and the destination processor, the presence or absence of a man-in-the-middle attack based on the comparing.
[0089] Although the algorithms described above, including those with respect to the flow charts above, have been described separately, it should be understood that any two or more of the algorithms disclosed herein may be combined in any combination. Any of the methods, algorithms, implementations, or procedures described herein may include machine-readable instructions for execution by (a) a processor, (b) a controller, and / or (c) any other suitable processing device. Although the algorithms, software, or methods disclosed herein may be embodied in software stored on a non-transitory tangible medium, such as, for example, a flash memory, a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (DVD), or other memory device, those skilled in the art will readily appreciate that the entire algorithm and / or portions thereof may alternatively be executed by devices other than a controller and / or may be embodied in firmware or dedicated hardware in a well-known manner (e.g., it may be implemented by an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable logic device (FPLD), discrete logic, etc.). Also, some or all of the machine-readable instructions represented in the flow charts shown herein may be implemented manually, as opposed to automatically, by a controller, processor, or similar computing device or machine. Additionally, although particular algorithms have been described with reference to the flow charts set forth herein, those skilled in the art will readily appreciate that many other ways of implementing the exemplary machine-readable instructions may alternatively be used, for example, the order of execution of the blocks may be changed, and / or some of the described blocks may be changed, eliminated, or combined.
[0090] It should be noted that the algorithms have been shown and described herein as having various modules that perform specific functions and interact with each other. It should be understood that these modules are only divided based on their functionality for purposes of explanation and represent computer hardware and / or executable software code stored in a computer readable medium for execution on suitable computing hardware. The various functions of the different modules and units may be combined or divided as modules in any manner, as hardware as described above, and / or software stored in a non-transitory computer readable medium, and may be used separately or in combination.
[0091] While particular implementations and applications of the present disclosure have been shown and described, it should be understood that the disclosure is not limited to the precise configurations and structures disclosed herein, and various modifications, changes, and variations may be apparent from the above description without departing from the spirit and scope of the invention as defined in the appended claims.
Claims
1. 1. A system for detecting man-in-the-middle attacks on an encrypted set of data between a source and a destination, comprising: A plurality of channels couple the sources and the destinations; The source is a source communication subsystem coupled to the plurality of channels; A source processor; The source hashing subsystem and Equipped with the source communication subsystem, the source processor, and the source hashing subsystem are coupled to one another; The destination is: a destination communication subsystem coupled to said plurality of channels; a destination hashing subsystem; A comparison subsystem; Destination processor and Equipped with the destination communication subsystem, the destination hashing subsystem, the comparison subsystem, and the destination processor are coupled to one another; moreover, the source hashing subsystem hashes the encrypted set of data to create one or more copies of source hashes; the source communication subsystem transmitting the encrypted set of data to the destination using a first channel of the plurality of channels; the source communication subsystem transmits the one or more copies of the source hashes to the destination using one or more of the plurality of channels other than the first channel; the destination communication subsystem: the encrypted set of data from the first channel; and the one or more copies of the source hashes from the one or more of the plurality of channels other than the first channel; Receive, the destination hashing subsystem hashes the received encrypted set of data to create a destination hash; the comparison subsystem compares the one or more copies of the source hash to each other and to the destination hash; At least one of the comparison subsystem and the destination processor detects the presence or absence of the man-in-the-middle attack based on the comparison.
2. The system of claim 1 , wherein at least one of the multiple channels comprises a plurality of links.
3. The system of claim 2 , wherein at least one of the plurality of links is coupled to an intermediate node.
4. 2. The system of claim 1, wherein the plurality of channels are selected by the source processor from a list of available channels.
5. The selection, Signal quality and Link quality and Geolocation information; position or movement information; User input and The system of claim 4, based on one or more of:
6. The selection, Signal quality and Link quality and Geolocation information; position or movement information; User input and The system of claim 5 , further comprising prioritizing based on one or more of:
7. 5. The system of claim 4, wherein the source processor removes one or more channels from the list of available channels based on the detection of the presence or absence of the man-in-the-middle attack.
8. the source processor generating encrypted dummy data; the source communications subsystem transmitting the encrypted dummy data on the one or more channels that have been removed from the list of available channels. The system of claim 7.
9. The system of claim 1 , wherein the plurality of channels comprises at least one indirect channel.
10. the plurality of channels comprises a first channel and a second channel; The system of claim 1 , wherein the first channel and the second channel occupy non-overlapping frequency ranges.
11. 1. A method for detecting a man-in-the-middle attack on an encrypted set of data, the method comprising: hashing, by a source hashing subsystem within the source, the encrypted set of data to create a source hash; transmitting, by a source communication subsystem within the source, the encrypted set of data to the destination using a first channel coupling the source and destination; transmitting, by the source communication subsystem, the source hash to the destination using a second channel coupling the source and the destination; hashing, by a destination hashing subsystem within the destination, the encrypted set of data to create a destination hash; comparing, by a comparison subsystem in the destination, the source hash to the destination hash; detecting, by at least one of the comparison subsystem and the destination processor, the presence or absence of the man-in-the-middle attack based on the comparing; A method comprising:
12. The method of claim 11 , wherein at least one of the first channel and the second channel comprises a plurality of links.
13. The method of claim 12 , wherein at least one of the plurality of links is coupled to an intermediate node.
14. The method of claim 11 , further comprising selecting, by the source processor, the first channel and the second channel from a list of available channels.
15. The selection, Signal quality and Link quality and Geolocation information; position or movement information; User input and The method of claim 14, based on one or more of:
16. The selection, Signal quality and Link quality and Geolocation information; position or movement information; User input and The method of claim 15 , further comprising prioritizing based on one or more of:
17. The method of claim 14 , further comprising removing, by the source processor, one or more channels from the list of available channels based on the detecting.
18. generating, by said source processor, encrypted dummy data; transmitting, by the source communications subsystem, the encrypted dummy data on the one or more channels that have been removed from the list of available channels; 20. The method of claim 17, further comprising:
19. The method of claim 11 , wherein at least one of the first channel and the second channel comprises an indirect channel.
20. The method of claim 11 , wherein the first channel and the second channel occupy non-overlapping frequency ranges.
21. 1. A system for detecting a man-in-the-middle attack on a first channel coupling a source and a destination, comprising: a second channel coupling the source and the destination; The source is a source communication subsystem coupled to the first channel and the second channel; A source processor; The source hashing subsystem and Equipped with the source communication subsystem, the source processor, and the source hashing subsystem are coupled to one another; The destination is: A destination processor; a destination communication subsystem coupled to the first channel and the second channel; a destination hashing subsystem; Comparison Subsystem and Equipped with the destination communication subsystem, the destination processor, the comparison subsystem, and the source hashing subsystem are coupled to one another; moreover, the source processor creating an encrypted first set of data; the source hashing subsystem hashes the encrypted first set of data to create a source hash; the source communications subsystem transmitting the encrypted first set of data to the destination using the first channel; the source communication subsystem transmits the source hash to the destination using the second channel; the destination communications subsystem receiving the encrypted first set of data from the first channel and the source hash from the second channel; the destination hashing subsystem hashes the encrypted first set of data to create a destination hash; the comparison subsystem compares the source hash to the destination hash; At least one of the comparison subsystem and the destination processor detects the presence or absence of the man-in-the-middle attack based on the comparison.
22. a device coupled to the source; the source receiving a second set of data from the device; the source processor creating the encrypted first set of data based on the received second set of data; 22. The system of claim 21.
23. 22. The system of claim 21, wherein the first channel and the second channel are selected by the source processor from a list of available channels.
24. said list of available channels being Signal quality and Link quality and Geolocation information; position or movement information; User input and 24. The system of claim 23, wherein the source processor selects based on one or more of:
25. 24. The system of claim 23, wherein at least one of the first channel and the second channel is an indirect channel.
26. a device is coupled to the destination; the at least one of the comparison subsystem and the destination processor detecting the presence or absence of the man-in-the-middle attack for the device coupled to the destination.
22. The system of claim 21.
27. a first device coupled to the source; a second device coupled to the destination; the source receiving a second set of data from the first device; the source processor creating the encrypted first set of data based on the received second set of data; the at least one of the comparison subsystem and the destination processor detecting the presence or absence of the man-in-the-middle attack for the second device.
22. The system of claim 21.
28. 1. A method for detecting a man-in-the-middle attack on an encrypted set of data, the method comprising: hashing, by a source hashing subsystem within the source, the encrypted set of data to create one or more copies of source hashes; transmitting, by a source communications subsystem within the source, the encrypted set of data to a destination using a first channel of a plurality of channels; a transmitting step, the transmitting step being performed by the plurality of channels coupling the source and the destination; transmitting, by the source communication subsystem, the one or more copies of the source hashes to the destination using one or more channels from the plurality of channels other than the first channel; hashing, by a destination hashing subsystem within the destination, the encrypted set of data to create a destination hash; comparing, by a comparison subsystem in the destination, the one or more copies of the source hash to the destination hash; detecting, by at least one of the comparison subsystem and the destination processor, the presence or absence of the man-in-the-middle attack based on the comparing; A method comprising: