Git Product home page Git Product logo

proverif-atp's Introduction

ProVerif-ATP

Combining ProVerif and Automated Theorem Provers for Security Protocol Verification

Authors : Di Long Li and Alwen Tiu, at The Australian National University, Canberra ACT 2600, Australia

Note

ProVerif-ATP is undergoing some code overhaul at the moment, and master branch may not be buildable

Please open an issue if you need it to be resolved urgently

Paper

The paper which this project was a part of was accepted for CADE-27. The pre-printed copy of the paper with appendix is available in this repository here.

The final authenticated publication is available online at https://doi.org/10.1007/978-3-030-29436-6_21

Installation

The prerequisites and install command are documented here

Basic usage

pvatp protocol.pv

where protocol.pv is the protocol specification in typed pi-calculus used by ProVerif

examples/ directory contains the protocol specifications we used for our benchmark, and also other ones we created during the project

See the user manual for more details and an example

Documentation

  • doc/manual/ (README) contains the user manual

  • doc/pvatp/ (README) contains the documentations detailing the architecture of ProVerif-ATP

  • doc/proverif/ (README) contains the documentations detailing the modifications we made in ProVerif

  • doc/narrator/ (README) contains the documentations detailing architecture or Narrator

Index and licenses

  • src/

    • This contains the main Python script which invokes the following tools to deliver a streamlined user experience. The files inside are published under the MIT license.
  • narrator/

    • This is part of the original work developed for this project (excluding node_modules/ subdirectory). Narrator provides the interface for viewing the knowledge graph and attack traces. The files (excluding node_modules/ subdirectory) are published under the MIT license.

    • The subdirectory node_modules/ contains downloaded copies of Javascript libraries. They are included in the repository for easier building and usage of the framework only. They are not part of our work, they are not modified by us, and are distrbuted under their respective original licenses.

  • proverif2.00/

    • This is a modified copy of ProVerif version 2.00. We intend to submit the modifications to the original authors for integrations later on. We license our modifications using the exact same GPL license used by ProVerif 2.00.
    • However, please note that this is not the final copy we intend to submit to the authors, as we are not completely certain if all modifications are actually safe, and we will need to discuss with the authors prior to submitting any patches etc.
  • examples/

    • This contains all the protocol specification and related files used in the benchmark

Versioning

  • We follow the semantic versioning scheme with the following specifics

    • Right now

      • Any change in our copy of ProVerif will result in increment of the version number of ProVerif-ATP (following the semantic versioning scheme's guidelines)

      • Narrator's versioning is always same as ProVerif-ATP's versioning

      • This means if there are changes in our copy of ProVerif, but not in Narrator, both ProVerif-ATP and Narrator's version numbers are still incremented

    • In future after the modifications have been integrated into the official ProVerif distribution

      • Narrator's versioning will still be always same as ProVerif-ATP's versioning
  • We tag each new version when the version is finalised and released

Changelog

  • All changes are logged under the same changelog
    • Changes in different components are documented separately as different sections

Acknowledgement

While the TPTP parser code in Narrator was independently developed from scratch according to the TPTP syntax reference, zipperposition's TPTP parser code was used as reference during the final debugging phase

proverif-atp's People

Contributors

darrenldl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

proverif-atp's Issues

ProVerif-ATP can not be built

How can I resolve it ?
I have read the paper "Combining ProVerif and Automated Theorem Provers for Security Protocol Verification" and I would like to try the tool ProVerif-ATP .
The file below is the error info while building
ProVerif-ATP make failed.txt

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.