Dependable Password Manager

Course project for Highly Dependable Systems, spring 2017 semester.

Build Distribution

./gradlew installDist

Generate and start servers

./start_servers F

where F is the maximum number of faults that can be tolerated.

Minimum 1

Client

client-app/build/install/client-app/bin/client-app (register|add|get) [DOMAIN USERNAME]

See client-app/build/install/client-app/bin/client-app --help for usage information.

Tests

./gradlew test

Replay attacks

The packets were captured using GoReplay.

To capture new packets run:

sudo ./gor --input-raw :(port) --output-file=(name).gor

To inject the packets in the network run:

sudo ./gor --input-file (name).gor --output-http="(host):(port)"

For example, to run the add replay attack in replay_attacks folder run:

sudo ./gor --input-file newadd_0.gor --output-http="127.0.0.1:4567"