Towards Provably Invisible Network Flow
Fingerprints
Ramin Soltani∗ , Dennis Goeckel∗ , Don Towsley† , and Amir Houmansadr†
∗

Electrical and Computer Engineering Department, University of Massachusetts, Amherst,

arXiv:1711.10079v1 [cs.NI] 28 Nov 2017

{soltani, goeckel}@ecs.umass.edu
†

College of Information and Computer Sciences, University of Massachusetts, Amherst,

{towsley, amir}@cs.umass.edu

Abstract
Network traffic analysis reveals important information even when messages are encrypted. We consider
active traffic analysis via flow fingerprinting by invisibly embedding information into packet timings of flows. In
particular, assume Alice wishes to embed fingerprints into flows of a set of network input links, whose packet
timings are modeled by Poisson processes, without being detected by a watchful adversary Willie. Bob, who
receives the set of fingerprinted flows after they pass through the network modeled as a collection of independent
and parallel M/M/1 queues, wishes to extract Alice’s embedded fingerprints to infer the connection between
input and output links of the network. We consider two scenarios: 1) Alice embeds fingerprints in all of the
flows; 2) Alice embeds fingerprints in each flow independently with probability p. Assuming that the flow rates
are equal, we calculate the maximum number of flows in which Alice can invisibly embed fingerprints while
having those fingerprints successfully decoded by Bob. Then, we extend the construction and analysis to the
case where flow rates are distinct, and discuss the extension of the network model.

Keywords: Computer Networks, Network Security, Network Analysis, Network Security Analysis, Network De-Anonymization, Anonymous Networks, Covert Communication, Fingerprinting, Flow Fingerprinting, Network Flow Fingerprinting, Watermarking, Flow Watermarking, Network Flow Watermarking, Timing Channel, Covert Channel, Queuing Networks, M/M/1 queues, Timing Capacity of Queues,
Shared Processor Queues, Queues in Tandem.
This work has been supported by the National Science Foundation under grants CNS-1564067 and CNS-1525642.
This work has been presented at the 51st Annual Asilomar Conference on Signals, Systems, and Computers, November 2017.
Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media,
including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or
redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.

1

Fig. 1. Alice may embed fingerprints in flows. Bob receives the potentially fingerprinted flow after it passes through a network of M/M/1
queues, which are independent and parallel. Each queue is shared between a fingerprinted flow (shown by a blue solid line) and interfering
flows (shown by green dotted lines).

I. I NTRODUCTION
Security in computer networks has emerged as an important area of research. Although encryption
hides information sent from a transmitter, network traffic analysis can extract important information
from the size, count, and timings of the packets. For instance, when attackers relay their flows through
compromised nodes called stepping stones, traffic analysis can trace back the attackers [1], [2]. Also,
traffic analysis can find the correlations in traffic patterns to link incoming/outgoing flows and break
anonymity [3].
Flow watermarking and flow fingerprinting are two active traffic analysis methods that work by
perturbing packet timings of flows according to specific patterns to embed information in them. In flow
watermarking, the information embedded in a flow is one bit, i.e., either the flow is marked or not.
However, in many applications, more than one bit of information is required to be embedded in the
packet timings of the flows. Flow fingerprinting provides the solution for such applications by embedding
several bits of information in the flows such as the information about the party that has embedded the
fingerprint, the source of the flow, or the location at which the flow has been fingerprinted [4].
Active traffic analysis has become an important area of research due to the increasing use of encryption. Wang et al. [5] proposed to embed flow watermarks in inter-packet delays to detect stepping
stones, and Wang et al. [6] used an interval-based flow watermark to compromise anonymized VoIP
conversations. Houmansadr et al. proposed the first non-blind watermark, RAINBOW [7], offering
significantly higher invisibility compared to prior designs, and SWIRL [8] was designed to resist
aggregated-flows attacks. Houmansadr et al. [9] was the first to introduce flow fingerprinting, and
TagIt [10] introduced the first blind flow fingerprint.
As previous active traffic analysis designs are based on ad hoc heuristics (such as moving packets
into secret time intervals), they do not offer any theoretical guarantees on the invisibility-performance
2

