  Cryptographic protocols are hard to design and prove correct, as witnessed by
the ever-growing list of attacks even on protocol standards. Symbolic models of
cryptography enable automated formal security proofs of such protocols against
an idealized model, which abstracts away from the algebraic properties of
cryptographic schemes and thus misses attacks. Computational models yield
rigorous guarantees but support at present only interactive proofs and/or
restricted classes of protocols. A promising approach is given by the
computationally complete symbolic attacker (CCSA), formalized in the BC Logic,
which aims at bridging and getting the best of the two worlds, obtaining
cryptographic guarantees by symbolic analysis. The BC Logic is supported by a
recently developed interactive theorem prover, Squirrel, which enables
machine-checked interactive security proofs, as opposed to automated ones, thus
requiring expert knowledge.
  We introduce the CryptoVampire cryptographic protocol verifier, which for the
first time fully automates proofs of trace properties in the BC Logic. The key
technical contribution is a first-order (FO) formalization of protocol
properties with tailored handling of subterm relations. We overcome the burden
of interactive proving in higher-order (HO) logic and automatically establish
soundness of cryptographic protocols using only FO reasoning. On the
theoretical side, we restrict full FO logic with cryptographic axioms to ensure
that, by losing the expressivity of the HO BC Logic, we do not lose soundness.
On the practical side, CryptoVampire integrates dedicated proof techniques
using FO saturation algorithms and heuristics, which enable leveraging the
state-of-the-art Vampire FO theorem prover as the underlying proving engine.
Our experimental results show CryptoVampire's effectiveness of as a standalone
verifier and in terms of automation support for Squirrel.
