This invention relates to a method of determining reliability of information received at a destination in a communication network, sent from a source with which the destination does not have a security association.
There are various situations in which it is desirable to determine whether data which has been received is the same as the data which was originally sent. There may be occasions when the consequences of using data which has been tampered with in some way are significant. Examples in the context of banking include an instruction to transfer a particular amount of money to a specific bank account which would cause problems if the wrong amount of money was transferred, or if the correct amount was transferred, it went to the wrong account. In merchant banking where the sums involved may run to millions, then the consequences could impact on matters outside the bank itself.
Another example is for businesses sending data relating to potential breaches of security in their IT systems. In some cases, the response to a perceived virus attack is to shut down the system links to the outside world, but in this day and age, the outcome can be that the business of the company is brought to a standstill, therefore such an action should only be taken if there is a high degree of confidence in the accuracy of the apparent breach.
In accordance with a first aspect of the present invention, a method of determining reliability of information received at a destination in a communication network, sent from a source with which the destination does not have a security association comprises generating first and second data representative of the information at the source; sending the first data down a first route; sending the second data down a second route; comparing at the destination, received data that has been sent via the first and second routes; regenerating the information from the received data; and determining the reliability of the information from the result of the comparison of the received data.
In accordance with a second aspect of the present invention, communication apparatus comprises a source terminal, including a splitter; and a destination terminal, including a recombiner and a processor; wherein the source terminal and the destination terminal do not have a security association; means for generating first and second data from information at the source terminal; at least two routes for sending the first and second data respectively between the source and destination terminal; wherein the first data is sent down a first route from the source terminal to the destination terminal; wherein the second data is sent down a second route from the source terminal to the destination terminal; wherein received data sent via the first and second routes is compared at the destination terminal; and means for regenerating the information from the received data; wherein the processor determines the reliability of the regenerated information from the result of the comparison of the received data.
Preferably, the first and second data are identical.
Preferably, the second route is substantially independent of the first route.
Preferably, the data is sent in packets.
Preferably, the second data is a hash of the first data.
Preferably, the first data and its related hash are sent randomly on their respective routes.
Preferably, the first data comprises data which has been encrypted using a key and the second data comprises the key.
Preferably, the method further comprises sending third data down a third route.
Preferably, the third data is identical to the first data.
An example of a method of determining reliability of information received at a destination in a communication network, sent from a source with which the destination does not have a security association, according to the present invention will now be described with reference to the accompanying drawings in which:
For the purpose of this invention, the expression “security association” refers to an end to end relationship that defines the trust between two entities and the way in which they can communicate securely, even over untrusted links.
For packets arriving at the combiner, only certain fields will be expected to have changed in the packet headers (e.g. time-to-live/hop-count) and nothing in the packet payload. Thus, rather than simply performing the recombination and attempting to recreate the input packet flow without loss, the packets arriving at the recombiner are compared. If matched pairs of packets do not match, then the integrity of those packets cannot be guaranteed. In this case, there is no additional resilience, since both packets are required to arrive in order to verify the integrity and double the capacity is required in the transit network.
The present invention aims to improve the security of a flow of packets between two points in a network, without requiring a complex support infrastructure or modification of the existing infrastructure. Conventional ways of making packet flows harder to intercept or modify, such as IP security protocol (IPsec), tend to be concerned with ‘absolute’ security and require some form of infrastructure in order to operate. In other words, existing security mechanisms require some form of negotiation or out-of-band exchange (e.g. ‘pre-sharing’ of keys) as well as some degree of bandwidth overhead. Without an end to end security association, terminals would not normally trust the data sent from one to another, even if the links between them were deemed to be “secure”. This invention requires only a comparable degree of bandwidth overhead, but no other configuration or setting up, so it provides a relatively low cost, easily implemented solution. In many cases, the security will be extremely good—the only overhead is additional bandwidth, and this is minimised by the invention. Also, since there is no negotiation required between the sender and receiver, the method of the present invention is able to operate over a network containing a number of one-way links.
The basic method described above can be further modified to increase the security and reduce the load on the network as shown in
The recombiner 16 considers a packet to have assured integrity if at least one copy of the packet 22, 23 and a valid hash 24, 25 for that packet arrives. The recombiner can monitor the different latencies of the paths and have a time window within which it accepts the packet/hash combination. Data arriving outside of this window is assumed to have been modified without authorisation.
The method of the present invention uses a device that is able to split a packet flow and send it down multiple, non-overlapping routes 14, 15, then recombine and check the data. A splitter 11 and combiner 16 are used, where the splitter modifies the packet flow in some way, such as by computing some form of strong checksum over the packet; or encrypting a packet with a random key, then makes a random choice to send each packet over one of n routes and re-combines the packets into a single flow at the combiner. The combiner 16 computes or verifies some form of strong checksum over the packet; or decrypts the packet according to the action applied at the input. Apart from any necessary modifications to the splitter and combiner to enable the checksum or encryption to be applied or decoded, no additional devices are required to provide security. This device makes it very hard to intercept or modify packets, despite it relying on existing infrastructure and the device can also provide some or all of the resilience features of an active-active resilient system. The device can also control the bandwidth utilised by the system and provides a form of ‘keyless’ security.
An alternative embodiment of this invention involves encrypting each packet with a different random key and sending encrypted packets by one path and the key via the diverse path. The key, in this case, is chosen via a suitably cryptographically strong pseudo-random number generator. The overhead is similar to the hash/checksum one: assuming that the packet is sent down one path and the key down another. Some form of integrity check can be included. The effect of combining key encryption with multiple paths is that an eavesdropper cannot possibly interpret the packet without access to both paths; so listening on a single path reveals no information. Likewise, to modify a packet requires the eavesdropper to get both packet and key.
An alternative to strict pseudo-random generation of the key sequence for this method is to use a weak security mechanism known as a reverse hash chain. In this, the sender picks a random number N and then computes a secure hash (e.g. SHA-1) of N (giving N1). This repeats, computing the hash of each hash. So, N1 is hashed to get N2, etc. The hashes are then used as the keys in reverse order. It is impractical for an adversary to predict the key sequence, since the hash is cryptographically strong. However, it is trivial to verify that each hash is the next one in the expected sequence, when revealed. This provides additional verification that packets have been received from the same, perhaps anonymous, sender as the previous packets.
All of the methods described are able to work across networks containing uni-directional links. They are able to combine security and resilience; provide authentication or privacy at low overhead without infrastructure; and do not require a keying infrastructure or configuration.
Number | Date | Country | Kind |
---|---|---|---|
0423848.1 | Oct 2004 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB05/04017 | 10/19/2005 | WO | 00 | 3/20/2008 |