trade-off. In this work, we take a systematic approach to design a flow fingerprinting system with
provable information-theoretic guarantees on invisibility and performance (e.g., number of fingerprints).
Consider a network containing m independent, parallel, work conserving, and First In First Out (FIFO)
queues with independent exponential service times where the ith queue conveys the ith flow (fi ) from
the ith input link to the ith output link, and conveys interfering flows independent of fi (See Fig. 1).
The network is anonymous to Alice and Bob such that they do not know the connections between input
and output links. Alice has access to the input links and is able to buffer the packets and release them
when she desires to embed fingerprints in packet timings of the flows. Adversary Willie is between
Alice and the network and observes f1 , f2 , . . . , fm after they are accessed by Alice and wishes to detect
if Alice is embedding fingerprints in the flows or not. Bob observes the packet timings of the flows on
the output links and wishes to extract Alice’s fingerprints.
We consider the following problem: given the time interval [0, T ], can Alice embed flow identifier
fingerprints invisible to Willie in the packet timings such that Bob can extract them successfully to deanonymize the network and, if yes, what is the maximum number m of flows that can be fingerprinted?
For the case where the packet timings of the flows are governed by Poisson process, we calculate the
asymptotic expression for the number of flows that can be fingerprinted as a function of T , for two
scenarios: 1) Alice embeds fingerprints in all of the flows; 2) Alice embeds fingerprints in each flow
independently with some small probability p.
The remainder of the paper is organized as follows. In Section II, we present the system model,
definitions and the metrics employed for the two scenarios of interest. Then, we provide constructions
and analyses for the two fingerprinting scenarios in Sections III and Sections IV. In Section V we
discuss the results, the extension of the scenarios to distinct flow rates, and the extension of the network
model to more general networks. Finally, we conclude in Section VI.
II. S YSTEM M ODEL , D EFINITIONS , A ND M ETRICS
A. System Model
(I)

(I)

(I)

Alice has access to a set of input links L1 , L2 , . . . , Lm of a network, and is able to buffer packets
(I)

and release them when she desires. The packet flow conveyed over Li

is denoted by fi (1 ≤ i ≤ m),

and F = {f1 , f2 , . . . , fm } is the set of flows accessed by Alice. Bob receives the flows f1 , f2 , . . . , fm
(O)

(O)

(O)

from the output links L1 , L2 , . . . , Lm of the network, respectively. The network is anonymous such
that Alice and Bob do not know the connections between input and output links; they wish to infer this
in the interval [0, T ], and thus de-anonymize the network.

3

Alice embeds a unique flow identifier fingerprint in each flow by altering its packet timings according
to a secret codebook of fingerprints shared with Bob, and Bob extracts the fingerprints from the observed
flows. Warden Willie, who is between Alice and the network, observes the input links and wishes to
detect if Alice embeds fingerprints in them or not (see Fig. 1). Willie knows the fingerprinting scheme
Alice will employ if she chooses to embed fingerprints, but he does not have access to the codebook
of fingerprints.
Alice, Bob, and Willie know that the packet timings of the flows f1 , f2 , . . . , fm are modeled by
Poisson processes with rates λ1 , . . . , λm , respectively. The network consists of m independent single
server queues with exponential service times, i.e., M/M/1 queues, which are work conserving and
discipline First In First Out (FIFO). Each queue has multiple inputs and outputs such that the ith queue
(I)

(qi ) conveys fi from the input link Li

(O)

to the output link Li , and also conveys interfering Poisson

flows independent of fi . We denote the sum of the rates of the interfering flows on qi by λ0i . The service
rate of qi is µi , and the queues are stable, i.e., λi + λ0i ≤ µi .
We consider two scenarios. In Scenario 1 (analyzed in Section III), the flow rates are equal (λi = λ),
and Alice embeds fingerprints in all of the flows of F. In Scenario 2 (analyzed in Section IV), the flow
rates are equal, but Alice embeds fingerprints in each flow independently with probability p. For each
scenario, we calculate the number of flows in which Alice can invisibly and reliably embed fingerprints,
as described precisely next.
B. Definitions
Willie’s hypotheses are H0 (Alice did not embed fingerprints) and H1 (Alice embedded fingerprints).
We denote by PFA the probability of rejecting H0 when it is true (type I error or false alarm), and PMD
the probability of rejecting H1 when it is true (type II error or mis-detection). We assume that Willie
uses classical hypothesis testing with equal prior probabilities and seeks to minimize his probability of
(w)

