app: Chrome extensionbip32: NodeJS BIP32 library converted into JavaScripthost: Application running on host that talks with Server via Chrome extensionserver: Custom server exposing VICEROY cookie wrapper & VCR APIsviceroy-solo: Custom Solokey firmware for VICEROYtamarin: VICEROY protocol specification via Tamarin prover
NOTE: We currently only support Linux.
- Install and open Google Chrome browser.
- Navigate to
chrome://extensions. - Enable Developer mode (right upper corner).
- Click on
Load unpacked(left upper corner). - Select the
app/folder.
- Install Node.js (https://nodejs.org/en/download/)
- Run
npm installin the host directory. - To use Chrome native messaging:
- With Solokey (see
viceroy-solofor more information):- Install necessary packages:
pip3 install fido2 nativemessaging pyudev - Run
install_host.sh soloscript in thehostdirectory.
- Install necessary packages:
- Without Solokey:
- Run
install_host.sh nosoloscript in thehostdirectory.
- Run
- With Solokey (see
- Install Node.js (https://nodejs.org/en/download/)
- Run
npm installin the server directory. - Run
node server.jsin the server directory. - Confirm output VCR server info.
- Follow the
READMEin the directory to setup the Solokey for VICEROY.
NOTE: If you are going to use Solokey, SoloKey must be plugged in and environment to be set up as instructed in
viceroy-solodirectory.
- Navigate to
http://127.0.0.1:3030/ - Confirm session initiation
- Press F12 for developer console.
- Click on the Application tab.
- Click on Cookies on the left-hand side.
- Confirm cookie with
client_idis set.
- Click on the extension popup (next to the URL bar).
- Confirm a session is listed.
- Go to
http://127.0.0.1:3030/test. - Confirm
/testis listed under the session on the popup. - Click on the session checkbox.
- Select a VCR type (ACCESS/MODIFY/DELETE). Currently ACCESS and DELETE are implemented for client visit history which the server keeps.
- Click on the Send Request button.
- Confirm server response of visited sites.
Install Tamarin prover via Homebrew:
brew install tamarin-prover/tap/tamarin-prover
You can also downlowad the Tamarin prover binary from Github.
NOTE: The latest release
1.6.1does not have a Linux binary.
For each file in the tamarin folder, run the following:
tamarin-prover [your_file].spthy --prove
You should see verified for each property that is aimed to be proved.