Skip to content

Chadderz121/trapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TRAPP - Timed Remote Attestation Peer-to-Peer
=============================================

trapp is an implementation of the Pioneer algorithm [1] for Raspberry Pi. This
project was undertaken for my dissertation.

[1] https://cgis.cs.umd.edu/~elaine/docs/pioneer.pdf

This repository is split into two directories: application and module.
Module is a Linux Kernel Module to be built and run on the Raspberry Pi which
performs remote attestation services. Application is an application which
invokes a remote attestation over the loopback network interface for testing.

To run the test, perform the following commands on a Raspberry Pi in this
directory:
    make
    sudo make insert
    sudo make run_prover > /dev/null &
    sudo make run_verifier

This will build all modules; insert the LKM into the kernel; run the prover
which will receive the challenge then run the verifier which will send the
challenge.

To remove the module run
    sudo make remove

To insert an attacker instead of a legitimate module run
    sudo make insert_bad
and use
    sudo make remove_bad
to remove it.

Bugs
====

 * This code may not function correctly in the face of Kernel ASLR.
 * There seems to be a very rare (< 1/1000) case where the wrong answer is
   produced by the asm.
 * The protocol has no timeouts. If a message is not received it will hang.

About

Implementation of Pioneer algorithm for Raspberry PI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published