University of Hamburg
Department of InformaticsWorking group Security in Distributed Systems
architecture

How to setup a mix network or cascade

[back]

Note that this Tutorial is a stub and only provides basic information.

To setup a network or cascade of mixes you will have to create a portable framework distribution (see tutorial overview for more information). For this tutorial we assume you have already created or downloaded a protable distribution.

We assume you have a LAN of several Linux workstations for this tutorial and ssh-access to each of them.

An easy way to deploy the portable distributions automatically to the workstations is scp. We have put together some example deploy scripts that can be used (but must be adapted to your IP addresses and file paths manually).

If you deploy the code manually, make sure to use the same gMix config files on all workstations.

When the framework is deployed, start the info service (used for discovery by mixes and clients) on a workstation of your choice (Must be done before starting mixes).

Your call may look like this:

sudo java -jar gMixFramework.jar -noGUI -TOOL=infoService -OVERWRITE='GLOBAL_LOCAL_MODE_ON=FALSE,GLOBAL_INFO_SERVICE_ADDRESS=10.1.1.11,GLOBAL_INFO_SERVICE_PORT=22002,GLOBAL_DEBUG_MODE_ON=FALSE,GLOBAL_IS_DUPLEX=FALSE,GLOBAL_NUMBER_OF_MIXES=1'
(We want to start a single mix in simplex mode. The information service shall be bound to 10.1.1.11:22002 (theses values could also be specified in the config files, but often it is more flexible to just use command line parameters)).

Now we can start the mix on some (other) workstation:

sudo java -Xms1024m -Xmx1024m -jar gMixFramework.jar -noGUI -TOOL=mix -OVERWRITE='GLOBAL_INFO_SERVICE_ADDRESS=10.1.1.11,GLOBAL_INFO_SERVICE_PORT=22002'

Once the mix has registered at the information service, we can start the load generator:

sudo java -Xms1024m -Xmx1024m -jar gMixFramework.jar -noGUI -TOOL=loadGenerator -OVERWRITE='GLOBAL_INFO_SERVICE_ADDRESS=10.1.1.11,GLOBAL_INFO_SERVICE_PORT=22002'

To perform experiments you can repeat the steps above and adjust different parameters you want to evaluate. For example you may want to test different message sizes by passing the overwrite parameter MAX_PAYLOAD=X to mix and load generator and record the throughput for different values of X.

[back to top] [back to tutorial overview] [report bug]

News

06.27.2015
New gMix VM and Tutorials are online [URL]

05.01.2015
New version of gMix framework available on GitHub [URL]

05.01.2015
New website is online

02.13.2015
Paper accepted for Elsevier Computers & Security journal :-)

10.22.2014
Experiment descriptions, executables and source code for the paper Workload Modelling for Mix-based Anonymity Services are online now [URL]

06.13.2014
Paper about EncDNS accepted at ESORICS 2014 :-)

See more...