Running tests requires docker
docker-compose up --scale client=5
Running interactively with multiple clients requires docker
docker-compose up --scale test-framework=0 client=5
docker-compose logs
Running with single client can be done without docker
server &
client &
Communicate with server using the mockCA
python mockCA.py
Go to source directory and make build dir
cd src
mkdir build
cd build
Run cmake
cmake -G "Unix Makefiles" ..
To compile the binaries.
make
To run the server
./server
To run the client.
./client
To communicate with the server.
./mockCA
To communicate with the client.
./mockCA localhost 60000
Command Name | Description | Arg 1 | Arg 2 |
---|---|---|---|
add | Adds a key with a certain value. | Key number to be added. | The value of the key. |
rem | Removes a key. | Key number to be removed | N/A |
unr | Unrevoke a key. Meaning flipping value from 0 to 1. | Key to be unrevoked. | N/A |
rev | Revoke a key. Meaning flipping value from 1 to 0. | Key to be revoked. | N/A |
exi | Exits the server safely. | N/A | N/A |
Command Name | Description | Arg 1 |
---|---|---|
show | Queries the value in associated with the key. | The key number. |
This demo software is knowingly designed to illustrate technique(s) intended to defeat a system's security. It is open-sourced and free-to-use for research purposes only. The technical details of the design can be found at:
@inproceedings{shi2021tinycr,
title={{On-device IoT Certificate Revocation Checking with Small Memory and Low Latency}},
author={Shi, Xiaofeng and Shi, Shouqian and Wang, Minmei and Kaunisto, Jonne and Qian, Chen},
booktitle={Proceedings of ACM CCS},
year={2021}
}