error, Pe

=

PFA +PMD
;
2

the generalization to arbitrarily prior probabilities is available in [11].

Definition 1. (Invisibility) Alice’s fingerprinting is invisible (covert) if and only if she can lower bound
(w)

Willies’ probability of error (Pe ) by

1
2

−  for any  > 0, asymptotically. This definition is similar to

that of covertness developed in [11], and used in covert communication [12]–[15]
Definition 2. (Reliability) Fingerprinting for each flow is reliable if and only if Pf ≤ ζ for any ζ > 0,
where Pf is the probability of the failure event which occurs when
•

Alice cannot successfully embed a fingerprint since she does not have a packet to release when
she needs to;
4

•

Alice runs out of fingerprints because the number of fingerprints in her codebook is less than the
number of flows in which she wishes to embed fingerprints; or

•

Bob cannot extract a fingerprint successfully.

Definition 3. (Lambert W-function) The Lambert W-function is the inverse function of f (W ) = W eW .
Definition 4. (The Kullback–Leibler divergence) If f and g are probability measures over a set S, then
the Kullback–Leibler divergence between f and g is:
Z
f (x)
dx
D(f ||g) =
f (x) log
g(x)
S

(1)

In this paper, we use standard Big-O notation [16, ch. 3].
III. S CENARIO 1: A LL FLOWS ARE FINGERPRINTED
In this section we consider Scenario 1: Alice embeds fingerprints in all of the input flows of a network
with equal rates in the time interval [0, T ], and Bob extracts the fingerprints from the output flows to infer
the connection between input and output flows of the network. Because Alice is able to buffer packets
and release them when she desires, she changes the packet timings of the flows to embed fingerprints in
them according to a secret fingerprinting codebook shared with Bob. Each of the fingerprints is a flow
identifier and consists of a sequence of inter-packet delays to be employed to embed the corresponding
fingerprint. To successfully change the packet timings of a flow according to the chosen codeword,
Alice must have a packet in her buffer to transmit at the appropriate times. To account for this, Alice
uses a two phase scheme for each flow fi , similar to the one adopted in [13, Section IV]. First, Alice
slows down fi to buffer packets; then, during the fingerprinting phase, she releases the packets from her
buffer with the inter-packet delays prescribed by the codeword corresponding to the fingerprint, while
buffering the arriving packets of fi .
We calculate the asymptotic expression for the number of flows that can be fingerprinted as a function
of T using this strategy.
Theorem 1. Consider the setting in Section II-A. In a set F containing m flows with rates λi = λ,
Alice and Bob can invisibly and reliably track all of the flows in the time interval [0, T ], as long as
m = O(T /W (T )), where W (·) is the Lambert-W function.
Proof. Construction: Per above, Alice divides the time interval of length T into two phases: a buffering
phase of length T1 and a fingerprinting phase of length T2 such that T = T1 + T2 . During the buffering
phase, Alice slows down the packets of each flow fi , from rate λ to rate λ − ∆, in order to build up

5

Fig. 2. Two phase scheme: Alice divides the duration of time T into two phases with lengths T1 and T2 = T − T1 . In the first phase,
Alice slows down each flow from the rate λ to the rate λ − ∆, and buffers the excess packets. In the next phase, she transmits packets
at rate λ according to the inter-packet delays in the codeword corresponding to the fingerprint to be embedded.

Fig. 3. Codebook generation: Alice and Bob share a secret codebook which specifies the sequence of inter-packet delays corresponding
to each fingerprint. To generate each codeword, a number N is generated according to the Poisson distribution with parameter λT2 , and
then N points are placed uniformly and randomly in the time interval [0, T2 ].

