JMixNetJMixNet is a Java implementation of a so called Chauminian Mixnet (or mix-net, or even mix net, at your will ;). It is an anonymous communication network, designed to provide anonymity in data transfers among Internet users. This implementation has a high latency, and can be integrated to any system which have anonymity requirements. JMixNet is being developed by the Computer Security Laboratory (www.labsec.ufsc.br) of the Federal University of Santa Catarina, Brazil (www.ufsc.br). DescriptionJMixNet uses Java language to implement an anonymous communication network. In order to do this, we are using some Java packages: Java NIO, Java SSL, and Java Reflection API. This project uses no database, and is able to be used on any OS which supports Java 1.4. DevelopmentCurrently the project can only send anonymous messages, mainly to be used on voting systems. There is an operational prototype, if you'd like, you can get the source-code, and run the mixnet. How to runThe first step to run the mixnet is to stablish a simple PKI, in witch each server must have a certificate signed by the mixnet CA. The common name (CN) field of the certificate must be the IP address of the server. To use a mixnet Certificate Authority you can:
To create servers certificates (repeat these steps for each server) you must:
The next step is to define the mixnet configuration file (jmixnet.cfg). This file must contain at least one property, the servers chain: To run the network you must start the servers in reverse ordem, i.e., start the last server, than the previous one, and so on. The first server of the chain will be the last to be started. As a default keystore file, JMixNet uses "JMixNetServer.keystore", and "jmixnet" as default keystore password. To set different values you can use keyStoreLocation and keyStorePassword configuration properties in the config file. As Java does not provide many cryptographic algorithms implementation on its default Cryptographic Service Provider, we suggest the use of an alternative provider. We are using the one provided by the Legion of The Bouncy Castle.
|