CPC H04L 45/74 (2013.01) [H04L 45/24 (2013.01); H04L 45/245 (2013.01); H04L 63/0435 (2013.01); H04L 67/1019 (2013.01); H04L 67/145 (2013.01)] | 12 Claims |
1. A method of secure data routing, comprising:
establishing a first plurality of logical communication channels by a scattering application executing on a first computer system, wherein each of the first plurality of logical communication channels associates an Internet protocol (IP) address and a protocol port associated with the first computer system to an IP address and a protocol port associated with a second computer system;
establishing a second plurality of logical communication channels by the scattering application, wherein each of the second plurality of logical communication channels associates an IP address and a protocol port associated with the first computer system to an IP address and a protocol port associated with a third computer system and wherein at least some of the second plurality of logical communication channels are associated with the same IP address and protocol port associated with the first computer system that some of the first plurality of logical communication channels are associated with;
receiving a plurality of data packets by the scattering application via an IP address and a protocol port of the first computer system that is associated with one of the first plurality of logical communication channels and also associated with one of the second plurality of logical communication channels;
parsing the data packets by the scattering application to find identification tokens embedded in the headers of the data packets;
associating a first data packet embedding a first identification token to a first data packet source;
decrypting the first data packet using a first decryption key associated with the first data packet source;
associating a second data packet embedding a second identification token to a second data packet source;
decrypting the second data packet using a second decryption key associated with the second data packet source;
storing a plurality of decrypted data packets by the scattering application in a data structure, wherein each stored decrypted data packet is associated with a sequence number;
maintaining a next expected packet sequence number by the scattering application;
when a decrypted data packet stored in the data structure is associated with the next expected packet sequence number, transmitting the decrypted data packet and a decrypted data packet stored in the data structure that has a sequence number next in order by the scattering application to a communication user device; and
when a time-to-live value of a decrypted data packet stored in the data structure is due to expire, transmitting the decrypted data packet stored in the data structure having a time-to-live value due to expire to the communication user device.
|