packets in her buffer, ensuring that with high probability, she will not run out of packets during the
fingerprinting phase of length T2 = T − T1 (see Fig. 2).
Alice and Bob share a codebook to which Willie does not have access.The codebook construction is
similar to that of [13], [14]. To build the codebook, a set of m codewords {C(Wl )}l=m
l=1 are independently
generated according to realizations of a Poisson process with parameter λ. In particular, to generate a
codeword C(Wl ), first a random variable N is generated according to a Poisson distribution with mean
λT2 . Then, N inter-packet delays are generated by placing N points uniformly and independently on
an interval of length T2 [17] (see Fig. 3). Therefore, each codeword of the codebook is a series of
inter-packet delays and corresponds to a unique flow identifier fingerprint. To embed a fingerprint in a
flow fi , Alice applies the inter-packet delays of the chosen codeword to the packets of the flow fi .
Analysis: (Invisibility) The analysis of invisibility follows from that of covertness in [13, Theorem
p
2]. In the first phase, Alice slows down the flows from rate λ to rate λ −  2λ/mT1 , where  > 0,
(w)

while lower bounding Willie’s error probability (Pe ) by

1
2

− . During the second phase, the packet

timings for each flow is an instantiation of a Poisson process with rate λ and hence the traffic pattern
is indistinguishable from the pattern that Willie expects to observe. Hence, the scheme is invisible.
(Reliability) By [17, Definition 2], Bob can successfully extract the fingerprint from fi as long as T2

6

is large and:
log m
< C(qi ),
T2

(2)

where C(qi ) is the capacity of qi for conveying information through packet delays. By [18, Proposition
1], C(qi ) = λ log ((µi − λ0i )/λ), where λ0i is the sum of rates of the interfering flows passing through
qi . Define


C = λ log min{µi −
i



λ0i }/λ

.

(3)

Since (2) holds for all 1 ≤ i ≤ m, for large T2 :
log m
< min{C(qi )} = C.
i
T2

(4)

Note that Alice does not run out of fingerprints since the number of fingerprints in her codebook
equals to the number of flows. Finally, similar to the reliability analysis in [13], we can show that if
T mα/2
T1 =
,
1 + mα/2
T2 = T − T1 =

T
,
1 + mα/2

(5)
(6)

where
α = (2erf −1 (1 − ζ))2 ,

(7)

then Pf ≤ ζ. Thus Alice’s fingerprinting is reliable.
(Number of flows) By (4) and (6), we require
log m < CT2 =

CT
.
1 + mα2

(8)

Next, we show that if
1
m = min
2



2
α





TC
TC
−1 ,
,
W (T C)
W (T C)

(9)

then (8) is satisfied. Consider the following fact:
Fact 1. For x, y > 0, if x log x = y, then x = y/W (y), where W (·) is the lambert-W function (see
Definition 3).
Proof. By Definition 3, W (y)eW (y) = y. Therefore, W (y) = log Wy(y) . Consequently,
x log x =

y
y
y
log
=
W (y) = y
W (y)
W (y)
W (y)


7

If m ≥ 1 + mα/2 , since m <

TC
,
W (T C)

then Fact 1 yields:

T C > m log m ≥ (1 + mα/2 ) log(m).


2
TC
2
If m < 1 + mα/ , since m < α W (T C) − 1 , then:


1 + mα/2
2
2
2
T C > (1 + mα/ ) log (1 + mα/ ) = (1 + mα/ ) log m + log
≥ (1 + mα/2 ) log m.
m
Consequently, Alice and Bob can invisibly and reliably track m = O(T /W (T )) flows. Note that by (5),
T1 → ∞ as T → ∞, as required by the proof for invisibility of the second phase. Also, by (9) and (6)
we can show that T2 → ∞ as T → ∞, as required by the proof for reliability.

