Code Monkey home page Code Monkey logo

tinycr-1's Introduction

TinyCR

Running Tests

Running tests requires docker

docker-compose up --scale client=5

Testing out the system interactively

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

Usage

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

Server Socket Interface

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

Client Socket Interface

Command Name Description Arg 1
show Queries the value in associated with the key. The key number.

License and Citation

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}

}

tinycr-1's People

Contributors

jonnekaunisto avatar lab1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.