Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N4 2018 year

DOI: 10.17587/prin.9.163-173
Coding in a Covert Channel of Data Packages' Permutations
I. B. Kazakov, i_b_kazakov@mail.ru, Lomonosov Moscow State University, Moscow, 119234, Russian Federation
Corresponding author: Kazakov Ilia B., Postgraduate Student, Lomonosov Moscow State University, Moscow, 119234, Russian Federation, E-mail: i_b_kazakov@mail.ru
Received on January 19, 2018
Accepted on February 13, 2018

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.

Keywords: covert channels, permutations, channel capacity, models of error, error correcting codes, maximum clique problem
pp. 163–173
For citation:
Kazakov I. B. Coding in a Covert Channel of Data Packages' Permutations, Programmnaya Ingeneria, 2018, vol. 9, no. 4, pp. 163—173.