IV. S CENARIO 2: E ACH FLOW IS FINGERPRINTED INDEPENDENTLY WITH PROBABILITY p
In this section we consider Scenario 2. In a set containing m network input flows with equal rates,
Alice embeds fingerprints into each flow independently with probability p in the time interval [0, T ],
and Bob extracts the fingerprints from the output flows to infer the connection between input and output
flows of the network. Similar to Scenario 1, we show that employing a two phase scheme, Alice can
embed a unique flow identifier fingerprint in the chosen flows by altering their packet timings according
to a secret fingerprint codebook shared between Alice and Bob but unknown to Willie. We calculate
the asymptotic expression for the number of flows that can be fingerprinted as a function of T using
this strategy
Theorem 2. Consider the setting in Section II-A. In a set F containing m flows with rates λi = λ, if
Alice embeds fingerprints in each flow independently with probability p, Alice and Bob can invisibly


√
CT − CT α
flows in the time interval [0, T ], where C and α are given in (3)
and reliably track O e
and (7), respectively, as long as
√

e2CT − CT α
,
m=
22

(10)

p = 2 e−CT .

(11)

Proof. Construction: The construction is similar to that of Scenario 1. Alice’s codebook contains M
fingerprints where
M = (1/2)e

CT √
1+α/ln 1+e CT α

(

),

(12)

To decide whether to embed a fingerprint in a flow or not, Alice generates independent Bernoulli random
variables X1 , . . . , Xm with P(Xi = 1) = p, and she embeds a fingerprint in fi if and only if Xi = 1.
8

Analysis: (Invisibility) We analyze the invisibility of the first and second phases separately. In the
first phase, the joint pdfs of Willie’s observations under H0 (Alice did not embed fingerprints), and H1
(Alice embedded fingerprints) are:
P0 =

m
Y

Pλ (ni ),

i=1

P1 =

m
Y

(pPλ−∆ (ni ) + (1 − p)Pλ (ni )) ,

i=1
(w)

When Willie applies the optimal hypothesis test to minimize Pe [15, Eq.1]:
r
1
1
(w)
D(P1 ||P0 ),
Pe ≥ −
2
8

(13)

where D(P1 ||P0 ) is the relative entropy between P1 and P0 . Denote by Ep [·] the expected value with
respect to the probability measure (pPλ−∆ (ni ) + (1 − p)Pλ (ni )). Then:
m
X
D(P1 ||P0 ) =
D(pPλ−∆ (ni ) + (1 − p)Pλ (ni )||Pλ (n))
i=1

 


n
λ−∆
∆T1
= mEp ln pe
+ (1 − p) ,
λ

n


(a)
λ−∆
∆T1
≤ mEp pe
−p ,
λ
(b)

= mp2 (e∆

2 T /λ
1

− 1).

(14)
h

 i
λ−∆ k

2

where (a) is true since ln(1+x) ≤ x for all x ∈ R, and (b) is true since Ep
= pe−∆T1 e∆ T1 /λ +
λ
q
λ
2
2
(1 − p)e−∆T1 . Let ∆ =
ln(1 + 2mp
2 ). Then, (14) yields D(P1 ||P0 ) ≤  /2. By (13), Willies’
T1
(w)

probability of error (Pe ) is lower bounded by

1
2

− , and thus the first phase is invisible. The analysis

of the invisibility for the second phase is the same as that of Scenario 1. Thus, the fingerprinting scheme
is invisible.
(Reliability) Similar to the reliability analysis of Theorem 1, we can show that the probability that
Alice runs out of packets for each flow is upper bounded by ζ as long as
T1 =

Tα
ln(1 +

2
)
2mp2

T2 = T − T1 =
By (10), (11),

2
2mp2

√

=e

CT α

+α

,

(15)

T
1 + α/ ln(1 +

2
)
2mp2

,

, and thus T1 , T2 → ∞ as T → ∞.

Next, we show that Bob can successfully extract Alice’s fingerprints. By (12) and (16),
2


1 + α/ ln(1 + 2mp
2)
log M
√
 = C.
<C
T2
1 + α/ln 1 + e CT α

9

(16)

where the last step is true since

2
2mp2

√

=e

CT α

. Hence, (4) is satisfied, and thus Bob successfully extracts

