Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397
Issue N4 2018 year
We investigate a covert channel based on permutation of network packets. Consider n packets with increasing packet numbers. A malicious agent can swap the order in which packets are transmitted, thus allowing to encode n! values. However during transmission packets can be further swapped, so the permutation sent can differ from the permutation received. In order to make the channel error tolerant we construct a number of error-correcting codes. We consider three error models. In the first model we only allow to change packet order; in the second model we only allow packet insertion/deletion; the third model combines the first and the second one. The value of n varies from 3 to 9; the number of errors varies from 1 to 4. The problem is to construct an error-correcting code with the maximal cardinality (in other words, to find the maximal code). We prove that this problem is reduced to the well-known maximal clique problem, and search for large cliques in graphs generated by our error models. Since the maximal clique problem is NP-hard, and graph sizes are significant (the number of permutations on 9 elements is equal to 362880), for large values of n we found only approximately maximal codes. In order to estimate the quality we introduce simple lower and upper bounds on the cardinality of maximal codes.