each fingerprint.
Furthermore, since M −mp is an increasing function of T , by the weak law of large numbers (WLLN)
we can show that Alice does not run out of fingerprints. Hence, Alice’s fingerprinting is reliable.
√

(Number of flows) By (10), (11), mp = (1/2)eCT −

CT α

, and by the WLLN,

∀γ > 0 : lim P(Nf − mp > γ) = 0.

(17)

T →∞

Therefore, Alice and Bob can invisibly and reliably track Nf = O(eCT −

√

CT α

) flows.



V. D ISCUSSION
A. Source of the gain in Scenario 2
The result for Scenario 2 indicates a much larger fingerprint dictionary can be generated and employed
covertly than in Scenario 1. Note that (11) implies that in Scenario 2, a small portion of the flows are
fingerprinted. Intuitively, because Willie has to investigate a large number of flows to look for alterations
in the timings of a relatively (very) small random subset of those flows, in particular in the first phase,
this makes covertness much easier to achieve and leads to the significant gains observed.
B. Extension to distinct rates
When Scenarios 1 and 2 are extended to distinct flow rates, Alice can build a codebook in which
the rate of the codewords is λmin = min (λ1 , . . . , λm ). To embed a fingerprint in a flow fi , Alice first
scales the corresponding codeword (τ1 , . . . , τN ) by a factor λi /λmin and applies the inter-packet delays
τN
i τ1
, . . . , λλimin
) to the first N + 1 packets of the flow. If Alice receives more than N + 1 packets in
( λλmin

the fingerprinting phase, she releases the excess packets according to random independent inter-packet
delays generated from the pdf of an exponential random variable with mean λ−1
i . Bob rescales the flow
fi by a factor of λmin /λi and uses the codebook to extract the corresponding fingerprint.
q
p
2
We can show that if ∆i =  2λi /mT1 and ∆i = (λi /T1 ) ln(1 + 2mp
2 ) in the first phases of
Scenarios 1 and 2, respectively, then Alice’s buffering is invisible. Note that the fingerprinted flow fi
in the second phase is a realization of a Poisson process with rate λi , and thus it is indistinguishable
from the pattern that Willie expects to observe. Hence, the scheme is invisible.
Note that the time to transmit a fingerprint in fi is T2 λmin /λi . Therefore Bob can successfully extract
Alice’s codeword from fi as long T2 is large and
log M
< λi C 0 (qi ) = log
T2 λmin /λi

10




µi − λ0i
.
λi

(18)

Since (18) is true for all 1 ≤ i ≤ m,
log M
≤ min
i
T2




λmin 0
C (qi ) = C 0 .
λi

Finally, we can obtain an expression for the number of flows by replacing C with C 0 in the results of
Theorems 1 and 2.
C. Extension of the network
By [19], we can extend our model to m parallel routes where each route consists of multiple M/M/1
queues in tandem. On each route ri , queues are shared between a main flow fi and interfering flows and
the interfering flows are independent. Furthermore, by [20, Corollary 3.3], we can relax the condition
of independent interference for queues on each route and extend our model to a feedforward multiclass
product form network [21] containing m parallel routes where each route ri conveys flow fi and consists
of multiple M/M/1 queues in tandem shared between a main flow fi and interfering flows.
VI. C ONCLUSION
In this paper, we presented the construction and analysis for embedding fingerprints in packet timings
of flows. In a setting where a set of flows visit Alice, adversary Willie, a network of m independent
parallel M/M/1 queues with background traffic, and Bob respectively, we established a construction
where Alice alters the packet timings in the time interval [0, T ], according to a secret codebook shared
with Bob, to embed flow identifier fingerprints in them without being detected by Willie. We considered
two scenarios: 1) Alice embeds fingerprints in all of the flows; 2) Alice embeds fingerprint in each flow
independently with probability p, and calculated the asymptotic expression for the number of flows that
can be fingerprinted as a function of T .
R EFERENCES
[1] S. Staniford-Chen and L. T. Heberlein, “Holding intruders accountable on the internet,” in Security and Privacy, 1995. Proceedings.,
1995 IEEE Symposium on, pp. 39–49, IEEE, 1995.
[2] Y. Zhang and V. Paxson, “Detecting stepping stones,” in USENIX Security Symposium, vol. 171, p. 184, 2000.
[3] P. Syverson, G. Tsudik, M. Reed, and C. Landwehr, “Towards an analysis of onion routing security,” in Designing Privacy Enhancing
Technologies, pp. 96–114, Springer, 2001.
[4] A. Houmansadr, Design, analysis, and implementation of effective network flow watermarking schemes. PhD thesis, University of
Illinois at Urbana-Champaign, 2012.
[5] X. Wang and D. S. Reeves, “Robust correlation of encrypted attack traffic through stepping stones by manipulation of interpacket
delays,” in Proceedings of the 10th ACM conference on Computer and communications security, pp. 20–29, ACM, 2003.
[6] X. Wang, S. Chen, and S. Jajodia, “Tracking anonymous peer-to-peer voip calls on the internet,” in Proceedings of the 12th ACM
conference on Computer and communications security, pp. 81–91, ACM, 2005.
[7] A. Houmansadr, N. Kiyavash, and N. Borisov, “Rainbow: A robust and invisible non-blind watermark for network flows,” in NDSS,
2009.
[8] A. Houmansadr and N. Borisov, “Swirl: A scalable watermark to detect correlated network flows,” in NDSS, 2011.
[9] A. Houmansadr and N. Borisov, “The need for flow fingerprints to link correlated network flows,” in International Symposium on
Privacy Enhancing Technologies Symposium, pp. 205–224, Springer, 2013.

11

[10] F. Rezaei and A. Houmansadr, “Tagit: Tagging network flows using blind fingerprints,” Proceedings on Privacy Enhancing
Technologies, vol. 2017, no. 4, pp. 290–307, 2017.
[11] B. Bash, D. Goeckel, and D. Towsley, “Limits of reliable communication with low probability of detection on AWGN channels,”
Selected Areas in Communications, IEEE Journal on, vol. 31, pp. 1921–1930, September 2013.
[12] R. Soltani, B. Bash, D. Goeckel, S. Guha, and D. Towsley, “Covert single-hop communication in a wireless network with distributed
artificial noise generation,” in Communication, Control, and Computing (Allerton), 2014 52nd Annual Allerton Conference on,
pp. 1078–1085, IEEE, 2014.
[13] R. Soltani, D. Goeckel, D. Towsley, and A. Houmansadr, “Covert communications on poisson packet channels,” in 2015 53rd Annual
Allerton Conference on Communication, Control, and Computing (Allerton), pp. 1046–1052, IEEE, 2015.
[14] R. Soltani, D. Goeckel, D. Towsley, and A. Houmansadr, “Covert communications on renewal packet channels,” in 2016 54th Annual
Allerton Conference on Communication, Control, and Computing (Allerton), IEEE, 2016.
[15] R. Soltani, D. Goeckel, D. Towsley, B. Bash, and S. Guha, “Covert wireless communication with artificial noise generation,” arXiv
preprint arXiv:1709.07096, 2017.
[16] T. H. Cormen, Introduction to algorithms. MIT press, 2009.
[17] V. Anantharam and S. Verdu, “Bits through queues,” Information Theory, IEEE Transactions on, vol. 42, no. 1, pp. 4–18, 1996.
[18] X. Liu and R. Srikant, “The timing capacity of single-server queues with multiple flows,” DIMACS Series in Discrete Mathematics
and Theoretical Computer Science, 2004.
[19] P. Mimcilovic, “Mismatch decoding of a compound timing channel,” in Forty-Fourth Annual Allerton Conference on Communication,
Control, and Computing, 2006.
[20] F. P. Kelly, Reversibility and stochastic networks. Cambridge University Press, 2011.
[21] F. Baskett, K. M. Chandy, R. R. Muntz, and F. G. Palacios, “Open, closed, and mixed networks of queues with different classes of
customers,” Journal of the ACM (JACM), vol. 22, no. 2, pp. 248–260, 1975.

12

